Browse Source

Merge remote-tracking branch 'origin/master'

master
Zhao Qiqi 3 years ago
parent
commit
81c7075bb2
  1. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractBuscenterVo.java
  2. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml
  3. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java
  4. 38
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  5. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  6. 8
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  7. 37
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderVo.java
  8. 8
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppModelInfoVo.java
  9. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositvehicle/BusDepositVehicleMapper.xml
  10. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.java
  11. 37
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml
  12. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  13. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java
  14. 30
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  15. 91
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  16. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  17. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  18. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmoutbound/ScmOutboundAllVo.java
  19. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmoutbound/ScmOutboundVo.java
  20. 32
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmrealtimeinventory/ScmRealTimeInventoryQuery.java
  21. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/kingdee/KingDeeScmOutboundService.java
  22. 30
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmoutbound/ScmOutboundService.java
  23. 40
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmrealtimeinventory/ScmRealTimeInventoryService.java
  24. 787
      anrui-scm/anrui-scm-ui/src/views/anruiscm/scmoutbound/scmoutbound.vue
  25. 2259
      anrui-scm/anrui-scm-ui/src/views/anruiscm/scmoutbound/scmoutboundAdd.vue
  26. 37
      anrui-scm/anrui-scm-ui/src/views/anruiscm/scmrealtimeinventory/scmrealtimeinventory.vue
  27. 8
      anrui-scm/anrui-scm-ui/src/views/anruiscm/scmreturn/scmreturnAdd.vue
  28. 6
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexingAdd.vue
  29. 5
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue
  30. 14
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue
  31. 11
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhiInfo.vue

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractBuscenterVo.java

@ -30,6 +30,9 @@ import java.util.List;
@Data
public class CommonContractBuscenterVo implements Vo {
@ApiModelProperty(value = "状态")
private Integer state;
@ApiModelProperty("合同sid")
private String sid;

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml

@ -519,7 +519,8 @@
bvm.carBrand as brandSid,
( SELECT count( * ) FROM base_vehicle bv WHERE bv.modelSid = bvc.modelSid AND bv.modelConfigSid = bmc.sid AND
lockedState = '03' ) AS nowCarNum,
( SELECT SUM(bvad.quantity) FROM bus_vehicle_apply_detail bvad WHERE bvad.vehicleSid = bvc.modelSid
( SELECT SUM(cast(bvad.quantity as signed)) as quantity FROM bus_vehicle_apply_detail bvad WHERE bvad.vehicleSid
= bvc.modelSid
and bvad.configSid =
bmc.sid) AS produceCarNum
FROM base_vehmodel_config bvc
@ -527,6 +528,10 @@
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
<where>
${ew.sqlSegment}
and
( SELECT count( * ) FROM base_vehicle bv WHERE bv.modelSid = bvc.modelSid AND bv.modelConfigSid = bmc.sid
AND
lockedState = '03' ) >0
</where>
ORDER BY
nowCarNum DESC

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java

@ -491,7 +491,7 @@ public class BaseModelConfigService extends MybatisBaseService<BaseModelConfigMa
}
String modelSid = pagerQuery.getParams().getModelSid();
String useOrgSid = data.getSid();
AppModelConfigVo vo = baseMapper.getModelConfigList(modelSid,useOrgSid);
AppModelConfigVo vo = baseMapper.getModelConfigList(modelSid, useOrgSid);
String type = "0002";
String path = fileUploadComponent.getUrlPrefix();
List<String> modelImages = baseVehicleAppendixService.selectBySid(type, modelSid, path);
@ -523,6 +523,9 @@ public class BaseModelConfigService extends MybatisBaseService<BaseModelConfigMa
vo.setPages((int) pages);
//分公司配置列表查询
for (AppModelConfigListVo appModelConfigListVo : appModelConfigListVos) {
if (StringUtils.isBlank(appModelConfigListVo.getProduceCarNum())) {
appModelConfigListVo.setProduceCarNum("0");
}
String useOrg = data.getSid();
List<AppMoreConfigVo> moreConfigVos = baseMapper.getCompanyModelList(appModelConfigListVo.getModelSid(), appModelConfigListVo.getConfigSid(), useOrg);
for (AppMoreConfigVo moreConfigVo : moreConfigVos) {

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

@ -481,21 +481,21 @@
</select>
<select id="getModelList" resultType="com.yxt.anrui.base.api.basevehicle.AppVehicleModelPriceVo">
SELECT bvm.sid AS modelSid,
SELECT DISTINCT
bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.carBrand AS brandSid,
bvm.brandName,
bvm.vehicleVersionValue AS versionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
bvc.priceValidity,
(SELECT CONCAT(MIN(bvc.guidedPrice), '-', MAX(bvc.guidedPrice)) FROM base_vehmodel_config bvc WHERE bvc.modelSid
= bvm.sid AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*) FROM base_vehmodel_config bvc WHERE bvc.modelSid = bvm.sid AND bvc.useOrgSid = #{useOrgSid}) AS
configNum,
(SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND lockedState = '03' AND bv.useOrg =
#{useOrgSid}) AS nowCarNum,
(SELECT SUM(bvad.quantity)
(SELECT SUM(cast(bvad.quantity as signed)) as quantity
FROM bus_vehicle_apply_detail bvad
WHERE bvad.vehicleSid = bvm.sid) AS produceCarNum
FROM base_vehicle_model bvm
@ -545,16 +545,25 @@
</select>
<select id="getNowModelList" resultType="com.yxt.anrui.base.api.basevehicle.AppBaseVehicleNowModelVo">
SELECT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
SELECT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.brandName,
bvm.carBrand AS brandSid,
bvm.vehicleVersionValue AS versionValue,
bvm.carBrand AS brandSid,
bvm.vehicleVersionValue AS versionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
( SELECT CONCAT(MIN(bv.guidedPrice), '-', MAX(bv.guidedPrice)) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND bv.useOrg = #{useOrgSid}) AS guidedPrice,
(SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND bv.useOrg = #{useOrgSid}) AS configNum,
(SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND lockedState = '03') AS nowCarNum
(SELECT CONCAT(MIN(bv.guidedPrice), '-', MAX(bv.guidedPrice))
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND bv.useOrg = #{useOrgSid}) AS guidedPrice,
(SELECT count(*)
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND bv.useOrg = #{useOrgSid}) AS configNum,
(SELECT count(*)
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND lockedState = '03') AS nowCarNum
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
${ew.customSqlSegment}
@ -712,14 +721,17 @@
AND bvc.useOrgSid = #{useOrg}
</select>
<select id="getModelOrderCarList" resultType="com.yxt.anrui.base.api.basevehicle.AppBaseNowProduceCarVo">
select bvo.orderNo AS orderId,
SELECT
bvo.orderNo AS orderId,
bvo.orderStatus AS state,
bvo.orderDate AS `date`,
bvo.expectLaunchDate AS forecastDate,
bvo.launchDate AS `upDate`,
bvo.offlineDate AS downDate,
bvo.platformNo AS `number`
from bus_vehicle_order bvo
bvad.quantity as `number`
FROM
bus_vehicle_order bvo
left join bus_vehicle_apply_detail bvad on bvo.purchaseApplyMediumModelSid = bvad.sid
<where>
${ew.sqlSegment}
</where>

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

@ -824,7 +824,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
}
IPage<AppBaseVehicleNowModelQuery> page = PagerUtil.queryToPage(pagerQuery);
QueryWrapper<AppBaseVehicleNowModelVo> qw = nowModelQueryWrapper(pagerQuery.getParams());
IPage<AppBaseVehicleNowModelVo> nowModelList = baseMapper.getNowModelList(page, qw ,data.getSid());
IPage<AppBaseVehicleNowModelVo> nowModelList = baseMapper.getNowModelList(page, qw, data.getSid());
List<AppBaseVehicleNowModelVo> records = nowModelList.getRecords();
for (AppBaseVehicleNowModelVo record : records) {
record.setModelImage("www.baidu.com");
@ -1315,6 +1315,12 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bvo.orderNo", query.getNames());// 订单编号
}
if (StringUtils.isNotBlank(query.getModelSid())) {
qw.eq("bvad.vehicleSid", query.getModelSid());// 订单编号
}
if (StringUtils.isNotBlank(query.getConfigSid())) {
qw.eq("bvad.configSid", query.getConfigSid());// 订单编号
}
if (StringUtils.isNotBlank(query.getUseOrg())) {//分公司
qw.eq("bvo.useOrg", query.getUseOrg());
}

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

@ -87,22 +87,22 @@ public interface BusSalesOrderFeign {
ResultBean submit(@RequestBody BusSalesOrderAllDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
@PutMapping("/complete")
@ResponseBody
public ResultBean complete(@RequestBody BusSalesOrderFlowQuery busSalesOrderFlowQuery);
@ApiOperation(value = "驳回任务")
@PostMapping("/reject")
@PutMapping("/reject")
@ResponseBody
ResultBean reject(@RequestBody BusSalesOrderFlowDto dto);
@ApiOperation(value = "终止任务")
@PostMapping("/breakProcess")
@PutMapping("/breakProcess")
@ResponseBody
ResultBean breakProcess(@RequestBody BusSalesOrderFlowDto dto);
@ApiOperation(value = "撤回任务")
@PostMapping("/revokeProcess")
@PutMapping("/revokeProcess")
@ResponseBody
ResultBean revokeProcess(@RequestBody BusSalesOrderFlowDto dto);

37
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderVo.java

@ -27,6 +27,8 @@ package com.yxt.anrui.buscenter.api.bussalesorder.app;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -54,35 +56,38 @@ public class AppBusSalesOrderVo implements Vo {
* 销售订单sid
*/
@ApiModelProperty("销售订单sid")
@JsonProperty("customerImage")
private String saleOrderSid;
@JsonProperty("saleOrderSid")
private String sid;
/**
* 销售订单编号
*/
@ApiModelProperty("销售订单编号")
@JsonProperty("saleOrderId")
private String saleOrderId;
private String billNo;
/**
* 客户类型
*/
@ApiModelProperty("客户类型")
@JsonProperty("customerClass")
private String customerType;
/**
* 客户sid
*/
@ApiModelProperty("客户sid")
@JsonProperty("customerSid")
private String customerSid;
/**
* 客户名称
*/
@ApiModelProperty("客户名称")
@JsonProperty("customerName")
private String customerName;
/**
* 客户头像
*/
@ApiModelProperty("客户头像")
@JsonProperty("customerImage")
private String customerImage;
private String customerPhoto;
/**
* 手机号
*/
@ -92,17 +97,20 @@ public class AppBusSalesOrderVo implements Vo {
* 购车方式
*/
@ApiModelProperty("购车方式")
private String carPurchaseType;
@JsonProperty("carPurchaseType")
private String payType;
/**
* 购车方式key
*/
@ApiModelProperty("购车方式key")
private String carPurchaseKey;
@JsonProperty("carPurchaseKey")
private String payTypeKey;
/**
* 销售订单状态
*/
@ApiModelProperty("销售订单状态")
private String saleOrderState;
@JsonProperty("saleOrderState")
private String nodeState;
/**
* 创建日期
*/
@ -112,11 +120,12 @@ public class AppBusSalesOrderVo implements Vo {
* 是否保险
*/
@ApiModelProperty("是否保险")
@JsonProperty("insuranceInfo")
private String insuranceInfo;
/**
* 订金
*/
@ApiModelProperty("订金")
@ApiModelProperty("已交订金")
private String deposit;
@ApiModelProperty("是否显示修改订单按钮")
private boolean showUpdateBtn;
@ -132,5 +141,15 @@ public class AppBusSalesOrderVo implements Vo {
private boolean showInputBtn;
@ApiModelProperty("车型信息")
private AppModelInfo modelInfo;
private AppModelInfoVo modelInfo;
/**
* 页面不需要以下参数以下参数用来计算
*/
@ApiModelProperty(value = "订金合计")
@JsonSerialize(using = ToStringSerializer.class)
private String depositAll;
@ApiModelProperty(value = "需补交订金")
@JsonSerialize(using = ToStringSerializer.class)
private String makeUpDeposit;
}

8
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppModelInfo.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppModelInfoVo.java

@ -1,23 +1,21 @@
package com.yxt.anrui.buscenter.api.bussalesorder.app;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppModelInfo {
public class AppModelInfoVo implements Vo {
private static final long serialVersionUID = 4061000162660564257L;
@ApiModelProperty("车辆图片")
private String carImage;
@ApiModelProperty("车型名称")
private String model;
@ApiModelProperty("品牌")
private String brand;
@ApiModelProperty("价格")
private String price;
@ApiModelProperty("数量")
private String number;

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositvehicle/BusDepositVehicleMapper.xml

@ -51,7 +51,7 @@
SELECT bdv.brandName AS brand,
bdv.modelName AS carName,
bdv.remarks,
bdv.reserve_deposit_date AS depositDate,
bdv.reserve_deposit_date AS reserveDate,
bdv.reserve_position AS location,
bdv.reserve_price AS price,
bdv.modelSid,

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

@ -72,7 +72,7 @@ public interface BusMainDepositMapper extends BaseMapper<BusMainDeposit> {
* @param qw
* @return
*/
IPage<AppBusMainDepositVo> getVirtualOrders(IPage<AppBusMainDepositQuery> page, @Param(Constants.WRAPPER) Wrapper<AppBusMainDepositVo> qw);
IPage<AppBusMainDepositVo> getVirtualOrders(IPage<AppBusMainDepositQuery> page, @Param(Constants.WRAPPER) Wrapper<AppBusMainDepositVo> qw, @Param("name") String name);
int selectCountByOrgSid(@Param("billsType") String billsType, @Param("date") String date, @Param("orgSid") String orgSid);

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

@ -46,7 +46,44 @@
LEFT JOIN bus_deposit bd ON bmd.sid = bd.billSid
<where>
${ew.sqlSegment}
<if test="name != '' and name != null ">
and bmd.billNo LIKE concat('%', #{name}, '%')
</if>
</where>
<if test="name != '' and name != null ">
UNION ALL
SELECT bmd.sid AS virtualOrderSid,
bmd.billNo AS virtualOrderId,
bmd.createDate AS virtualOrderDate,
bmd.depositBillTypeKey as virtualOrderType,
bmd.staffName AS sellerName,
bmd.remarks
FROM bus_main_deposit bmd
LEFT JOIN bus_deposit_vehicle_customer bdvc ON bmd.sid = bdvc.billSid
LEFT JOIN bus_deposit bd ON bmd.sid = bd.billSid
<where>
${ew.sqlSegment}
<if test="name != '' and name != null ">
and bdvc.customerName LIKE concat('%', #{name}, '%')
</if>
</where>
UNION ALL
SELECT bmd.sid AS virtualOrderSid,
bmd.billNo AS virtualOrderId,
bmd.createDate AS virtualOrderDate,
bmd.depositBillTypeKey as virtualOrderType,
bmd.staffName AS sellerName,
bmd.remarks
FROM bus_main_deposit bmd
LEFT JOIN bus_deposit_vehicle_customer bdvc ON bmd.sid = bdvc.billSid
LEFT JOIN bus_deposit bd ON bmd.sid = bd.billSid
<where>
${ew.sqlSegment}
<if test="name != '' and name != null ">
and bd.draweeName LIKE concat('%', #{name}, '%')
</if>
</where>
</if>
</select>
<delete id="deleteVirtualOrder">

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

@ -586,7 +586,8 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
String staffSid = userOrgInfoByUser.getData().getStaffSid();
pagerQuery.getParams().setStaffSid(staffSid);
QueryWrapper<AppBusMainDepositVo> qw = aaQueryWrapper(pagerQuery.getParams());
IPage<AppBusMainDepositVo> iPage = baseMapper.getVirtualOrders(page, qw);
AppBusMainDepositQuery params = pagerQuery.getParams();
IPage<AppBusMainDepositVo> iPage = baseMapper.getVirtualOrders(page, qw,params.getName());
for (AppBusMainDepositVo record : iPage.getRecords()) {
String virtualOrderSid = record.getVirtualOrderSid();
int count = baseMapper.selByBillSidCount(virtualOrderSid);
@ -635,12 +636,6 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
if (StringUtils.isNotBlank(query.getStaffSid())) {
qw.eq("bmd.staffSid", query.getStaffSid());
}
if (StringUtils.isNotBlank(query.getName())) {
qw.like("bd.draweeName", query.getName());
}
if (StringUtils.isNotBlank(query.getName())) {
qw.like("bdvc.customerName", query.getName());
}
if (StringUtils.isNotBlank(query.getType())) {
qw.eq("bmd.depositBillTypeKey", query.getType());
}

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

@ -33,7 +33,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.buscenter.api.bussalesorder.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.AppBusSalesOrderBillInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.AppBusSalesOrderVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.AppModelInfo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.AppModelInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
@ -78,7 +78,7 @@ public interface BusSalesOrderMapper extends BaseMapper<BusSalesOrder> {
* @param saleOrderSid
* @return
*/
AppModelInfo selectModelInfoByOrderSid(String saleOrderSid);
AppModelInfoVo selectModelInfoByOrderSid(String saleOrderSid);
/**
* App初始化销售订单单据信息

30
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -37,21 +37,27 @@
</update>
<!--app查询销售订单列表-->
<select id="getSaleOrders" resultType="com.yxt.anrui.buscenter.api.bussalesorder.app.AppBusSalesOrderVo">
SELECT bo.sid AS saleOrderSid,
bo.billNo AS saleOrderId,
bo.customerClass AS customerType,
SELECT bo.sid,
bo.billNo,
bo.customerClass,
bo.customerSid,
bo.customerName,
bo.customerPhoto AS customerImage,
bo.customerPhoto,
bo.mobile,
bo.payType AS carPurchaseType,
bo.payTypeKey AS carPurchaseKey,
bd.depositAll AS deposit,
bo.nodeState AS saleOrderState,
bo.payType,
bo.payTypeKey,
bd.depositAll,
bo.nodeState,
DATE_FORMAT(bo.createDate, '%Y-%m-%d') as createdDate,
case bo.isInsurance
when 0 then '否'
when 1 then '是' end as insuranceInfo
when 1 then '是' end as insuranceInfo,
if(bo.state = '2', true, false) as showContractBtn,
bo.nodeState is not null as showUpdateBtn,
bo.nodeState is not null as showDeleteBtn,
0 as showFinancialBtn
FROM bus_sales_order bo
left join bus_sales_order_price bp on bp.salesOrderSid = bo.sid
left join bus_sales_order_deposit bd on bd.salesOrderSid = bo.sid
@ -60,7 +66,7 @@
</where>
</select>
<!--根据销售订单sid查询车型信息-->
<select id="selectModelInfoByOrderSid" resultType="com.yxt.anrui.buscenter.api.bussalesorder.app.AppModelInfo">
<select id="selectModelInfoByOrderSid" resultType="com.yxt.anrui.buscenter.api.bussalesorder.app.AppModelInfoVo">
SELECT modelName AS model,
brandName AS brand,
guildPrice AS price
@ -92,7 +98,7 @@
SELECT count(*)
FROM bus_sales_order
WHERE createDate = #{date}
AND orgSid = #{orgSid}
AND billNo LIKE concat(#{billsType}, '%')
AND orgSid = #{orgSid}
AND billNo LIKE concat(#{billsType}, '%')
</select>
</mapper>

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

@ -42,6 +42,8 @@ import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.busvehicleorder.AppOrderReadyCar;
import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign;
import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderVo;
import com.yxt.anrui.base.api.commoncontract.CommonContractBuscenterVo;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDto;
import com.yxt.anrui.buscenter.api.bussalesorder.*;
@ -166,6 +168,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private FileUploadComponent fileUploadComponent;
@Autowired
private BusSalesOrderSubmitService busSalesOrderSubmitService;
@Autowired
private CommonContractFeign commonContractFeign;
/**
* 构造查询条件
@ -360,7 +364,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (StringUtils.isNotBlank(platformNo)) {
if (StringUtils.isNotBlank(lockingNum)) {
useNum = Integer.parseInt(platformNo) - Integer.parseInt(lockingNum);
}else{
} else {
useNum = Integer.parseInt(platformNo);
}
}
@ -849,9 +853,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
nodeState = ProcessStateEnum.FINISHED.getStateName();
taskDefKey = "Event_end";
map.put("flowState", SysFormLinkFlowStateEnum.FINISH.getCode());
//更新销售订单的状态为已通过的状态:审批通过1
//更新销售订单的状态为已通过的状态:审批通过2
//ToDo:
updateStateByBusinessSid(1, variables.get("businessSid").toString());
updateStateByBusinessSid(2, variables.get("businessSid").toString());
//通过后新增合同表中的信息。
@ -866,7 +870,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
/**
* 更新销售订单的状态
*
* @param state 状态审批通过1不通过2
* @param state 状态审批通过2不通过3
* @param businessSid
*/
private void updateStateByBusinessSid(int state, String businessSid) {
@ -897,12 +901,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
public ResultBean breakProcess(BusSalesOrderFlowDto dto) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(dto, flowTaskVo);
//查询是否是最后一步
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(dto.getInstanceId());
if (listResultBean.getData().size() == 0) {
//更新销售订单的状态为不通过
updateStateByBusinessSid(2, dto.getBusinessSid());
}
//更新销售订单的状态为不通过
updateStateByBusinessSid(3, dto.getBusinessSid());
ResultBean resultBean = flowTaskFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return resultBean;
@ -1055,9 +1055,16 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (StringUtils.isNotBlank(query.getName())) {
qw.like("bo.customerName", query.getName());
}
//订单类型
//销售订单类型“”或null 全部 “1” 待办理 “2”已办理
if (StringUtils.isNotBlank(query.getType())) {
qw.eq("bo.type", query.getType());
//待办理
if("1".equals(query.getType())){
qw.isNull("bo.nodeState");
}
//已办理
if("2".equals(query.getType())){
qw.isNotNull("bo.nodeState");
}
}
if (StringUtils.isNotBlank(query.getStaffSid())) {
qw.eq("bo.staffSid", query.getStaffSid());
@ -1079,33 +1086,55 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
IPage<BusSalesOrder> page = PagerUtil.queryToPage(pq);
IPage<AppBusSalesOrderVo> pagging = baseMapper.getSaleOrders(page, qw);
for (AppBusSalesOrderVo record : pagging.getRecords()) {
String saleOrderState = record.getSaleOrderState();
if (StringUtils.isNotBlank(saleOrderState)) {
record.setShowUpdateBtn(false);
record.setShowFinancialBtn(false);
record.setShowDeleteBtn(false);
if(StringUtils.isNotBlank(record.getCustomerPhoto())){
record.setCustomerPhoto(fileUploadComponent.getUrlPrefix()+record.getCustomerPhoto());
}
if (saleOrderState.equals("审批完成")) {
record.setShowContractBtn(true);
} else {
record.setShowContractBtn(false);
}
int deposit = 0;
if (StringUtils.isNotBlank(record.getDeposit())) {
deposit = new Integer(record.getDeposit());
//根据销售订单sid查询是否有合同,有合同的话,查询合同是否审核。且需补交订金是否为0
String sid = record.getSid();
ResultBean<CommonContractBuscenterVo> buscenterVoResultBean = commonContractFeign.selectByBusSid(sid);
//合同是否已审核通过
boolean isTrue = false;
if (buscenterVoResultBean.getSuccess()) {
Integer state = buscenterVoResultBean.getData().getState();
if (state == 2) {
isTrue = true;
}
}
if (saleOrderState.equals("审批完成") || deposit <= 0) {
record.setShowApplyBtn(true);
} else {
record.setShowApplyBtn(false);
//已交定金
String deposit = "-";
BigDecimal depositBig = new BigDecimal("0");
if (StringUtils.isNotBlank(record.getDepositAll())) {
//需补交订金
if (StringUtils.isNotBlank(record.getMakeUpDeposit())) {
depositBig = new BigDecimal(record.getDepositAll()).subtract(new BigDecimal(record.getMakeUpDeposit()));
if ("0".equals(record.getMakeUpDeposit())) {
if (isTrue) {
record.setShowApplyBtn(true);
} else {
record.setShowApplyBtn(false);
}
}
} else {
depositBig = new BigDecimal(record.getDepositAll());
if (isTrue) {
record.setShowApplyBtn(true);
} else {
record.setShowApplyBtn(false);
}
}
//将已交订金转为string
deposit = depositBig.toString();
}
AppModelInfo appModelInfo = baseMapper.selectModelInfoByOrderSid(record.getSaleOrderSid());
record.setDeposit(deposit);
//查询车型信息
/* AppModelInfo appModelInfo = baseMapper.selectModelInfoByOrderSid(record.getSaleOrderSid());
if (appModelInfo == null) {
AppModelInfo modelInfo = new AppModelInfo();
record.setModelInfo(modelInfo);
} else {
record.setModelInfo(appModelInfo);
}
}*/
}
PagerVo<AppBusSalesOrderVo> p = PagerUtil.pageToVo(pagging, null);

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

@ -18,7 +18,7 @@ public enum ProcDefEnum {
SCMVEHICLERETURN("采购退库", "process_md8aeoap:4:245028"),
SEALAPPLY("盖章申请", "process_7h0z66tp:1:240064" ),
BASEVEHICLEACTUALSALES("未售买断", ""),//ToDo
SALESORDER("销售订单审批流程", "process_p5ils2rn:1:242504"),
SALESORDER("销售订单审批流程", "process_p5ils2rn:2:245112"),
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:1:232504"),
;

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

@ -294,7 +294,7 @@
</update>
<!--查询当前分公司下的员工信息-->
<select id="selectStaffList" resultType="com.yxt.anrui.portal.api.sysstaffinfo.PcSysStaffVo">
select sso.staffSid,si.name from sys_staff_org sso
select sso.staffSid,si.name staffName from sys_staff_org sso
left join sys_staffinfo si on sso.staffSid = si.sid
where find_in_set(#{orgSid},replace(sso.orgSidPath,'/',','))
</select>

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmoutbound/ScmOutboundAllVo.java

@ -58,7 +58,7 @@ public class ScmOutboundAllVo implements Vo {
private String billType; // 单据类型
@ApiModelProperty("发货组织sid")
private String[][] deliverGoodsOrgSid; // 发货组织sid
private String deliverGoodsOrgSid; // 发货组织sid
@ApiModelProperty("发货组织")
private String deliverGoodsOrgName; // 发货组织
@ -94,7 +94,7 @@ public class ScmOutboundAllVo implements Vo {
private String warehouseKeeperName; // 仓管员
@ApiModelProperty("销售组织sid")
private String[][] salesOrgSid; // 销售组织sid
private String salesOrgSid; // 销售组织sid
@ApiModelProperty("销售组织")
private String salesOrgName; // 销售组织

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmoutbound/ScmOutboundVo.java

@ -65,7 +65,7 @@ public class ScmOutboundVo implements Vo {
private String staffSid; // 业务员sid
@ApiModelProperty("部门sid")
private String orgSid; // 部门sid
private String[][] orgSid; // 部门sid
@ApiModelProperty("销售类型")
private String sellType; // 销售类型
@ -107,7 +107,7 @@ public class ScmOutboundVo implements Vo {
private String deliverGoodsOrgName; // 发货组织
@ApiModelProperty("发货部门sid")
private String deliverGoodsDepSid; // 发货部门sid
private String[][] deliverGoodsDepSid; // 发货部门sid
@ApiModelProperty("发货部门")
private String deliverGoodsDepName; // 发货部门
@ -143,7 +143,7 @@ public class ScmOutboundVo implements Vo {
private String salesOrgName; // 销售组织
@ApiModelProperty("销售部门sid")
private String salesDepSid; // 销售部门sid
private String[][] salesDepSid; // 销售部门sid
@ApiModelProperty("销售部门")
private String salesDepName; // 销售部门

32
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmrealtimeinventory/ScmRealTimeInventoryQuery.java

@ -64,37 +64,13 @@ public class ScmRealTimeInventoryQuery implements Query {
@ApiModelProperty("库存主单位")
private String inventoryPrimaryUnit; // 库存主单位
@ApiModelProperty("库存量(主单位)")
private String inventory; // 库存量(主单位)
@ApiModelProperty("可用量(主单位)")
private String availableQuantity; // 可用量(主单位)
@ApiModelProperty("库存组织")
private String stockOrgName; // 库存组织
@ApiModelProperty("货主类型")
private String cargoOwnerType; // 货主类型
@ApiModelProperty("货主编码")
private String cargoOwnerNo; // 货主编码
@ApiModelProperty("货主")
private String cargoOwner; // 货主
@ApiModelProperty("库存状态")
private String invenState; // 库存状态
@ApiModelProperty("仓库编码")
private String warehouseNo; // 仓库编码
@ApiModelProperty("保管者类型")
private String custodianType; // 保管者类型
@ApiModelProperty("保管者编码")
private String custodianNo; // 保管者编码
@ApiModelProperty("保管者名称")
private String custodian; // 保管者名称
private String custodian; // 保管者名称
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/kingdee/KingDeeScmOutboundService.java

@ -34,7 +34,7 @@ public class KingDeeScmOutboundService {
private void buildKingDeeReceivable(KingDeeOutbound kingDeeOutbound,ScmOutboundAllDto dto) {
kingDeeOutbound.setFormid("SAL_OUTSTOCK");
// dto转kingDeeOutbound
//销售出库单_明细 数据传输对象
//query_明细 数据传输对象
List<ScmOutboundDetailDto> scmOutboundDetailDtoList = dto.getScmOutboundDetailDtoList();
//销售出库单 数据传输对象
ScmOutboundDto scmOutboundDto = dto.getScmOutboundDto();

30
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmoutbound/ScmOutboundService.java

@ -171,7 +171,7 @@ public class ScmOutboundService extends MybatisBaseService<ScmOutboundMapper, Sc
ScmOutbound scmOutbound = new ScmOutbound();
ScmOutboundDto scmOutboundDto = dto.getScmOutboundDto();
scmOutboundDto.setBillNo(map.get("billNo_Num"));
scmOutboundDto.fillEntity(scmOutbound);
BeanUtil.copyProperties(scmOutboundDto,scmOutbound);
String sid = scmOutbound.getSid();
this.saveOrUpdate(scmOutbound);
List<ScmOutboundDetailDto> scmOutboundDetailDtoList = dto.getScmOutboundDetailDtoList();
@ -193,20 +193,6 @@ public class ScmOutboundService extends MybatisBaseService<ScmOutboundMapper, Sc
List<ScmOutboundDetailVo> scmOutboundDetailVos = scmOutboundDetailService.fetchByBusOutBoundSid(sid);
ScmOutboundAllVo scmOutboundAllVo = new ScmOutboundAllVo();
BeanUtil.copyProperties(scmOutbound, scmOutboundAllVo);
if (StringUtils.isNotBlank(scmOutbound.getDeliverGoodsOrgSid())) { //发货组织sid
List<String> list = Arrays.asList(scmOutbound.getDeliverGoodsOrgSid().split(","));
String[][] s = new String[list.size()][];
for (int i = 0; i < list.size(); i++) {
String[] list1 = {};
//根据使用组织查询上级
ResultBean<SysOrganization> resultBean = sysOrganizationFeign.selectBySid(list.get(i));
if (resultBean.getSuccess()) {
list1 = resultBean.getData().getOrgSidPath().replace("/", ",").split(",");
}
s[i] = list1;
}
scmOutboundAllVo.setDeliverGoodsOrgSid(s);
}
if (StringUtils.isNotBlank(scmOutbound.getDeliverGoodsDepSid())) { //发货部门sid
List<String> list = Arrays.asList(scmOutbound.getDeliverGoodsDepSid().split(","));
String[][] s = new String[list.size()][];
@ -235,20 +221,6 @@ public class ScmOutboundService extends MybatisBaseService<ScmOutboundMapper, Sc
}
scmOutboundAllVo.setInvenGroupSid(s);
}
if (StringUtils.isNotBlank(scmOutbound.getSalesOrgSid())) { //销售组织sid
List<String> list = Arrays.asList(scmOutbound.getSalesOrgSid().split(","));
String[][] s = new String[list.size()][];
for (int i = 0; i < list.size(); i++) {
String[] list1 = {};
//根据使用组织查询上级
ResultBean<SysOrganization> resultBean = sysOrganizationFeign.selectBySid(list.get(i));
if (resultBean.getSuccess()) {
list1 = resultBean.getData().getOrgSidPath().replace("/", ",").split(",");
}
s[i] = list1;
}
scmOutboundAllVo.setSalesOrgSid(s);
}
if (StringUtils.isNotBlank(scmOutbound.getSalesDepSid())) { //销售部门sid
List<String> list = Arrays.asList(scmOutbound.getSalesDepSid().split(","));
String[][] s = new String[list.size()][];

40
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmrealtimeinventory/ScmRealTimeInventoryService.java

@ -86,11 +86,11 @@ public class ScmRealTimeInventoryService extends MybatisBaseService<ScmRealTimeI
if (StringUtils.isNotBlank(query.getMNum())) {
qw.eq("mNum", query.getMNum());
qw.like("mNum", query.getMNum());
}
if (StringUtils.isNotBlank(query.getMName())) {
qw.eq("mName", query.getMName());
qw.like("mName", query.getMName());
}
if (StringUtils.isNotBlank(query.getWarehouse())) {
@ -101,48 +101,16 @@ public class ScmRealTimeInventoryService extends MybatisBaseService<ScmRealTimeI
qw.eq("inventoryPrimaryUnit", query.getInventoryPrimaryUnit());
}
if (StringUtils.isNotBlank(query.getInventory())) {
qw.eq("inventory", query.getInventory());
}
if (StringUtils.isNotBlank(query.getAvailableQuantity())) {
qw.eq("availableQuantity", query.getAvailableQuantity());
}
if (StringUtils.isNotBlank(query.getStockOrgName())) {
qw.eq("stockOrgName", query.getStockOrgName());
}
if (StringUtils.isNotBlank(query.getCargoOwnerType())) {
qw.eq("cargoOwnerType", query.getCargoOwnerType());
}
if (StringUtils.isNotBlank(query.getCargoOwnerNo())) {
qw.eq("cargoOwnerNo", query.getCargoOwnerNo());
}
if (StringUtils.isNotBlank(query.getCargoOwner())) {
qw.eq("cargoOwner", query.getCargoOwner());
qw.like("cargoOwner", query.getCargoOwner());
}
if (StringUtils.isNotBlank(query.getInvenState())) {
qw.eq("invenState", query.getInvenState());
}
if (StringUtils.isNotBlank(query.getWarehouseNo())) {
qw.eq("warehouseNo", query.getWarehouseNo());
}
if (StringUtils.isNotBlank(query.getCustodianType())) {
qw.eq("custodianType", query.getCustodianType());
}
if (StringUtils.isNotBlank(query.getCustodianNo())) {
qw.eq("custodianNo", query.getCustodianNo());
}
if (StringUtils.isNotBlank(query.getCustodian())) {
qw.eq("custodian", query.getCustodian());
qw.like("custodian", query.getCustodian());
}
return qw;
}

787
anrui-scm/anrui-scm-ui/src/views/anruiscm/scmoutbound/scmoutbound.vue

@ -3,8 +3,7 @@
<div v-show="viewState == 1">
<button-bar view-title="销售出库管理" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' :
'显示查询条件' }}
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{isSearchShow ? '隐藏查询条件' : '显示查询条件' }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
@ -16,14 +15,11 @@
<el-input v-model="queryParams.params.customerName" placeholder="请输入客户名称" clearable/>
</el-form-item>
<el-form-item label="销售部门" class="salesDepNameStyle">
<el-cascader :key="refreshItem" v-model="salesDepName_list" @change="salesDepNameChange"
:options="options" :props="props"/>
<el-cascader :key="refreshItem" v-model="salesDepName_list" @change="salesDepNameChange" :options="options" :props="props"/>
</el-form-item>
<el-form-item label="项目类别">
<el-select v-model="queryParams.params.finItemType" @change="changefinItemType" style="width:200px"
filterable placeholder="请选择">
<el-option v-for="item in finItemType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"></el-option>
<el-select v-model="queryParams.params.finItemType" @change="changefinItemType" style="width:200px" filterable placeholder="请选择">
<el-option v-for="item in finItemType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="制单人">
@ -32,27 +28,21 @@
</el-row>
<el-row>
<el-form-item label="中介单位">
<el-select v-model="queryParams.params.distributorName" @change="changedistributorName"
style="width:200px" filterable placeholder="请选择">
<el-option v-for="item in distributorName_list" :key="item.sid" :label="item.distributorName"
:value="item.sid">
<el-select v-model="queryParams.params.distributorName" @change="changedistributorName" style="width:200px" filterable placeholder="请选择">
<el-option v-for="item in distributorName_list" :key="item.sid" :label="item.distributorName" :value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="销售渠道">
<el-select v-model="queryParams.params.sellChannel" @change='changesellChannel' style="width:200px"
filterable placeholder="请选择">
<el-option v-for="item in sellChannel_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey">
<el-select v-model="queryParams.params.sellChannel" @change='changesellChannel' style="width:200px" filterable placeholder="请选择">
<el-option v-for="item in sellChannel_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item class="formItem" label="出库日期">
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.params.outDateStart" clearable
style="width: 160px;" type="date" placeholder="开始日期"/>
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.params.outDateStart" clearable style="width: 160px;" type="date" placeholder="开始日期"/>
<div class="line"></div>
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.params.outDateEnd" clearable
style="width: 160px;" type="date" placeholder="结束日期"/>
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.params.outDateEnd" clearable style="width: 160px;" type="date" placeholder="结束日期"/>
</el-form-item>
</el-row>
<el-divider/>
@ -66,20 +56,18 @@
<!--Start 项目列表头部-->
<div class="listtop">
<div class="tit">销售出库单列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
</div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
<div class="listcon">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@selection-change="handleSelectionChange">
<el-table v-loading="tableLoading" :data="dataList" 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 prop="billNo" label="单据编号" align="center">
<template slot-scope="scope">
<span class="tablerow-click" @click="toInfo(scope.row)">{{scope.row.billNo}}</span>
<span class="tablerow-click" @click="toInfo(scope.row)">{{ scope.row.billNo }}</span>
</template>
</el-table-column>
<el-table-column prop="sellType" label="销售类型" align="center"/>
@ -98,14 +86,7 @@
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
</div>
</div>
<!--End 查询和其列表部分-->
@ -119,413 +100,415 @@
</template>
<script>
import req from '@/api/anruiscm/scmoutbound'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './scmoutboundAdd'
import divInfo from './scmoutboundInfo'
import req from '@/api/anruiscm/scmoutbound'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './scmoutboundAdd'
import divInfo from './scmoutboundInfo'
export default {
name: 'ScmOutboundIndex',
components: {
ButtonBar,
Pagination,
pageye,
divAdd,
divInfo
export default {
name: 'ScmOutboundIndex',
components: {
ButtonBar,
Pagination,
pageye,
divAdd,
divInfo
},
data() {
return {
btndisabled: false,
refreshItem: 0,
viewState: 1, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
dataList: [],
finItemType_list: [], //
distributorName_list: [], //
sellChannel_list: [], //
salesDepName_list: [], //
options: [],
dataArr: [],
props: {
value: 'sid',
label: 'name',
children: 'children',
multiple: true
},
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
billNo: '', //
customerName: '', //
salesDepName: '', //
finItemType: '', //
distributorName: '', //
sellChannel: '', //
creatorName: '', //
outDateStart: '',
outDateEnd: ''
}
},
multipleSelection: []
}
},
created() {
this.finItemType()
this.distributorName()
this.sellChannel()
this.loadList()
this.getZuZhi()
},
methods: {
resetState() {
this.viewState = 1
},
data() {
return {
btndisabled: false,
refreshItem: 0,
viewState: 1, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
dataList: [],
finItemType_list: [], //
distributorName_list: [], //
sellChannel_list: [], //
salesDepName_list: [], //
options: [],
dataArr: [],
props: {
value: 'sid',
label: 'name',
children: 'children',
multiple: true
},
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
billNo: '', //
customerName: '', //
salesDepName: '', //
finItemType: '', //
distributorName: '', //
sellChannel: '', //
creatorName: '', //
outDateStart: '',
outDateEnd: ''
}
},
multipleSelection: []
}
finItemType() {
req.pullDown({psid: 0, type: 'finItemType'}).then((response) => {
if (response.code === '200') {
this.finItemType_list = response.data
}
})
},
created() {
this.finItemType()
this.distributorName()
this.sellChannel()
this.loadList()
this.getZuZhi()
distributorName() {
req.distributorName().then((response) => {
if (response.code === '200') {
this.distributorName_list = response.data
}
})
},
methods: {
resetState() {
this.viewState = 1
},
finItemType() {
req.pullDown({ psid: 0, type: 'finItemType' }).then((response) => {
if (response.code === '200') {
this.finItemType_list = response.data
sellChannel() {
req.pullDown({ psid: 0, type: 'sellChannel' }).then((response) => {
if (response.code === '200') {
this.sellChannel_list = response.data
}
})
},
changedistributorName(value) {
let bb = null
this.distributorName_list.forEach((e) => {
if (e.sid === value) {
bb = {
name: e.distributorName,
value: e.sid
}
})
},
distributorName() {
req.distributorName().then((response) => {
if (response.code === '200') {
this.distributorName_list = response.data
}
})
this.queryParams.params.distributorName = bb.name
},
changesellChannel(value) {
let bb = null
this.sellChannel_list.forEach((e) => {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
})
},
sellChannel() {
req.pullDown({ psid: 0, type: 'sellChannel' }).then((response) => {
if (response.code === '200') {
this.sellChannel_list = response.data
}
})
this.queryParams.params.sellChannel = bb.name
},
changefinItemType(value) {
let bb = null
this.finItemType_list.forEach((e) => {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
}
})
this.queryParams.params.finItemType = bb.name
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doSubmit':
this.doSubmit()
break
case 'doDel':
this.doDel()
break
case 'doImport':
this.doImport()
break
case 'doExport':
this.doExport()
break
default:
break
}
},
toAdd(row) {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
toEdit() {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' })
return
}
if (this.multipleSelection.length > 1) {
this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' })
return
}
this.viewState = 3
const row = this.multipleSelection[0]
this.$refs['divadd'].showEdit(row)
},
doSubmit(row) {
//
this.btndisabled = true
req
.doSubmit(this.queryParams.params)
.then(resp => {
console.log(resp)
this.btndisabled = false
})
},
changedistributorName(value) {
let bb = null
this.distributorName_list.forEach((e) => {
if (e.sid == value) {
bb = {
name: e.distributorName,
value: e.sid
}
}
.catch(() => {
this.btndisabled = false
})
this.queryParams.params.distributorName = bb.name
},
changesellChannel(value) {
let bb = null
this.sellChannel_list.forEach((e) => {
if (e.dictKey == value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
}
},
doDel(row) {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const _this = this
const sids = []
this.multipleSelection.forEach(row => {
sids.push(row.sid)
})
const tip = '请确认是否删除所选 ' + this.multipleSelection.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.queryParams.params.sellChannel = bb.name
},
changefinItemType(value) {
let bb = null
this.finItemType_list.forEach((e) => {
if (e.dictKey == value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
}
req.delBySids(sids).then(resp => {
loading.close()
_this.$message({ type: 'success', message: resp.msg, showClose: true })
_this.loadList()
}).catch(e => {
loading.close()
})
this.queryParams.params.finItemType = bb.name
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doSubmit':
this.doSubmit()
break
case 'doDel':
this.doDel()
break
case 'doImport':
this.doImport()
break
case 'doExport':
this.doExport()
break
default:
break
}
},
toAdd(row) {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
toEdit() {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' })
return
}
if (this.multipleSelection.length > 1) {
this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' })
return
}
this.viewState = 3
const row = this.multipleSelection[0]
this.$refs['divadd'].showEdit(row)
},
doSubmit(row) {
//
this.btndisabled = true
req
.doSubmit(this.queryParams.params)
.then(resp => {
console.log(resp)
this.btndisabled = false
})
.catch(() => {
this.btndisabled = false
})
},
doDel(row) {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const _this = this
const sids = []
this.multipleSelection.forEach(row => {
sids.push(row.sid)
})
const tip = '请确认是否删除所选 ' + this.multipleSelection.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delBySids(sids).then(resp => {
loading.close()
_this.$message({ type: 'success', message: resp.msg, showClose: true })
_this.loadList()
}).catch(e => {
loading.close()
})
}).catch(() => {
}).catch(() => {
})
},
doImport(row) {
//
req
.importExcel(this.queryParams.params)
.then(resp => {
console.log(resp)
})
},
doImport(row) {
//
req
.importExcel(this.queryParams.params)
.then(resp => {
console.log(resp)
})
.catch(() => {
})
},
doExport(row) {
//
const sids = []
this.multipleSelection.forEach(row => {
sids.push(row.sid)
.catch(() => {
})
this.queryParams.params.sids = sids
req
.exportExcel(this.queryParams.params)
.then(resp => {
var map = resp.data
const fileName = map.filename //
// // <a> Firefox Chrome download
// // IE10blobdownload
const link = document.createElement('a') // a
link.download = fileName // a
link.style.display = 'none'
link.href = map.downurl
document.body.appendChild(link)
link.click() //
URL.revokeObjectURL(link.href) // url
document.body.removeChild(link) //
})
.catch(() => {
})
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
billNo: '', //
customerName: '', //
salesDepName: '', //
finItemType: '', //
distributorName: '', //
sellChannel: '', //
creatorName: '', //
outDateStart: '',
outDateEnd: ''
}
},
this.salesDepName_list = [],
this.dosearch()
},
loadList() {
const _this = this
this.tableLoading = true
req.listPage(this.queryParams).then(resp => {
_this.tableLoading = false
const data = resp.data
_this.queryParams.total = data.total
_this.dataList = data.records
}).catch(() => {
_this.tableLoading = false
},
doExport(row) {
//
const sids = []
this.multipleSelection.forEach(row => {
sids.push(row.sid)
})
this.queryParams.params.sids = sids
req
.exportExcel(this.queryParams.params)
.then(resp => {
var map = resp.data
const fileName = map.filename //
// // <a> Firefox Chrome download
// // IE10blobdownload
const link = document.createElement('a') // a
link.download = fileName // a
link.style.display = 'none'
link.href = map.downurl
document.body.appendChild(link)
link.click() //
URL.revokeObjectURL(link.href) // url
document.body.removeChild(link) //
})
},
handleSelectionChange(val) {
this.multipleSelection = val
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
toInfo(row) {
this.$refs['divinfo'].showInfo(row)
this.viewState = 4
},
//
getZuZhi() {
req.salesDepName().then((res) => {
if (res.code === '200') {
this.options = res.data
this.zuzhi0(this.options)
}
.catch(() => {
})
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
billNo: '', //
customerName: '', //
salesDepName: '', //
finItemType: '', //
distributorName: '', //
sellChannel: '', //
creatorName: '', //
outDateStart: '',
outDateEnd: ''
}
},
zuzhi0(data) {
data.forEach((e) => {
if (e.children.length != 0) {
this.salesDepName_list = [],
this.dosearch()
},
loadList() {
const _this = this
this.tableLoading = true
req.listPage(this.queryParams).then(resp => {
_this.tableLoading = false
const data = resp.data
_this.queryParams.total = data.total
_this.dataList = data.records
}).catch(() => {
_this.tableLoading = false
})
},
handleSelectionChange(val) {
this.multipleSelection = val
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
toInfo(row) {
this.$refs['divinfo'].showInfo(row)
this.viewState = 4
},
//
getZuZhi() {
req.salesDepName().then((res) => {
if (res.code === '200') {
this.options = res.data
this.zuzhi0(this.options)
}
})
},
zuzhi0(data) {
data.forEach((e) => {
if (e.children) {
if (e.children.length !== 0) {
this.zuzhi0(e.children)
} else {
delete e.children
this.dataArr.push(e)
return
}
})
},
salesDepNameChange(e) {
console.log('选中结果:' + JSON.stringify(e))
var result = ''
var result_Sid = ''
if (e.length > 0) {
//
e.forEach((item) => {
var last_id = item[item.length - 1]
//
this.select_temp_Name = '' // ()
this.select_temp_Sid = '' //(Sid)
this.findOrgId(last_id, this.options)
result = result + this.select_temp_Name + ','
result_Sid = result_Sid + this.select_temp_Sid + ','
})
}
if (result !== '') {
result = result.substring(0, result.length - 1)
}
if (result_Sid !== '') {
result_Sid = result_Sid.substring(0, result_Sid.length - 1)
}
this.queryParams.params.salesDepName = result
console.log('选中名称:' + this.queryParams.params.salesDepName)
},
findOrgId(id, options) {
for (var i = 0; i < options.length; i++) {
if (id == options[i].sid) {
this.select_temp_Name = options[i].name //
this.select_temp_Sid = options[i].sid
return true
} else {
//
if (options[i].children !== undefined) {
//
if (this.findOrgId(id, options[i].children)) {
return true
}
})
},
salesDepNameChange(e) {
console.log('选中结果:' + JSON.stringify(e))
var result = ''
var result_Sid = ''
if (e.length > 0) {
//
e.forEach((item) => {
var last_id = item[item.length - 1]
//
this.select_temp_Name = '' // ()
this.select_temp_Sid = '' // (Sid)
this.findOrgId(last_id, this.options)
result = result + this.select_temp_Name + ','
result_Sid = result_Sid + this.select_temp_Sid + ','
})
}
if (result !== '') {
result = result.substring(0, result.length - 1)
}
if (result_Sid !== '') {
result_Sid = result_Sid.substring(0, result_Sid.length - 1)
}
this.queryParams.params.salesDepName = result
console.log('选中名称:' + this.queryParams.params.salesDepName)
},
findOrgId(id, options) {
for (var i = 0; i < options.length; i++) {
if (id === options[i].sid) {
this.select_temp_Name = options[i].name //
this.select_temp_Sid = options[i].sid
return true
} else {
//
if (options[i].children !== undefined && options[i].children !== null) {
//
if (this.findOrgId(id, options[i].children)) {
return true
}
}
}
}
}
}
}
</script>
<style scoped>
.app-container-copy {
margin: 5px -9px;
}
.app-container-copy {
margin: 5px -9px;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.line {
display: inline-block;
margin: 0px 15px;
}
.line {
display: inline-block;
margin: 0px 15px;
}
.salesDepNameStyle >>> .el-input__inner {
height: 32px !important;
}
.salesDepNameStyle >>> .el-input__inner {
height: 32px !important;
}
.salesDepNameStyle >>> .el-form-item__content {
margin-top: -5px;
}
.salesDepNameStyle >>> .el-form-item__content {
margin-top: -5px;
}
.listtop {
margin: 0px 9px;
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.listtop {
margin: 0px 9px;
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.searchcon {
margin: 0px 9px;
}
.searchcon {
margin: 0px 9px;
}
.listcon {
margin: 0px 9px;
}
.listcon {
margin: 0px 9px;
}
.tit {
margin-bottom: -10px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

2259
anrui-scm/anrui-scm-ui/src/views/anruiscm/scmoutbound/scmoutboundAdd.vue

File diff suppressed because it is too large

37
anrui-scm/anrui-scm-ui/src/views/anruiscm/scmrealtimeinventory/scmrealtimeinventory.vue

@ -24,8 +24,8 @@
</el-select>
</el-form-item>
<el-form-item label="仓库">
<el-select v-model="queryParams.params.warehouse" @change="changeWarehouse" placeholder="请选择" clearable>
<el-option v-for="item in warehouse_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
<el-select v-model="queryParams.params.warehouseS" @change="changeWarehouse" placeholder="请选择" clearable>
<el-option v-for="item in warehouse_list" :key="item.sid" :label="item.warehouseName" :value="item.warehouseName"></el-option>
</el-select>
</el-form-item>
</el-row>
@ -139,21 +139,12 @@ export default {
size: 10,
total: 0,
params: {
sids: [], // SID
mNum: '', //
mName: '', //
warehouse: '', //
inventoryPrimaryUnit: '', //
inventory: '', //
availableQuantity: '', //
stockOrgName: '', //
cargoOwnerType: '', //
cargoOwnerNo: '', //
cargoOwner: '', //
invenState: '', //
warehouseNo: '', //
custodianType: '', //
custodianNo: '', //
custodian: '' //
}
},
@ -236,12 +227,9 @@ export default {
},
// - warehouse
getWarehouse() {
req.pullDown({
type: 'warehouse'
}).then((res) => {
req.getWarehouse().then((res) => {
if (res.code === '200') {
this.warehouse_list = res.data
console.log('下拉框请求111', res.data)
}
})
},
@ -365,7 +353,7 @@ export default {
this.multipleSelection.forEach(row => {
sids.push(row.sid)
})
this.queryParams.params.sids = sids
// this.queryParams.params.sids = sids
req.exportExcel(this.queryParams.params).then(resp => {
var map = resp.data
const fileName = map.filename //
@ -387,9 +375,20 @@ export default {
this.loadList()
},
resetQuery() {
this.queryParams.params = {}
this.queryParams.params.sid = '' // sid
this.queryParams.params.name = '' //
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
mNum: '', //
mName: '', //
warehouse: '', //
inventoryPrimaryUnit: '', //
cargoOwner: '', //
invenState: '', //
custodian: '' //
}
}
this.dosearch()
},
loadList() {

8
anrui-scm/anrui-scm-ui/src/views/anruiscm/scmreturn/scmreturnAdd.vue

@ -734,9 +734,9 @@ export default {
this.formobj.userSid = window.sessionStorage.getItem('userSid'),
this.formobj.list = [],
this.$refs['form_obj'].resetFields()
this.stockOrgName_list = [] //
// this.stockOrgName_list = [] //
this.stockDepName_list = [], //
this.salesOrgName_list = [],
// this.salesOrgName_list = [],
this.tableData = [],
this.refreshItem++,
this.$emit('doback')
@ -765,7 +765,7 @@ export default {
this.formobj.billTypeValue = vdata.billTypeValue //
this.formobj.billType = vdata.billType
this.formobj.returnCustomer = vdata.returnCustomer // 退
this.stockOrgName_list = vdata.stockOrgSid // sid
// this.stockOrgName_list = vdata.stockOrgSid // sid
this.formobj.calculationCurrency = vdata.calculationCurrency //
this.stockDepName_list = vdata.stockDepSid // sid
this.formobj.date = vdata.date //
@ -775,7 +775,7 @@ export default {
this.formobj.placeOfDelivery = vdata.placeOfDelivery //
this.formobj.warehouseKeeperSid = vdata.warehouseKeeperSid // sid
this.formobj.warehouseKeeperName = vdata.warehouseKeeperName //
this.salesOrgName_list = vdata.salesOrgSid // sid
// this.salesOrgName_list = vdata.salesOrgSid // sid
this.formobj.projectCategory = vdata.projectCategory //
this.formobj.stockOrgName = vdata.stockOrgName //
this.formobj.stockDepName = vdata.stockDepName //

6
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexingAdd.vue

@ -410,9 +410,9 @@
}
})
} else {
const useOrg_array = this.temp.useOrg[0]
const useOrg_str = useOrg_array[useOrg_array.length - 1]
this.temp.useOrg = useOrg_str
// const useOrg_array = this.temp.useOrg[0]
// const useOrg_str = useOrg_array[useOrg_array.length - 1]
// this.temp.useOrg = useOrg_str
this.updateUrl()
SaveList(this.temp).then(response => {
this.FormLoading = false

5
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue

@ -232,6 +232,11 @@
<span>{{ scope.row.multimedia }}</span>
</template>
</el-table-column>
<el-table-column label="多媒体" align="center">
<template slot-scope="scope">
<span>{{ scope.row.packingCase }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">

14
anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue

@ -586,6 +586,13 @@ export default {
if (this.sids[0].relationState === 1) {
this.viewState = 5
this.$refs['relation'].init(this.sids[0].sid)
} else {
this.$notify({
title: '提示',
message: '该常用配置未关联车型!',
type: 'info',
duration: 2000
})
}
} else if (this.sids.length > 1) {
this.$notify({
@ -715,8 +722,13 @@ export default {
// ID
handleDelete() {
console.log('删除', this.sids)
const bb = []
this.sids.forEach((e) => {
bb.push(e.sid)
})
console.log(bb, 666666)
if (this.sids.length > 0) {
deleteBySids(this.sids).then((response) => {
deleteBySids(bb).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',

11
anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhiInfo.vue

@ -46,7 +46,7 @@
<el-col :span="2">
<span>驾驶室</span>
</el-col>
<el-col :span="2">
<el-col :span="2" class="tleftb">
<el-form-item prop="specification">
<span>{{ temp.specification }}</span>
</el-form-item>
@ -88,7 +88,7 @@
<el-col :span="2">
<span>悬架</span>
</el-col>
<el-col :span="2">
<el-col :span="2" class="tleftb">
<el-form-item prop="suspension">
<span>{{ temp.suspension }}</span>
</el-form-item>
@ -130,7 +130,7 @@
<el-col :span="2">
<span>保险杠</span>
</el-col>
<el-col :span="2">
<el-col :span="2" class="tleftb">
<el-form-item prop="bumper">
<span>{{ temp.bumper }}</span>
</el-form-item>
@ -172,7 +172,7 @@
<el-col :span="2">
<span>货箱</span>
</el-col>
<el-col :span="2">
<el-col :span="2" class="tleftb">
<span>{{ temp.packingCase }}</span>
</el-col>
</el-row>
@ -235,4 +235,7 @@ export default {
line-height: 40px !important;
font-weight: 600;
}
.tleftb {
text-align: left;
}
</style>

Loading…
Cancel
Save