Browse Source

Merge remote-tracking branch 'origin/master'

master
God 3 years ago
parent
commit
e26423d6dd
  1. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/AppCurrentCarDetailConfigVo.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java
  3. 14
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java
  4. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java
  5. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  6. 61
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  7. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  8. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java
  9. 453
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  10. 1565
      anrui-base/anrui-base-biz/src/main/resources/新车买卖合同(现车).ftl
  11. 1565
      anrui-base/anrui-base-biz/src/main/resources/新车买卖合同(现车)(空).ftl
  12. 1689
      anrui-base/anrui-base-biz/src/main/resources/新车买卖合同(订车).ftl
  13. 1689
      anrui-base/anrui-base-biz/src/main/resources/新车买卖合同(订车)(空).ftl
  14. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/AppBusDepositBusDetailsVo.java
  15. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/AppBusDepositBuscenterDetailVo.java
  16. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/BusDeposit.java
  17. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDetailsVo.java
  18. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousFeign.java
  19. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousFeignFallback.java
  20. 9
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositvehicle/AppBusDepositVehicleDetailVo.java
  21. 11
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositvehicle/AppBusDepositVehicleDetailsInitVo.java
  22. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositvehicle/AppBusDepositVehicleDto.java
  23. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busmaindeposit/AppBusDepositBuscenterDto.java
  24. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java
  25. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderModelInfoVo.java
  26. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderTopInfoVo.java
  27. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java
  28. 13
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml
  29. 17
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousRest.java
  30. 14
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositvehicle/BusDepositVehicleService.java
  31. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.java
  32. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml
  33. 309
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  34. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml
  35. 59
      anrui-buscenter/anrui-buscenter-ui/src/api/flow/jianyidingdan.js
  36. 22
      anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/busdeposit.js
  37. 1
      anrui-buscenter/anrui-buscenter-ui/src/components/uploadFile/upload.vue
  38. 660
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/cheliangyuding.vue
  39. 611
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/cheliangyudingEdit.vue
  40. 356
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/cheliangyudingInfo.vue
  41. 195
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouqu.vue
  42. 872
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquEdit.vue
  43. 352
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquInfo.vue
  44. 299
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/relation/xuanzecheliang.vue
  45. 269
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/relation/xuanzekehu.vue
  46. 948
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/relation/xuanzekehuAdd.vue
  47. 390
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/com/xuanzecheliang.vue
  48. 439
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/com/xuanzekehu.vue
  49. 1480
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/com/xuanzekehuAdd.vue
  50. 285
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingdanAdd.vue
  51. 121
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingdanguanli.vue
  52. 216
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingdaninfo.vue
  53. 309
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjinAdd.vue
  54. 159
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjininfo.vue
  55. 6
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliAdd.vue
  56. 2
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliInfo.vue
  57. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/virtualOrders/vehicle/DepositVehicleCarListDto.java
  58. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/virtualOrders/vehicle/DepositVehicleCarListVo.java

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

@ -46,4 +46,7 @@ public class AppCurrentCarDetailConfigVo implements Vo {
@ApiModelProperty(value = "现车和排产车总数")
private String num;
@ApiModelProperty(value = "颜色")
private String color;
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java

@ -12,6 +12,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
/**
@ -130,9 +131,9 @@ public interface CommonContractFeign {
@GetMapping("/printItemSet")
public ResultBean<PrintItemVo> printItemSet(@RequestParam("busSid") String busSid, @RequestParam("customerName") String customerName);
/* @ApiOperation(value = "打印项确认(生成word后转为pdf)")
@ApiOperation(value = "打印项确认(生成word后转为pdf)")
@PostMapping("/printConfirm")
public ResultBean<List<PrintConfirmVo>> printConfirm(@RequestBody PrintConfirmDto dto);*/
public ResultBean<List<PrintConfirmVo>> printConfirm(@RequestBody PrintConfirmDto dto);
/******************************************************新车买卖合同审核(流程)******************************************************/

14
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java

@ -37,11 +37,11 @@ public class CommonContractFeignFallback implements CommonContractFeign {
return null;
}
/* @Override
public ResultBean save(CommonContractDto dto) {
return ResultBean.fireFail().setMsg("接口anrui-base/commoncontract/save无法访问");
}
*/
/* @Override
public ResultBean save(CommonContractDto dto) {
return ResultBean.fireFail().setMsg("接口anrui-base/commoncontract/save无法访问");
}
*/
@Override
public ResultBean update(CommonContractDto dto, String sid) {
return ResultBean.fireFail().setMsg("接口anrui-base/commoncontract/update无法访问");
@ -139,11 +139,11 @@ public class CommonContractFeignFallback implements CommonContractFeign {
return rb.setMsg("接口anrui-base/commoncontract/printItemSet无法访问");
}
/* @Override
@Override
public ResultBean printConfirm(PrintConfirmDto dto) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/commoncontract/printConfirm无法访问");
}*/
}
@Override
public ResultBean submitCarSaleContractApprove(CarSaleContractApproveDto dto) {

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java

@ -33,11 +33,11 @@ public class PrintConfirmDto implements Dto {
@ApiModelProperty("是否优惠:1是0否")
private int isDiscount;
@ApiModelProperty("是否提前开票:1是0否")
/* @ApiModelProperty("是否提前开票:1是0否")
private int isAdvanceInvoice;
@ApiModelProperty("是否委托提车:1是0否")
private int isEntrustVehicle;
private int isEntrustVehicle;*/
@ApiModelProperty("是否在保险公司购买保险:1是0否")
private int isPurchasingInsurance;

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java

@ -16,7 +16,9 @@ public enum BillTypeEnum {
CJTKSQ("CJTKSQ", "厂家退库申请"),
FYSQ("FYSQ","费用申请"),
FKSQ("FKSQ","付款申请"),
KCDDBGSQ("KCDDBG","库存地点变更申请")
KCDDBGSQ("KCDDBG","库存地点变更申请"),
JYDDDJSQ("JYDDDJSQ","简易订单订金收取"),
JYDDCLYD("JYDDCLYD","简易订单车辆预定"),
;
private String billType;

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

@ -181,7 +181,7 @@
<select id="namesDown" resultType="java.util.Map">
SELECT bv.vinNo, bv.sid
FROM base_vehicle bv
${ew.customSqlSegment}
${ew.customSqlSegment}
</select>
<select id="selBySid" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicle">
select bv.sid,
@ -278,8 +278,8 @@
bvm.insideCode,
bmc.packingCase
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.sid
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.sid
WHERE bv.modelSid = #{modelSid}
GROUP BY bvm.sid
</select>
@ -296,8 +296,8 @@
resultType="com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailVo">
SELECT bv.guidedPrice AS price
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bvm.sid = bv.modelSid
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
LEFT JOIN base_vehicle_model bvm ON bvm.sid = bv.modelSid
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
WHERE bvm.sid = #{modelSid}
ORDER BY bv.guidedPrice ASC
</select>
@ -305,14 +305,14 @@
<select id="getModelNumByModelSid" resultType="java.lang.String">
SELECT count(*)
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
WHERE bvm.sid = #{modelSid}
</select>
<select id="getConfigNumByModelSid" resultType="java.lang.String">
SELECT count(*)
FROM base_vehmodel_config bvc
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
WHERE bvc.modelSid = #{modelSid}
</select>
@ -335,8 +335,8 @@
bmc.packingCase,
bvm.insideCode
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
WHERE bvc.modelSid = #{modelSid}
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrgSid = #{useOrg}
@ -355,7 +355,7 @@
<!--颜色-->
bmc.carColor,
<!--存放地点-->
bv.location,
bv.locationName as location,
<!--销售指导价-->
<!-- bv.guidedPrice,-->
<!--车型Sid-->
@ -415,8 +415,8 @@
bvm.`marketSegmentsValue`, bvm.`engineTypeValue`, bvm.`specifications`,
bvm.`department`) as vehModelInfor
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
WHERE bvc.modelSid = #{modelSid}
AND bvc.configurationItemsSid = #{configSid} LIMIT 1
</select>
@ -469,8 +469,8 @@
bvm.`marketSegmentsValue`, bvm.`engineTypeValue`, bvm.`specifications`,
bvm.`department`) as vehModelInfor
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
WHERE bvc.sid = #{vehModelConfigSid} LIMIT 1
</select>
@ -584,11 +584,11 @@
(select SUM(distinct cast((cast(bo.platformNo as signed) -
IFNULL(cast(bo.lockingNum as signed), '0')) as signed)) as quantity
from bus_vehicle_order bo
LEFT JOIN bus_vehicle_apply_detail bd on bo.purchaseRequisitionSid = bd.applySid
LEFT JOIN bus_vehicle_apply_detail bd on bo.purchaseRequisitionSid = bd.applySid
where bo.useOrgSid = bvc.useOrgSid
AND bd.vehicleSid = bvm.sid) AS produceCarNum
FROM base_vehicle_model bvm
LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid
LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid
WHERE bvc.modelSid = #{modelSid}
AND bvc.useOrgSid != #{useOrg}
group by bvc.useOrgSid
@ -601,21 +601,22 @@
bvm.vehicleAlias AS model,
bvm.brandName AS brand,
bvm.carBrand AS brandSid,
bmc.carColor AS color,
(
(SELECT count(*)
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND bv.modelConfigSid = bvc.configurationItemsSid
AND lockedState = '03')
+
+
(SELECT count(*)
FROM bus_vehicle_apply_detail bvad
WHERE bvad.vehicleSid = bvm.sid
AND bvad.configSid = bvc.configurationItemsSid)
) AS num
) AS num
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
WHERE bvc.modelSid = #{modelSid}
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrgSid = #{useOrg}
@ -800,14 +801,14 @@
carColor AS color,
locationName AS address
FROM base_vehicle bv
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
${ew.customSqlSegment}
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
${ew.customSqlSegment}
</select>
<select id="selectVehicleCount" resultType="java.lang.Integer">
select count(*)
from base_vehicle bv
${ew.customSqlSegment}
${ew.customSqlSegment}
</select>
<select id="selectByModelSidAndConfigSid"
@ -816,8 +817,8 @@
convert(bc.guidedPrice / 10000, decimal (10, 2)) AS price,
bmc.configName AS commonlyConfig
FROM base_vehmodel_config bc
LEFT JOIN base_vehicle_model bvm ON bc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bc.configurationItemsSid = bmc.`sid`
LEFT JOIN base_vehicle_model bvm ON bc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bc.configurationItemsSid = bmc.`sid`
where bc.modelSid = #{modelSid}
AND bc.configurationItemsSid = #{configSid}
AND bc.useOrgSid = #{useOrg}
@ -829,8 +830,8 @@
convert(bvc.guidedPrice / 10000, decimal (10, 2)) AS price,
bmc.configName AS commonlyConfig
from base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
where bvc.modelSid = #{modelSid}
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrgSid = #{useOrg}
@ -855,7 +856,7 @@
bv.locationName address,
bv.sid carSid,
if(bv.lockedState = 1, 1, 0)
as isFictitious
as isFictitious
from base_vehicle bv
where bv.modelSid = #{modelSid}
and bv.modelConfigSid = #{configSid}
@ -948,7 +949,7 @@
<update id="updateVehicleOutLibrary">
UPDATE
base_vehicle
base_vehicle
SET vehicleState = #{vehicleState},
vehicleStateValue = #{vehicleStateValue},
salesDate = #{salesDate},
@ -959,7 +960,7 @@
<update id="updateVehicleBuyBreak">
UPDATE
base_vehicle
base_vehicle
SET solidDate = #{solidDate},
settlementStatus = #{settlementStatus},
settlementStatusValue = #{settlementStatusValue}

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

@ -25,6 +25,7 @@ import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService;
import com.yxt.anrui.base.biz.busvehicleapplydetail.BusVehicleApplyDetailService;
import com.yxt.anrui.base.biz.busvehicleapplysz.BusVehicleApplySzService;
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.fin.api.finpaymentrecord.FinPaymentrecordDto;
@ -491,9 +492,9 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
finPaymentrecordDto.setCreateOrgSid(stringResultBean.getData());
finPaymentrecordDto.setUseOrgSid(stringResultBean.getData());
finPaymentrecordDto.setCost(busVehicleApply.getCurrentAmount().intValue());
finPaymentrecordDto.setCostTitleKey("2");
finPaymentrecordDto.setCostTitleValue("订金");
finPaymentrecordDto.setCostTypeKey("2");
finPaymentrecordDto.setCostTitleKey(ManPurOrderType.CostTitle.DJ_COSTTITLE.getCode());
finPaymentrecordDto.setCostTitleValue(ManPurOrderType.CostTitle.DJ_COSTTITLE.getRemarks());
finPaymentrecordDto.setCostTypeKey("001");
finPaymentrecordDto.setCostTypeValue("排产");
//查询收款单位和收款账号
List<BusVehicleApplyDetailVo> busVehicleApplyDetailList = busVehicleApplyDetailService.fetchByApplySid(busVehicleApply.getSid());

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java

@ -401,10 +401,10 @@ public class CommonContractRest implements CommonContractFeign {
return commonContractService.printItemSet(busSid, customerName);
}
/* @Override
@Override
public ResultBean<List<PrintConfirmVo>> printConfirm(PrintConfirmDto dto) {
return commonContractService.printConfirm(dto);
}*/
}
public List getSheetVal(Sheet sheet, int[] resultCell) throws ParseException {
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");

453
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -3,6 +3,7 @@ package com.yxt.anrui.base.biz.commoncontract;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.anrui.base.biz.basemodelszconfig.BaseModelSzconfigService;
@ -11,14 +12,17 @@ import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService;
import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.buscenter.api.busdeposit.BusDepositFeign;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousFeign;
import com.yxt.anrui.buscenter.api.busdepositvehicle.BusDepositVehicleFeign;
import com.yxt.anrui.buscenter.api.busorder.BusOrderVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign;
import com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
@ -32,20 +36,23 @@ import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils;
import com.yxt.common.base.utils.MoneyToChineseUtils;
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 org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.math.BigDecimal;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
/**
@ -113,6 +120,10 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
private BaseTrailerService baseTrailerService;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private BusDepositFictitiousFeign busDepositFictitiousFeign;
private QueryWrapper<CommonContract> createQueryWrapper(CommonContractQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -571,151 +582,142 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
* @param dto
* @return
*/
/*public ResultBean<List<PrintConfirmVo>> printConfirm(PrintConfirmDto dto) {
Map<String, Object> map = new HashMap<String, Object>();
// 合同信息
CommonContract contract = fetchBySid(dto.getSid());
// CommonContract contract = new CommonContract();//fetchBySid(dto.getSid());
map.put("partyA", contract.getPartyA()); // 甲方
map.put("partyB", contract.getPartyB()); // 乙方
map.put("contractNo", contract.getContractNo()); // 合同编号
map.put("createDate", contract.getCreateDate()); // 签订时间
// 客户信息;
BusOrderVo order = busOrderFeign.fetchSid(dto.getBusSid()).getData();
map.put("customerName", order.getCustomerName()); // 联系电话
map.put("mobile", order.getMobile()); // 联系电话
map.put("IDNumber", order.getIDNumber()); // 身份证号
// 车型、主车信息
ResultBean<AppBusOrderModelVo> model = busOrderModelFeign.getAppBusOrderModelInfoBySid(dto.getBusSid());
map.put("modelName", model.getData().getModelName()); // 车型
map.put("modelConfig", model.getData().getModelotherConfig()); // 配置(只有订车有) ?待确认
map.put("mainVehicleNum", model.getData().getQuantity()); // 主车数量
map.put("mainVehicleSinglePrice", model.getData().getSingle_price()); // 单台成交价
ResultBean<String> vinNo = busOrderVehicleFeign.getVehicleVINNoByOrderSid(dto.getBusSid());
map.put("VINNo", vinNo.getData()); // 车架号
// 上装信息
AppBaseModelSzconfigDetailsVo szconfig = baseModelSzconfigService.getAppBaseModelSzconfigDetailsVo(model.getData().getSid());
map.put("topName", szconfig.getTopName()); // 上装
// 挂车信息
AppBaseTrailerDetailsVo trailer = baseTrailerService.getAppBaseTrailerDetailsVo(model.getData().getSid());
map.put("trailerName", trailer.getOtherConfig()); // 挂车
map.put("trailerNum", model.getData().getQuantity()); // 挂车数量 ?待确认
map.put("trailerSinglePrice", StringUtils.isBlank(trailer.getTrailerPrince()) ? "" : trailer.getTrailerPrince()); // 挂车单台成交价 ?待确认
// 优惠说明信息
ResultBean<List<AppBusOrderDiscountListVo>> discountList = busOrderDiscountFeign.getAppDiscountListVoByOrderSid(order.getOrderSid());
map.put("discountDetail", ""); // 优惠说明 ?待确认
if (discountList.getSuccess()) {
map.put("discountDetail", discountList.getData().get(0).getDetail()); // 优惠说明 ?待确认
}
// 保险说明信息
map.put("insuranceDetail", "首次在本店投保,第二、三年继续在本店续保。(不在公司投保的,不显示)"); // 保险说明 ?待确认
// 车辆交付地点
map.put("deliveryPlace", model.getData().getExpected_takecar_location());
List<PrintConfirmVo> list = new ArrayList<>();
try {
ExecutorService executor = Executors.newFixedThreadPool(5);
Future<String> future1 = executor.submit(() -> {
return genCarSaleContract(dto, map, order);
});
Future<String> future2 = executor.submit(() -> {
return genVehicleRegistration(dto, map);
});
Future<String> future3 = executor.submit(() -> {
// 客户开票申请书(暂时先不考虑)
if (dto.getIsAdvanceInvoice() == 1) {
return genAdvanceInvoice(dto, map);
} else {
return "";
}
});
Future<String> future4 = executor.submit(() -> {
// 委托提车授权书
if (dto.getIsEntrustVehicle() == 1) {
return genEntrustVehicle(dto, map);
} else {
return "";
}
});
Future<String> future5 = executor.submit(() -> {
return genCarSaleContractBlank(dto, map, order);
});
future1.get();
future2.get();
future3.get();
future4.get();
future5.get();
PrintConfirmVo printConfirmVo = null;
if (StringUtils.isNotBlank(future1.get())) {
printConfirmVo = new PrintConfirmVo();
// 待确认:现车或订车
// 现车
// printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTNEW.getName()));
// 订车
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTBOOK.getName()));
printConfirmVo.setDownloadUrl(future1.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future2.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.VEHICLEREGISTRATION.getName()));
printConfirmVo.setDownloadUrl(future2.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future3.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CUSTOMERINVOICINGAPPLICATION.getName()));
printConfirmVo.setDownloadUrl(future3.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future4.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.ENTRUSTPICKUPAUTHORIZATION.getName()));
printConfirmVo.setDownloadUrl(future4.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future5.get())) {
printConfirmVo = new PrintConfirmVo();
// 待确认:现车或订车
// 现车
// printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTNEWBLANK.getName()));
// 订车
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTBOOKBLANK.getName()));
printConfirmVo.setDownloadUrl(future5.get());
list.add(printConfirmVo);
}
} catch (Exception e) {
e.printStackTrace();
return new ResultBean().fail().setMsg("生成文件失败");
}
return new ResultBean().success().setData(list);
}*/
/**public ResultBean<List<PrintConfirmVo>> printConfirm(PrintConfirmDto dto) {
Map<String, Object> map = new HashMap<String, Object>();
// 合同信息
CommonContract contract = fetchBySid(dto.getSid());
// CommonContract contract = new CommonContract();//fetchBySid(dto.getSid());
map.put("partyA", contract.getPartyA()); // 甲方
map.put("partyB", contract.getPartyB()); // 乙方
map.put("contractNo", contract.getContractNo()); // 合同编号
map.put("createDate", contract.getCreateDate()); // 签订时间
// 客户信息;
BusOrderVo order = busOrderFeign.fetchSid(dto.getBusSid()).getData();
map.put("customerName", order.getCustomerName()); // 联系电话
map.put("mobile", order.getMobile()); // 联系电话
map.put("IDNumber", order.getIDNumber()); // 身份证号
// 车型、主车信息
ResultBean<AppBusOrderModelVo> model = busOrderModelFeign.getAppBusOrderModelInfoBySid(dto.getBusSid());
map.put("modelName", model.getData().getModelName()); // 车型
map.put("modelConfig", model.getData().getModelotherConfig()); // 配置(只有订车有) ?待确认
map.put("mainVehicleNum", model.getData().getQuantity()); // 主车数量
map.put("mainVehicleSinglePrice", model.getData().getSingle_price()); // 单台成交价
ResultBean<String> vinNo = busOrderVehicleFeign.getVehicleVINNoByOrderSid(dto.getBusSid());
map.put("VINNo", vinNo.getData()); // 车架号
// 上装信息
AppBaseModelSzconfigDetailsVo szconfig = baseModelSzconfigService.getAppBaseModelSzconfigDetailsVo(model.getData().getSid());
map.put("topName", szconfig.getTopName()); // 上装
// 挂车信息
AppBaseTrailerDetailsVo trailer = baseTrailerService.getAppBaseTrailerDetailsVo(model.getData().getSid());
map.put("trailerName", trailer.getOtherConfig()); // 挂车
map.put("trailerNum", model.getData().getQuantity()); // 挂车数量 ?待确认
map.put("trailerSinglePrice", StringUtils.isBlank(trailer.getTrailerPrince()) ? "" : trailer.getTrailerPrince()); // 挂车单台成交价 ?待确认
// 优惠说明信息
ResultBean<List<AppBusOrderDiscountListVo>> discountList = busOrderDiscountFeign.getAppDiscountListVoByOrderSid(order.getOrderSid());
map.put("discountDetail", ""); // 优惠说明 ?待确认
if (discountList.getSuccess()) {
map.put("discountDetail", discountList.getData().get(0).getDetail()); // 优惠说明 ?待确认
}
// 保险说明信息
map.put("insuranceDetail", "首次在本店投保,第二、三年继续在本店续保。(不在公司投保的,不显示)"); // 保险说明 ?待确认
// 车辆交付地点
map.put("deliveryPlace", model.getData().getExpected_takecar_location());
List<PrintConfirmVo> list = new ArrayList<>();
try {
ExecutorService executor = Executors.newFixedThreadPool(5);
Future<String> future1 = executor.submit(() -> {
return genCarSaleContract(dto, map, order);
});
Future<String> future2 = executor.submit(() -> {
return genVehicleRegistration(dto, map);
});
Future<String> future3 = executor.submit(() -> {
// 客户开票申请书(暂时先不考虑)
if (dto.getIsAdvanceInvoice() == 1) {
return genAdvanceInvoice(dto, map);
} else {
return "";
}
});
Future<String> future4 = executor.submit(() -> {
// 委托提车授权书
if (dto.getIsEntrustVehicle() == 1) {
return genEntrustVehicle(dto, map);
} else {
return "";
}
});
Future<String> future5 = executor.submit(() -> {
return genCarSaleContractBlank(dto, map, order);
});
future1.get();
future2.get();
future3.get();
future4.get();
future5.get();
PrintConfirmVo printConfirmVo = null;
if (StringUtils.isNotBlank(future1.get())) {
printConfirmVo = new PrintConfirmVo();
// 待确认:现车或订车
// 现车
// printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTNEW.getName()));
// 订车
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTBOOK.getName()));
printConfirmVo.setDownloadUrl(future1.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future2.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.VEHICLEREGISTRATION.getName()));
printConfirmVo.setDownloadUrl(future2.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future3.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CUSTOMERINVOICINGAPPLICATION.getName()));
printConfirmVo.setDownloadUrl(future3.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future4.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.ENTRUSTPICKUPAUTHORIZATION.getName()));
printConfirmVo.setDownloadUrl(future4.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future5.get())) {
printConfirmVo = new PrintConfirmVo();
// 待确认:现车或订车
// 现车
// printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTNEWBLANK.getName()));
// 订车
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTBOOKBLANK.getName()));
printConfirmVo.setDownloadUrl(future5.get());
list.add(printConfirmVo);
}
} catch (Exception e) {
e.printStackTrace();
return new ResultBean().fail().setMsg("生成文件失败");
}
return new ResultBean().success().setData(list);
}**/
/**
* 生成 新车买卖合同(现车或订车) pdf
*
* @param dto
*/
private String genCarSaleContract(PrintConfirmDto dto, Map<String, Object> map, BusOrderVo order) {
private String genCarSaleContract(PrintConfirmDto dto, Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
// 车辆税信息
map.put("taxSum", "1111"); // 车辆含税 ?待确认
map.put("taxSumUpper", "壹仟壹佰壹拾壹"); // 车辆含税(大写) ?待确认
// 乙方缴纳订金
map.put("deposit", order.getDeposit()); // 订金
map.put("useDeposit", "true"); // 判断是否展示括号中的内容 ?待确认:用本人交纳的虚拟订金的,需要显示订金后面括弧 中的说明
map.put("date", order.getCreateDate()); // 订金缴纳日期 ?待确认
map.put("deposit1", ""); // 总订金 ?待确认
map.put("deposit2", ""); // 用于缴纳的订金 ?待确认
// 目标路径 ? 待确认:如何区分现车和订车
// 现车
// String typeName = ContractTemplateEnum.CARSALECONTRACTNEW.getName();
// 订车
String typeName = ContractTemplateEnum.CARSALECONTRACTBOOK.getName();
String docName = typeName + "(" + order.getCustomerName() + ").doc";
String typeName = "";
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
typeName = ContractTemplateEnum.CARSALECONTRACTNEW.getName();
} else {
typeName = ContractTemplateEnum.CARSALECONTRACTBOOK.getName();
}
String docName = typeName + "(" + appOrderDetailsVo.getName() + ").doc";
Map<String, String> resultMap = docPdfComponent.createDocToPdf(map, typeName, docName);
url = resultMap.get("prefixTemplateUrl");
return url;
@ -726,25 +728,28 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
*
* @param dto
* @param map
* @param order
* @param appOrderDetailsVo
* @return
*/
private String genCarSaleContractBlank(PrintConfirmDto dto, Map<String, Object> map, BusOrderVo order) {
private String genCarSaleContractBlank(PrintConfirmDto dto, Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
String typeName = "";
String docName = "";
map.put("totalPrice", "");
map.put("priceRemarks", "");
map.put("depositTotal", "");
// 涉及高低开票的,需要打印两套合同,一套按照成交价打印(记账用),一套为价格空白的合同(开票用)
// 合同金额 ? 待确定
BigDecimal contractAmount = order.getContractAmount();
if (contractAmount == null) {
// 待确定 ? 现车或订车
if (dto.getIsDiscount() == 1) {
// 现车
typeName = ContractTemplateEnum.CARSALECONTRACTNEWBLANK.getName();
// 订车
typeName = ContractTemplateEnum.CARSALECONTRACTBOOKBLANK.getName();
docName = typeName + "(" + order.getCustomerName() + ").doc";
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
typeName = ContractTemplateEnum.CARSALECONTRACTNEWBLANK.getName();
} else {
// 订车
typeName = ContractTemplateEnum.CARSALECONTRACTBOOKBLANK.getName();
}
docName = typeName + "(" + appOrderDetailsVo.getName() + ").doc";
Map<String, String> map2 = docPdfComponent.createDocToPdf(map, typeName, docName);
url += ", " + map2.get("prefixTemplateUrl");
url += map2.get("prefixTemplateUrl");
}
return url;
}
@ -922,7 +927,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
String path = "";
List<String> commonContractVos = new ArrayList<>();
List<String> sceneSignUrlList = new ArrayList<>();
if (StringUtils.isNotBlank(appdixUrl)){
if (StringUtils.isNotBlank(appdixUrl)) {
String[] appdixUrls = appdixUrl.split(",");
for (String url : appdixUrls) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
@ -930,14 +935,14 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
commonContractVos.add(path);
}
}
if (StringUtils.isNotBlank(sceneSignUrl)){
String[] sceneSignUrls = sceneSignUrl.split(",");
for (String signUrl : sceneSignUrls) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
path = urlPrefix + signUrl;
sceneSignUrlList.add(path);
}
}
if (StringUtils.isNotBlank(sceneSignUrl)) {
String[] sceneSignUrls = sceneSignUrl.split(",");
for (String signUrl : sceneSignUrls) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
path = urlPrefix + signUrl;
sceneSignUrlList.add(path);
}
}
commonContractVo.setCommonAppendixVos(commonContractVos);
commonContractVo.setSceneSignUrlList(sceneSignUrlList);
return rb.success().setData(commonContractVo);
@ -1094,4 +1099,130 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
return rb.success();
}
public ResultBean<List<PrintConfirmVo>> printConfirm(PrintConfirmDto dto) {
ResultBean<List<PrintConfirmVo>> rb = ResultBean.fireFail();
List<PrintConfirmVo> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
String sid = dto.getBusSid();
//查询销售订单的信息
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderFeign.getSaleOrderDetails(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData();
//甲方
String createOrgName = appOrderDetailsVo.getSalesOrg();
//乙方
String customerName = appOrderDetailsVo.getName();
//联系电话
String mobile = appOrderDetailsVo.getPhone();
//身份证号
//根据客户sid查询客户的身份证号
sid = appOrderDetailsVo.getCustomerSid();
ResultBean<CrmCustomerTempVo> crmResultBean = crmCustomerTempFeign.fetchSid(sid);
if (!crmResultBean.getSuccess()) {
return rb.setMsg(crmResultBean.getMsg());
}
CrmCustomerTempVo crmCustomerTempVo = crmResultBean.getData();
//身份证号
String idNo = crmCustomerTempVo.getIDNumber();
//查询销售订单的车型信息
AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo();
//车型
String modelName = "车型:" + appOrderModelInfoVo.getModelName() + "。";
//配置
String modelConfig = "配置:" + appOrderModelInfoVo.getConfig() + "。";
//上装
if (appOrderDetailsVo.getTopInfo() != null) {
AppOrderTopInfoVo topInfo = appOrderDetailsVo.getTopInfo();
String topName = topInfo.getTopName();
topName = "上装:" + topName + "。";
map.put("topName", topName);
}
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
//查询台数
String num = priceInfo.getNumber();
//单台成交价
String transactionPrice = priceInfo.getTransactionPrice();
String remarks = "主车" + num + "台,单台成交价:" + transactionPrice + "元。";
//优惠说明
//ToDo:
//保险说明
String insuranceInfo = "保险说明:" + appOrderDetailsVo.getInsuranceInfo() + "。";
//车价合计
String totalPrice = priceInfo.getTotalPrice();
//车价合计大写
String priceRemarks = MoneyToChineseUtils.convert(Double.valueOf(totalPrice).doubleValue());
//交纳订金
AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo();
String depositTotal = depositInfo.getDepositTotal();
if ("02".equals(depositInfo.getDepositTypeKey())) {
ResultBean<List<BusDepositFictitiousDetailsVo>> listResultBean = busDepositFictitiousFeign.detailsList(depositInfo.getSid());
List<BusDepositFictitiousDetailsVo> listResultBeanData = listResultBean.getData();
listResultBeanData.removeAll(Collections.singleton(null));
if (!listResultBeanData.isEmpty()) {
String depositRemarks = "(其中乙方在";
for (BusDepositFictitiousDetailsVo v : listResultBeanData) {
String b = v.getPaymentDate() + "转入甲方的" + v.getDeposit() + "元中的" + v.getPrice() + "元用于本次订金,";
depositRemarks = depositRemarks + b;
}
depositRemarks = depositRemarks + ")";
map.put("depositRemarks", depositRemarks);
}
}
//车辆交付地点
String address = priceInfo.getAddress();
//组装到文档相对应的字段中
map.put("createOrgName", createOrgName);
map.put("customerName", customerName);
map.put("mobile", mobile);
map.put("idNo", idNo);
map.put("modelName", modelName);
map.put("modelConfig", modelConfig);
map.put("remarks", remarks);
map.put("insuranceInfo", insuranceInfo);
map.put("totalPrice", totalPrice);
map.put("priceRemarks", priceRemarks);
map.put("depositTotal", depositTotal);
map.put("address", address);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future<String> future1 = pool.submit(() -> {
return genCarSaleContract(dto, map, appOrderDetailsVo);
});
PrintConfirmVo printConfirmVo = null;
if (StringUtils.isNotBlank(future1.get())) {
printConfirmVo = new PrintConfirmVo();
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTNEW.getName()));
} else {
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTBOOK.getName()));
}
printConfirmVo.setDownloadUrl(future1.get());
list.add(printConfirmVo);
}
Future<String> future2 = pool.submit(() -> {
return genCarSaleContractBlank(dto, map, appOrderDetailsVo);
});
if (StringUtils.isNotBlank(future2.get())) {
printConfirmVo = new PrintConfirmVo();
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTNEWBLANK.getName()));
} else {
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTBOOKBLANK.getName()));
}
printConfirmVo.setDownloadUrl(future2.get());
list.add(printConfirmVo);
}
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("生成文件失败");
}
return rb.success().setData(list);
}
}

1565
anrui-base/anrui-base-biz/src/main/resources/新车买卖合同(现车).ftl

File diff suppressed because it is too large

1565
anrui-base/anrui-base-biz/src/main/resources/新车买卖合同(现车)(空).ftl

File diff suppressed because it is too large

1689
anrui-base/anrui-base-biz/src/main/resources/新车买卖合同(订车).ftl

File diff suppressed because it is too large

1689
anrui-base/anrui-base-biz/src/main/resources/新车买卖合同(订车)(空).ftl

File diff suppressed because it is too large

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/AppBusDepositBusDetailsVo.java

@ -13,6 +13,12 @@ public class AppBusDepositBusDetailsVo implements Vo {
@ApiModelProperty("单据编号")
private String virtualOrderId;
@ApiModelProperty("订单类型")
private String depositBillType;
@ApiModelProperty("订单类型")
private String depositBillTypeKey;
@ApiModelProperty("制单日期")
private String virtualOrderDate;

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/AppBusDepositBuscenterDetailVo.java

@ -18,6 +18,12 @@ public class AppBusDepositBuscenterDetailVo implements Vo {
@ApiModelProperty("客户列表")
private List<AppBusDepositCustomerListVo> customerList;
@ApiModelProperty("订单类型")
private String depositBillType;
@ApiModelProperty("订单类型")
private String depositBillTypeKey;
@ApiModelProperty("制单日期")
private String virtualOrderDate;

20
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/BusDeposit.java

@ -108,15 +108,15 @@ public class BusDeposit extends BaseEntity {
private String paymentProof;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty("节点id")
private String nodeId;
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("流程实例的id")
private String procInstId;
@ApiModelProperty(value = "任务id")
private String taskId;
// @ApiModelProperty(value = "节点状态")
// private String nodeState;
// @ApiModelProperty("节点id")
// private String nodeId;
// @ApiModelProperty("流程定义的id")
// private String procDefId;
// @ApiModelProperty("流程实例的id")
// private String procInstId;
// @ApiModelProperty(value = "任务id")
// private String taskId;
}

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDetailsVo.java

@ -63,4 +63,10 @@ public class BusDepositFictitiousDetailsVo implements Vo {
@ApiModelProperty("款项支付委托书")
private String payPath;
@ApiModelProperty("付款日期")
private String paymentDate;
@ApiModelProperty("虚拟订单订金")
@JsonSerialize(using = ToStringSerializer.class)
private String deposit;
}

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousFeign.java

@ -61,5 +61,7 @@ public interface BusDepositFictitiousFeign {
@ApiOperation("订金使用记录接口")
@GetMapping("/getDepositRecords/{depositBillNo}")
public ResultBean<List<BusDepositRecordsVo>> getDepositRecords(@PathVariable("depositBillNo") String depositBillNo);
@ApiOperation("查询订金使用")
@GetMapping("/detailsList/{sid}")
ResultBean<List<BusDepositFictitiousDetailsVo>> detailsList(@PathVariable("sid") String sid);
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousFeignFallback.java

@ -52,4 +52,9 @@ public class BusDepositFictitiousFeignFallback implements BusDepositFictitiousFe
public ResultBean<List<BusDepositRecordsVo>> getDepositRecords(String depositBillNo) {
return null;
}
@Override
public ResultBean<List<BusDepositFictitiousDetailsVo>> detailsList(String sid) {
return null;
}
}

9
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositvehicle/AppBusDepositVehicleDetailVo.java

@ -14,8 +14,11 @@ public class AppBusDepositVehicleDetailVo implements Vo {
@ApiModelProperty(value = "虚拟订单编号")
private String virtualOrderId;
@ApiModelProperty(value = "制单日期")
private String virtualOrderDate;
private String createDate;
@ApiModelProperty("订单类型")
private String depositBillType;
@ApiModelProperty("订单类型")
private String depositBillTypeKey;
@ApiModelProperty(value = "客户sid")
private String customerSid;
@ApiModelProperty(value = "客户名称")
@ -31,7 +34,7 @@ public class AppBusDepositVehicleDetailVo implements Vo {
@ApiModelProperty(value = "部门名称")
private String departmentName;
@ApiModelProperty(value = "销售专员")
private String sellerName;
private String staffName;
@ApiModelProperty(value = "更新状态地址")
private String updateStateUrl;
@ApiModelProperty(value = "说明")

11
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositvehicle/AppBusDepositVehicleDetailsInitVo.java

@ -15,18 +15,21 @@ public class AppBusDepositVehicleDetailsInitVo implements Vo {
private String virtualOrderSid;
@ApiModelProperty(value = "虚拟订单编号")
private String virtualOrderId;
@ApiModelProperty(value = "虚拟订单创建日期")
private String createDate;
@ApiModelProperty("订单类型")
private String depositBillType;
@ApiModelProperty("订单类型")
private String depositBillTypeKey;
@ApiModelProperty(value = "客户sid")
private String customerSid;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty("制单日期")
private String createDate;
@ApiModelProperty(value = "销售专员")
private String sellerName;
private String staffName;
@ApiModelProperty(value = "部门名称")
private String departmentName;
@ApiModelProperty(value = "用户sid")

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositvehicle/AppBusDepositVehicleDto.java

@ -20,7 +20,7 @@ public class AppBusDepositVehicleDto implements Dto {
@ApiModelProperty("订单编号")
private String virtualOrderId;
@ApiModelProperty("业务员名称")
private String sellerName;
private String staffName;
@ApiModelProperty("部门名称")
private String departmentName;
@ApiModelProperty("手机号")

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busmaindeposit/AppBusDepositBuscenterDto.java

@ -60,6 +60,12 @@ public class AppBusDepositBuscenterDto implements Dto {
@ApiModelProperty("用户Sid")
private String userSid;
@ApiModelProperty("申请人")
private String staffName;
@ApiModelProperty("分公司")
private String departmentName;
@ApiModelProperty("客户列表")
private List<AppBusDepositCustomerListDto> customerList;

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java

@ -69,7 +69,7 @@ public class AppOrderDetailsVo implements Vo {
@ApiModelProperty("是否有保险信息")
private Boolean insuranceState;
@ApiModelProperty("是否有保险说明")
@ApiModelProperty("是否有补充说明")
private Boolean remarksState;
@ApiModelProperty("用户sid")

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderModelInfoVo.java

@ -34,4 +34,7 @@ public class AppOrderModelInfoVo implements Vo {
private List<String> orderList = new ArrayList<>();
@ApiModelProperty(value = "合计数量")
private String total;
@ApiModelProperty("配置")
private String config;
}

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderTopInfoVo.java

@ -26,4 +26,7 @@ public class AppOrderTopInfoVo implements Vo {
private List<String> contractImages = new ArrayList<>();
@ApiModelProperty(value = "合同附件string拼接:后端内部使用")
private String contractPath;
@ApiModelProperty(value = "上装名称")
private String topName;
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java

@ -88,6 +88,9 @@ public class BusDepositService extends MybatisBaseService<BusDepositMapper, BusD
vo.setDepartmentName(busMainDeposit.getOrgName());
vo.setStaffName(busMainDeposit.getStaffName());
vo.setCreateDate(busMainDeposit.getCreateDate());
vo.setDepositBillType(busMainDeposit.getDepositBillType());
vo.setDepositBillTypeKey(busMainDeposit.getDepositBillTypeKey());
vo.setVirtualOrderSid(busMainDeposit.getSid());
vo.setUserSid(userSid);
List<String> list = new ArrayList<>();
if (StringUtils.isNotBlank(vo.getPaymentProof())) {
@ -118,6 +121,8 @@ public class BusDepositService extends MybatisBaseService<BusDepositMapper, BusD
vo.setDepartmentName(busMainDeposit.getOrgName());
vo.setStaffName(busMainDeposit.getStaffName());
vo.setCreateDate(busMainDeposit.getCreateDate());
vo.setDepositBillType(busMainDeposit.getDepositBillType());
vo.setDepositBillTypeKey(busMainDeposit.getDepositBillTypeKey());
List<String> list = new ArrayList<>();
if (StringUtils.isNotBlank(vo.getPaymentProof())) {
String url = fileUploadComponent.getUrlPrefix() + vo.getPaymentProof();

13
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml

@ -12,11 +12,14 @@
<!--根据订金sid查询虚拟订单和订金关联信息-->
<select id="detailsList"
resultType="com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo">
select depositBillNo,
depositPrice,
price,
payPath
from bus_deposit_fictitious
select bd.depositBillNo,
bd.depositPrice,
bd.price,
bd.payPath,
DATE_FORMAT(be.paymentDate, '%Y-%m-%d') as paymentDate,
be.deposit
from bus_deposit_fictitious bd
left join bus_deposit be on be.billNo = bd.depositBillNo
where depositSid = #{sid}
</select>
<select id="getDepositRecords"

17
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousRest.java

@ -25,14 +25,14 @@
*********************************************************/
package com.yxt.anrui.buscenter.biz.busdepositfictitious;
import com.yxt.anrui.buscenter.api.busdepositfictitious.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousFeign;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositRecordsVo;
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 org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@ -65,4 +65,11 @@ public class BusDepositFictitiousRest implements BusDepositFictitiousFeign {
}
return rb.success().setData(list);
}
@Override
public ResultBean<List<BusDepositFictitiousDetailsVo>> detailsList(String sid) {
ResultBean<List<BusDepositFictitiousDetailsVo>> rb = ResultBean.fireFail();
List<BusDepositFictitiousDetailsVo> list = busDepositFictitiousService.detailsList(sid);
return rb.success().setData(list);
}
}

14
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositvehicle/BusDepositVehicleService.java

@ -207,8 +207,6 @@ public class BusDepositVehicleService extends MybatisBaseService<BusDepositVehic
public ResultBean<AppBusDepositVehicleDetailsInitVo> reserveCarDetail(AppBusDepositVehicleDetailsInitQuery query) {
if (StringUtils.isBlank(query.getVirtualOrderSid())) {
AppBusDepositVehicleDetailsInitVo vo = selCustomerDetaile(query);
Map<String, String> map = busMainDepositService.generateBillNo(query.getUserSid());
vo.setVirtualOrderId(map.get("billNo"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
vo.setCreateDate(simpleDateFormat.format(new Date()));
vo.setCarList(new ArrayList<>());
@ -222,10 +220,12 @@ public class BusDepositVehicleService extends MybatisBaseService<BusDepositVehic
vo.setProcInsId(busMainDeposit.getProcInsId());
vo.setVirtualOrderId(busMainDeposit.getBillNo());
vo.setCreateDate(busMainDeposit.getCreateDate());
vo.setDepositBillType(busMainDeposit.getDepositBillType());
vo.setDepositBillTypeKey(busMainDeposit.getDepositBillTypeKey());
BusDepositVehicleCustomerVo vehicleCustomerVo = busDepositVehicleCustomerService.selectByBillSid(virtualOrderSid);
vo.setCustomerName(vehicleCustomerVo.getCustomerName());
vo.setMobile(vehicleCustomerVo.getCustomerMobile());
vo.setSellerName(busMainDeposit.getStaffName());
vo.setStaffName(busMainDeposit.getStaffName());
vo.setDepartmentName(busMainDeposit.getOrgName());
vo.setVirtualOrderSid(query.getVirtualOrderSid());
vo.setUserSid(query.getUserSid());
@ -253,7 +253,7 @@ public class BusDepositVehicleService extends MybatisBaseService<BusDepositVehic
AppCrmCustomerTempInfoVo data = tempDetailsBySid.getData();
vo.setCustomerName(data.getName());//客户名称
vo.setMobile(data.getMobile());//手机号
vo.setSellerName(sysUserData.getStaffName());//销售专员
vo.setStaffName(sysUserData.getStaffName());//销售专员
vo.setDepartmentName(sysUserData.getOrgName());//部门名称
return vo;
}
@ -272,7 +272,9 @@ public class BusDepositVehicleService extends MybatisBaseService<BusDepositVehic
vo.setProcInsId(busMainDeposit.getProcInsId());
vo.setTaskId(busMainDeposit.getTaskId());
vo.setVirtualOrderId(busMainDeposit.getBillNo());
vo.setVirtualOrderDate(busMainDeposit.getCreateDate());
vo.setCreateDate(busMainDeposit.getCreateDate());
vo.setDepositBillType(busMainDeposit.getDepositBillType());
vo.setDepositBillTypeKey(busMainDeposit.getDepositBillTypeKey());
//查询客户信息
BusDepositVehicleCustomerVo vehicleCustomerVo = busDepositVehicleCustomerService.selectByBillSid(virtualOrderSid);
vo.setCustomerSid(vehicleCustomerVo.getCustomerSid());
@ -281,7 +283,7 @@ public class BusDepositVehicleService extends MybatisBaseService<BusDepositVehic
vo.setHeadImage(vehicleCustomerVo.getCustomerPhoto());
vo.setCustomerClass(vehicleCustomerVo.getCustomerClass());
vo.setCustomerClassKey(vehicleCustomerVo.getCustomerClassKey());
vo.setSellerName(busMainDeposit.getStaffName());
vo.setStaffName(busMainDeposit.getStaffName());
vo.setDepartmentName(busMainDeposit.getOrgName());
vo.setUpdateStateUrl("未确定字段");
//查询车辆信息

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.java

@ -134,4 +134,6 @@ public interface BusMainDepositMapper extends BaseMapper<BusMainDeposit> {
int updateByNodeState(@Param("nodeState") String nodeState, @Param("businessSid") String businessSid);
IPage<AppBusMainDepositOrderVo> pageAppList(IPage<BusMainDeposit> page, @Param(Constants.WRAPPER) QueryWrapper<BusMainDeposit> qw, @Param("name") String name);
String selectNum(String bill);
}

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml

@ -325,4 +325,12 @@
where bv.billSid = #{virtualSid}
group by bv.modelSid, bv.modelConfigSid
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from bus_main_deposit
where billNo LIKE concat(#{bill}, '%')
order by id desc
limit 1
</select>
</mapper>

309
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java

@ -32,6 +32,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.busdeposit.AppBusDepositBusDetailsVo;
import com.yxt.anrui.buscenter.api.busdeposit.BusDeposit;
import com.yxt.anrui.buscenter.api.busdepositcustomer.AppBusDepositCustomerListDto;
@ -88,10 +91,12 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.xml.crypto.Data;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@ -184,7 +189,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
}
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("bd.draweeName", query.getName()).or().like("bdv.customerName", query.getName()));
qw.and(wrapper -> wrapper.like("bd.draweeName", query.getName()).or().like("bdvc.customerName", query.getName()));
}
if (StringUtils.isNotBlank(query.getStartTime())) {
@ -702,70 +707,94 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
* @return
*/
@Transactional(rollbackFor = Exception.class)
public ResultBean
saveDepositInfo(AppBusDepositBuscenterDto dto) {
public ResultBean<String> saveDepositInfo(AppBusDepositBuscenterDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
AppUserOrgInfoVo data = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.getUseOrgByUserSid(dto.getUserSid()).getData();
Date date = new Date();
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
//判断订单sid是否有值(无值 新增 有值 修改)
if (StringUtils.isBlank(dto.getVirtualOrderSid())) { //新增
BusMainDeposit busMainDeposit = new BusMainDeposit();
busMainDeposit.setSid(UUID.randomUUID().toString());
Map<String, String> map = generateBillNo(dto.getUserSid());
busMainDeposit.setBillNo(map.get("billNo_Num"));
busMainDeposit.setBillNo(getApplyCode1(dto));
busMainDeposit.setStaffSid(data.getStaffSid());
busMainDeposit.setStaffName(data.getStaffName());
busMainDeposit.setOrgSid(data.getOrgSid());
busMainDeposit.setStaffName(dto.getStaffName());
busMainDeposit.setOrgSid(useOrgSid);
busMainDeposit.setOrgName(dto.getDepartmentName());
busMainDeposit.setCreateBySid(dto.getUserSid());
busMainDeposit.setOrgName(sysOrganizationVo.getName() + "-" + data.getOrgName());
busMainDeposit.setDepositBillType("订金收取");
busMainDeposit.setDepositBillTypeKey("01");
busMainDeposit.setCreateDate(dateFormat.format(date));
busMainDeposit.setCreateDate(dateFormat.format(new Date()));
baseMapper.insert(busMainDeposit);
BusDeposit busDeposit = new BusDeposit();
busDeposit.setBillNo(busMainDeposit.getBillNo());
busDeposit.setBillSid(busMainDeposit.getSid());
busDeposit.setStaffSid(busMainDeposit.getStaffSid());
busDeposit.setStaffName(data.getStaffName());
busDeposit.setOrgSid(data.getOrgSid());
busDeposit.setOrgName(sysOrganizationVo.getName() + "-" + data.getOrgName());
busDeposit.setCreateDate(dateFormat.format(date));
busDeposit.setStaffName(busMainDeposit.getStaffName());
busDeposit.setOrgSid(busMainDeposit.getOrgSid());
busDeposit.setCreateDate(dateFormat.format(new Date()));
setBusDeposit(busDeposit, dto);
//付款凭证
busDeposit.setPaymentProof(parsePaymentProofList(dto.getPayImages()));
busDepositService.insert(busDeposit);
//添加客户信息
appSetBusDepositCustomer(dto, busDeposit.getBillSid());
return new ResultBean().success().setData(busMainDeposit.getSid()).setMsg("添加成功");
return rb.success().setData(busMainDeposit.getSid());
} else { //修改
BusMainDeposit busMainDeposit = baseMapper.selectBySid(dto.getVirtualOrderSid());
String nodeState = busMainDeposit.getNodeState();
if (StringUtils.isBlank(nodeState)) { //判断订单状态是否是未提交和拨回到发起人状态
BusDeposit busDeposit = busDepositService.selectByBillSid(dto.getVirtualOrderSid());
//付款凭证
busDeposit.setPaymentProof(parsePaymentProofList(dto.getPayImages()));
busDeposit.setCreateDate(dateFormat.format(date));
busDeposit.setCollectionBankSid(dto.getCollectionBankSid());
setBusDeposit(busDeposit, dto);
busDepositService.updateById(busDeposit);
busDepositCustomerService.delByBillSid(dto.getVirtualOrderSid());
appSetBusDepositCustomer(dto, busDeposit.getBillSid());
return new ResultBean().success().setData(busMainDeposit.getSid()).setMsg("修改成功");
} else if (nodeState.equals("待提交") && nodeState.equals("已驳回")) {
BusDeposit busDeposit = busDepositService.selectByBillSid(dto.getVirtualOrderSid());
//付款凭证
busDeposit.setPaymentProof(parsePaymentProofList(dto.getPayImages()));
busDeposit.setCreateDate(dateFormat.format(date));
busDeposit.setCollectionBankSid(dto.getCollectionBankSid());
setBusDeposit(busDeposit, dto);
busDepositService.updateById(busDeposit);
busDepositCustomerService.delByBillSid(dto.getVirtualOrderSid());
appSetBusDepositCustomer(dto, busDeposit.getBillSid());
return new ResultBean().success().setData(busMainDeposit.getSid()).setMsg("修改成功");
if (busMainDeposit == null) {
return rb.setMsg("该订单不存在");
}
return new ResultBean().fail().setMsg("已提交办理审批中不可修改!");
BusDeposit busDeposit = busDepositService.selectByBillSid(dto.getVirtualOrderSid());
//付款凭证
busDeposit.setPaymentProof(parsePaymentProofList(dto.getPayImages()));
busDeposit.setCreateDate(dateFormat.format(new Date()));
busDeposit.setCollectionBankSid(dto.getCollectionBankSid());
setBusDeposit(busDeposit, dto);
busDepositService.updateById(busDeposit);
busDepositCustomerService.delByBillSid(dto.getVirtualOrderSid());
appSetBusDepositCustomer(dto, busDeposit.getBillSid());
return rb.success().setData(busMainDeposit.getSid());
}
}
public String getApplyCode1(AppBusDepositBuscenterDto dto) {
String userSid = dto.getUserSid();
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.JYDDDJSQ.getBillType());
String bill = Rule.getBill(b);
String i = baseMapper.selectNum(bill);
String billNo = "";
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(bill, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(bill, 0);
}
return billNo;
}
public String getApplyCode2(AppBusDepositVehicleDto dto) {
String userSid = dto.getUserSid();
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.JYDDCLYD.getBillType());
String bill = Rule.getBill(b);
String i = baseMapper.selectNum(bill);
String billNo = "";
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(bill, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(bill, 0);
}
return billNo;
}
/**
@ -776,13 +805,12 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
* @return
*/
public BusDeposit setBusDeposit(BusDeposit busDeposit, AppBusDepositBuscenterDto dto) {
BeanUtils.copyProperties(dto, busDeposit, "sid");
busDeposit.setDraweeName(dto.getPayName());
busDeposit.setProBankAccKey(dto.getCollectionNumberKey());
busDeposit.setProBankAccValue(dto.getCollectionNumber());
busDeposit.setProBankValue(dto.getCollectionBank());
busDeposit.setProBankKey(dto.getCollectionBankKey());
busDeposit.setPayTypeKey(dto.getPayTypeKey());
busDeposit.setPayType(dto.getPayType());
if ("03".equals(dto.getPayTypeKey())) {
busDeposit.setPayBankAcc(dto.getPayNumber());
} else {
@ -791,9 +819,6 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
busDeposit.setPaymentDate(dto.getPayDate());
busDeposit.setVehicleNum(dto.getCarNumber());
busDeposit.setDraweeMobile(dto.getMobile());
busDeposit.setDeposit(dto.getDeposit());
busDeposit.setRemarks(dto.getRemarks());
busDeposit.setCollectionBankSid(dto.getCollectionBankSid());
return busDeposit;
}
@ -841,41 +866,41 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
* @return
*/
public ResultBean submitMainDespoitApprove(BusDepositDto dto) {
String orgSid = checkUserOrg(dto.getUserSid());
// String businessSid = dto.getSid();
ResultBean resultBean1 = saveOrUpdateDeposit(dto);
String businessSid = resultBean1.getData().toString();
Map<String, Object> variables = new HashMap<>();
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);//部门sid
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
/*saveSysFormLink(map);*/
//更新虚拟订单审批(订金)业务表中的流程状态
modifiBusMainDepositFlowState(businessSid,
ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(),//procDefId
map.get("nodeState"),//state
map.get("procInsId"),//procInstSid
map.get("taskDefKey")//nodeSid
);
}
return resultBean;
}
private void modifiBusMainDepositFlowState(String businessSid,
String proDefId,//procDefId
String nodeState,//state
String procInsId,//procInstSid
String taskDefKey//nodeSid
) {
baseMapper.modifiBusDepositFlowState(businessSid,
proDefId,//procDefId
nodeState,//state
procInsId,//procInstSid
taskDefKey);
}
// String orgSid = checkUserOrg(dto.getUserSid());
// // String businessSid = dto.getSid();
// ResultBean resultBean1 = saveOrUpdateDeposit(dto);
// String businessSid = resultBean1.getData().toString();
// Map<String, Object> variables = new HashMap<>();
// variables.put("businessSid", businessSid);
// variables.put("isLoan", true);
// variables.put("orgSid", orgSid);//部门sid
// ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), dto.getUserSid(), variables);
// if (resultBean.getSuccess() && resultBean.getData() != null) {
// Map<String, String> map = (Map<String, String>) resultBean.getData();
// /*saveSysFormLink(map);*/
// //更新虚拟订单审批(订金)业务表中的流程状态
// modifiBusMainDepositFlowState(businessSid,
// ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(),//procDefId
// map.get("nodeState"),//state
// map.get("procInsId"),//procInstSid
// map.get("taskDefKey")//nodeSid
// );
// }
return new ResultBean();
}
// private void modifiBusMainDepositFlowState(String businessSid,
// String proDefId,//procDefId
// String nodeState,//state
// String procInsId,//procInstSid
// String taskDefKey//nodeSid
// ) {
// baseMapper.modifiBusDepositFlowState(businessSid,
// proDefId,//procDefId
// nodeState,//state
// procInsId,//procInstSid
// taskDefKey);
// }
/*public ResultBean submitMainDespoitApprove(BusDepositDto dto) {
String orgSid = checkUserOrg(dto.getUserSid());
String businessSid = "";
@ -962,37 +987,37 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
* @return
*/
public ResultBean submitMainDespoitVehicleApprove(BusMainDepositVehicleDto dto) {
String orgSid = checkUserOrg(dto.getUserSid());
String businessSid = "";
if (StringUtils.isBlank(orgSid)) {
return new ResultBean().fail().setMsg("用户组织机构不能为空");
}
// 验证
if (StringUtils.isBlank(dto.getSid())) {
// 调用保存接口
ResultBean resultBean = saveDepositVehicle(dto);
if (!resultBean.getSuccess()) {
return resultBean.setMsg("提交失败");
}
businessSid = resultBean.getData().toString();
} else {
// 调用更新接口
ResultBean resultBean = updateDepositVehicle(dto, dto.getSid());
if (!resultBean.getSuccess()) {
return resultBean.setMsg("提交失败");
}
businessSid = dto.getSid();
}
Map<String, Object> variables = new HashMap<>();
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ORDERDEPOSITVEHICLEAPPROVE.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);
}
return resultBean;
// String orgSid = checkUserOrg(dto.getUserSid());
// String businessSid = "";
// if (StringUtils.isBlank(orgSid)) {
// return new ResultBean().fail().setMsg("用户组织机构不能为空");
// }
// // 验证
// if (StringUtils.isBlank(dto.getSid())) {
// // 调用保存接口
// ResultBean resultBean = saveDepositVehicle(dto);
// if (!resultBean.getSuccess()) {
// return resultBean.setMsg("提交失败");
// }
// businessSid = resultBean.getData().toString();
// } else {
// // 调用更新接口
// ResultBean resultBean = updateDepositVehicle(dto, dto.getSid());
// if (!resultBean.getSuccess()) {
// return resultBean.setMsg("提交失败");
// }
// businessSid = dto.getSid();
// }
// Map<String, Object> variables = new HashMap<>();
// variables.put("businessSid", businessSid);
// variables.put("isLoan", true);
// variables.put("orgSid", orgSid);
// ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ORDERDEPOSITVEHICLEAPPROVE.getProDefId(), dto.getUserSid(), variables);
// if (resultBean.getSuccess() && resultBean.getData() != null) {
// Map<String, String> map = (Map<String, String>) resultBean.getData();
// saveSysFormLink(map);
// }
return new ResultBean();
}
/**
@ -1128,49 +1153,53 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
* @return
*/
@Transactional(rollbackFor = Exception.class)
public ResultBean reserveCarInfo(AppBusDepositVehicleDto dto) {
AppUserOrgInfoVo appUserOrgInfoVo = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.getUseOrgByUserSid(dto.getUserSid()).getData();
Date date = new Date();
public ResultBean<String> reserveCarInfo(AppBusDepositVehicleDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
AppUserOrgInfoVo data = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
if (StringUtils.isBlank(dto.getVirtualOrderSid())) {//新增
BusMainDeposit busMainDeposit = new BusMainDeposit();
busMainDeposit.setSid(UUID.randomUUID().toString());
Map<String, String> map = generateBillNo(dto.getUserSid());
busMainDeposit.setBillNo(map.get("billNo_Num"));
busMainDeposit.setBillNo(getApplyCode2(dto));
busMainDeposit.setCreateBySid(dto.getUserSid());
busMainDeposit.setStaffSid(appUserOrgInfoVo.getStaffSid());
busMainDeposit.setStaffName(appUserOrgInfoVo.getStaffName());
busMainDeposit.setOrgSid(appUserOrgInfoVo.getOrgSid());
busMainDeposit.setOrgName(sysOrganizationVo.getName() + "-" + appUserOrgInfoVo.getOrgName());
busMainDeposit.setStaffSid(data.getStaffSid());
busMainDeposit.setStaffName(dto.getStaffName());
busMainDeposit.setOrgSid(useOrgSid);
busMainDeposit.setOrgName(dto.getDepartmentName());
busMainDeposit.setDepositBillType("车辆预订");
busMainDeposit.setDepositBillTypeKey("02");
busMainDeposit.setCreateDate(dateFormat.format(date));
busMainDeposit.setCreateDate(dateFormat.format(new Date()));
baseMapper.insert(busMainDeposit);
// 车辆客户信息
BusDepositVehicleCustomer customer = new BusDepositVehicleCustomer();
String customerSid = dto.getCustomerSid();
AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = crmCustomerTempFeign.getAppCustomerTempDetailsBySid(customerSid).getData();
customer.setCustomerSid(customerSid);
customer.setCustomerName(dto.getCustomerName());
customer.setCustomerMobile(dto.getMobile());
BeanUtils.copyProperties(dto, customer, "sid");
AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = crmCustomerTempFeign.getAppCustomerTempDetailsBySid(customer.getCustomerSid()).getData();
customer.setCustomerClass(appCrmCustomerTempInfoVo.getCustomerType());
customer.setCustomerClassKey(appCrmCustomerTempInfoVo.getCustomerTypeKey());
customer.setCustomerPhoto(appCrmCustomerTempInfoVo.getCustomerPhoto());
customer.setCustomerMobile(dto.getMobile());
customer.setBillSid(busMainDeposit.getSid());
busDepositVehicleCustomerService.save(customer);
//添加车辆信息
appSetBusDepositVehicle(dto, busMainDeposit);
return new ResultBean().success().setData(busMainDeposit.getSid()).setMsg("添加成功");
return rb.success().setData(busMainDeposit.getSid());
} else {//修改
BusMainDeposit busMainDeposit = fetchBySid(dto.getVirtualOrderSid());
BeanUtils.copyProperties(dto, busMainDeposit, "sid");
baseMapper.updateById(busMainDeposit);
busDepositVehicleService.delByBillSid(dto.getVirtualOrderSid());
busDepositVehicleCustomerService.delByBillSid(dto.getVirtualOrderSid());
BusDepositVehicleCustomer customer = new BusDepositVehicleCustomer();
BeanUtils.copyProperties(dto, customer, "sid");
AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = crmCustomerTempFeign.getAppCustomerTempDetailsBySid(customer.getCustomerSid()).getData();
customer.setCustomerClass(appCrmCustomerTempInfoVo.getCustomerType());
customer.setCustomerClassKey(appCrmCustomerTempInfoVo.getCustomerTypeKey());
customer.setCustomerMobile(dto.getMobile());
customer.setBillSid(busMainDeposit.getSid());
busDepositVehicleCustomerService.save(customer);
appSetBusDepositVehicle(dto, busMainDeposit);
return new ResultBean().success().setData(busMainDeposit.getSid()).setMsg("修改成功");
return rb.success().setData(busMainDeposit.getSid());
}
}
/**
* 新增/修改虚拟订单订金收取添加车辆信息方法
*
@ -1905,11 +1934,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
ResultBean<List<AppGetNodeVo>> rb = new ResultBean<>();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
// Map<String, Object> formVariables = query.getFormVariables();
//判断流程分支
// Map<String, Object> map = IsTrue(formVariables.get("businessSid"));
// bv.setFormVariables(map);
bv.setModelId(ProcDefEnum.SCMCARTRANSFER.getProDefId());
bv.setModelId(ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<AppGetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), AppGetNodeVo.class)).collect(Collectors.toList());
@ -1920,11 +1945,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
ResultBean<List<AppGetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
// Map<String, Object> formVariables = query.getFormVariables();
//判断流程分支
// Map<String, Object> map = IsTrue(formVariables.get("businessSid"));
// bv.setFormVariables(map);
bv.setModelId(ProcDefEnum.SCMCARTRANSFER.getProDefId());
bv.setModelId(ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<AppGetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), AppGetNodeVo.class)).collect(Collectors.toList());
@ -1971,7 +1992,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg("操作失败!");
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());

3
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml

@ -63,7 +63,8 @@
NULL),
IF(LENGTH(trim(GROUP_CONCAT(moreConfig))) > 0, GROUP_CONCAT('更多配置:', moreConfig),
NULL)) as topBean,
contractPath
contractPath,
topName
FROM bus_sales_order_makeup
where salesOrderSid = #{sid}
</select>

59
anrui-buscenter/anrui-buscenter-ui/src/api/flow/jianyidingdan.js

@ -2,59 +2,80 @@ import request from '@/utils/request'
export default {
// 车辆预定流程审批(同意) 已改
agreeCheliangTask: function(params) {
agreeCheliangTask: function(data) {
return request({
url: 'buscenter/v1/busmaindeposit/completeVehicle',
method: 'post',
data: params
method: 'put',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 订金收取流程审批(同意) 已改
agreeDingjinTask: function(params) {
agreeDingjinTask: function(data) {
return request({
url: 'buscenter/v1/busmaindeposit/completeDeposit',
method: 'post',
data: params
method: 'put',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 流程审批(驳回) 已改
rejectTask: function(params) {
rejectTask: function(data) {
return request({
url: 'buscenter/v1/busmaindeposit/reject',
method: 'post',
data: params
method: 'put',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 流程审批(终止) 已改
breakTask: function(params) {
breakTask: function(data) {
return request({
url: 'buscenter/v1/busmaindeposit/breakProcess',
method: 'post',
data: params
method: 'put',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 流程审批(撤回) 已改
revokeTask: function(params) {
revokeTask: function(data) {
return request({
url: 'buscenter/v1/busmaindeposit/revokeProcess',
method: 'post',
data: params
method: 'put',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 审批流程(同意)获取下一环节 已改
getNextNodesForSubmit: function(data) {
return request({
url: 'buscenter/v1/busmaindeposit/getNextNodesForSubmit',
method: 'get',
params: data
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 审批流程(驳回、终止)获取上一环节 已改
getPreviousNodesForReject: function(data) {
return request({
url: 'buscenter/v1/busmaindeposit/getPreviousNodesForReject',
method: 'get',
params: data
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
// 读取xml文件

22
anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/busdeposit.js

@ -1,8 +1,7 @@
import request from '@/utils/request'
import qs from 'qs'
// 简易订单页面接口
//条件分页查询数据的列表 (8.12测试)
// 条件分页查询数据的列表 (8.12测试)
export function listPage(data) {
return request({
url: '/buscenter/v1/busmaindeposit/listPage',
@ -14,7 +13,7 @@ export function listPage(data) {
})
}
//根据sid批量删除 (8.12测试)
// 根据sid批量删除 (8.12测试)
export function deleteBySids(data) {
return request({
url: '/buscenter/v1/busmaindeposit/deleteBySids',
@ -26,8 +25,7 @@ export function deleteBySids(data) {
})
}
//==========订金收取
// ==========订金收取
// 保存虚拟订单(订金)(8.12已改)
export function saveDing(data) {
return request({
@ -56,7 +54,7 @@ export function submitApprove(data) {
export function depositDetail(data) {
return request({
url: 'buscenter/v1/busdeposit/init/depositDetail/' + data.virtualOrderSid + '/' + data.userSid,
method: 'get',
method: 'get'
})
}
@ -64,12 +62,11 @@ export function depositDetail(data) {
export function fetchSid(data) {
return request({
url: 'buscenter/v1/busdeposit/getDepositInfoDetails/' + data,
method: 'get',
method: 'get'
})
}
//==========预定车辆
// ==========预定车辆
// 保存虚拟订单(预定车辆) (8.12已改)
export function saveChe(data) {
return request({
@ -85,7 +82,7 @@ export function saveChe(data) {
// 提交虚拟订单(车辆)审批流程 (8.12已改)
export function submitVehicleApprove(data) {
return request({
url: 'buscenter/v1/busmaindeposit',
url: 'buscenter/v1/busmaindeposit/submitVirtualOrderVehicle',
method: 'post',
data: data,
headers: {
@ -110,11 +107,10 @@ export function selectSid(data) {
export function getReserveCarDetails(data) {
return request({
url: 'buscenter/v1/busdepositvehicle/getReserveCarDetails/' + data,
method: 'get',
method: 'get'
})
}
// 获取下拉框
export function typeValues(data) {
return request({
@ -133,7 +129,7 @@ export function kehu(data) {
})
}
//订单批量删除主车优惠情况
// 订单批量删除主车优惠情况
export function getDelDis(data) {
return request({
url: '/buscenter/v1/busorder/delDis/' + data,

1
anrui-buscenter/anrui-buscenter-ui/src/components/uploadFile/upload.vue

@ -238,6 +238,7 @@
}
},
handlePictureCardPreview(file) {
this.dialogVisible = true
this.dialogImageUrl = file.url
},
//

660
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/cheliangyuding.vue

@ -1,74 +1,79 @@
<template>
<div class="app-container">
<div v-show="visible">
<div>
<div class="tab-header webtop">
<div>销售简易订单详情</div>
<!-- <div v-else></div> -->
<div>
<el-button type="primary" @click="openAgree('同意')"> </el-button>
<el-button type="danger" @click="openReject('驳回')"> </el-button>
<el-button type="danger" @click="openStop('终止')"> </el-button>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="listconadd">
<el-form
ref="dataForm"
:model="temp"
label-position="right"
class="formadd"
>
<div class="tit">
销售虚拟订车单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<el-col :span="2" class="tleftb">
<el-form-item>订单类型</el-form-item>
<div class="">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" label-position="right" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
<el-col :span="6" class="trightb">
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>客户名称</el-form-item>
<el-col :span="3" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.customerName }}
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>联系电话</el-form-item>
<el-col :span="3" class="tleftb">
<span>联系电话</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.mobile }}
</el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<!-- <div class="title">-->
<div class="title">预订车辆信息</div>
<!-- </div>-->
<el-table
v-loading="listLoading"
:data="list"
border
style="width: 100%"
:index="index"
>
<el-table-column
align="center"
label="序号"
type="index"
width="50"
/>
<el-table v-loading="listLoading" :data="list" border style="width: 100%" :index="index">
<el-table-column align="center" label="序号" type="index" width="60"/>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.brand }}</span>
@ -80,16 +85,16 @@
</template>
</el-table-column>
<el-table-column label="车架号" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.vin }}</span>
</template>
</el-table-column>
<el-table-column label="颜色" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.colour }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center">
<el-table-column label="存放地点">
<template slot-scope="scope">
<span>{{ scope.row.location }}</span>
</template>
@ -115,18 +120,19 @@
</div>
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd">
<el-row v-show="currentLink">
<el-row v-show="currentLink" style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">当前环节</el-col>
<el-col :span="20" class="trightb">
<el-col :span="20">
<el-form-item prop="purchasingUnitName"><span>{{ current.taskName }}->{{ nextNode.name }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row style="border-bottom: 1px solid #e0e3eb;">
<el-row :class="{ rowClass:!currentLink }">
<el-col :span="4" class="tleftb">意见</el-col>
<el-col :span="20" class="trightb">
<el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw"
clearable></el-input>
<el-col :span="20">
<el-form-item>
<el-input v-model="dialogList.comment" placeholder="审批意见" class="addinputw" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
@ -139,336 +145,272 @@
</template>
<script>
import {mapGetters} from "vuex";
import {getReserveCarDetails} from "@/api/jichuxinxi/busdeposit";
import { getReserveCarDetails } from '@/api/jichuxinxi/busdeposit'
import req from '@/api/flow/jianyidingdan.js'
export default {
name: "cheliangyuding",
data() {
return {
disabled: true,
index: 0,
edit: true,
// ---------
YongHuid: [],
visible: true,
stateId: "0",
FormLoading: false,
listLoading: false,
list: [],
temp: {}, //
textMap: {
update: "修改",
create: "创建",
},
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem("userSid"),
},
nodeState: '',
billNo: '',
createDate: '',
mobile: '',
orgName: '',
staffName: '',
_userSid: '',
customerName: [],
xuniSid: '',
tificateT: [],
dnumbDate: [],
dialogStatus: '', //
// ------------------------------------
currentLink:true, //
dialogList: {
comment: ''
},
xmlData: '', // xml
taskList: [],
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
//
agreeList: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid:''
},
//
regectList: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
userSid: ''
},
//
stopList: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
userSid: ''
export default {
name: 'cheliangyuding',
data() {
return {
disabled: true,
index: 0,
// ---------
FormLoading: false,
listLoading: false,
list: [],
temp: {}, //
// ------------------------------------
currentLink: true, //
dialogList: {
comment: ''
},
xmlData: '', // xml
taskList: [],
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
//
agreeList: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
//
regectList: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
userSid: ''
},
//
stopList: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
userSid: ''
}
}
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 350 + 'px'
}
}, '*')
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('获取到的obj', obj)
//
this.agreeList.businessSid = obj.businessSid
this.agreeList.instanceId = obj.instanceId
this.agreeList.taskId = obj.taskId
this.agreeList.taskDefKey = obj.taskDefKey
this.agreeList.userSid = window.sessionStorage.getItem('userSid')
this.agreeList.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.regectList.businessSid = obj.businessSid
this.regectList.instanceId = obj.instanceId
this.regectList.taskId = obj.taskId
this.regectList.userSid = window.sessionStorage.getItem('userSid')
//
this.stopList.businessSid = obj.businessSid
this.stopList.instanceId = obj.instanceId
this.stopList.taskId = obj.taskId
this.stopList.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
methods: {
// ------------------
showInfo(sid) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
getReserveCarDetails(sid).then((response) => {
if (response.code) {
this.temp = response.data
this.list = response.data.vehicleList
}
};
})
},
computed: {
...mapGetters([
"id",
"roles",
"rolesIds",
"departmentId",
"departmentCode",
]),
// ---------- -----------------------------
//
openAgree(val) {
this.operation = val
this.dialogList.comment = '同意'
this.currentLink = true //
// const formVariables = {
// businessSid: this.agreeList.businessSid
// }
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 220 + 'px'
//
openReject(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = true //
// const formVariables = {
// businessSid: this.regectList.businessSid
// }
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
}, '*')
this.submitdisabled = false
})
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('获取到的obj',obj)
//
this.agreeList.businessSid = obj.businessSid
this.agreeList.instanceId = obj.instanceId
this.agreeList.taskId = obj.taskId
this.agreeList.taskDefKey = obj.taskDefKey
this.agreeList.userSid = window.sessionStorage.getItem('userSid')
this.agreeList.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.regectList.businessSid = obj.businessSid
this.regectList.instanceId = obj.instanceId
this.regectList.taskId = obj.taskId
this.regectList.userSid = window.sessionStorage.getItem('userSid')
//
this.stopList.businessSid = obj.businessSid
this.stopList.instanceId = obj.instanceId
this.stopList.taskId = obj.taskId
this.stopList.userSid = window.sessionStorage.getItem('userSid')
//
this.transactState = obj.transactState
//
this.showInfo(obj.businessSid)
this.getModelDetail(obj.deployId)
this.getFlowViewer(obj.instanceId)
//
openStop(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = false //
this.nodeDialogVisible = true
},
methods: {
// ------------------
showInfo(sid) {
console.log("修改打开", sid);
this.submitDto.businessSid = sid;
this.$nextTick(() => {
this.$refs["dataForm"].clearValidate();
});
getReserveCarDetails(sid).then((response) => {
if (response.code) {
this.temp = response.data
this.list = response.data.vehicleList
} else {
this.$notify({
title: "提示",
message: "查看失败",
type: "error",
duration: 2000,
});
}
});
},
// ---------- ------------------------------
/** xml 文件 */
getModelDetail(deployId) {
// xml
req.readXml(deployId).then((res) => {
this.xmlData = res.data
})
},
//
getFlowViewer(procInsId) {
req.getFlowViewer(procInsId).then((res) => {
this.taskList = res.data
})
},
//
openAgree(val) {
this.operation = val
this.dialogList.comment = '同意'
this.currentLink = true //
// const formVariables = {
// businessSid: this.agreeList.businessSid
// }
req.getNextNodesForSubmit({taskDefKey:this.current.taskDefKey}).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = true //
// const formVariables = {
// businessSid: this.regectList.businessSid
// }
req.getPreviousNodesForReject({taskDefKey: this.current.taskDefKey}).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
/** 选择代办人确认 */
confirm() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
this.handleReject()
} else if (this.operation === '终止') {
this.handleStop()
}
},
/** 同意任务 */
handleAgree() {
this.agreeList.comment = this.dialogList.comment
if (this.agreeList.comment === '') {
this.$message({
showClose: true,
message: '请填写同意意见!',
type: 'error'
})
},
//
openStop(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = false //
this.nodeDialogVisible = true
},
/** 选择代办人确认 */
confirm() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
this.handleReject()
} else if (this.operation === '终止') {
this.handleStop()
}
},
/** 同意任务 */
handleAgree() {
this.agreeList.comment = this.dialogList.comment
if (this.agreeList.comment == '') {
return
}
req.agreeCheliangTask(this.agreeList).then((response) => {
if (response.success) {
this.$message({
showClose: true,
message: '请填写同意意见!',
type: 'error'
message: '执行成功',
type: 'success'
})
return
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
req.agreeCheliangTask(this.agreeList).then((response) => {
if (response.success) {
this.$message({
showClose: true,
message: '执行成功',
type: 'success'
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.regectList.comment = this.dialogList.comment
if (this.regectList.comment === '') {
this.$message({
showClose: true,
message: '请填写驳回意见!',
type: 'error'
})
},
/** 驳回任务 */
handleReject() {
this.regectList.comment = this.dialogList.comment
if (this.regectList.comment == '') {
return
}
req.rejectTask(this.regectList).then((response) => {
if (response.success) {
this.$message({
showClose: true,
message: '请填写驳回意见!',
type: 'error'
message: '执行成功',
type: 'success'
})
return
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
req.rejectTask(this.regectList).then((response) => {
if (response.success) {
this.$message({
showClose: true,
message: '执行成功',
type: 'success'
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.stopList.comment = this.dialogList.comment
if (this.stopList.comment === '') {
this.$message({
showClose: true,
message: '请填写终止意见!',
type: 'error'
})
},
/** 终止任务 */
handleStop() {
this.stopList.comment = this.dialogList.comment
if (this.stopList.comment == '') {
return
}
req.breakTask(this.stopList).then((response) => {
if (response.success) {
this.$message({
showClose: true,
message: '请填写终止意见!',
type: 'error'
message: '执行成功',
type: 'success'
})
return
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
req.breakTask(this.stopList).then((response) => {
if (response.success) {
this.$message({
showClose: true,
message: '执行成功',
type: 'success'
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
},
})
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
/deep/ . el-form-item__content {
margin-left: 0 !important;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
.rowClass {
border-top: 1px solid #E0E3EB;
}
</style>

611
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/cheliangyudingEdit.vue

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div v-show="visible">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
@ -9,57 +9,79 @@
</div>
</div>
<div class="">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
销售虚拟订车单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<el-col :span="2" class="tleftb">
<el-form-item>订单类型</el-form-item>
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" label-position="right" class="formadd" :rules="rules">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>客户名称</el-form-item>
<el-col :span="3" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.customerName }}
<span class="bluezi changeIt" @click="handleCustomer()">选择客户/新增客户</span>
<span class="bluezi changeIt" @click="handleCustomer()">选择客户</span>
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>联系电话</el-form-item>
<el-col :span="3" class="tleftb">
<span>联系电话</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.mobile }}
</el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<div class="titcon">
<div class="title">预订车辆信息</div>
<div class="baocun">
<el-button size="medium" type="primary" @click="handleyudingcheliang" class="btntopbluebut">选择车辆
<div class="title">
<div>预订车辆信息</div>
<div>
<el-button size="mini" type="primary" @click="handleyudingcheliang" class="btntopbluebut">选择车辆
</el-button>
</div>
</div>
<el-table v-loading="listLoading" :data="list" border style="width: 100%" :index="index">
<el-table-column align="center" label="序号" type="index" width="50"/>
<el-table-column align="center" label="序号" type="index" width="60"/>
<el-table-column label="操作" align="center" width="80px" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="danger"
@click="handleDelete(scope.row,scope.$index,list[scope.$index])">删除
<el-button size="mini" type="danger" @click="handleDelete(scope.row,scope.$index,list[scope.$index])">删除
</el-button>
</template>
</el-table-column>
@ -74,12 +96,12 @@
</template>
</el-table-column>
<el-table-column label="车架号" width="140px" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.vin }}</span>
</template>
</el-table-column>
<el-table-column label="颜色" width="100px" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.colour }}</span>
</template>
</el-table-column>
@ -95,10 +117,7 @@
</el-table-column>
<el-table-column label="预计订金日期" width="220px" align="center">
<template slot-scope="scope">
<el-date-picker v-model="scope.row.depositDate" type="date" style="width:90%"
value-format="yyyy-MM-dd"
placeholder="选择日期"
:picker-options="pickerOptions">
<el-date-picker v-model="scope.row.depositDate" type="date" style="width:90%" value-format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions">
</el-date-picker>
</template>
</el-table-column>
@ -111,313 +130,279 @@
</el-form>
</div>
</div>
<!--选择车辆确定-->
<xuanzecheliang v-show="xuanzecheliangShow" @yudingcheliangfanhui="yudingcheliangfanhui" ref="xuanzecheliang"
@handleVehicle="selectVehicle"/>
<xuanzecheliang v-show="viewState == 3" @yudingcheliangfanhui="resetState" ref="divCheLiang" @handleVehicle="selectVehicle"/>
<!--选择客户确定-->
<xuanzekehu v-show="xuanzekehuShow" @yudingcheliangfanhui="yudingcheliangfanhui" ref="xuanzekehu"
@handleCustomer="selectCustomer"/>
<xuanzekehu v-show="viewState == 2" ref="divSelect" @doback="resetState" @handleCustomer="selectCustomer"/>
</div>
</template>
<script>
import {fetchBySid, getPathSidByUserSid} from '@/api/dictcommons/dictcommons'
import {saveChe, selectSid, submitVehicleApprove, typeValues} from '@/api/jichuxinxi/busdeposit'
import req from '@/api/flow/jianyidingdan.js'
import yudingcheliang from "@/views/xiaoshouguanli/xunidingdan/com/yudingcheliang"
import hetongdanganguanliAdd from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliAdd.vue'
import hetongdanganguanliInfo from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue'
import kehudanganAdd from '@/views/kehuguanli/kehudangan/kehudanganAdd.vue'
import xuanzecheliang from "@/views/xiaoshouguanli/xunidingdan/com/xuanzecheliang"
import xuanzekehu from "@/views/xiaoshouguanli/xunidingdan/com/xuanzekehu"
export default {
name: "cheliangyudingEdit",
components: {
yudingcheliang,
hetongdanganguanliAdd,
hetongdanganguanliInfo,
kehudanganAdd,
xuanzecheliang,
xuanzekehu
},
data() {
return {
//
pickerOptions: {
disabledDate(time) {
let threeDay = 60 * 60 * 24 * 1000 * 3;
return time.getTime() < Date.now() || time.getTime() > Date.now() + threeDay;
},
},
viewTitle: '',
index: 0,
disabled: false, //
// dialogStatus: 'add',
// ---------
YongHuid: [],
edit: true,
visible: true,
stateId: '0',
FormLoading: false,
listLoading: false,
list: [],
temp: {
staffName: '',
customerSid: '', // sid
virtualOrderSid: '', // s
customerName: '', //
virtualOrderId: '', // s
sellerName: '', //
departmentName: '', //
mobile: '', //
createDate: '', //
carList: [],
taskId: '', // Id
procInsId: '', // ID
userSid: window.sessionStorage.getItem('userSid')
}, //
xuniSid: '',
mobile: '',
orgName: '',
import { fetchBySid, getPathSidByUserSid } from '@/api/dictcommons/dictcommons'
import { saveChe, selectSid, submitVehicleApprove, typeValues } from '@/api/jichuxinxi/busdeposit'
import xuanzecheliang from './relation/xuanzecheliang'
import xuanzekehu from './relation/xuanzekehu'
export default {
name: 'cheliangyudingEdit',
components: {
xuanzecheliang,
xuanzekehu
},
data() {
return {
//
pickerOptions: {
disabledDate(time) {
let threeDay = 60 * 60 * 24 * 1000 * 3
return time.getTime() < Date.now() || time.getTime() > Date.now() + threeDay
}
},
viewTitle: '',
index: 0,
disabled: false, //
// ---------
viewState: 1,
FormLoading: false,
listLoading: false,
list: [],
temp: {
staffName: '',
_userSid: '',
deposit_list: [],
customerName: [],
tificateT: [],
dnumbDate: [],
dialogStatus: '', //
yudingcheliangShow: false,
xuanzecheliangShow: false, //
xuanzekehuShow: false, //
rules: {},
// ------------------------------------
customerSid: '', // sid
virtualOrderSid: '', // s
customerName: '', //
virtualOrderId: '', // s
sellerName: '', //
departmentName: '', //
mobile: '', //
createDate: '', //
carList: [],
taskId: '', // Id
procInsId: '', // ID
userSid: window.sessionStorage.getItem('userSid')
},
deposit_list: [],
rules: {}
// ------------------------------------
}
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 350 + 'px'
}
}, '*')
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showEdit(obj.businessSid, obj.instanceId, obj.taskId)
},
methods: {
// -
getDeposit_date() {
typeValues({
type: 'reserveDepositDate'
}).then((res) => {
if (res.code === '200') {
this.deposit_list = res.data
console.log('下拉框请求预计订金日期', res.data)
}
})
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 220 + 'px'
changeDeposit_date(row) {
for (var i = 0; i < this.deposit_list.length; i++) {
if (this.deposit_list[i].dictValue === row.depositDate) {
row.depositDate = this.deposit_list[i].dictValue
this.list[i].reserve_deposit_date_key = this.deposit_list[i].dictKey
}
}, '*')
}
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showEdit(obj.businessSid,obj.instanceId,obj.taskId)
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.getCreateOrgName(res.data)
}
})
},
methods: {
//-
getDeposit_date() {
typeValues({
type: 'reserveDepositDate'
}).then((res) => {
if (res.code === '200') {
this.deposit_list = res.data
console.log('下拉框请求预计订金日期', res.data)
}
})
},
changeDeposit_date(row) {
for (var i = 0; i < this.deposit_list.length; i++) {
if (this.deposit_list[i].dictValue === row.depositDate) {
row.depositDate = this.deposit_list[i].dictValue
this.list[i].reserve_deposit_date_key = this.deposit_list[i].dictKey
}
getCreateOrgName(sid) {
fetchBySid(sid).then((res) => {
if (res.success) {
this.temp.departmentName = res.data.name
}
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({userSid: userSid}).then((res) => {
if (res.success) {
this.getCreateOrgName(res.data)
}
})
},
getCreateOrgName(sid) {
fetchBySid(sid).then((res) => {
if (res.success) {
this.temp.departmentName = res.data.name
}
})
},
showEdit(businessSid,instanceId,taskId) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
});
this.stateId = '1'
this.dialogStatus = 'edit';
this.viewTitle = '【编辑】销售简易订单';
const data = {
customerSid: '',
virtualOrderSid: businessSid,
userSid: window.sessionStorage.getItem('userSid')
})
},
showEdit(businessSid, instanceId, taskId) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.viewTitle = '【编辑】销售简易订单'
const data = {
customerSid: '',
virtualOrderSid: businessSid,
userSid: window.sessionStorage.getItem('userSid')
}
selectSid(data).then((response) => {
if (response.code) {
this.temp = response.data
this.list = response.data.carList
this.temp.sid = businessSid
this.temp.instanceId = instanceId
this.temp.taskId = taskId
}
selectSid(data).then((response) => {
if (response.code) {
this.temp = response.data
this.list = response.data.carList
this.temp.sid = businessSid
this.temp.instanceId = instanceId
this.temp.taskId = taskId
}
});
this.getDeposit_date()
},
// ------------ ------------
//
handleCreate() {
})
this.getDeposit_date()
},
// ------------ ------------
//
handleCreate() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.temp.carList = this.list
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
saveChe(this.temp).then((response) => {
this.FormLoading = true
if (response.code === '200') {
this.FormLoading = false
this.$message({ showClose: true, type: 'success', message: '提交成功' })
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000
})
}
})
}
})
},
//
handleSubmit() {
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.dialogStatus = 'create';
this.temp.carList = this.list;
this.FormLoading = true
this.temp.carList = this.list
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
saveChe(this.temp).then((response) => {
this.FormLoading = true;
console.log('提交时sid', this.temp.sid)
//
submitVehicleApprove(this.temp).then((response) => {
if (response.code === '200') {
this.xuniSid = response.data;
this.FormLoading = false;
// this.$emit('doback')
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000,
message: '提交成功',
type: 'success',
duration: 2000
})
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error'
})
}
})
}
})
},
//
handleSubmit() {
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true;
this.dialogStatus = 'create';
this.temp.carList = this.list;
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
console.log('提交时sid', this.temp.sid)
//
submitVehicleApprove(this.temp).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '提交成功',
type: 'success',
duration: 2000,
})
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error',
})
}
})
}
})
})
},
//
selectCustomer(row) {
this.viewState = 1
this.temp.customerName = row.name
this.temp.customerSid = row.sid
this.temp.mobile = row.mobile
},
//
selectVehicle(depositVehicleList) {
this.viewState = 1
for (var i = 0; i < depositVehicleList.length; i++) {
this.list.push({
brand: depositVehicleList[i].brandName,
model: depositVehicleList[i].vehicleAlias,
vin: depositVehicleList[i].vinNo,
colour: depositVehicleList[i].carColor,
location: depositVehicleList[i].location,
price: depositVehicleList[i].guidedPrice,
modelSid: depositVehicleList[i].modelSid,
configSid: depositVehicleList[i].configSid,
carSid: depositVehicleList[i].sid
})
},
//
selectCustomer(row) {
this.temp.customerName = row.name
this.temp.customerSid = row.sid
this.temp.mobile = row.mobile
},
//
selectVehicle(depositVehicleList) {
for (var i = 0; i < depositVehicleList.length; i++) {
this.list.push({
brand: depositVehicleList[i].brandName,
model: depositVehicleList[i].vehicleAlias,
vin: depositVehicleList[i].vinNo,
colour: depositVehicleList[i].carColor,
location: depositVehicleList[i].location,
price: depositVehicleList[i].guidedPrice,
modelSid: depositVehicleList[i].modelSid,
configSid: depositVehicleList[i].configSid,
carSid: depositVehicleList[i].sid
})
}
},
//
handleDelete(row, index) {
this.list.splice(index, 1)
// if (row.sid !== '') {
// const sid_list = []
// sid_list.push(row.sid, row.vehicleSid)
// console.log('', sid_list)
// } else {
// this.list.splice(index, 1)
// }
},
// ------------ ------------
//
handleyudingcheliang() {
this.visible = false;
this.xuanzekehuShow = false;
this.xuanzecheliangShow = true;
this.yudingcheliangShow = false;
},
//
handleCustomer() {
this.xuanzekehuShow = true
this.xuanzecheliangShow = false;
this.visible = false;
this.yudingcheliangShow = false;
},
//
yudingcheliangfanhui() {
this.visible = true;
this.xuanzecheliangShow = false
this.xuanzekehuShow = false
this.yudingcheliangShow = false;
},
}
},
//
handleDelete(row, index) {
this.list.splice(index, 1)
},
// ------------ ------------
//
handleyudingcheliang() {
this.viewState = 3
this.$refs['divCheLiang'].init()
},
//
handleCustomer() {
this.viewState = 2
this.$refs['divSelect'].init()
},
//
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
}
.changeIt {
line-height: 40px;
font-size: 17px;
float: right;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
.changeIt {
line-height: 40px;
font-size: 17px;
float: right;
}
</style>

356
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/cheliangyudingInfo.vue

@ -1,72 +1,76 @@
<template>
<div class="app-container">
<div v-show="visible">
<div>
<div class="tab-header webtop">
<div>销售简易订单详情</div>
<!-- <div v-else></div> -->
<div>
<el-button type="danger" @click="openRevoke"> </el-button>
<el-button type="danger" size="small" @click="openRevoke"> </el-button>
</div>
</div>
<div class="listconadd">
<el-form
ref="dataForm"
:model="temp"
label-position="right"
class="formadd"
>
<div class="tit">
销售虚拟订车单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<el-col :span="2" class="tleftb">
<el-form-item>订单类型</el-form-item>
<div class="">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" label-position="right" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
<el-col :span="6" class="trightb">
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>客户名称</el-form-item>
<el-col :span="3" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.customerName }}
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>联系电话</el-form-item>
<el-col :span="3" class="tleftb">
<span>联系电话</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.mobile }}
</el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<!-- <div class="title">-->
<div class="title">预订车辆信息</div>
<!-- </div>-->
<el-table
v-loading="listLoading"
:data="list"
border
style="width: 100%"
:index="index"
>
<el-table-column
align="center"
label="序号"
type="index"
width="50"
/>
<el-table v-loading="listLoading" :data="list" border style="width: 100%" :index="index">
<el-table-column align="center" label="序号" type="index" width="60"/>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.brand }}</span>
@ -78,16 +82,16 @@
</template>
</el-table-column>
<el-table-column label="车架号" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.vin }}</span>
</template>
</el-table-column>
<el-table-column label="颜色" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.colour }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center">
<el-table-column label="存放地点">
<template slot-scope="scope">
<span>{{ scope.row.location }}</span>
</template>
@ -115,172 +119,116 @@
</template>
<script>
import {mapGetters} from "vuex";
import {getReserveCarDetails} from "@/api/jichuxinxi/busdeposit";
import { getReserveCarDetails } from '@/api/jichuxinxi/busdeposit'
import req from '@/api/flow/jianyidingdan.js'
export default {
name: "cheliangyudingInfo",
data() {
return {
disabled: true,
index: 0,
edit: true,
// ---------
YongHuid: [],
visible: true,
stateId: "0",
FormLoading: false,
listLoading: false,
list: [],
temp: {}, //
textMap: {
update: "修改",
create: "创建",
},
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem("userSid"),
},
nodeState: '',
billNo: '',
createDate: '',
mobile: '',
orgName: '',
staffName: '',
_userSid: '',
customerName: [],
xuniSid: '',
tificateT: [],
dnumbDate: [],
dialogStatus: '', //
// ------------------------------------
//
revokeList: {
businessSid: '',
instanceId: '',
taskId: '',
userSid: ''
},
};
},
computed: {
...mapGetters([
"id",
"roles",
"rolesIds",
"departmentId",
"departmentCode",
]),
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 220 + 'px'
export default {
name: 'cheliangyudingInfo',
data() {
return {
disabled: true,
index: 0,
// ---------
FormLoading: false,
listLoading: false,
list: [],
temp: {}, //
// ------------------------------------
//
revokeList: {
businessSid: '',
instanceId: '',
taskId: '',
userSid: ''
}
}
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 380 + 'px'
}
}, '*')
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
// urlunescape()web,使
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('obj', obj)
this.showInfo(obj.businessSid)
//
this.revokeList.businessSid = obj.businessSid
this.revokeList.instanceId = obj.instanceId
this.revokeList.taskId = obj.taskId
this.revokeList.taskDefKey = obj.taskDefKey
this.revokeList.userSid = window.sessionStorage.getItem('userSid')
},
methods: {
// ------------------
showInfo(sid) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
getReserveCarDetails(sid).then((response) => {
if (response.code) {
this.temp = response.data
this.list = response.data.vehicleList
}
}, '*')
})
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
// urlunescape()web,使
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('obj',obj)
this.showInfo(obj.businessSid)
//
this.revokeList.businessSid = obj.businessSid
this.revokeList.instanceId = obj.instanceId
this.revokeList.taskId = obj.taskId
this.revokeList.taskDefKey = obj.taskDefKey
this.revokeList.userSid = window.sessionStorage.getItem('userSid')
//
this.transactState = obj.transactState
//
// this.getModelDetail(obj.deployId)
// this.getFlowViewer(obj.instanceId)
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
})
},
methods: {
// ------------------
showInfo(sid) {
console.log("修改打开", sid);
this.submitDto.businessSid = sid;
this.$nextTick(() => {
this.$refs["dataForm"].clearValidate();
});
getReserveCarDetails(sid).then((response) => {
if (response.code) {
this.temp = response.data
this.list = response.data.vehicleList
} else {
this.$notify({
title: "提示",
message: "查看失败",
type: "error",
duration: 2000,
});
}
});
},
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
/** 撤回任务 */
handleRevoke() {
req.revokeTask(this.revokeList).then((response) => {
if (response.success) {
this.$message({
type: 'info',
message: '已取消撤回'
showClose: true,
message: '执行成功',
type: 'success'
})
})
},
/** 撤回任务 */
handleRevoke() {
// this.revokeList.comment = this.dialogList.comment
req.revokeTask(this.revokeList).then((response) => {
if (response.success) {
this.$message({
showClose: true,
message: '执行成功',
type: 'success'
});
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
},
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
/deep/ . el-form-item__content {
margin-left: 0 !important;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
</style>

195
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouqu.vue

@ -2,63 +2,86 @@
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>销售虚拟订单管理详细信息</div>
<div>销售简易订单详情</div>
<div>
<el-button type="primary" @click="openAgree('同意')"> </el-button>
<el-button type="danger" @click="openReject('驳回')"> </el-button>
<el-button type="danger" @click="openStop('终止')"> </el-button>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd">
<div class="tit">
销售简易订单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<div class="">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>订单类型</span></el-form-item>
<span>分公司</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款人</span></el-form-item>
<span>付款人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>联系电话</span></el-form-item>
<span>联系电话</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.mobile }}</span>
<span>{{ temp.phone }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>车辆台数</span></el-form-item>
<span>车辆台数</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.carNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>订金金额</span></el-form-item>
<span>订金金额</span>
</el-col>
<el-col :span="13" class="trightb">
<el-col :span="13">
<el-form-item>
<span>{{ temp.deposit }}</span>
</el-form-item>
@ -66,43 +89,43 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款日期</span></el-form-item>
<span>付款日期</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款方式</span></el-form-item>
<span>付款方式</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payType }}</span>
<span>{{ temp.payTypeValue }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款银行账号</span></el-form-item>
<span>付款银行账号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
<span>{{ temp.payNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>收款银行账号</span></el-form-item>
<span>收款银行账号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>收款银行</span></el-form-item>
<span>收款银行</span>
</el-col>
<el-col :span="13" class="trightb">
<el-col :span="13">
<el-form-item>
<span>{{ temp.collectionBank }}</span>
</el-form-item>
@ -110,27 +133,27 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>备注</span></el-form-item>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-col :span="21">
<el-form-item>
<span>{{ temp.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">付款凭证</span></el-form-item>
<el-col :span="3" class="tleftb">
<span>付款凭证</span>
</el-col>
<el-col :span="20" class="trightb">
<el-col :span="21">
<el-form-item>
<img :src="imgUrl">
<img style="width: 178px;height: 178px" :src="imgUrl" @click="handleLook(imgUrl)">
</el-form-item>
</el-col>
</el-row>
<!--Start 客户信息-->
<div class="titcon">
<div class="title">客户信息</div>
<div class="title">
<div>客户信息</div>
</div>
<el-table v-loading="listLoading" :data="list" border style="width: 100%" :index="index">
<el-table-column align="center" label="序号" type="index" width="60"/>
@ -149,25 +172,29 @@
</el-form>
</div>
</div>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd">
<el-row v-show="currentLink">
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">当前环节</el-col>
<el-col :span="20" class="trightb">
<el-form-item prop="purchasingUnitName"><span>{{ current.taskName }}->{{ nextNode.name }}</span>
<el-col :span="20">
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row style="border-bottom: 1px solid #e0e3eb;">
<el-row :class="{rowClass:!currentLink}">
<el-col :span="4" class="tleftb">意见</el-col>
<el-col :span="20" class="trightb">
<el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw"
clearable></el-input>
<el-col :span="20">
<el-form-item>
<el-input v-model="dialogList.comment" placeholder="审批意见" class="addinputw" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="confirm"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
<el-button type="primary" size="small" @click="confirm"> </el-button>
<el-button type="info " size="small" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
@ -175,20 +202,20 @@
</template>
<script>
import {fetchSid} from '@/api/jichuxinxi/busdeposit'
import { fetchSid } from '@/api/jichuxinxi/busdeposit'
import req from '@/api/flow/jianyidingdan.js'
export default {
name: "dingjinshouqu",
name: 'dingjinshouqu',
data() {
return {
disabled: '',
viewTitle: '',
dialogVisible: false,
dialogImageUrl: '',
index: 0,
imgUrl: '',
// ---------
YongHuid: [],
edit: true,
// --------
visible: true,
stateId: '0',
FormLoading: false,
@ -243,7 +270,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 220 + 'px'
data: 500 + 'px'
}
}, '*')
},
@ -282,7 +309,7 @@ export default {
methods: {
showInfo(sid) {
fetchSid(sid).then((response) => {
if (response.code === '200') {
if (response.success) {
this.temp = response.data
this.imgUrl = this.temp.payImages[this.temp.payImages.length - 1]
this.list = response.data.customerList
@ -291,7 +318,7 @@ export default {
title: '提示',
message: '查看失败',
type: 'error',
duration: 2000,
duration: 2000
})
}
})
@ -318,7 +345,7 @@ export default {
// const formVariables = {
// businessSid: this.agreeList.businessSid
// }
req.getNextNodesForSubmit({taskDefKey: this.current.taskDefKey}).then((resp) => {
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
@ -335,7 +362,7 @@ export default {
// const formVariables = {
// businessSid: this.regectList.businessSid
// }
req.getPreviousNodesForReject({taskDefKey: this.current.taskDefKey}).then((resp) => {
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
@ -364,7 +391,7 @@ export default {
/** 同意任务 */
handleAgree() {
this.agreeList.comment = this.dialogList.comment
if (this.agreeList.comment == '') {
if (this.agreeList.comment === '') {
this.$message({
showClose: true,
message: '请填写同意意见!',
@ -394,7 +421,7 @@ export default {
/** 驳回任务 */
handleReject() {
this.regectList.comment = this.dialogList.comment
if (this.regectList.comment == '') {
if (this.regectList.comment === '') {
this.$message({
showClose: true,
message: '请填写驳回意见!',
@ -424,7 +451,7 @@ export default {
/** 终止任务 */
handleStop() {
this.stopList.comment = this.dialogList.comment
if (this.stopList.comment == '') {
if (this.stopList.comment === '') {
this.$message({
showClose: true,
message: '请填写终止意见!',
@ -451,27 +478,27 @@ export default {
}
})
},
handleLook(value) {
this.dialogVisible = true
this.dialogImageUrl = value
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
.rowStyle {
border-left: 0px !important;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
.colStyle {
border-right: 0px !important;
}
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

872
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquEdit.vue

@ -1,47 +1,68 @@
<template>
<div class="app-container">
<div v-show="visible">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small" :disabled="disabled" @click="handleSubmit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
销售虚拟订单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<div class="">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd" :rules="rules">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>订单类型</span></el-form-item>
<span>分公司</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款人</span></el-form-item>
<span><span class="icon">*</span>付款人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.payName" class="addinputw" placeholder=""
clearable/>
<el-input v-model="temp.payName" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>联系电话</span></el-form-item>
<span><span class="icon">*</span>联系电话</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item prop="mobile">
<el-input v-model="temp.mobile" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -49,18 +70,17 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>车辆台数</span></el-form-item>
<span>车辆台数</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.carNumber" class="addinputw" placeholder=""
clearable/>
<el-input v-model="temp.carNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>订金金额</span></el-form-item>
<span><span class="icon">*</span>订金金额</span>
</el-col>
<el-col :span="13" class="trightb">
<el-col :span="13">
<el-form-item>
<el-input v-model="temp.deposit" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -68,34 +88,27 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款日期</span></el-form-item>
<span><span class="icon">*</span>付款日期</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-date-picker
v-model="temp.payDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
class="addinputw">
</el-date-picker>
<el-date-picker v-model="temp.payDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" class="addinputw"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款方式</span></el-form-item>
<span><span class="icon">*</span>付款方式</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-select v-model="temp.payTypeKey" class="addinputw" placeholder="" @change="changePaymentType">
<el-option v-for="(item, index) in paymentType_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
<el-select v-model="temp.payType" class="addinputw" placeholder="" @change="changePaymentType">
<el-option v-for="item in paymentType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款银行账号</span></el-form-item>
<span><span class="icon">*</span>付款银行账号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -103,32 +116,29 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>收款银行账号</span></el-form-item>
<span><span class="icon">*</span>收款银行</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item>
<el-select v-model="temp.collectionNumberKey" class="addinputw" placeholder=""
@change="changeProBankAccValue">
<el-option v-for="(item, index) in ProBankAcc_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-col :span="13">
<el-select v-model="temp.collectionBank" class="addinputw" placeholder="" @change="changeproBank">
<el-option v-for="item in proBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>收款银行</span></el-form-item>
<span><span class="icon">*</span>收款银行账号</span>
</el-col>
<el-col :span="13" class="trightb">
<el-select v-model="temp.collectionBankKey" class="addinputw" placeholder="" @change="changeproBank">
<el-option v-for="(item, index) in proBank_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
<el-col :span="5">
<el-form-item>
<el-select v-model="temp.collectionNumber" class="addinputw" placeholder="" @change="changeProBankAccValue">
<el-option v-for="item in ProBankAcc_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>备注</span></el-form-item>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-col :span="21">
<el-form-item>
<el-input v-model="temp.remarks" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -136,21 +146,20 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款凭证</span></el-form-item>
<span><span class="icon">*</span>付款凭证</span>
<div class="tips"><span>只可上传一张付款凭证</span></div>
</el-col>
<el-col :span="21" class="trightb">
<el-col :span="21">
<el-form-item>
<Upload ref="uploadImg" v-model="list1" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-form-item>
</el-col>
</el-row>
<!--Start 客户信息-->
<div class="titcon">
<div class="title">客户信息</div>
<div class="baocun">
<el-button type="primary" size="small" icon="el-icon-plus" class="btntopblueline"
@click="handleyudingcheliang()">添加
<div class="title">
<div>客户信息</div>
<div>
<el-button type="primary" size="mini" icon="el-icon-plus" class="btntopblueline" @click="handleyudingcheliang()">选择
</el-button>
</div>
</div>
@ -180,432 +189,353 @@
</div>
</div>
<!-- 客户信息 -->
<xuanzekehu v-show="kehudanganAddShow" ref="addAndUpdate" @dingjinfanhui="noClickclose"
@handleCustomer="selectCustomer"></xuanzekehu>
<xuanzekehu v-show="viewState == 2" ref="divSelect" @doback="resetState" @handleCustomer="backData"/>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import {depositDetail, saveDing, submitApprove, typeValues} from '@/api/jichuxinxi/busdeposit'
import {fetchBySid, getPathSidByUserSid} from '@/api/dictcommons/dictcommons'
import req from '@/api/flow/jianyidingdan.js'
import { depositDetail, saveDing, submitApprove, typeValues } from '@/api/jichuxinxi/busdeposit'
import { fetchBySid, getPathSidByUserSid } from '@/api/dictcommons/dictcommons'
import Upload from '@/components/uploadFile/upload.vue' //
import xuanzekehu from "@/views/xiaoshouguanli/xunidingdan/com/xuanzekehu"
import xuanzekehu from './relation/xuanzekehu'
export default {
name: "dingjinshouquEdit",
components: {Upload, xuanzekehu},
data() {
var checkSubmit = (rule, value, callback) => {
const Submit =
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
if (Submit.test(value)) {
return callback()
}
callback(new Error('请输入手机号'))
export default {
name: 'dingjinshouquEdit',
components: { Upload, xuanzekehu },
data() {
var checkSubmit = (rule, value, callback) => {
const Submit =
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
if (Submit.test(value)) {
return callback()
}
return {
// ---
list1: [],
viewTitle: '',
dialogStatus: '',
index: 0,
disabled: false, //
// dialogStatus: 'add',
// ---------
edit: true,
visible: true,
stateId: '0',
FormLoading: false,
listLoading: false,
list: [],
paymentType_list: [],
customer_list: [],
proBank_list: [],
ProBankAcc_list: [],
temp: {
departmentName:'',
staffName:'',
createDate:'',
payName: '',
payImages: [], //
collectionNumber: '', //
collectionNumberKey: '', //
payTypeKey: '', //
payType: '', //
payDate: '', //
collectionBankKey: '', //
collectionBank: '', //
collectionBankSid: '', // Sid
payNumber: '', //
deposit: '', //
carNumber: '', //
mobile: '', //
remarks: '', //
customerList: [],
userSid: window.sessionStorage.getItem('userSid'), // Sid
virtualOrderSid: '', // Sid
taskId: '', // Id
procInsId: '', // ID
}, //
nodeState: '', //
sid_list: {},
xuniSid: '',
orgName: '',
callback(new Error('请输入手机号'))
}
return {
// ---
list1: [],
viewTitle: '',
index: 0,
disabled: false, //
// ---------
viewState: 1,
FormLoading: false,
listLoading: false,
list: [],
paymentType_list: [],
proBank_list: [],
ProBankAcc_list: [],
temp: {
departmentName: '',
staffName: '',
_userSid: '',
customerName: [],
tificateT: [],
dnumbDate: [],
yudingcheliangShow: false,
hetongdanganguanliAddShow: false,
hetongdanganguanliInfoShow: false,
kehudanganAddShow: false,
rules: {
mobile: [
{
required: true,
validator: checkSubmit,
trigger: 'blur',
},
],
},
// ------------------------------------
createDate: '',
payName: '',
payImages: [], //
collectionNumber: '', //
collectionNumberKey: '', //
payTypeKey: '', //
payType: '', //
payDate: '', //
collectionBankKey: '', //
collectionBank: '', //
collectionBankSid: '', // Sid
payNumber: '', //
deposit: '', //
carNumber: '', //
mobile: '', //
remarks: '', //
customerList: [],
userSid: window.sessionStorage.getItem('userSid'), // Sid
virtualOrderSid: '', // Sid
taskId: '', // Id
procInsId: '' // ID
},
customerName: [],
rules: {
mobile: [
{
required: true,
validator: checkSubmit,
trigger: 'blur'
}
]
}
// ------------------------------------
}
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showEdit(obj.businessSid, obj.instanceId, obj.taskId)
},
methods: {
getType() {
//
typeValues({
type: 'paymentType'
}).then((res) => {
if (res.code === '200') {
this.paymentType_list = res.data
console.log('下拉框请求111', res.data)
}
})
//
typeValues({
type: 'receiptBank'
}).then((res) => {
if (res.code === '200') {
this.proBank_list = res.data
console.log('下拉框请求111', res.data)
}
})
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
changePaymentType(value) {
console.log('触发下拉框按钮')
let bb = null
this.paymentType_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.temp.payType = bb.name
this.temp.payTypeKey = bb.key
console.log('name', this.temp.payType, 'key', this.temp.payTypeKey)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 220 + 'px'
changeproBank(value) {
console.log('触发下拉框按钮')
let bb = null
this.proBank_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
}, '*')
})
this.temp.collectionBank = bb.name
this.temp.collectionBankKey = bb.key
this.getProBankAcc(bb.sid)
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showEdit(obj.businessSid,obj.instanceId,obj.taskId)
getProBankAcc(sid) {
typeValues({ psid: sid, type: 'receiptAccount' }).then((res) => {
if (res.code === '200') {
this.ProBankAcc_list = res.data
console.log('下拉框请求111', res.data)
}
})
},
methods: {
getType() {
//
typeValues({
type: 'paymentType'
}).then((res) => {
if (res.code === '200') {
this.paymentType_list = res.data
console.log('下拉框请求111', res.data)
}
})
//
typeValues({
type: 'receiptBank'
}).then((res) => {
if (res.code === '200') {
this.proBank_list = res.data
console.log('下拉框请求111', res.data)
}
})
},
changePaymentType(value) {
console.log('触发下拉框按钮')
let bb = {}
this.paymentType_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.dictKey == value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.temp.payType = bb.name
this.temp.payTypeKey = bb.key
console.log('name', this.temp.payType, 'key', this.temp.payTypeKey)
},
changeproBank(value) {
console.log('触发下拉框按钮')
let bb = null
this.proBank_list.forEach((e) => {
if (e.dictKey == value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
changeProBankAccValue(value) {
console.log('触发下拉框按钮')
let bb = null
this.ProBankAcc_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
})
this.temp.collectionBank = bb.name
this.temp.collectionBankKey = bb.key
this.getProBankAcc(bb.sid)
},
getProBankAcc(sid) {
typeValues({psid: sid, type: 'receiptAccount'}).then((res) => {
if (res.code === '200') {
this.ProBankAcc_list = res.data
console.log('下拉框请求111', res.data)
}
})
},
changeProBankAccValue(value) {
console.log('触发下拉框按钮')
let bb = null
this.ProBankAcc_list.forEach((e) => {
if (e.dictKey == value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.temp.collectionNumber = bb.name
this.temp.collectionNumberKey = bb.key
console.log('name', this.temp.collectionNumber, 'key', this.temp.collectionNumberKey)
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({userSid: userSid}).then((res) => {
if (res.success) {
this.getCreateOrgName(res.data)
}
})
},
getCreateOrgName(sid) {
fetchBySid(sid).then((res) => {
if (res.success) {
this.temp.departmentName = res.data.name
}
})
},
//
showEdit(businessSid,instanceId,taskId) {
this.stateId = '1'
console.log('上传图片组件', this.$refs['uploadImg'].stateName)
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.temp.sid = businessSid
this.dialogStatus = 'edit'
this.viewTitle = '【编辑】销售简易订单'
const data = {
virtualOrderSid:businessSid,
userSid:window.sessionStorage.getItem('userSid')
}
depositDetail(data).then((response) => {
if (response.code) {
this.temp = response.data
this.list = response.data.customerList
if (response.data.payImages.length > 0) {
const imgName = response.data.payImages[response.data.payImages.length - 1].split("/");
this.list1.push({
name: imgName[imgName.length - 1],
url: response.data.payImages[response.data.payImages.length - 1],
});
this.$refs['uploadImg'].showImg(this.list1)
}
this.temp.instanceId = instanceId
this.temp.taskId = taskId
this.temp.payImages = []
this.getType()
// this.getPathSid()
}
})
},
getUrl() {
console.log('已有图片', this.list1)
if (this.list1.length !== 0) {
if (this.list1.length > 1) {
this.list1.splice(0, 1);
const img_list = []
img_list.push(this.list1[this.list1.length - 1].url)
this.temp.payImages = img_list
} else {
const img_list = []
img_list.push(this.list1[this.list1.length - 1].url)
this.temp.payImages = img_list
}
})
this.temp.collectionNumber = bb.name
this.temp.collectionNumberKey = bb.key
console.log('name', this.temp.collectionNumber, 'key', this.temp.collectionNumberKey)
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.getCreateOrgName(res.data)
}
},
selectCustomer(row) {
this.list.push({
customerName: row.name,
mobile: row.mobile,
customerSid: row.sid,
// headImage
})
},
handleDelete(row, index) {
console.log('客户表中的row', row);
this.list.splice(index, 1)
// if (row.sid !== '') {
// this.sid_list.customerSid = row.customerSid
// this.sid_list.sid = this.temp.sid
// console.log('', this.sid_list)
// } else {
// this.list.splice(index, 1)
// }
},
//
handleCreate() {
this.$refs['dataForm'].validate((valid) => {
this.getUrl()
this.temp.customerList = this.list
if (valid) {
this.FormLoading = true
this.dialogStatus = 'create'
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
this.temp.userSid = window.sessionStorage.getItem('userSid')
saveDing(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.xuniSid = response.data
this.handleReturn('true')
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000,
})
}
})
}
})
},
//
handleSubmit() {
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$refs['dataForm'].validate((valid) => {
this.getUrl()
this.temp.customerList = this.list
if (valid) {
this.FormLoading = true
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
this.temp.userSid = window.sessionStorage.getItem('userSid')
//
submitApprove(this.temp).then((response) => {
if (response.code === '200') {
this.handleReturn('true')
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error',
})
}
})
}
})
},
getCreateOrgName(sid) {
fetchBySid(sid).then((res) => {
if (res.success) {
this.temp.departmentName = res.data.name
}
})
},
//
showEdit(businessSid, instanceId, taskId) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.viewTitle = '【编辑】销售简易订单'
const data = {
virtualOrderSid: businessSid,
userSid: window.sessionStorage.getItem('userSid')
}
depositDetail(data).then((response) => {
if (response.code) {
this.temp = response.data
this.temp.sid = response.data.virtualOrderSid
this.list = response.data.customerList
if (response.data.payImages.length > 0) {
const imgName = response.data.payImages[response.data.payImages.length - 1].split('/')
this.list1.push({
name: imgName[imgName.length - 1],
url: response.data.payImages[response.data.payImages.length - 1]
})
this.$refs['uploadImg'].showImg(this.list1)
}
)
},
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.temp.sid = '' // SID
this.temp = {
departmentName:'',
staffName:'',
createDate:'',
payName: '',
payImages: [], //
collectionNumber: '', //
collectionNumberKey: '', //
payTypeKey: '', //
payType: '', //
payDate: '', //
collectionBankKey: '', //
collectionBank: '', //
collectionBankSid: '', // Sid
payNumber: '', //
deposit: '', //
carNumber: '', //
mobile: '', //
remarks: '', //
customerList: [],
userSid: '', // Sid
virtualOrderSid: '', // Sid
taskId: '', // Id
procInsId: '' // ID
} //
this.disabled = false
this.$refs['uploadImg'].stateName = '' //
this.list1 = []
this.list = []
this.$refs['dataForm'].resetFields()
this.$emit('doback')
},
// ----------------------------
//
handleyudingcheliang() {
this.visible = false
this.kehudanganAddShow = true
},
//
noClickclose() {
this.visible = true
this.yudingcheliangShow = false
this.hetongdanganguanliAddShow = false
this.hetongdanganguanliInfoShow = false
this.kehudanganAddShow = false
this.temp.instanceId = instanceId
this.temp.taskId = taskId
this.temp.payImages = []
this.getType()
}
})
},
getUrl() {
console.log('已有图片', this.list1)
if (this.list1.length !== 0) {
if (this.list1.length > 1) {
this.list1.splice(0, 1)
const img_list = []
img_list.push(this.list1[this.list1.length - 1].url)
this.temp.payImages = img_list
} else {
const img_list = []
img_list.push(this.list1[this.list1.length - 1].url)
this.temp.payImages = img_list
}
}
},
backData(row) {
this.viewState = 1
this.list.push({
customerName: row.name,
mobile: row.mobile,
customerSid: row.sid
})
},
handleDelete(row, index) {
console.log('客户表中的row', row)
this.list.splice(index, 1)
},
//
handleCreate() {
this.$refs['dataForm'].validate((valid) => {
this.getUrl()
this.temp.customerList = this.list
if (valid) {
this.FormLoading = true
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
this.temp.userSid = window.sessionStorage.getItem('userSid')
saveDing(this.temp).then((response) => {
this.FormLoading = false
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '修改成功' })
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
})
},
//
handleSubmit() {
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$refs['dataForm'].validate((valid) => {
this.getUrl()
this.temp.customerList = this.list
if (valid) {
this.FormLoading = true
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
this.temp.userSid = window.sessionStorage.getItem('userSid')
//
submitApprove(this.temp).then((response) => {
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '提交成功' })
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error'
})
}
})
}
})
}
)
},
// ----------------------------
//
handleyudingcheliang() {
this.viewState = 2
this.$refs['divSelect'].init()
},
//
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
}
.tips {
font-size: 12px;
color: #606266;
text-align: right;
}
.formadd .el-row .el-col /deep/ .el-form-item .addinputw {
width: 100%;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
.tips {
font-size: 12px;
color: #606266;
text-align: right;
}
</style>

352
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquInfo.vue

@ -2,61 +2,84 @@
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>销售虚拟订单管理详细信息</div>
<div>销售简易订单详情</div>
<div>
<el-button type="danger" @click="openRevoke"> </el-button>
<el-button type="danger" size="small" @click="openRevoke"> </el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd">
<div class="tit">
销售简易订单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span>{{ temp.price }}</span></div>
</div>
</div>
<el-row class="bordertopline">
<div class="">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>订单类型</span></el-form-item>
<span>申请人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款人</span></el-form-item>
<span>付款人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>联系电话</span></el-form-item>
<span>联系电话</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.mobile }}</span>
<span>{{ temp.phone }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>车辆台数</span></el-form-item>
<span>车辆台数</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.carNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>订金金额</span></el-form-item>
<span>订金金额</span>
</el-col>
<el-col :span="13" class="trightb">
<el-col :span="13">
<el-form-item>
<span>{{ temp.deposit }}</span>
</el-form-item>
@ -64,43 +87,43 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款日期</span></el-form-item>
<span>付款日期</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款方式</span></el-form-item>
<span>付款方式</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payType }}</span>
<span>{{ temp.payTypeValue }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款银行账号</span></el-form-item>
<span>付款银行账号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
<span>{{ temp.payNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>收款银行账号</span></el-form-item>
<span>收款银行账号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>收款银行</span></el-form-item>
<span>收款银行</span>
</el-col>
<el-col :span="13" class="trightb">
<el-col :span="13">
<el-form-item>
<span>{{ temp.collectionBank }}</span>
</el-form-item>
@ -108,27 +131,27 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>备注</span></el-form-item>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-col :span="21">
<el-form-item>
<span>{{ temp.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">付款凭证</span></el-form-item>
<el-col :span="3" class="tleftb">
<span>付款凭证</span>
</el-col>
<el-col :span="20" class="trightb">
<el-col :span="21">
<el-form-item>
<img :src="imgUrl">
<img style="width: 178px;height: 178px" :src="imgUrl" @click="handleLook(imgUrl)">
</el-form-item>
</el-col>
</el-row>
<!--Start 客户信息-->
<div class="titcon">
<div class="title">客户信息</div>
<div class="title">
<div>客户信息</div>
</div>
<el-table v-loading="listLoading" :data="list" border style="width: 100%" :index="index">
<el-table-column align="center" label="序号" type="index" width="60"/>
@ -147,143 +170,138 @@
</el-form>
</div>
</div>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
import {fetchSid} from '@/api/jichuxinxi/busdeposit'
import { fetchSid } from '@/api/jichuxinxi/busdeposit'
import req from '@/api/flow/jianyidingdan.js'
export default {
name: "dingjinshouquInfo",
data() {
return {
disabled: '',
viewTitle: '',
index: 0,
imgUrl: '',
// ---------
YongHuid: [],
edit: true,
visible: true,
stateId: '0',
FormLoading: false,
listLoading: false,
list: [],
temp: {},
// ------------------------------------
//
revokeList: {
businessSid: '',
instanceId: '',
taskId: '',
userSid: ''
},
export default {
name: 'dingjinshouquInfo',
data() {
return {
dialogVisible: false,
dialogImageUrl: '',
disabled: '',
viewTitle: '',
index: 0,
imgUrl: '',
// ---------
visible: true,
stateId: '0',
FormLoading: false,
listLoading: false,
list: [],
temp: {},
// ------------------------------------
//
revokeList: {
businessSid: '',
instanceId: '',
taskId: '',
userSid: ''
}
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 220 + 'px'
}
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
// urlunescape()web,使
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('obj', obj)
this.showInfo(obj.businessSid)
//
this.revokeList.businessSid = obj.businessSid
this.revokeList.instanceId = obj.instanceId
this.revokeList.taskId = obj.taskId
this.revokeList.taskDefKey = obj.taskDefKey
this.revokeList.userSid = window.sessionStorage.getItem('userSid')
},
methods: {
showInfo(sid) {
fetchSid(sid).then((response) => {
if (response.success) {
this.temp = response.data
this.imgUrl = this.temp.payImages[this.temp.payImages.length - 1]
this.list = response.data.customerList
} else {
this.$notify({
title: '提示',
message: '查看失败',
type: 'error',
duration: 2000
})
}
}, '*')
})
},
created() {
// ===
var one = window.location.href.indexOf('&data') + 6
// urlunescape()web,使
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('obj',obj)
this.showInfo(obj.businessSid)
//
this.revokeList.businessSid = obj.businessSid
this.revokeList.instanceId = obj.instanceId
this.revokeList.taskId = obj.taskId
this.revokeList.taskDefKey = obj.taskDefKey
this.revokeList.userSid = window.sessionStorage.getItem('userSid')
//
this.transactState = obj.transactState
//
// this.getModelDetail(obj.deployId)
// this.getFlowViewer(obj.instanceId)
},
methods: {
showInfo(sid) {
fetchSid(sid).then((response) => {
if (response.code === '200') {
this.temp = response.data
this.imgUrl = this.temp.payImages[this.temp.payImages.length - 1]
this.list = response.data.customerList
} else {
this.$notify({
title: '提示',
message: '查看失败',
type: 'error',
duration: 2000,
})
}
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
},
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
})
},
/** 撤回任务 */
handleRevoke() {
// this.revokeList.comment = this.dialogList.comment
req.revokeTask(this.revokeList).then((response) => {
if (response.success) {
this.$message({
type: 'info',
message: '已取消撤回'
showClose: true,
message: '执行成功',
type: 'success'
})
})
},
/** 撤回任务 */
handleRevoke() {
// this.revokeList.comment = this.dialogList.comment
req.revokeTask(this.revokeList).then((response) => {
if (response.success) {
this.$message({
showClose: true,
message: '执行成功',
type: 'success'
});
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
handleLook(value) {
this.dialogVisible = true
this.dialogImageUrl = value
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
</style>

299
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/relation/xuanzecheliang.vue

@ -0,0 +1,299 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>现车库存</div>
<div>
<el-button type="primary" size="small" @click="handleConfirm()">确定</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="130px" class="tab-header">
<el-form-item label="品牌">
<el-select v-model="listQuery.params.carbrand" class="addinputw" placeholder="请选择" @change="changeCarbrand">
<el-option v-for="(item, index) in carbrand_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="功能">
<el-input v-model="listQuery.params.vehicleType" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="系列">
<el-input v-model="listQuery.params.productLine" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="变速箱">
<el-input v-model="listQuery.params.gearboxType" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="驱动">
<el-input v-model="listQuery.params.driveForm" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="排放标准">
<el-input v-model="listQuery.params.emissionStandard" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="马力">
<el-input v-model="listQuery.params.power" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="燃料">
<el-input v-model="listQuery.params.fuelType" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="版本">
<el-input v-model="listQuery.params.vehicleVersion" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<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"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<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">
<template slot-scope="scope">
<span>{{ scope.row.brandName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleAlias }}</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.carColor }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center">
<template slot-scope="scope">
<span>{{ scope.row.location }}</span>
</template>
</el-table-column>
<el-table-column label="销售指导价(万元)" align="center">
<template slot-scope="scope">
<span>{{ scope.row.guidedPrice }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import { getList } from '@/api/jichuxinxi/busdepositvehicle'
export default {
name: "xuanzecheliang",
components: {
Pagination,
pageye
},
data() {
return {
createPage: '',
dialogVisible: false, //
isSearchShow: false,
searchxianshitit: '显示查询条件',
btndisabled: false,
viewState: 1, // 1 2- 3 4 5-
// -----------
carbrand_list: [], //
tableKey: 0,
list: [],
sids: [],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 5,
params: {
carbrand: '',
driveForm: '',
emissionStandard: '',
fuelType: '',
gearboxType: '',
lockedState: '',
power: '',
productLine: '',
vehicleState: '',
vehicleType: '',
vehicleVersion: ''
}
},
selectDate: undefined,
temp: {}, //
depositVehicleList: [],
visible: true,
hetongdanganguanliInfoShow: false
// ------------------------------------
}
},
methods: {
//
init() {
this.handleFilter()
this.getcarbrand()
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 5,
params: {
carbrand: '',
driveForm: '',
emissionStandard: '',
fuelType: '',
gearboxType: '',
lockedState: '',
power: '',
productLine: '',
vehicleState: '',
vehicleType: '',
vehicleVersion: ''
}
}
},
//
handleSelectionChange(row) {
console.log('row', row)
this.depositVehicleList = row
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('选择sid', this.sids)
},
//
getcarbrand() {
// selectBrand().then((res) => {
// if (res.code === '200') {
// this.carbrand_list = res.data
// console.log('', res.data)
// }
// })
},
changeCarbrand(value) {
let bb = {}
this.carbrand_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.dictKey == value) {
bb = {
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.listQuery.params.carbrand = bb.name
console.log('name', this.listQuery.params.carbrand)
},
//
handleConfirm() {
if (this.sids.length > 0) {
this.$emit('handleVehicle', this.depositVehicleList)
} else {
this.$notify({
title: '提示',
message: '没有选择车辆!',
type: 'error',
duration: 2000
})
return
}
},
//
handleReturn() {
this.$emit('yudingcheliangfanhui') //
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
getList({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
modelName: this.listQuery.modelName,
carModel: this.listQuery.carModel,
brandName: this.listQuery.brandName
}
}).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
}
}
}
</script>
<style scoped lang="scss">
.el-input__icon {
width: 40px;
}
.el-form-item .el-form-item__label {
width: 100% !important;
}
.block {
display: inline-block;
}
.el-form-item__content label {
padding: 0 5px;
}
</style>

269
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/relation/xuanzekehu.vue

@ -0,0 +1,269 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>选择客户</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">新增客户</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<div class="searchcon">
<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.name" placeholder="请输入" clearable class="filter-item"/>
</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>
</div>
</div>
</div>
<!-- <pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>-->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed label="操作" align="center">
<template slot-scope="scope">
<div class="searchbtns">
<el-button size="small" type="primary" @click="handleConfirm(scope.row)">选择</el-button>
<el-button size="small" type="primary" @click="handleUpdate(scope.row)">编辑</el-button>
</div>
</template>
</el-table-column>
<el-table-column label="登记日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="手机号码" align="center">
<template slot-scope="scope">
<span>{{ scope.row.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="微信号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.weixin }}</span>
</template>
</el-table-column>
<el-table-column label="客户类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.customerType }}</span>
</template>
</el-table-column>
<el-table-column label="客户级别" align="center">
<template slot-scope="scope">
<span>{{ scope.row.level }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<xuanzekehu-add v-show="viewState == 2 || viewState == 3" ref="addAndUpdate" @reloadlist="resetState" @doback="resetState"/>
<el-dialog title="客户登记-类型" :visible.sync="dialogVisible" width="28%" top="13%">
<el-form :model="customerTypeList">
<el-form-item label="联络方式" :label-width="formLabelWidth" class="diaForm">
<el-select v-model="customerTypeList.visitWay" placeholder="请选择" @change="getVisitWay">
<el-option v-for="(item) in visitWay_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
<el-form-item label="客户类型" :label-width="formLabelWidth" class="diaForm">
<el-select v-model="customerTypeList.customerType" placeholder="请选择" @change="getCustomerType">
<el-option v-for="(item) in customertype_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="el-button-sure" type="primary" @click="handleOpen()"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import { pagerList, typeValues } from '@/api/jichuxinxi/busdepositvehicle'
import xuanzekehuAdd from './xuanzekehuAdd.vue'
export default {
name: 'xuanzekehu',
components: {
Pagination,
pageye,
xuanzekehuAdd
},
data() {
return {
dialogVisible: false, //
formLabelWidth: '110px',
isSearchShow: true,
viewState: 1, // 1 2- 3 4 5-
// -----------
tableKey: 0,
list: [],
sids: [],
customerTypeList: {
visitWay: '', //
visitWayKey: '', // --Key
customerType: '', //
customerTypeKey: '', // --Key
psid: ''
},
visitWay_list: [],
customertype_list: [],
listLoading: false,
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
userSid: ''
}
}
}
},
methods: {
init() {
this.getList()
this.getShuJUZiDian()
},
getShuJUZiDian() {
typeValues({ type: 'visitWay' }).then((res) => {
if (res.code === '200') {
this.visitWay_list = res.data
}
})
typeValues({ type: 'customertype' }).then((res) => {
if (res.code === '200') {
this.customertype_list = res.data
}
})
},
handleOpen() {
this.viewState = 2
if (this.customerTypeList.visitWay !== '' && this.customerTypeList.customerType !== '') {
this.dialogVisible = false
const customerTypeList = this.customerTypeList
this.$refs['addAndUpdate'].openCreate(customerTypeList)
this.customerTypeList = {
visitWay: '', //
visitWayKey: '', // --Key
customerType: '', //
customerTypeKey: '', // --Key
psid: ''
}
} else {
this.$message({
message: '请填写联络方式和客户类型',
type: 'warning'
})
}
},
getVisitWay(value) {
let bb = null
this.visitWay_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
value: e.dictValue,
key: e.dictKey
}
}
})
this.customerTypeList.visitWay = bb.value
this.customerTypeList.visitWayKey = bb.key
},
getCustomerType(value) {
let bb = null
this.customertype_list.forEach((e) => {
if (e.dictValue === value) {
bb= {
value: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.customerTypeList.customerType = bb.value
this.customerTypeList.customerTypeKey = bb.key
this.customerTypeList.psid = bb.sid
},
// ------------------
handleCreate() {
this.dialogVisible = true
},
resetState() {
this.viewState = 1
this.getList()
},
//
handleReturn() {
this.$emit('doback')
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
pagerList(this.listQuery).then((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()
},
//
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('选择sid', this.sids)
},
//
handleConfirm(row) {
this.$emit('handleCustomer', row)
},
handleUpdate(row) {
this.viewState = 3
this.$refs['addAndUpdate'].openUpdate(row.sid)
}
}
}
</script>
<style scoped>
.searchcon {
margin-top: 8px;
}
</style>

948
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/relation/xuanzekehuAdd.vue

@ -0,0 +1,948 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>新增客户信息</div>
<div>
<el-button type="primary" size="small" icon="" @click="handleJUBuCun()">保存</el-button>
<el-button type="info" size="small" icon="el-icon-close" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<div class="titwu">客户信息</div>
<el-form ref="dataForm" :model="temp" label-position="top" class="formadd" :rules="rules">
<div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px">
<div>基础信息</div>
</div>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">客户名称</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="name">
<el-input v-model="temp.name" maxlength="20" placeholder="请输入客户名称" style="width:50%" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">客户类型</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="weChatID">
<span>{{ temp.customerType }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">联系电话</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="mobile">
<el-input v-model="temp.mobile" maxlength="20" placeholder="请输入联系电话" style="width:50%" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">微信号</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="weixin">
<el-input v-model="temp.weixin" maxlength="20" placeholder="请输入微信号" style="width:50%" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="temp.customerType==='个人'">
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">公司名称</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="company">
<el-input v-model="temp.companyName" maxlength="20" placeholder="请输入公司名称" style="width:81%" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">客户地址</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item>
<el-select v-model="temp.province" filterable placeholder="请选择省" class="addinputw" style="width:160px" @change="getShen">
<el-option v-for="item in inputProvinceList" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
<el-select v-model="temp.city" filterable placeholder="请选择市" class="addinputw" style="width:160px" @change="getShi">
<el-option v-for="item in inputCityList" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
<el-select v-model="temp.county" filterable placeholder="请选择县" class="addinputw" style="width:160px" @change="getQu">
<el-option v-for="item in inputCountyList" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
<el-input v-model="temp.address" style="width:46%" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">客户级别</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="level">
<el-select v-model="temp.level" class="addinputw" placeholder="请选择客户级别" style="width:50%" @change="getJiBie">
<el-option v-for="(item, index) in induslevel" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-show="stateId=='0'" class="trightb">
<el-form-item>
<span slot="label">是否开启提醒</span>
</el-form-item>
</el-col>
<el-col :span="8" v-show="stateId=='0'">
<el-form-item>
<el-radio v-model="temp.isOnRemind" label="是"></el-radio>
<el-radio v-model="temp.isOnRemind" label="否"></el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="temp.isOnRemind=='是'">
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">提醒日期</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-date-picker v-model="temp.remind_day" type="date" style="width:50%" value-format="yyyy-MM-dd" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">提醒备注</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="temp.remind_remark" maxlength="20" style="width:50%" placeholder="请输入提醒备注" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<!--更多信息-->
<el-collapse v-model="activeNames">
<el-collapse-item title="更多信息" name="2">
<el-row v-show="temp.customerType==='个人'">
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">客户生日</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-date-picker v-model="temp.birthday" style="width:50%" type="date" format="yyyy-MM-dd" class="addinputw" value-format="yyyy-MM-dd" placeholder="请选择"/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">性别</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-radio v-model="temp.sex" label="男"></el-radio>
<el-radio v-model="temp.sex" label="女"></el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">证件类型</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="temp.certificateType" style="width:50%" maxlength="20" :readonly="true" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">证件号码</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="temp.idnumber" style="width:50%" maxlength="20" placeholder="请输入证件号码" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">证件有效期</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-date-picker v-model="temp.endDate" style="width:50%" type="date" format="yyyy-MM-dd" class="addinputw" value-format="yyyy-MM-dd" placeholder="请选择"/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">电子邮件</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="temp.e_mail" maxlength="20" style="width:50%" placeholder="请输入电子邮箱" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">紧急联系人</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="temp.contacts" maxlength="20" style="width:50%" placeholder="请输入紧急联系人" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">紧急联系电话</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="temp.emergencyMobile" maxlength="20" style="width:50%" placeholder="请输入紧急联系电话" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">客户来源</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="temp.source" class="addinputw" style="width:50%" placeholder="请选择客户来源" @change="getKeHuLaiYUan">
<el-option v-for="(item, index) in sourceLisst" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">客户分类</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="temp.customerClass" style="width:50%" class="addinputw" placeholder="请选择客户分类" @change="getFenLei">
<el-option v-for="(item, index) in merClass" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">备注</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="temp.remarks" style="width:81%" maxlength="20" placeholder="请输入备注" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<!-- </el-form>-->
</el-collapse-item>
</el-collapse>
<!--运营情况-->
<el-collapse v-model="activeNames">
<el-collapse-item title="运营情况" name="3">
<el-form ref="datufrom" :model="templooke" label-position="top" label-width="190px" class="formadd03">
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">承运货物类型</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="templooke.consignmentType" style="width:50%" class="addinputw" placeholder="请选择承运货物类型" @change="getHuoWuLeiXing">
<el-option v-for="(item, index) in signmentT" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">承运货物</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="templooke.consignment" style="width:50%" class="addinputw" placeholder="请选择承运货物" @change="getHuoWu">
<el-option v-for="(item, index) in consign" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">运输路线</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input v-model="templooke.hallway_state" style="width:50%" maxlength="20" placeholder="请输入运输路线" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">购车状态</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<div class="yihang">
<el-checkbox-group v-if="aseType.length > 0" v-model="aseTypeBox" @change="changexuanze">
<el-checkbox v-for="item in aseType" :key="item.divtkey" :label="item.divtkey">
{{ item.dictValue }}
</el-checkbox>
</el-checkbox-group>
<div class="mw"><el-input v-model="templooke.purchase_num" :disabled="templooke.purchase_num == '0'" maxlength="10" class="addinputwduan" clearable/></div>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">现有车辆</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input style="width:50%" v-model="templooke.existing_vehicles" maxlength="20" placeholder="请输入现有车辆" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">现有车辆品牌</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-input style="width:50%" v-model="templooke.existing_vehiclesBrand" maxlength="20" placeholder="请输入现有车辆品牌" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item>
<span slot="label">备注</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input style="width:81%" v-model="templooke.remarks" maxlength="20" placeholder="请输入备注" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-collapse-item>
</el-collapse>
<!--见证材料-->
<el-collapse v-model="activeNames" v-show="stateId=='0'">
<el-collapse-item title="见证材料" name="4">
<el-form ref="datufrom" :model="templooke" label-position="right" label-width="190px" class="formadd03">
<el-row>
<el-col :span="24">
<span slot="label">文件</span>
<Upload ref="uploadImg" v-model="list1" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-col>
</el-row>
</el-form>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
<!-- 弹框提示 -->
<el-dialog :visible.sync="dialogFormVisible" width="300px" :close-on-click-modal="false">
<div class="result-cont">
是否更新用户
</div>
<div slot="footer" v-loading="FormLoading" class="dialog-footer">
<el-button @click="dialogFormVisibl()"></el-button>
<el-button type="primary" @click="dialogStatus()"></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { savePcCustomerInfo, getPcCustomerInfoBySid, updatePcCustomerInfo } from '@/api/jichuxinxi/crmcustomer'
import { getProvince, getCity, getCounty } from '@/api/portal/areaPicker' //
import { typeValues } from '@/api/dictcommons/shujuzidian'
import { getPcBusinessInfoBySid } from '@/api/jichuxinxi/crmbusiness'
import Upload from '@/components/uploadFile/upload.vue' //
export default {
name: 'xuanzekehuAdd',
components: { Upload },
data() {
var checkSubmit = (rule, value, callback) => {
const Submit =
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
if (Submit.test(value)) {
return callback()
}
callback(new Error('请输入手机号'))
}
var identitycard = (rules, value, callback) => {
const card =
/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
if (card.test(value)) {
return callback()
}
callback(new Error('请输入身份证号码'))
}
return {
// ---
list1: [],
province: [],
city: [],
county: [],
inputProvinceList: [],
inputCityList: [],
inputCountyList: [],
list: [],
activeNames: ['1'],
// ---------
customerClass: 'customerClass',
merClass: [],
customerSource: 'customerSource',
sourceLisst: [],
customerLevel: 'customerLevel',
induslevel: [],
visitWay: 'visitWay',
industway: [],
documenttype: 'documenttype',
cateType: [],
consignmentType: 'consignmentType',
signmentT: [],
consignment: 'consignment',
consign: [],
industrytype: 'industrytype',
industry_type: [],
customerType_list: [],
sex_list: [],
aseTypeBox: [],
aseType: [
{
dictValue: '首次购车',
divtkey: 0
},
{
dictValue: '续购',
divtkey: 1
}
],
stateId: 0,
FormLoading: false,
listLoading: false,
crmVisitAppendixDtoList: [],
temp: {
crmBusinessDto: {},
crmVisitAppendixDtoList: [],
customerType: '', //
visitWay: '', //
visitWayKey: '',
userSid: ''
}, //
templooke: {},
dialogFormVisible: false,
rules: {
name: [{ required: true, message: '请填写客户名称', trigger: 'blur' }],
address: [{ required: true, message: '请填写客户地址', trigger: 'blur' }]
}
}
},
methods: {
//
init() {
this.getShuJUZiDian()
this.huoquSheng()
},
//
openUpdate(sid) {
this.stateId = sid
this.isOnRemind = '否'
this.init()
if (this.stateId !== '0') {
getPcCustomerInfoBySid(this.stateId).then((response) => {
console.log(response.data)
if (response.code === '200') {
this.$refs['dataForm'].clearValidate()
this.temp = response.data
this.temp.birthday = this.getDates(this.temp.birthday)
if (this.temp.customerType !== '') {
typeValues({ type: 'customerType' }).then((res) => {
if (res.code === '200') {
if (this.temp.customerType === '个人') {
this.temp.certificateType = '身份证'
this.temp.certificateTypeKey = '01'
} else {
this.temp.certificateType = '营业执照'
this.temp.certificateTypeKey = '02'
}
this.customerType_list = res.data
this.customerType_list.forEach((e) => {
if (e.dictValue === this.temp.customerType) {
typeValues({ psid: e.sid, type: this.customerClass }).then((res) => {
if (res.code === '200') {
this.merClass = res.data
}
})
}
})
}
})
}
}
})
getPcBusinessInfoBySid(this.stateId).then((response) => {
if (response.code === '200') {
this.templooke = response.data
//
const Arry = []
Arry.push(parseInt(response.data.purchase_time))
this.aseTypeBox = Arry
}
})
}
},
//
openCreate(customerTypeList) {
this.temp.customerType = customerTypeList.customerType
this.temp.customerTypeKey = customerTypeList.customerTypeKey
this.temp.visitWay = customerTypeList.visitWay
this.temp.visitWayKey = customerTypeList.visitWayKey
this.$refs['dataForm'].clearValidate()
this.stateId = '0'
this.init()
if (this.temp.customerType !== '') {
if (this.temp.customerType === '个人') {
this.temp.certificateType = '身份证'
this.temp.certificateTypeKey = '01'
} else {
this.temp.certificateType = '营业执照'
this.temp.certificateTypeKey = '02'
}
typeValues({ psid: customerTypeList.psid, type: this.customerClass }).then((res) => {
if (res.code === '200') {
this.merClass = res.data
}
})
}
},
// ---------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------
//
getShuJUZiDian() {
typeValues({ type: this.documenttype }).then((res) => {
if (res.code === '200') {
this.cateType = res.data
}
})
//
typeValues({ type: this.customerSource }).then((res) => {
if (res.code === '200') {
this.sourceLisst = res.data
}
})
//
typeValues({ type: this.customerLevel }).then((res) => {
if (res.code === '200') {
this.induslevel = res.data
}
})
//
typeValues({ type: this.visitWay }).then((res) => {
if (res.code === '200') {
this.industway = res.data
}
})
//
typeValues({ type: this.industrytype }).then((res) => {
if (res.code === '200') {
this.industry_type = res.data
}
})
//
typeValues({ type: this.consignmentType }).then((res) => {
if (res.code === '200') {
this.signmentT = res.data
}
})
//
typeValues({ type: this.consignment }).then((res) => {
if (res.code === '200') {
this.consign = res.data
}
})
//
typeValues({ type: 'sex' }).then((res) => {
if (res.code === '200') {
this.sex_list = res.data
}
})
},
// --------------------------------------------------
huoquSheng() {
getProvince().then((res) => {
if (res.code === '200') {
this.inputProvinceList = res.data
}
})
},
getShen(value) {
let bb = ''
this.inputProvinceList.forEach((e) => {
if (e.sid === value) {
bb = {
name: e.name,
districtCode: e.districtCode,
sid: e.sid
}
}
})
// codeprovince
this.temp.province = bb.name
this.huoquShi(bb.sid)
},
huoquShi(sid1) {
var sid = {
sid: sid1
}
getCity(sid).then((res) => {
console.log('2222市', res)
if (res.code === '200') {
this.inputCityList = res.data
}
})
},
getShi(value) {
let bb = ''
this.inputCityList.forEach((e) => {
if (e.sid === value) {
bb = {
name: e.name,
districtCode: e.districtCode,
sid: e.sid
}
}
})
this.temp.city = bb.name
this.huoquXian(bb.sid)
},
huoquXian(sid1) {
var sid = {
sid: sid1
}
getCounty(sid).then((res) => {
console.log('333县', res)
if (res.code === '200') {
this.inputCountyList = res.data
}
})
},
getQu(value) {
let bb = ''
this.inputCountyList.forEach((e) => {
if (e.sid === value) {
bb = {
name: e.name,
districtCode: e.districtCode,
sid: e.sid
}
}
})
this.temp.county = bb.name
},
// ------------------------------------------------------
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.activeNames = ['1']
this.templooke = {}
this.temp = {}
this.aseTypeBox = []
this.$emit('doback')
},
//
getDates(v) {
var now = new Date(v)
var year = now.getFullYear() //
var month = now.getMonth() + 1 //
var day = now.getDate() //
var hh = now.getHours() //
var mm = now.getMinutes() //
var ss = now.getSeconds() //
var clock = year + '-'
if (month < 10) clock += '0'
clock += month + '-'
if (day < 10) clock += '0'
clock += day + ' '
if (hh < 10) clock += '0'
clock += hh + ':'
if (mm < 10) clock += '0'
clock += mm + ':'
if (ss < 10) clock += '0'
clock += ss
return clock
},
//
findselect(list, value) {
var item = null
for (var i = 0; i < list.length; i++) {
if (list[i].divtkey === value) {
item = list[i]
break
}
}
return item
},
//
changexuanze() {
this.aseTypeBox = [this.aseTypeBox[this.aseTypeBox.length - 1]]
const item = this.findselect(this.aseType, this.aseTypeBox[0])
this.templooke.purchase_time = item.divtkey
},
//
handleJUBuCun() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true
if (this.temp.sex !== '') {
this.sex_list.forEach((e) => {
if (e.dictValue === this.temp.sex) {
this.temp.sexKey = e.dictKey
}
})
}
if (this.temp.isOnRemind !== '' && this.temp.isOnRemind === '是') {
this.temp.isOnRemindkey = 1
} else {
this.temp.isOnRemindkey = 0
}
if (!this.temp.birthday) {
this.temp.birthday = ''
}
if (this.stateId === '0') {
this.temp.userSid = window.sessionStorage.getItem('userSid')
this.temp.crmBusinessDto = this.templooke
this.getUrl()
this.temp.crmVisitAppendixDtoList = this.crmVisitAppendixDtoList
savePcCustomerInfo(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000
})
this.list1 = []
this.handleReturn('true')
} else if ('511' === response.code || '513' === response.code) {
this.FormLoading = false
this.dialogFormVisible = true
this.stateId = response.data
} else {
alert(200)
}
}).catch(() => {})
} else {
this.temp.userSid = window.sessionStorage.getItem('userSid')
this.temp.crmBusinessDto = this.templooke
updatePcCustomerInfo(this.temp).then((res) => {
this.FormLoading = false
if (res.code === '200') {
this.$notify({
title: '提示',
message: '修改成功',
type: 'success',
duration: 2000
})
this.handleReturn('true')
} else {
this.$notify({
title: '提示',
message: '修改失败',
type: 'error',
duration: 2000
})
}
})
}
}
})
},
dialogStatus() {
this.dialogFormVisible = false
this.openUpdate(this.stateId)
},
dialogFormVisibl() {
this.$notify({
title: '提示',
message: '用户名手机号重复',
type: 'error',
duration: 2000
})
this.dialogFormVisible = false
return
},
//
getFenLei(value) {
let bb = null
this.merClass.forEach((e) => {
if (e.dictKey === value) {
bb = {
type: 'customerClass',
name: e.dictValue,
vaule: e.dictKey
}
}
})
this.temp.customerClass = bb.name
this.temp.customerClassKey = bb.vaule
},
//
getKeHuLaiYUan(value) {
let bb = null
this.sourceLisst.forEach((e) => {
if (e.dictKey === value) {
bb = {
type: 'customerSource',
name: e.dictValue,
vaule: e.dictKey
}
}
})
this.temp.source = bb.name
this.temp.sourceKey = bb.vaule
},
//
getJiBie(value) {
let bb = null
this.induslevel.forEach((e) => {
if (e.dictKey === value) {
bb = {
type: 'customerLevel',
name: e.dictValue,
vaule: e.dictKey
}
}
})
this.temp.level = bb.name
this.temp.levelKey = bb.vaule
},
//
getHuoWuLeiXing(value) {
let bb = null
this.signmentT.forEach((e) => {
if (e.dictKey === value) {
bb = {
type: 'consignmentType',
name: e.dictValue,
vaule: e.dictKey
}
}
})
this.templooke.consignmentType = bb.name
this.templooke.consignmentTypeKey = bb.vaule
},
//
getHuoWu(value) {
let bb = null
this.consign.forEach((e) => {
if (e.dictKey === value) {
bb = {
type: 'consignment',
name: e.dictValue,
vaule: e.dictKey
}
}
})
this.templooke.consignment = bb.name
this.templooke.consignmentKey = bb.vaule
},
// --------------------------------------------------------------
getUrl() {
for (var i = 0; i < this.list1.length; i++) {
var namese = this.list1[i].name
var nameArr = namese.split('.')
this.crmVisitAppendixDtoList.push({
// attachType: '0001',
fileName: this.list1[i].name,
filePath: this.list1[i].url,
fileSize: this.list1[i].size,
// linkSid: this.temp.customerSid,
createBySid: window.sessionStorage.getItem('userSid'),
fileType: nameArr[nameArr.length - 1]
})
console.log('11223344', this.crmVisitAppendixDtoList)
}
}
}
}
</script>
<style scoped>
.trightb {
text-align: right;
}
.addinputwduan {
width: 80px;
margin: 0 5px;
}
/deep/ .el-collapse-item__header {
height: 40px;
padding: 10px;
font-weight: bold;
font-size: 20px;
text-align: left;
color: #ffffff;
background-color: #0294d7;
}
/deep/ .el-collapse-item__content {
padding-bottom: 0;
}
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
</style>

390
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/com/xuanzecheliang.vue

@ -8,16 +8,14 @@
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<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="130px" class="tab-header">
<el-form-item label="品牌">
<el-select v-model="listQuery.params.carbrand" class="addinputw" placeholder="请选择"
@change="changeCarbrand">
<el-option v-for="(item, index) in carbrand_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
<el-select v-model="listQuery.params.carbrand" class="addinputw" placeholder="请选择" @change="changeCarbrand">
<el-option v-for="(item, index) in carbrand_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="功能">
@ -53,12 +51,10 @@
</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 class="">
<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" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="品牌" align="center">
@ -96,8 +92,7 @@
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<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>
@ -105,215 +100,200 @@
</template>
<script>
import {mapGetters} from 'vuex'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import {getList, selectBrand} from '@/api/jichuxinxi/busdepositvehicle'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import { getList } from '@/api/jichuxinxi/busdepositvehicle'
export default {
name: "xuanzecheliang",
components: {
Pagination,
pageye
export default {
name: "xuanzecheliang",
components: {
Pagination,
pageye
},
data() {
return {
createPage: '',
dialogVisible: false, //
isSearchShow: false,
searchxianshitit: '显示查询条件',
btndisabled: false,
viewState: 1, // 1 2- 3 4 5-
// -----------
carbrand_list: [], //
tableKey: 0,
list: [],
sids: [],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 5,
params: {
carbrand: '',
driveForm: '',
emissionStandard: '',
fuelType: '',
gearboxType: '',
lockedState: '',
power: '',
productLine: '',
vehicleState: '',
vehicleType: '',
vehicleVersion: ''
}
},
selectDate: undefined,
temp: {}, //
depositVehicleList: [],
visible: true,
hetongdanganguanliInfoShow: false
// ------------------------------------
}
},
methods: {
//
init() {
this.handleFilter()
this.getcarbrand()
},
data() {
return {
createPage: '',
dialogVisible: false, //
isSearchShow: false,
searchxianshitit: '显示查询条件',
btndisabled: false,
viewState: 1, // 1 2- 3 4 5-
// -----------
carbrand_list: [], //
tableKey: 0,
list: [],
sids: [],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
carbrand: '',
driveForm: '',
emissionStandard: '',
fuelType: '',
gearboxType: '',
lockedState: '',
power: '',
productLine: '',
vehicleState: '',
vehicleType: '',
vehicleVersion: ''
},
},
selectDate: undefined,
temp: {}, //
depositVehicleList: [],
visible: true,
hetongdanganguanliInfoShow: false,
// ------------------------------------
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
//
handleReset() {
this.listQuery = {
current: 1,
size: 5,
params: {
carbrand: '',
driveForm: '',
emissionStandard: '',
fuelType: '',
gearboxType: '',
lockedState: '',
power: '',
productLine: '',
vehicleState: '',
vehicleType: '',
vehicleVersion: ''
}
}
},
created() {
//
this.init()
//
handleSelectionChange(row) {
console.log('row', row)
this.depositVehicleList = row
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('选择sid', this.sids)
},
methods: {
//
init() {
this.handleFilter();
this.getcarbrand()
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 20,
params: {
carbrand: '',
driveForm: '',
emissionStandard: '',
fuelType: '',
gearboxType: '',
lockedState: '',
power: '',
productLine: '',
vehicleState: '',
vehicleType: '',
vehicleVersion: ''
},
}
},
//
handleSelectionChange(row) {
console.log('row', row)
this.depositVehicleList = row
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('选择sid', this.sids)
},
//
getcarbrand() {
// selectBrand().then((res) => {
// if (res.code === '200') {
// this.carbrand_list = res.data
// console.log('', res.data)
// }
// })
},
changeCarbrand(value) {
let bb = {}
this.carbrand_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.dictKey == value) {
bb = {
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
//
getcarbrand() {
// selectBrand().then((res) => {
// if (res.code === '200') {
// this.carbrand_list = res.data
// console.log('', res.data)
// }
// })
},
changeCarbrand(value) {
let bb = {}
this.carbrand_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.dictKey == value) {
bb = {
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.listQuery.params.carbrand = bb.name
console.log('name', this.listQuery.params.carbrand)
},
//
handleConfirm() {
if (this.sids.length > 0) {
this.$emit('handleVehicle', this.depositVehicleList)
} else {
this.$notify({
title: '提示',
message: '没有选择车辆!',
type: 'error',
duration: 2000
})
this.listQuery.params.carbrand = bb.name
console.log('name', this.listQuery.params.carbrand)
},
//
handleConfirm() {
if (this.sids.length > 0) {
this.$emit('handleVehicle', this.depositVehicleList)
this.handleReturn()
return
}
},
//
handleReturn() {
this.$emit('yudingcheliangfanhui') //
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
getList({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
modelName: this.listQuery.modelName,
carModel: this.listQuery.carModel,
brandName: this.listQuery.brandName
}
}).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.$notify({
title: '提示',
message: '没有选择车辆!',
type: 'error',
duration: 2000
});
return
this.list = []
this.total = 0
}
},
//
handleReturn() {
this.$emit('yudingcheliangfanhui') //
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
getList({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
modelName: this.listQuery.modelName,
carModel: this.listQuery.carModel,
brandName: this.listQuery.brandName
}
}).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
}
}
}
</script>
<style scoped lang="scss">
.el-input__icon {
width: 40px;
}
.el-input__icon {
width: 40px;
}
.el-form-item .el-form-item__label {
width: 100% !important;
}
.el-form-item .el-form-item__label {
width: 100% !important;
}
.block {
display: inline-block;
}
.block {
display: inline-block;
}
.el-form-item__content label {
padding: 0 5px;
}
.el-form-item__content label {
padding: 0 5px;
}
</style>

439
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/com/xuanzekehu.vue

@ -1,19 +1,18 @@
<template>
<div class="app-container">
<div v-show="kehu_xuanze">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>选择客户</div>
<div>
<el-button type="primary" size="medium" @click="handleCreate()">新增客户</el-button>
<el-button type="primary" size="small" @click="handleCreate()">新增客户</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<div class="">
<div class="searchcon">
<!-- <el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>-->
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="130px" class="tab-header">
<el-form-item label="客户姓名"> <!--客户姓名/公司名称/手机号/微信号/证件号码-->
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="客户姓名">
<el-input v-model="listQuery.params.name" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
</el-form>
@ -22,14 +21,11 @@
</div>
</div>
</div>
<pageye v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
<!-- <pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>-->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"
@selection-change="handleSelectionChange">
<!-- <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">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed label="操作" align="center">
<template slot-scope="scope">
<div class="searchbtns">
<el-button size="small" type="primary" @click="handleConfirm(scope.row)">选择</el-button>
@ -37,14 +33,14 @@
</div>
</template>
</el-table-column>
<el-table-column label="客户姓名" align="center">
<el-table-column label="登记日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.name }}</span>
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="公司名称" align="center">
<el-table-column label="客户名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.companyName }}</span>
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="手机号码" align="center">
@ -57,9 +53,14 @@
<span>{{ scope.row.weixin }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<el-table-column label="客户类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.follow_state }}</span>
<span>{{ scope.row.customerType }}</span>
</template>
</el-table-column>
<el-table-column label="客户级别" align="center">
<template slot-scope="scope">
<span>{{ scope.row.level }}</span>
</template>
</el-table-column>
</el-table>
@ -67,246 +68,202 @@
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<el-dialog
title="客户登记-类型"
:visible.sync="dialogVisible"
width="28%"
top="13%">
<el-form :model="customerTypeList">
<el-form-item label="联络方式" :label-width="formLabelWidth" class="diaForm">
<el-select v-model="customerTypeList.visitWay" placeholder="请选择联络方式" @change="getVisitWay">
<el-option v-for="(item) in visitWay_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="客户类型" :label-width="formLabelWidth" class="diaForm">
<el-radio v-model="customerTypeList.customerType" label="个人">个人</el-radio>
<el-radio v-model="customerTypeList.customerType" label="企业">企业</el-radio>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="el-button-sure" type="primary" @click="handleOpen()"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
<kehudangan-add ref="addAndUpdate" @handleReturn="resetState"/>
<xuanzekehu-add v-show="viewState == 2 || viewState == 3" ref="addAndUpdate" @reloadlist="resetState" @doback="resetState"/>
<el-dialog title="客户登记-类型" :visible.sync="dialogVisible" width="28%" top="13%">
<el-form :model="customerTypeList">
<el-form-item label="联络方式" :label-width="formLabelWidth" class="diaForm">
<el-select v-model="customerTypeList.visitWay" placeholder="请选择" @change="getVisitWay">
<el-option v-for="(item) in visitWay_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
<el-form-item label="客户类型" :label-width="formLabelWidth" class="diaForm">
<el-select v-model="customerTypeList.customerType" placeholder="请选择" @change="getCustomerType">
<el-option v-for="(item) in customertype_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="el-button-sure" type="primary" @click="handleOpen()"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import {pagerList,typeValues} from '@/api/jichuxinxi/busdepositvehicle'
import xuanzekehuAdd from "./xuanzekehuAdd";
import KehudanganAdd from "@/views/kehuguanli/kehudangan/kehudanganAdd";
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import { pagerList, typeValues } from '@/api/jichuxinxi/busdepositvehicle'
import xuanzekehuAdd from './xuanzekehuAdd.vue'
export default {
name: "xuanzekehu",
components: {
KehudanganAdd,
Pagination,
pageye,
xuanzekehuAdd,
typeValues
export default {
name: 'xuanzekehu',
components: {
Pagination,
pageye,
xuanzekehuAdd
},
data() {
return {
dialogVisible: false, //
formLabelWidth: '110px',
isSearchShow: true,
viewState: 1, // 1 2- 3 4 5-
// -----------
tableKey: 0,
list: [],
sids: [],
customerTypeList: {
visitWay: '', //
visitWayKey: '', // --Key
customerType: '', //
customerTypeKey: '', // --Key
psid: ''
},
visitWay_list: [],
customertype_list: [],
listLoading: false,
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
name: '',
userSid: ''
}
}
}
},
methods: {
init() {
this.getList()
this.getShuJUZiDian()
},
getShuJUZiDian() {
typeValues({ type: 'visitWay' }).then((res) => {
if (res.code === '200') {
this.visitWay_list = res.data
}
})
typeValues({ type: 'customertype' }).then((res) => {
if (res.code === '200') {
this.customertype_list = res.data
}
})
},
data() {
return {
createPage: '',
kehu_xuanze: true, //
kehu_add: false, //
dialogVisible: false, //
formLabelWidth: '110px',
isSearchShow: true,
// searchxianshitit: '',
btndisabled: false,
viewState: 1, // 1 2- 3 4 5-
// -----------
depositType: [], //
tableKey: 0,
list: [],
sids: [],
total: 1,
customerTypeList: {
handleOpen() {
this.viewState = 2
if (this.customerTypeList.visitWay !== '' && this.customerTypeList.customerType !== '') {
this.dialogVisible = false
const customerTypeList = this.customerTypeList
this.$refs['addAndUpdate'].openCreate(customerTypeList)
this.customerTypeList = {
visitWay: '', //
visitWayKey: '',
customerType: ''//
},
visitWay_list: [],
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
orgName: '',
staffName: '',
customerName: '',
virtualDepositType: '',
createDateStart: '',
createDateEnd: '',
},
},
selectDate: undefined,
temp: {}, //
visible: true,
// ------------------------------------
visitWayKey: '', // --Key
customerType: '', //
customerTypeKey: '', // --Key
psid: ''
}
} else {
this.$message({
message: '请填写联络方式和客户类型',
type: 'warning'
})
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() {
//
this.init()
this.getShuJUZiDian()
getVisitWay(value) {
let bb = null
this.visitWay_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
value: e.dictValue,
key: e.dictKey
}
}
})
this.customerTypeList.visitWay = bb.value
this.customerTypeList.visitWayKey = bb.key
},
methods: {
init() {
this.getList()
// this.getType()
},
getShuJUZiDian() {
typeValues({
type: 'visitWay',
}).then((res) => {
if (res.code === '200') {
this.visitWay_list = res.data
getCustomerType(value) {
let bb = null
this.customertype_list.forEach((e) => {
if (e.dictValue === value) {
bb= {
value: e.dictValue,
key: e.dictKey,
sid: e.sid
}
})
},
handleOpen() {
if (this.customerTypeList.visitWay !== '' && this.customerTypeList.customerType !== '') {
this.dialogVisible = false
const customerTypeList = this.customerTypeList
this.$refs.addAndUpdate.openCreate(customerTypeList, () => {
// this.visible = false
this.customerTypeList = {
visitWay: '',
visitWayKey: '',
customerType: ''
}
})
}
})
this.customerTypeList.customerType = bb.value
this.customerTypeList.customerTypeKey = bb.key
this.customerTypeList.psid = bb.sid
},
// ------------------
handleCreate() {
this.dialogVisible = true
},
resetState() {
this.viewState = 1
this.getList()
},
//
handleReturn() {
this.$emit('doback')
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
pagerList(this.listQuery).then((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.$message({
message: '请填写联络方式和客户类型',
type: 'warning'
});
this.list = []
this.listQuery.total = 0
}
},
getVisitWay(value) {
let bb = null
this.visitWay_list.forEach((e) => {
if (e.dictKey == value) {
bb = {
type: 'visitWay',
name: e.dictValue,
vaule: e.dictKey,
sid: e.sid,
}
}
})
this.customerTypeList.visitWay = bb.name
this.customerTypeList.visitWayKey = bb.vaule
},
//
// clicksearchShow() {
// this.isSearchShow = !this.isSearchShow
// if (this.isSearchShow) {
// this.searchxianshitit = ''
// } else {
// this.searchxianshitit = ''
// }
// },
// ------------------
handleCreate() {
this.kehu_xuanze = false
this.dialogVisible=true
// this.kehu_add = true
},
resetState() {
this.kehu_xuanze = true
this.kehu_add = false
this.getList()
},
//
handleReturn() {
this.$emit('dingjinfanhui') //
this.$emit('yudingcheliangfanhui') //
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
pagerList({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
userSid: window.sessionStorage.getItem('userSid')
},
}).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('选择sid', this.sids)
},
//
handleConfirm(row) {
console.log('选择客户row', row)
this.$emit('handleCustomer', row)
this.handleReturn()
},
handleUpdate(row) {
},
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('选择sid', this.sids)
},
//
handleConfirm(row) {
this.$emit('handleCustomer', row)
},
handleUpdate(row) {
this.viewState = 3
this.$refs['addAndUpdate'].openUpdate(row.sid)
}
}
}
</script>
<style scoped lang="scss">
.searchcon {
margin-top: 8px;
}
<style scoped>
.searchcon {
margin-top: 8px;
}
</style>

1480
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/com/xuanzekehuAdd.vue

File diff suppressed because it is too large

285
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingdanAdd.vue

@ -1,66 +1,88 @@
<template>
<div class="app-container">
<div v-show="visible">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="FormLoading" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small" :disabled="disabled" @click="handleSubmit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
销售虚拟订车单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<el-col :span="2" class="tleftb">
<el-form-item>订单类型</el-form-item>
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" label-position="right" class="formadd" :rules="rules">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>客户名称</el-form-item>
<el-col :span="3" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.customerName }}
<span class="bluezi changeIt" @click="handleCustomer()">选择客户/新增客户</span>
<span class="bluezi changeIt" @click="handleCustomer()">选择客户</span>
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>联系电话</el-form-item>
<el-col :span="3" class="tleftb">
<span>联系电话</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.mobile }}
</el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<div class="titcon">
<div class="title">预订车辆信息</div>
<div class="baocun">
<el-button size="medium" type="primary" @click="handleyudingcheliang" class="btntopbluebut">选择车辆
<div class="title">
<div>预订车辆信息</div>
<div>
<el-button size="mini" type="primary" @click="handleyudingcheliang" class="btntopbluebut">选择车辆
</el-button>
</div>
</div>
<el-table v-loading="listLoading" :data="list" border style="width: 100%" :index="index">
<el-table-column align="center" label="序号" type="index" width="50"/>
<el-table-column align="center" label="序号" type="index" width="60"/>
<el-table-column label="操作" align="center" width="80px" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="danger"
@click="handleDelete(scope.row,scope.$index,list[scope.$index])">删除
<el-button size="mini" type="danger" @click="handleDelete(scope.row,scope.$index,list[scope.$index])">删除
</el-button>
</template>
</el-table-column>
@ -75,12 +97,12 @@
</template>
</el-table-column>
<el-table-column label="车架号" width="140px" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.vin }}</span>
</template>
</el-table-column>
<el-table-column label="颜色" width="100px" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.colour }}</span>
</template>
</el-table-column>
@ -96,10 +118,7 @@
</el-table-column>
<el-table-column label="预计订金日期" width="220px" align="center">
<template slot-scope="scope">
<el-date-picker v-model="scope.row.depositDate" type="date" style="width:90%"
value-format="yyyy-MM-dd"
placeholder="选择日期"
:picker-options="pickerOptions">
<el-date-picker v-model="scope.row.depositDate" type="date" style="width:90%" value-format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions">
</el-date-picker>
</template>
</el-table-column>
@ -112,33 +131,22 @@
</el-form>
</div>
</div>
<!--选择车辆确定-->
<xuanzecheliang v-show="xuanzecheliangShow" @yudingcheliangfanhui="yudingcheliangfanhui" ref="xuanzecheliang"
@handleVehicle="selectVehicle"/>
<xuanzecheliang v-show="viewState == 3" @yudingcheliangfanhui="resetState" ref="divCheLiang" @handleVehicle="selectVehicle"/>
<!--选择客户确定-->
<xuanzekehu v-show="xuanzekehuShow" @yudingcheliangfanhui="yudingcheliangfanhui" ref="xuanzekehu"
@handleCustomer="selectCustomer"/>
<xuanzekehu v-show="viewState == 2" ref="divSelect" @doback="resetState" @handleCustomer="selectCustomer"/>
</div>
</template>
<script>
import {fetchBySid, getPathSidByUserSid} from '@/api/dictcommons/dictcommons'
import {saveChe, selectSid, submitVehicleApprove, typeValues} from '@/api/jichuxinxi/busdeposit'
import yudingcheliang from "@/views/xiaoshouguanli/xunidingdan/com/yudingcheliang"
import hetongdanganguanliAdd from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliAdd.vue'
import hetongdanganguanliInfo from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue'
import kehudanganAdd from '@/views/kehuguanli/kehudangan/kehudanganAdd.vue'
import xuanzecheliang from "@/views/xiaoshouguanli/xunidingdan/com/xuanzecheliang"
import xuanzekehu from "@/views/xiaoshouguanli/xunidingdan/com/xuanzekehu"
import { fetchBySid, getPathSidByUserSid } from '@/api/dictcommons/dictcommons'
import { saveChe, selectSid, submitVehicleApprove, typeValues } from '@/api/jichuxinxi/busdeposit'
import xuanzecheliang from '@/views/xiaoshouguanli/xunidingdan/com/xuanzecheliang'
import xuanzekehu from '@/views/xiaoshouguanli/xunidingdan/com/xuanzekehu'
export default {
name: 'Add',
name: 'xunidingdanAdd',
components: {
yudingcheliang,
hetongdanganguanliAdd,
hetongdanganguanliInfo,
kehudanganAdd,
xuanzecheliang,
xuanzekehu
},
@ -147,56 +155,42 @@ export default {
//
pickerOptions: {
disabledDate(time) {
let threeDay = 60 * 60 * 24 * 1000 * 3;
return time.getTime() < Date.now() || time.getTime() > Date.now() + threeDay;
},
let threeDay = 60 * 60 * 24 * 1000 * 3
return time.getTime() < Date.now() || time.getTime() > Date.now() + threeDay
}
},
viewTitle: '',
index: 0,
disabled: false, //
// dialogStatus: 'add',
// ---------
YongHuid: [],
edit: true,
visible: true,
stateId: '0',
viewState: 1,
FormLoading: false,
listLoading: false,
list: [],
temp: {
staffName: '',
customerSid: '', // sid
virtualOrderSid: '', // s
customerName: '', //
virtualOrderId: '', // s
sellerName: '', //
departmentName: '', //
mobile: '', //
createDate: '', //
customerSid: '', // sid
virtualOrderSid: '', // s
customerName: '', //
virtualOrderId: '', // s
sellerName: '', //
departmentName: '', //
mobile: '', //
createDate: '', //
carList: [],
taskId: '', // Id
procInsId: '', // ID
userSid: window.sessionStorage.getItem('userSid')
}, //
xuniSid: '',
mobile: '',
orgName: '',
},
staffName: '',
_userSid: '',
deposit_list: [],
customerName: [],
tificateT: [],
dnumbDate: [],
dialogStatus: '', //
yudingcheliangShow: false,
xuanzecheliangShow: false, //
xuanzekehuShow: false, //
rules: {},
rules: {}
// ------------------------------------
}
},
methods: {
//-
// -
getDeposit_date() {
typeValues({
type: 'reserveDepositDate'
@ -217,7 +211,7 @@ export default {
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({userSid: userSid}).then((res) => {
getPathSidByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.getCreateOrgName(res.data)
}
@ -231,34 +225,30 @@ export default {
})
},
showAdd(depositBillType, depositBillTypeKey) {
this.stateId = '0';
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
});
var nowDate = new Date();
})
var nowDate = new Date()
var date = {
year: nowDate.getFullYear(),
month: nowDate.getMonth() + 1,
day: nowDate.getDate(),
day: nowDate.getDate()
}
var dayDate = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day)
this.temp.createDate = dayDate //
this.temp.staffName = window.sessionStorage.getItem('name') //
this.temp.depositBillType = depositBillType
this.temp.depositBillTypeKey = depositBillTypeKey
this.dialogStatus = 'add';
this.viewTitle = '【新增】销售简易订单';
this.viewTitle = '【新增】销售简易订单'
this.getDeposit_date()
this.getPathSid() //
},
showEdit(sid, depositBillType) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
});
this.stateId = '1'
})
this.temp.sid = sid
this.dialogStatus = 'edit';
this.viewTitle = '【编辑】销售简易订单';
this.viewTitle = '【编辑】销售简易订单'
const data = {
customerSid: '',
virtualOrderSid: sid,
@ -270,24 +260,21 @@ export default {
this.list = response.data.carList
this.temp.depositBillType = depositBillType
}
});
})
this.getDeposit_date()
},
// ------------ ------------
//
handleCreate() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.dialogStatus = 'create';
this.temp.carList = this.list;
this.temp.carList = this.list
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
saveChe(this.temp).then((response) => {
this.FormLoading = true;
this.FormLoading = true
if (response.code === '200') {
this.xuniSid = response.data;
this.FormLoading = false;
this.FormLoading = false
this.handleReturn('true')
// this.$emit('doback')
} else {
@ -295,14 +282,13 @@ export default {
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000,
duration: 2000
})
}
})
}
})
},
//
handleSubmit() {
this.$confirm('是否确定提交该业务', '提示', {
@ -312,9 +298,8 @@ export default {
}).then(() => {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true;
this.dialogStatus = 'create';
this.temp.carList = this.list;
this.FormLoading = true
this.temp.carList = this.list
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
console.log('提交时sid', this.temp.sid)
@ -325,14 +310,14 @@ export default {
title: '提示',
message: '提交成功',
type: 'success',
duration: 2000,
duration: 2000
})
this.handleReturn('true')
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error',
type: 'error'
})
}
})
@ -342,18 +327,18 @@ export default {
},
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist');
this.temp.sid = ''; // SID
if (isreload === 'true') this.$emit('reloadlist')
this.temp.sid = '' // SID
this.temp = {
staffName: '',
customerSid: '', // sid
virtualOrderSid: '', // s
customerName: '', //
virtualOrderId: '', // s
sellerName: '', //
departmentName: '', //
mobile: '', //
createDate: '', //
customerSid: '', // sid
virtualOrderSid: '', // s
customerName: '', //
virtualOrderId: '', // s
sellerName: '', //
departmentName: '', //
mobile: '', //
createDate: '', //
carList: [],
taskId: '', // Id
procInsId: '', // ID
@ -361,17 +346,19 @@ export default {
}
this.disabled = false
this.list = []
this.$refs['dataForm'].resetFields();
this.$refs['dataForm'].resetFields()
this.$emit('doback')
},
//
selectCustomer(row) {
this.viewState = 1
this.temp.customerName = row.name
this.temp.customerSid = row.sid
this.temp.mobile = row.mobile
},
//
selectVehicle(depositVehicleList) {
this.viewState = 1
for (var i = 0; i < depositVehicleList.length; i++) {
this.list.push({
brand: depositVehicleList[i].brandName,
@ -389,64 +376,42 @@ export default {
//
handleDelete(row, index) {
this.list.splice(index, 1)
// if (row.sid !== '') {
// const sid_list = []
// sid_list.push(row.sid, row.vehicleSid)
// console.log('', sid_list)
// } else {
// this.list.splice(index, 1)
// }
},
// ------------ ------------
//
handleyudingcheliang() {
this.visible = false;
this.xuanzekehuShow = false;
this.xuanzecheliangShow = true;
this.yudingcheliangShow = false;
this.viewState = 3
this.$refs['divCheLiang'].init()
},
//
handleCustomer() {
this.xuanzekehuShow = true
this.xuanzecheliangShow = false;
this.visible = false;
this.yudingcheliangShow = false;
this.viewState = 2
this.$refs['divSelect'].init()
},
//
yudingcheliangfanhui() {
this.visible = true;
this.xuanzecheliangShow = false
this.xuanzekehuShow = false
this.yudingcheliangShow = false;
},
},
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
.rowStyle {
border-left: 0px !important;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
.colStyle {
border-right: 0px !important;
}
.changeIt {
line-height: 40px;
font-size: 17px;
float: right;
}
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

121
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingdanguanli.vue

@ -2,46 +2,23 @@
<div class="app-container">
<div v-show="viewState == 1">
<button-bar view-title="销售简易订单管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="tab-header webtop">
</div>
<div class="webcon">
<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="130px" class="tab-header">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="120px" class="tab-header">
<el-form-item label="订单类型">
<el-select v-model="listQuery.params.depositBillTypeKey" placeholder="请选择">
<el-option
v-for="item in depositType"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
<el-option v-for="item in depositType" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="客户(付款人)">
<el-input v-model="listQuery.params.customerName" placeholder="请输入" clearable class="filter-item"/>
<el-input v-model="listQuery.params.name" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="申请日期">
<div class="block">
<el-date-picker
v-model="listQuery.params.startTime"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</div>
<label></label>
<div class="block">
<el-date-picker
v-model="listQuery.params.endTime"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</div>
<el-date-picker v-model="listQuery.params.startTime" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.endTime" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
@ -52,20 +29,16 @@
</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="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 :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="130px" label="操作" align="center">
<template slot-scope="scope">
<div class="searchbtns">
<el-button size="mini" type="primary"
:disabled="scope.row.nodeState == '待提交' ? false:scope.row.nodeState == '发起订单'?false : true"
@click="handleEdit(scope.row)">办理
<el-button size="mini" type="primary" :disabled="scope.row.nodeState == '待提交' ? false : scope.row.nodeState == '销售专员' ? false : true" @click="handleEdit(scope.row)">办理
</el-button>
<el-button size="mini" type="primary" @click="handleCheck(scope.row)">查看</el-button>
</div>
@ -126,23 +99,19 @@
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<el-dialog
title="请选择订单类型"
:visible.sync="dialogVisible"
width="22%">
<el-dialog title="请选择简易订单类型" :visible.sync="dialogVisible" width="22%">
<div class="diaCenter">
<el-radio v-model="billTypeKey" label="01">订金收取</el-radio>
<el-radio v-model="billTypeKey" label="02">车辆预订</el-radio>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleConfirm()"> </el-button>
<el-button @click="dialogVisible = false">退 </el-button>
</span>
<el-button type="primary" size="small" @click="handleConfirm()"> </el-button>
<el-button size="small" @click="dialogVisible = false">退 </el-button>
</span>
</el-dialog>
<!-- 车辆预订 新增编辑页面 -->
<div-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="getList"/>
@ -158,8 +127,7 @@
</template>
<script>
import {mapGetters} from 'vuex'
import {deleteBySids, listPage, typeValues} from '@/api/jichuxinxi/busdeposit'
import { deleteBySids, listPage, typeValues } from '@/api/jichuxinxi/busdeposit'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './xunidingdanAdd.vue'
@ -220,17 +188,17 @@ export default {
nodeState_list: [], //
sids: [],
billType: [],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 20,
size: 5,
total: 0,
params: {
userSid: window.sessionStorage.getItem('userSid'),
orgName: '',
staffName: '',
customerName: '',
name: '',
billType: '',
startTime: '',
endTime: ''
@ -243,15 +211,6 @@ export default {
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode'
])
},
created() {
//
this.init()
@ -280,9 +239,7 @@ export default {
},
// -
getType() {
typeValues({
type: 'depositBillType'
}).then((res) => {
typeValues({type: 'depositBillType' }).then((res) => {
if (res.code === '200') {
this.depositType = res.data
console.log('下拉框请求订单类型', res.data)
@ -320,20 +277,16 @@ export default {
this.listLoading = true
listPage(this.listQuery).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
if (response.code === '200' && response.data && response.data.total > 0) {
this.list = response.data.records
for (var i = 0; i < response.data.records.length; i++) {
var timeArr = response.data.records[i].createDate.split(' ');
this.list[i].createDate = timeArr[0];
var timeArr = response.data.records[i].createDate.split(' ')
this.list[i].createDate = timeArr[0]
}
this.total = response.data.total
this.listQuery.total = response.data.total
} else {
this.list = []
this.total = 0
this.listQuery.total = 0
}
})
},
@ -347,7 +300,7 @@ export default {
aa.push(element.sid)
bb.push(element.depositBillTypeKey)
cc.push(element.nodeState)
});
})
this.sids = aa
this.billType = bb
this.nodeState_list = cc
@ -406,11 +359,11 @@ export default {
}
})
const billType = bb.name
if (this.billTypeKey == '01') {
this.dialogVisible = false;
if (this.billTypeKey === '01') {
this.dialogVisible = false
this.viewState = 5
this.$refs['divDing'].showAdd(billType, this.billTypeKey)
} else if (this.billTypeKey == '02') {
} else if (this.billTypeKey === '02') {
this.dialogVisible = false
this.viewState = 2
this.$refs['divadd'].showAdd(billType, this.billTypeKey)
@ -422,23 +375,23 @@ export default {
})
}
},
//
//
handleEdit(row) {
if (row.depositBillTypeKey == '01') {
if (row.depositBillTypeKey === '01') {
this.viewState = 5
this.dialogStatus = 'edit'
this.$refs['divDing'].showEdit(row.sid,row.depositBillType)
} else if (row.depositBillTypeKey == '02') {
this.$refs['divDing'].showEdit(row.sid, row.depositBillType)
} else if (row.depositBillTypeKey === '02') {
this.viewState = 3
this.dialogStatus = 'edit'
this.$refs['divadd'].showEdit(row.sid,row.depositBillType)
this.$refs['divadd'].showEdit(row.sid, row.depositBillType)
}
},
//
handleCheck(row) {
if (row.depositBillTypeKey == '01') {
if (row.depositBillTypeKey === '01') {
this.viewState = 6
this.$refs['divDingInfo'].showInfo(row.sid,row.depositBillType)
this.$refs['divDingInfo'].showInfo(row.sid, row.depositBillType)
} else {
this.viewState = 4
this.$refs['divinfo'].showInfo(row.sid, row.depositBillType)
@ -462,7 +415,7 @@ export default {
userSid: window.sessionStorage.getItem('userSid'),
orgName: '',
staffName: '',
customerName: '',
name: '',
billType: '',
startTime: '',
endTime: ''

216
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingdaninfo.vue

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div v-show="visible">
<div>
<div class="tab-header webtop">
<div>销售简易订单详情</div>
<!-- <div v-else></div> -->
@ -9,64 +9,69 @@
</div>
</div>
<div class="listconadd">
<el-form
ref="dataForm"
:model="temp"
label-position="right"
class="formadd"
>
<div class="tit">
销售虚拟订车单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<el-col :span="2" class="tleftb">
<el-form-item>订单类型</el-form-item>
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" label-position="right" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
<el-col :span="6" class="trightb">
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>客户名称</el-form-item>
<el-col :span="3" class="tleftb">
<span>客户名称</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.customerName }}
</el-form-item>
</el-col>
<el-col :span="2" class="tleftb">
<el-form-item>联系电话</el-form-item>
<el-col :span="3" class="tleftb">
<span>联系电话</span>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="5">
<el-form-item>
{{ temp.mobile }}
</el-form-item>
</el-col>
</el-row>
<!--Start 预订车辆信息-->
<!-- <div class="title">-->
<div class="title">预订车辆信息</div>
<!-- </div>-->
<el-table
v-loading="listLoading"
:data="list"
border
style="width: 100%"
:index="index"
>
<el-table-column
align="center"
label="序号"
type="index"
width="50"
/>
<el-table v-loading="listLoading" :data="list" border style="width: 100%" :index="index">
<el-table-column align="center" label="序号" type="index" width="60"/>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.brand }}</span>
@ -78,16 +83,16 @@
</template>
</el-table-column>
<el-table-column label="车架号" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.vin }}</span>
</template>
</el-table-column>
<el-table-column label="颜色" align="center">
<template slot-scope="scope" @click="">
<template slot-scope="scope">
<span>{{ scope.row.colour }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center">
<el-table-column label="存放地点">
<template slot-scope="scope">
<span>{{ scope.row.location }}</span>
</template>
@ -115,133 +120,48 @@
</template>
<script>
import {mapGetters} from "vuex";
import {getReserveCarDetails} from "@/api/jichuxinxi/busdeposit";
import { getReserveCarDetails } from '@/api/jichuxinxi/busdeposit'
export default {
name: "Add",
name: 'xunidingdanInfo',
data() {
return {
disabled: true,
index: 0,
edit: true,
// ---------
YongHuid: [],
visible: true,
stateId: "0",
FormLoading: false,
listLoading: false,
list: [],
temp: {}, //
textMap: {
update: "修改",
create: "创建",
},
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem("userSid"),
},
nodeState: '',
billNo: '',
createDate: '',
mobile: '',
orgName: '',
staffName: '',
_userSid: '',
customerName: [],
xuniSid: '',
tificateT: [],
dnumbDate: [],
dialogStatus: '', //
};
},
computed: {
...mapGetters([
"id",
"roles",
"rolesIds",
"departmentId",
"departmentCode",
]),
temp: {} //
}
},
methods: {
// ------------------
handleReturn(isreload) {
if (isreload === "true") this.$emit("reloadlist");
this.temp.sid = ''; // SID
this.$refs["dataForm"].resetFields();
this.$emit("doback");
handleReturn() {
this.temp = {} // SID
this.$refs['dataForm'].resetFields()
this.$emit('doback')
},
showInfo(sid, depositBillType) {
console.log("修改打开", sid);
this.submitDto.businessSid = sid;
this.$nextTick(() => {
this.$refs["dataForm"].clearValidate();
});
this.$refs['dataForm'].clearValidate()
})
getReserveCarDetails(sid).then((response) => {
if (response.code) {
if (response.success) {
this.temp = response.data
this.temp.depositBillType = depositBillType
this.list = response.data.vehicleList
} else {
this.$notify({
title: "提示",
message: "查看失败",
type: "error",
duration: 2000,
});
}
});
},
//
handleSubmit() {
this.$confirm("是否确定提交该业务", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
this.temp.userSid = window.sessionStorage.getItem('userSid')
//
submitVehicleApprove(this.temp).then((response) => {
if (response.code === "200") {
this.$notify({
title: "提示",
message: "添加成功",
type: "success",
duration: 2000,
});
} else {
this.$notify({
title: "添加失败",
message: response.msg,
type: "error",
});
}
});
});
},
},
};
})
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
.rowStyle {
border-left: 0px !important;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
.colStyle {
border-right: 0px !important;
}
</style>

309
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjinAdd.vue

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div v-show="visible">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
@ -10,38 +10,60 @@
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd" :rules="rules">
<div class="tit">
销售虚拟订单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd" :rules="rules">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>订单类型</span></el-form-item>
<span>申请日期</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款人</span></el-form-item>
<span><span class="icon">*</span>付款人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.payName" class="addinputw" placeholder=""
clearable/>
<el-input v-model="temp.payName" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>联系电话</span></el-form-item>
<span><span class="icon">*</span>联系电话</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item prop="mobile">
<el-input v-model="temp.mobile" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -49,18 +71,17 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>车辆台数</span></el-form-item>
<span>车辆台数</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.carNumber" class="addinputw" placeholder=""
clearable/>
<el-input v-model="temp.carNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>订金金额</span></el-form-item>
<span><span class="icon">*</span>订金金额</span>
</el-col>
<el-col :span="13" class="trightb">
<el-col :span="13">
<el-form-item>
<el-input v-model="temp.deposit" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -68,9 +89,9 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款日期</span></el-form-item>
<span><span class="icon">*</span>付款日期</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-date-picker
v-model="temp.payDate"
@ -82,20 +103,19 @@
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款方式</span></el-form-item>
<span><span class="icon">*</span>付款方式</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-select v-model="temp.payTypeKey" class="addinputw" placeholder="" @change="changePaymentType">
<el-option v-for="(item, index) in paymentType_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
<el-select v-model="temp.payType" class="addinputw" placeholder="" @change="changePaymentType">
<el-option v-for="item in paymentType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款银行账号</span></el-form-item>
<span><span class="icon">*</span>付款银行账号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -103,32 +123,29 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>收款银行账号</span></el-form-item>
<span><span class="icon">*</span>收款银行</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item>
<el-select v-model="temp.collectionNumberKey" class="addinputw" placeholder=""
@change="changeProBankAccValue">
<el-option v-for="(item, index) in ProBankAcc_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-col :span="13">
<el-select v-model="temp.collectionBank" class="addinputw" placeholder="" @change="changeproBank">
<el-option v-for="item in proBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>收款银行</span></el-form-item>
<span><span class="icon">*</span>收款银行账号</span>
</el-col>
<el-col :span="13" class="trightb">
<el-select v-model="temp.collectionBankKey" class="addinputw" placeholder="" @change="changeproBank">
<el-option v-for="(item, index) in proBank_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
<el-col :span="5">
<el-form-item>
<el-select v-model="temp.collectionNumber" class="addinputw" placeholder="" @change="changeProBankAccValue">
<el-option v-for="item in ProBankAcc_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>备注</span></el-form-item>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-col :span="21">
<el-form-item>
<el-input v-model="temp.remarks" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -136,21 +153,20 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span><span class="icon">*</span>付款凭证</span></el-form-item>
<span><span class="icon">*</span>付款凭证</span>
<div class="tips"><span>只可上传一张付款凭证</span></div>
</el-col>
<el-col :span="21" class="trightb">
<el-col :span="21">
<el-form-item>
<Upload ref="uploadImg" v-model="list1" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-form-item>
</el-col>
</el-row>
<!--Start 客户信息-->
<div class="titcon">
<div class="title">客户信息</div>
<div class="baocun">
<el-button type="primary" size="small" icon="el-icon-plus" class="btntopblueline"
@click="handleyudingcheliang()">添加
<div class="title">
<div>客户信息</div>
<div>
<el-button type="primary" size="mini" icon="el-icon-plus" class="btntopblueline" @click="handleyudingcheliang()">选择
</el-button>
</div>
</div>
@ -180,22 +196,19 @@
</div>
</div>
<!-- 客户信息 -->
<xuanzekehu v-show="kehudanganAddShow" ref="addAndUpdate" @dingjinfanhui="noClickclose"
@handleCustomer="selectCustomer"></xuanzekehu>
<xuanzekehu v-show="viewState == 2" ref="divSelect" @doback="resetState" @handleCustomer="selectCustomer"/>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import {depositDetail, saveDing, submitApprove, typeValues} from '@/api/jichuxinxi/busdeposit'
import {fetchBySid, getPathSidByUserSid} from '@/api/dictcommons/dictcommons'
import { depositDetail, saveDing, submitApprove, typeValues } from '@/api/jichuxinxi/busdeposit'
import { fetchBySid, getPathSidByUserSid } from '@/api/dictcommons/dictcommons'
import Upload from '@/components/uploadFile/upload.vue' //
import xuanzekehu from "@/views/xiaoshouguanli/xunidingdan/com/xuanzekehu"
import xuanzekehu from '@/views/xiaoshouguanli/xunidingdan/com/xuanzekehu'
export default {
name: "xunidingjinAdd",
components: {Upload, xuanzekehu},
name: 'xunidingjinAdd',
components: { Upload, xuanzekehu },
data() {
var checkSubmit = (rule, value, callback) => {
const Submit =
@ -209,27 +222,22 @@ export default {
// ---
list1: [],
viewTitle: '',
dialogStatus: '',
index: 0,
disabled: false, //
// dialogStatus: 'add',
// ---------
edit: true,
visible: true,
stateId: '0',
viewState: 1,
FormLoading: false,
listLoading: false,
list: [],
paymentType_list: [],
customer_list: [],
proBank_list: [],
ProBankAcc_list: [],
temp: {
departmentName:'',
staffName:'',
createDate:'',
departmentName: '',
staffName: '',
createDate: '',
payName: '',
payImages: [], //
payImages: [], //
collectionNumber: '', //
collectionNumberKey: '', //
payTypeKey: '', //
@ -247,42 +255,21 @@ export default {
userSid: window.sessionStorage.getItem('userSid'), // Sid
virtualOrderSid: '', // Sid
taskId: '', // Id
procInsId: '', // ID
}, //
nodeState: '', //
sid_list: {},
xuniSid: '',
orgName: '',
staffName: '',
_userSid: '',
procInsId: '' // ID
},
customerName: [],
tificateT: [],
dnumbDate: [],
yudingcheliangShow: false,
hetongdanganguanliAddShow: false,
hetongdanganguanliInfoShow: false,
kehudanganAddShow: false,
rules: {
mobile: [
{
required: true,
validator: checkSubmit,
trigger: 'blur',
},
],
},
trigger: 'blur'
}
]
}
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
methods: {
getType() {
//
@ -305,11 +292,9 @@ export default {
})
},
changePaymentType(value) {
console.log('触发下拉框按钮')
let bb = {}
let bb = null
this.paymentType_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.dictKey == value) {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
@ -323,10 +308,9 @@ export default {
console.log('name', this.temp.payType, 'key', this.temp.payTypeKey)
},
changeproBank(value) {
console.log('触发下拉框按钮')
let bb = null
this.proBank_list.forEach((e) => {
if (e.dictKey == value) {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
@ -340,7 +324,7 @@ export default {
this.getProBankAcc(bb.sid)
},
getProBankAcc(sid) {
typeValues({psid: sid, type: 'receiptAccount'}).then((res) => {
typeValues({ psid: sid, type: 'receiptAccount' }).then((res) => {
if (res.code === '200') {
this.ProBankAcc_list = res.data
console.log('下拉框请求111', res.data)
@ -348,10 +332,9 @@ export default {
})
},
changeProBankAccValue(value) {
console.log('触发下拉框按钮')
let bb = null
this.ProBankAcc_list.forEach((e) => {
if (e.dictKey == value) {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
@ -366,7 +349,7 @@ export default {
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({userSid: userSid}).then((res) => {
getPathSidByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.getCreateOrgName(res.data)
}
@ -381,52 +364,48 @@ export default {
},
//
showAdd(depositBillType, depositBillTypeKey) {
this.stateId = '0'
this.$refs['uploadImg'].stateName = 'xunidingjinAdd'
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
var nowDate = new Date();
var nowDate = new Date()
var date = {
year: nowDate.getFullYear(),
month: nowDate.getMonth() + 1,
day: nowDate.getDate(),
day: nowDate.getDate()
}
var dayDate = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day)
this.temp.createDate = dayDate //
this.temp.staffName = window.sessionStorage.getItem('name') //
this.temp.depositBillType = depositBillType
this.temp.depositBillTypeKey = depositBillTypeKey
this.dialogStatus = 'add'
this.viewTitle = '【新增】销售简易订单'
this.getType()
this.getPathSid() //
},
//
showEdit(sid,depositBillType) {
this.stateId = '1'
showEdit(sid, depositBillType) {
console.log('上传图片组件', this.$refs['uploadImg'].stateName)
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.temp.sid = sid
this.dialogStatus = 'edit'
this.viewTitle = '【编辑】销售简易订单'
const data = {
virtualOrderSid:sid,
userSid:window.sessionStorage.getItem('userSid')
virtualOrderSid: sid,
userSid: window.sessionStorage.getItem('userSid')
}
depositDetail(data).then((response) => {
if (response.code) {
this.temp = response.data
this.temp.sid = response.data.virtualOrderSid
this.temp.depositBillType = depositBillType
this.list = response.data.customerList
if (response.data.payImages.length > 0) {
const imgName = response.data.payImages[response.data.payImages.length - 1].split("/");
const imgName = response.data.payImages[response.data.payImages.length - 1].split('/')
this.list1.push({
name: imgName[imgName.length - 1],
url: response.data.payImages[response.data.payImages.length - 1],
});
url: response.data.payImages[response.data.payImages.length - 1]
})
this.$refs['uploadImg'].showImg(this.list1)
}
this.temp.payImages = []
@ -439,7 +418,7 @@ export default {
console.log('已有图片', this.list1)
if (this.list1.length !== 0) {
if (this.list1.length > 1) {
this.list1.splice(0, 1);
this.list1.splice(0, 1)
const img_list = []
img_list.push(this.list1[this.list1.length - 1].url)
this.temp.payImages = img_list
@ -451,23 +430,17 @@ export default {
}
},
selectCustomer(row) {
this.viewState = 1
this.list.push({
customerName: row.name,
mobile: row.mobile,
customerSid: row.sid,
customerSid: row.sid
// headImage
})
},
handleDelete(row, index) {
console.log('客户表中的row', row);
console.log('客户表中的row', row)
this.list.splice(index, 1)
// if (row.sid !== '') {
// this.sid_list.customerSid = row.customerSid
// this.sid_list.sid = this.temp.sid
// console.log('', this.sid_list)
// } else {
// this.list.splice(index, 1)
// }
},
//
handleCreate() {
@ -476,21 +449,19 @@ export default {
this.temp.customerList = this.list
if (valid) {
this.FormLoading = true
this.dialogStatus = 'create'
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
this.temp.userSid = window.sessionStorage.getItem('userSid')
saveDing(this.temp).then((response) => {
this.FormLoading = false
if (response.code === '200') {
this.xuniSid = response.data
this.handleReturn('true')
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000,
duration: 2000
})
}
})
@ -520,7 +491,7 @@ export default {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error',
type: 'error'
})
}
})
@ -534,11 +505,11 @@ export default {
if (isreload === 'true') this.$emit('reloadlist')
this.temp.sid = '' // SID
this.temp = {
departmentName:'',
staffName:'',
createDate:'',
departmentName: '',
staffName: '',
createDate: '',
payName: '',
payImages: [], //
payImages: [], //
collectionNumber: '', //
collectionNumberKey: '', //
payTypeKey: '', //
@ -568,48 +539,34 @@ export default {
// ----------------------------
//
handleyudingcheliang() {
this.visible = false
this.kehudanganAddShow = true
this.viewState = 2
this.$refs['divSelect'].init()
},
//
noClickclose() {
this.visible = true
this.yudingcheliangShow = false
this.hetongdanganguanliAddShow = false
this.hetongdanganguanliInfoShow = false
this.kehudanganAddShow = false
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
}
.tips {
font-size: 12px;
color: #606266;
text-align: right;
}
.formadd .el-row .el-col /deep/ .el-form-item .addinputw {
width: 100%;
.title {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
</style>

159
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjininfo.vue

@ -2,61 +2,84 @@
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>销售虚拟订单管理详细信息</div>
<div>销售简易订单详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="100%" class="formadd">
<div class="tit">
销售简易订单
<div class="times">
<div><span>分公司</span><span>{{ temp.departmentName }}</span></div>
<div><span>申请人</span><span>{{ temp.staffName }}</span></div>
<div><span>申请日期</span><span>{{ temp.createDate }}</span></div>
<div><span>金额单位</span><span></span></div>
</div>
</div>
<el-row class="bordertopline">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>订单类型</span></el-form-item>
<span>分公司</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.departmentName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.staffName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.depositBillType }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款人</span></el-form-item>
<span>付款人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>联系电话</span></el-form-item>
<span>联系电话</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.mobile }}</span>
<span>{{ temp.phone }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>车辆台数</span></el-form-item>
<span>车辆台数</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.carNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>订金金额</span></el-form-item>
<span>订金金额</span>
</el-col>
<el-col :span="13" class="trightb">
<el-col :span="13">
<el-form-item>
<span>{{ temp.deposit }}</span>
</el-form-item>
@ -64,43 +87,43 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款日期</span></el-form-item>
<span>付款日期</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款方式</span></el-form-item>
<span>付款方式</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.payType }}</span>
<span>{{ temp.payTypeValue }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>付款银行账号</span></el-form-item>
<span>付款银行账号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
<span>{{ temp.payNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>收款银行账号</span></el-form-item>
<span>收款银行账号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<el-form-item><span>收款银行</span></el-form-item>
<span>收款银行</span>
</el-col>
<el-col :span="13" class="trightb">
<el-col :span="13">
<el-form-item>
<span>{{ temp.collectionBank }}</span>
</el-form-item>
@ -108,27 +131,27 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<el-form-item><span>备注</span></el-form-item>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-col :span="21">
<el-form-item>
<span>{{ temp.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span slot="label">付款凭证</span></el-form-item>
<el-col :span="3" class="tleftb">
<span>付款凭证</span>
</el-col>
<el-col :span="20" class="trightb">
<el-col :span="21">
<el-form-item>
<img :src="imgUrl">
<img style="width: 178px;height: 178px" :src="imgUrl" @click="handleLook(imgUrl)">
</el-form-item>
</el-col>
</el-row>
<!--Start 客户信息-->
<div class="titcon">
<div class="title">客户信息</div>
<div class="title">
<div>客户信息</div>
</div>
<el-table v-loading="listLoading" :data="list" border style="width: 100%" :index="index">
<el-table-column align="center" label="序号" type="index" width="60"/>
@ -147,14 +170,17 @@
</el-form>
</div>
</div>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
import {fetchSid} from '@/api/jichuxinxi/busdeposit'
import { fetchSid } from '@/api/jichuxinxi/busdeposit'
export default {
name: "xunidingjininfo",
name: 'xunidingjininfo',
data() {
return {
disabled: '',
@ -162,20 +188,19 @@ export default {
index: 0,
imgUrl: '',
// ---------
YongHuid: [],
edit: true,
visible: true,
stateId: '0',
FormLoading: false,
listLoading: false,
list: [],
temp: {},
dialogVisible: false,
dialogImageUrl: ''
}
},
methods: {
showInfo(sid,depositBillType) {
showInfo(sid, depositBillType) {
fetchSid(sid).then((response) => {
if (response.code === '200') {
if (response.success) {
this.temp = response.data
this.imgUrl = this.temp.payImages[this.temp.payImages.length - 1]
this.list = response.data.customerList
@ -185,39 +210,29 @@ export default {
title: '提示',
message: '查看失败',
type: 'error',
duration: 2000,
duration: 2000
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.temp.sid = '' // SID
handleLook(value) {
this.dialogVisible = true
this.dialogImageUrl = value
},
handleReturn() {
this.temp = {} // SID
this.$refs['dataForm'].resetFields()
this.$emit('doback')
},
}
}
}
</script>
<style scoped>
.tit {
margin: 0 0 20px 0;
padding: 10px 0 0 0;
.rowStyle {
border-left: 0px !important;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-around;
padding: 30px 0 10px 0;
margin: 0 auto 0px auto;
width: 70%;
font-size: 14px;
}
/deep/ .el-form-item__content {
margin-left: 0 !important;
.colStyle {
border-right: 0px !important;
}
</style>

6
anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliAdd.vue

@ -20,7 +20,7 @@
v-model="temp.vin"
placeholder="请输入车架号"
class="addinputw"
:readonly="temp.purchaseKey !== '001' && temp.purchaseKey !== '002'"
:readonly="temp.purchaseKey !== '001' && temp.purchaseKey !== '002' && temp.purchaseKey !== '004'"
/>
</el-form-item>
</el-col>
@ -59,10 +59,10 @@
class="addinputw addinputw_copy"/>
</el-form-item>
</el-col>
<el-col :span="12" class="yancheAdd-bor" v-show="temp.purchaseKey !== '001'">
<el-col :span="12" class="yancheAdd-bor">
<el-form-item prop="priceDate" label="厂家入库日期:">
<el-date-picker
:readonly="temp.purchaseKey == '003'"
:readonly="temp.purchaseKey !== '001' && temp.purchaseKey !== '002' && temp.purchaseKey !== '004'"
v-model="temp.inboundDate"
type="date"
placeholder="选择日期"

2
anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliInfo.vue

@ -38,7 +38,7 @@
</el-col>
<el-col :span="12" class="yancheAdd-bor">
<el-form-item prop="priceDate" label="厂家入库日期:">
<span>{{temp.priceDate}}</span>
<span>{{temp.inboundDate}}</span>
</el-form-item>
</el-col>
</el-row>

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/virtualOrders/vehicle/DepositVehicleCarListDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.autoservice.virtualOrders.vehicle;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -31,4 +32,8 @@ public class DepositVehicleCarListDto implements Dto {
private String modelSid;
@ApiModelProperty(value = "车辆sid")
private String carSid;
@ApiModelProperty(value = "颜色")
@JsonProperty("color")
private String colour;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/virtualOrders/vehicle/DepositVehicleCarListVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.autoservice.virtualOrders.vehicle;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -37,6 +38,9 @@ public class DepositVehicleCarListVo implements Vo {
private String carName;
@ApiModelProperty(value = "预定日期")
private String reserveDate;
@ApiModelProperty(value = "颜色")
@JsonProperty("color")
private String colour;
}

Loading…
Cancel
Save