Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.java
master
God 3 years ago
parent
commit
af5d3617f1
  1. 9
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeignFallback.java
  3. 16
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/PcBaseDistributorQuery.java
  4. 22
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/PcBaseDistributorVo.java
  5. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/AppVehicleModelPriceQuery.java
  6. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.java
  7. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.xml
  8. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorRest.java
  9. 19
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java
  10. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.java
  11. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml
  12. 25
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java
  13. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  14. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceService.java
  15. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  16. 11
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  17. 69
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  18. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleappendix/BaseVehicleAppendixService.java
  19. 21
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java
  20. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java
  21. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java
  22. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDetailsVo.java
  23. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDto.java
  24. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeupDetailsVo.java
  25. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeupDto.java
  26. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModel.java
  27. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDetailsVo.java
  28. 41
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordersubmit/BusSalesOrderSubmit.java
  29. 41
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordersubmit/BusSalesOrderSubmitDto.java
  30. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousService.java
  31. 125
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  32. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceMapper.java
  33. 12
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceMapper.xml
  34. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java
  35. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml
  36. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelMapper.xml
  37. 14
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordersubmit/BusSalesOrderSubmitMapper.java
  38. 38
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordersubmit/BusSalesOrderSubmitService.java
  39. 15
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderService.java
  40. 5
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandVo.java
  41. 2
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemand.java
  42. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomer/CrmCustomerMapper.java
  43. 3
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomer/CrmCustomerMapper.xml
  44. 4
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomer/CrmCustomerService.java
  45. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml
  46. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java
  47. 14
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml
  48. 9
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java
  49. 4
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitMapper.java
  50. 9
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitMapper.xml
  51. 3
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitRest.java
  52. 9
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitService.java
  53. 2
      anrui-management/anrui-management-ui/package.json
  54. 9
      anrui-management/anrui-management-ui/src/api/management/yuangongguanli.js
  55. 12
      anrui-management/anrui-management-ui/src/components/ButtonBar/index.vue
  56. 417
      anrui-management/anrui-management-ui/src/components/uploadFileimg/upload.vue
  57. 332
      anrui-management/anrui-management-ui/src/components/uploadFileimg/upload_head.vue
  58. 22
      anrui-management/anrui-management-ui/src/styles/index.scss
  59. 1194
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue
  60. 464
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue
  61. 526
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongguanli.vue
  62. 8
      anrui-management/anrui-management-ui/vue.config.js
  63. 18
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/PcSysStaffQuery.java
  64. 17
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/PcSysStaffVo.java
  65. 6
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoFeign.java
  66. 7
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoFeignFallback.java
  67. 8
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.java
  68. 6
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  69. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoRest.java
  70. 15
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java
  71. 30
      doc/databases/bus-center_tables.sql

9
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeign.java

@ -7,6 +7,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -57,4 +58,12 @@ public interface BaseDistributorFeign {
@ApiOperation("Pc端分页查询中介单位(经销商)") @ApiOperation("Pc端分页查询中介单位(经销商)")
@GetMapping("/getPcDistributorList") @GetMapping("/getPcDistributorList")
ResultBean<List<Map<String, Object>>> getPcDistributorList(@RequestParam(value = "name", required = false) String name); ResultBean<List<Map<String, Object>>> getPcDistributorList(@RequestParam(value = "name", required = false) String name);
@ApiOperation("销售订单-中介单位下拉框")
@GetMapping("/getBaseDistributorList")
ResultBean<List<PcBaseDistributorVo>> getBaseDistributorList(@SpringQueryMap PcBaseDistributorQuery query);
} }

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeignFallback.java

@ -56,5 +56,10 @@ public class BaseDistributorFeignFallback implements BaseDistributorFeign {
return null; return null;
} }
@Override
public ResultBean<List<PcBaseDistributorVo>> getBaseDistributorList(PcBaseDistributorQuery query) {
return null;
}
} }

16
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/PcBaseDistributorQuery.java

@ -0,0 +1,16 @@
package com.yxt.anrui.base.api.basedistributor;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/5/20 10:21
* @Description
*/
@Data
public class PcBaseDistributorQuery implements Query {
private static final long serialVersionUID = -819696590662230234L;
private String staffSid;
}

22
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/PcBaseDistributorVo.java

@ -0,0 +1,22 @@
package com.yxt.anrui.base.api.basedistributor;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/5/20 10:16
* @Description
*/
@Data
public class PcBaseDistributorVo implements Vo {
private static final long serialVersionUID = 7712204411963730062L;
@ApiModelProperty(value = "中介单位")
private String distributorName;
@ApiModelProperty(value = "中介单位联系电话")
private String businessMobile;
@ApiModelProperty(value = "中介单位sid")
private String distributorSid;
}

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

@ -18,6 +18,9 @@ public class AppVehicleModelPriceQuery implements Query {
@ApiModelProperty(value = "名称(优先级最高,有值时 查询车型名称)") @ApiModelProperty(value = "名称(优先级最高,有值时 查询车型名称)")
private String name; private String name;
@ApiModelProperty(value = "品牌名称")
private String brand;
@ApiModelProperty(value = "排放标准") @ApiModelProperty(value = "排放标准")
private String emissionStandard; private String emissionStandard;

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.java

@ -79,4 +79,11 @@ public interface BaseDistributorMapper extends BaseMapper<BaseDistributor> {
@Update("update base_distributor set isDelete = 1 where sid = #{sid}") @Update("update base_distributor set isDelete = 1 where sid = #{sid}")
int updateBySidIsDelete(String sid); int updateBySidIsDelete(String sid);
/**
* 查询中介单位
* @param query 查询条件
* @return
*/
List<PcBaseDistributorVo> getBaseDistributorList(@Param(Constants.WRAPPER) QueryWrapper<PcBaseDistributorVo> qw);
} }

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.xml

@ -106,4 +106,7 @@
${ew.customSqlSegment} ${ew.customSqlSegment}
</select> </select>
<select id="getBaseDistributorList" resultType="com.yxt.anrui.base.api.basedistributor.PcBaseDistributorVo">
select * from base_distributor ${ew.customSqlSegment}
</select>
</mapper> </mapper>

10
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorRest.java

@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basedistributor.*; import com.yxt.anrui.base.api.basedistributor.*;
import com.yxt.anrui.base.api.basedistributorlegal.BaseDistributorLegalVo; import com.yxt.anrui.base.api.basedistributorlegal.BaseDistributorLegalVo;
import com.yxt.anrui.base.api.basedistributorperson.BaseDistributorPersonVo; import com.yxt.anrui.base.api.basedistributorperson.BaseDistributorPersonVo;
import com.yxt.anrui.base.api.basedistributorstaff.BaseDistributorStaff;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerExportVo;
import com.yxt.anrui.base.biz.basedistributorlegal.BaseDistributorLegalService; import com.yxt.anrui.base.biz.basedistributorlegal.BaseDistributorLegalService;
import com.yxt.anrui.base.biz.basedistributorperson.BaseDistributorPersonService; import com.yxt.anrui.base.biz.basedistributorperson.BaseDistributorPersonService;
import com.yxt.anrui.base.biz.basedistributorstaff.BaseDistributorStaffService; import com.yxt.anrui.base.biz.basedistributorstaff.BaseDistributorStaffService;
@ -24,7 +22,6 @@ import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -173,4 +170,11 @@ public class BaseDistributorRest implements BaseDistributorFeign {
List<Map<String, Object>> stringList = baseDistributorService.namesDown(name); List<Map<String, Object>> stringList = baseDistributorService.namesDown(name);
return new ResultBean<List<Map<String, Object>>>().success().setData(stringList); return new ResultBean<List<Map<String, Object>>>().success().setData(stringList);
} }
@Override
public ResultBean<List<PcBaseDistributorVo>> getBaseDistributorList(PcBaseDistributorQuery query) {
ResultBean<List<PcBaseDistributorVo>> rb = ResultBean.fireFail();
List<PcBaseDistributorVo> list = baseDistributorService.getBaseDistributorList(query);
return rb.success().setData(list);
}
} }

19
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java

@ -9,6 +9,7 @@ import com.yxt.anrui.base.api.basedistributorlegal.BaseDistributorLegalDto;
import com.yxt.anrui.base.api.basedistributorperson.BaseDistributorPersonDto; import com.yxt.anrui.base.api.basedistributorperson.BaseDistributorPersonDto;
import com.yxt.anrui.portal.api.sysorganization.SysOrganization; import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
@ -50,6 +51,8 @@ public class BaseDistributorService extends MybatisBaseService<BaseDistributorMa
@Autowired @Autowired
private SysOrganizationFeign sysOrganizationFeign; private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
/** /**
* 经销商分页列表 * 经销商分页列表
@ -239,4 +242,20 @@ public class BaseDistributorService extends MybatisBaseService<BaseDistributorMa
public int updateBySidIsDelete(String sid) { public int updateBySidIsDelete(String sid) {
return baseMapper.updateBySidIsDelete(sid); return baseMapper.updateBySidIsDelete(sid);
} }
public List<PcBaseDistributorVo> getBaseDistributorList(PcBaseDistributorQuery query) {
QueryWrapper<PcBaseDistributorVo> qw = new QueryWrapper<>();
if(query != null){
if (StringUtils.isNotBlank(query.getStaffSid())) {
String orgSid = "";
ResultBean<String> stringResultBean = sysStaffOrgFeign.selectSidPathByStaffSid(query.getStaffSid());
if (stringResultBean.getSuccess()) {
orgSid = stringResultBean.getData();
}
qw.lambda().apply("FIND_IN_SET ('" + orgSid + "',useOrg)");
}
}
List<PcBaseDistributorVo> voList = baseMapper.getBaseDistributorList(qw);
return voList;
}
} }

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

@ -183,7 +183,7 @@ public interface BaseModelConfigMapper extends BaseMapper<BaseModelConfig> {
AppModelConfigDetailsVo getAppProductionSchedulingDetailsVo(@Param("modelSid") String modelSid, @Param("configSid") String configSid); AppModelConfigDetailsVo getAppProductionSchedulingDetailsVo(@Param("modelSid") String modelSid, @Param("configSid") String configSid);
//查询车型信息 //查询车型信息
AppModelConfigVo getModelConfigList(String modelSid); AppModelConfigVo getModelConfigList(@Param("modelSid") String modelSid,@Param("useOrgSid") String useOrgSid);
List<AppModelConfigListVo> getModelConfigPageList(IPage<AppModelConfigListQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppModelConfigListVo> qw); List<AppModelConfigListVo> getModelConfigPageList(IPage<AppModelConfigListQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppModelConfigListVo> qw);

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

@ -485,6 +485,7 @@
FROM base_vehicle_model bvm FROM base_vehicle_model bvm
LEFT JOIN base_vehmodel_config bvc ON bvc.modelSid = bvm.sid LEFT JOIN base_vehmodel_config bvc ON bvc.modelSid = bvm.sid
where bvm.sid = #{modelSid} where bvm.sid = #{modelSid}
and bvc.useOrgSid = #{useOrgSid}
</select> </select>
<select id="getModelConfigPageList" <select id="getModelConfigPageList"

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

@ -3,12 +3,13 @@ package com.yxt.anrui.base.biz.basemodelconfig;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemodelconfig.*; import com.yxt.anrui.base.api.basemodelconfig.*;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarByPageListQuery; import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarModelByPageListVo; import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendix;
import com.yxt.anrui.base.api.basevehicle.AppMoreConfigVo; import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService;
import com.yxt.anrui.base.api.basevehicle.ConfigInfo; import com.yxt.anrui.base.biz.basevehiclemodelappendix.BaseVehicleModelAppendixService;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
@ -39,6 +40,12 @@ public class BaseModelConfigService extends MybatisBaseService<BaseModelConfigMa
@Autowired @Autowired
private SysOrganizationFeign sysOrganizationFeign; private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BaseVehicleAppendixService baseVehicleAppendixService;
@Autowired
private FileUploadComponent fileUploadComponent;
/** /**
* 车型配置信息分页列表 * 车型配置信息分页列表
* *
@ -483,11 +490,11 @@ public class BaseModelConfigService extends MybatisBaseService<BaseModelConfigMa
pagerQuery.getParams().setUseOrg(data.getSid()); pagerQuery.getParams().setUseOrg(data.getSid());
} }
String modelSid = pagerQuery.getParams().getModelSid(); String modelSid = pagerQuery.getParams().getModelSid();
AppModelConfigVo vo = baseMapper.getModelConfigList(modelSid); String useOrgSid = data.getSid();
List<String> modelImages = new ArrayList<>(); AppModelConfigVo vo = baseMapper.getModelConfigList(modelSid,useOrgSid);
modelImages.add("123123"); String type = "0002";
modelImages.add("324"); String path = fileUploadComponent.getUrlPrefix();
modelImages.add("345"); List<String> modelImages = baseVehicleAppendixService.selectBySid(type, modelSid, path);
vo.setModelImage(modelImages); vo.setModelImage(modelImages);
//基础配置拼接 //基础配置拼接

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

@ -115,8 +115,9 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
if (StringUtils.isNotBlank(query.getModelName())) { if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("modelName", query.getModelName()); qw.like("modelName", query.getModelName());
} }
qw.eq("createBySid",query.getUserSid());
qw.eq("useOrgSid",query.getUseOrgSid()); qw.eq("useOrgSid",query.getUseOrgSid());
qw.eq("createBySid",query.getUserSid());
// qw.eq("createBySid",query.getUserSid());
return qw; return qw;
} }

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepostprice/BasePostPriceService.java

@ -105,6 +105,9 @@ public class BasePostPriceService extends MybatisBaseService<BasePostPriceMapper
String brandSid = query.getBrandSid(); String brandSid = query.getBrandSid();
String roleSid = query.getRoleSid(); String roleSid = query.getRoleSid();
BaseOrderPostPriceVo vo = baseMapper.selectPostPrice(brandSid,roleSid); BaseOrderPostPriceVo vo = baseMapper.selectPostPrice(brandSid,roleSid);
if(vo == null){
return rb.setData(new BaseOrderPostPriceVo());
}
return rb.success().setData(vo); return rb.success().setData(vo);
} }
} }

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

@ -230,7 +230,7 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
* @param qw * @param qw
* @return * @return
*/ */
IPage<AppVehicleModelPriceVo> getModelList(IPage<AppVehicleModelPriceQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppVehicleModelPriceVo> qw); IPage<AppVehicleModelPriceVo> getModelList(IPage<AppVehicleModelPriceQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppVehicleModelPriceVo> qw,@Param("useOrgSid") String useOrgSid);
/** /**
* 手机端查询不本公司的现车排产车 * 手机端查询不本公司的现车排产车

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

@ -489,9 +489,12 @@
bvm.fuelTypeValue, bvm.fuelTypeValue,
bvm.gearboxTypeValue, bvm.gearboxTypeValue,
bvc.priceValidity, bvc.priceValidity,
bvc.guidedPrice, (SELECT CONCAT(MIN(bvc.guidedPrice), '-', MAX(bvc.guidedPrice)) FROM base_vehmodel_config bvc WHERE bvc.modelSid
(SELECT count(*) FROM base_vehmodel_config bvc WHERE bvc.modelSid = bvm.sid) AS configNum, = bvm.sid AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND lockedState = '03') AS nowCarNum, (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 count(*) (SELECT count(*)
FROM bus_vehicle_apply_detail bvad FROM bus_vehicle_apply_detail bvad
WHERE bvad.vehicleSid = bvm.sid) AS produceCarNum WHERE bvad.vehicleSid = bvm.sid) AS produceCarNum
@ -526,7 +529,7 @@
FROM base_vehicle bv FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid WHERE bv.modelSid = bvm.sid
AND bv.modelConfigSid = bvc.configurationItemsSid AND bv.modelConfigSid = bvc.configurationItemsSid
AND lockedState = '0004') AND lockedState = '03')
+ +
(SELECT count(*) (SELECT count(*)
FROM bus_vehicle_apply_detail bvad FROM bus_vehicle_apply_detail bvad

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

@ -6,6 +6,7 @@ import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigDetailsVo; import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigDetailsVo;
import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo; import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo;
import com.yxt.anrui.base.api.basevehicle.*; import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.api.basevehicleappendix.BaseVehicleAppendix;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo; import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
@ -21,6 +22,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
@ -29,10 +31,8 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import javax.xml.crypto.Data;
import java.util.Arrays; import java.util.*;
import java.util.List;
import java.util.Map;
/** /**
* Project: anrui-base(安瑞基础信息模块) <br/> * Project: anrui-base(安瑞基础信息模块) <br/>
@ -487,6 +487,11 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
String useOrg = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData().getSid(); String useOrg = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData().getSid();
AppCurrentCarDetailConfigVo configDetailVo = baseMapper.getAppModelConfig(modelSid, configSid, useOrg); AppCurrentCarDetailConfigVo configDetailVo = baseMapper.getAppModelConfig(modelSid, configSid, useOrg);
String date = configDetailVo.getDate();
Date date1 = DateUtils.dateStrConvertDate(date, "yyyy-MM-dd");
long time = date1.getTime();
configDetailVo.setDateLong(time);
//车型详细配置数据 //车型详细配置数据
AppCurrentCarDetailVo currentCarVo = baseMapper.getAppCurrentCarDetailConfigVo(modelSid, configSid, useOrg); AppCurrentCarDetailVo currentCarVo = baseMapper.getAppCurrentCarDetailConfigVo(modelSid, configSid, useOrg);
List<List<ConfigInfoSpanSize>> modelInfoList = new ArrayList<>(); List<List<ConfigInfoSpanSize>> modelInfoList = new ArrayList<>();
@ -746,10 +751,19 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
} }
IPage<AppVehicleModelPriceQuery> page = PagerUtil.queryToPage(pagerQuery); IPage<AppVehicleModelPriceQuery> page = PagerUtil.queryToPage(pagerQuery);
QueryWrapper<AppVehicleModelPriceVo> qw = appExistingCarBuildQW(pagerQuery.getParams()); QueryWrapper<AppVehicleModelPriceVo> qw = appExistingCarBuildQW(pagerQuery.getParams());
IPage<AppVehicleModelPriceVo> iPage = baseMapper.getModelList(page, qw); IPage<AppVehicleModelPriceVo> iPage = baseMapper.getModelList(page, qw, data.getSid());
// 3、 查询更多配置(其它分公司) // 3、 查询更多配置(其它分公司)
for (AppVehicleModelPriceVo record : iPage.getRecords()) { for (AppVehicleModelPriceVo record : iPage.getRecords()) {
record.setModelImage("http//:192.168.1.101:8111/aaa.com"); String sid = record.getModelSid();
String type = "0002";
String path = fileUploadComponent.getUrlPrefix();
List<String> list = baseVehicleAppendixService.selectBySid(type, sid, path);
if (list.size() > 0) {
String s = list.get(0);
record.setModelImage(s);
} else {
record.setModelImage("");
}
String useOrg = data.getSid(); String useOrg = data.getSid();
List<AppMoreConfigVo> moreConfigVos = baseMapper.getCompanyModelList(record.getModelSid(), useOrg); List<AppMoreConfigVo> moreConfigVos = baseMapper.getCompanyModelList(record.getModelSid(), useOrg);
for (AppMoreConfigVo moreConfigVo : moreConfigVos) { for (AppMoreConfigVo moreConfigVo : moreConfigVos) {
@ -767,31 +781,34 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
qw.like("bvm.vehicleAlias", pagerQuery.getName()); qw.like("bvm.vehicleAlias", pagerQuery.getName());
} }
if (StringUtils.isNotBlank(pagerQuery.getEmissionStandard())) { // 排放标准 if (StringUtils.isNotBlank(pagerQuery.getEmissionStandard())) { // 排放标准
qw.eq("bvm.emissionStandard", pagerQuery.getEmissionStandard()); qw.eq("bvm.emissionStandardValue", pagerQuery.getEmissionStandard());
} }
if (StringUtils.isNotBlank(pagerQuery.getDriver())) { // 驱动 if (StringUtils.isNotBlank(pagerQuery.getDriver())) { // 驱动
qw.eq("bvm.driveForm", pagerQuery.getDriver()); qw.eq("bvm.driveFormValue", pagerQuery.getDriver());
} }
if (StringUtils.isNotBlank(pagerQuery.getGearbox())) { // 变速箱 if (StringUtils.isNotBlank(pagerQuery.getGearbox())) { // 变速箱
qw.eq("bvm.gearboxType", pagerQuery.getGearbox()); qw.eq("bvm.gearboxTypeValue", pagerQuery.getGearbox());
} }
if (StringUtils.isNotBlank(pagerQuery.getSeries())) { // 产品系别 if (StringUtils.isNotBlank(pagerQuery.getSeries())) { // 产品系别
qw.eq("bvm.department", pagerQuery.getSeries()); qw.eq("bvm.departmentValue", pagerQuery.getSeries());
} }
if (StringUtils.isNotBlank(pagerQuery.getVehicleFunction())) { // 功能 if (StringUtils.isNotBlank(pagerQuery.getVehicleFunction())) { // 功能
qw.eq("bvm.vehicleType", pagerQuery.getVehicleFunction()); qw.eq("bvm.vehicleTypeValue", pagerQuery.getVehicleFunction());
} }
if (StringUtils.isNotBlank(pagerQuery.getMarketSegments())) { // 细分市场 if (StringUtils.isNotBlank(pagerQuery.getMarketSegments())) { // 细分市场
qw.eq("bvm.marketSegments", pagerQuery.getMarketSegments()); qw.eq("bvm.marketSegmentsValue", pagerQuery.getMarketSegments());
} }
if (StringUtils.isNotBlank(pagerQuery.getVehicleVersion())) { // 版本 if (StringUtils.isNotBlank(pagerQuery.getVehicleVersion())) { // 版本
qw.eq("bvm.vehicleVersion", pagerQuery.getVehicleVersion()); qw.eq("bvm.vehicleVersionValue", pagerQuery.getVehicleVersion());
} }
if (StringUtils.isNotBlank(pagerQuery.getFuelType())) { // 燃料 if (StringUtils.isNotBlank(pagerQuery.getFuelType())) { // 燃料
qw.eq("bvm.fuelType", pagerQuery.getFuelType()); qw.eq("bvm.fuelTypeValue", pagerQuery.getFuelType());
} }
if (StringUtils.isNotBlank(pagerQuery.getHorsepower())) { // 马力 if (StringUtils.isNotBlank(pagerQuery.getHorsepower())) { // 马力
qw.eq("bvm.power", pagerQuery.getHorsepower()); qw.eq("bvm.powerValue", pagerQuery.getHorsepower());
}
if (StringUtils.isNotBlank(pagerQuery.getBrand())) { // 品牌
qw.eq("bvm.brandName", pagerQuery.getBrand());
} }
if (StringUtils.isNotBlank(pagerQuery.getUseOrg())) { // 分公司 if (StringUtils.isNotBlank(pagerQuery.getUseOrg())) { // 分公司
qw.eq("bvc.useOrgSid", pagerQuery.getUseOrg()); qw.eq("bvc.useOrgSid", pagerQuery.getUseOrg());
@ -1244,14 +1261,20 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (StringUtils.isNotBlank(query.getNames())) { if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bv.vinNo", query.getNames());//车架号 qw.like("bv.vinNo", query.getNames());//车架号
} }
if (StringUtils.isNotBlank(query.getNames())) { // if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bv.vehicleStateValue", query.getNames());//状态 // qw.eq("bv.vehicleStateValue", query.getNames());//状态
} // }
if (StringUtils.isNotBlank(query.getNames())) { // if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bmc.carColor", query.getNames());//车身颜色 // qw.eq("bmc.carColor", query.getNames());//车身颜色
// }
// if (StringUtils.isNotBlank(query.getNames())) {
// qw.eq("bv.location", query.getNames());//存放地点
// }
if (StringUtils.isNotBlank(query.getModelSid())) {// 车型
qw.eq("bv.modelSid", query.getModelSid());
} }
if (StringUtils.isNotBlank(query.getNames())) { if (StringUtils.isNotBlank(query.getConfigSid())) {//分公司
qw.like("bv.location", query.getNames());//存放地点 qw.eq("bv.modelConfigSid", query.getConfigSid());
} }
if (StringUtils.isNotBlank(query.getUseOrg())) {//分公司 if (StringUtils.isNotBlank(query.getUseOrg())) {//分公司
qw.eq("bv.useOrg", query.getUseOrg()); qw.eq("bv.useOrg", query.getUseOrg());
@ -1290,7 +1313,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
QueryWrapper<AppBaseNowProduceCarVo> qw = new QueryWrapper<>(); QueryWrapper<AppBaseNowProduceCarVo> qw = new QueryWrapper<>();
if (query != null) { if (query != null) {
if (StringUtils.isNotBlank(query.getNames())) { if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bvo.orderStatus", query.getNames());//订单状态 qw.like("bvo.orderNo", query.getNames());// 订单编号
} }
if (StringUtils.isNotBlank(query.getUseOrg())) {//分公司 if (StringUtils.isNotBlank(query.getUseOrg())) {//分公司
qw.eq("bvo.useOrg", query.getUseOrg()); qw.eq("bvo.useOrg", query.getUseOrg());

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleappendix/BaseVehicleAppendixService.java

@ -73,4 +73,8 @@ public class BaseVehicleAppendixService extends MybatisBaseService<BaseVehicleAp
public int deletePath(String path) { public int deletePath(String path) {
return baseMapper.deletePath(path); return baseMapper.deletePath(path);
} }
public BaseVehicleAppendix selectByLinkSid(String modelSid, String type) {
return null;
}
} }

21
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java

@ -187,17 +187,22 @@ public class BusVehicleApplyDetailService extends MybatisBaseService<BusVehicleA
int count = 0; int count = 0;
int plat = 0; int plat = 0;
int locking = 0; int locking = 0;
for (int i = 0; i < orderListVoList.size(); i++) { if(orderListVoList.size() != 0){
String platformNo = orderListVoList.get(i).getPlatformNo(); for (int i = 0; i < orderListVoList.size(); i++) {
String lockingNum = orderListVoList.get(i).getLockingNum(); if(orderListVoList.get(i) != null){
if (StringUtils.isNotBlank(platformNo)) { String platformNo = orderListVoList.get(i).getPlatformNo();
plat = Integer.parseInt(platformNo); String lockingNum = orderListVoList.get(i).getLockingNum();
if (StringUtils.isNotBlank(lockingNum)) { if (StringUtils.isNotBlank(platformNo)) {
locking = Integer.parseInt(lockingNum); plat = Integer.parseInt(platformNo);
if (StringUtils.isNotBlank(lockingNum)) {
locking = Integer.parseInt(lockingNum);
}
}
count = count+(plat-locking);
} }
} }
count = count+(plat-locking);
} }
return rb.success().setData(count); return rb.success().setData(count);
} }
} }

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java

@ -8,6 +8,7 @@ import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsurance
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDto; import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDto;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto; import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmitDto;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDto; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDto;
import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDto; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDto;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
@ -118,4 +119,7 @@ public class BusSalesOrderAllDto implements Dto {
private List<String> vehicleList = new ArrayList<>(); private List<String> vehicleList = new ArrayList<>();
@ApiModelProperty(value = "优惠包价值") @ApiModelProperty(value = "优惠包价值")
private List<String> priceList = new ArrayList<>(); private List<String> priceList = new ArrayList<>();
@ApiModelProperty(value = "提交接口使用参数:销售订单提交时补充的内容")
private BusSalesOrderSubmitDto busSalesOrderSubmit;
} }

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java

@ -121,4 +121,10 @@ public class BusSalesOrderDetailsVo implements Vo {
@ApiModelProperty("单台开票金额") @ApiModelProperty("单台开票金额")
private String oneBillMoney; // 单台开票金额 private String oneBillMoney; // 单台开票金额
@ApiModelProperty(value = "客户类型key")
private String customerClassKey;
@ApiModelProperty(value = "客户类型")
private String customerClass;
@ApiModelProperty(value = "客户头像")
private String customerPhoto;
} }

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDetailsVo.java

@ -59,4 +59,7 @@ public class BusSalesOrderInsuranceDetailsVo implements Vo {
@ApiModelProperty("公司入保期数") @ApiModelProperty("公司入保期数")
private Integer insuranceNum; private Integer insuranceNum;
@ApiModelProperty(value = "保险备注")
private String remarks;
} }

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDto.java

@ -56,4 +56,7 @@ public class BusSalesOrderInsuranceDto implements Dto {
@ApiModelProperty("公司入保期数") @ApiModelProperty("公司入保期数")
private Integer insuranceNum; private Integer insuranceNum;
@ApiModelProperty(value = "备注")
private String remarks;
} }

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeupDetailsVo.java

@ -72,5 +72,6 @@ public class BusSalesOrderMakeupDetailsVo implements Vo {
private String moreConfig; private String moreConfig;
@ApiModelProperty("合同上传") @ApiModelProperty("合同上传")
private String contractPath; private String contractPath;
private String remarks;
} }

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeupDto.java

@ -69,5 +69,6 @@ public class BusSalesOrderMakeupDto implements Dto {
private String moreConfig; private String moreConfig;
@ApiModelProperty("合同上传") @ApiModelProperty("合同上传")
private String contractPath; private String contractPath;
private String remarks;
} }

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModel.java

@ -52,6 +52,8 @@ public class BusSalesOrderModel extends BaseEntity {
@ApiModelProperty("销售订单sid") @ApiModelProperty("销售订单sid")
private String salesOrderSid; private String salesOrderSid;
@ApiModelProperty(value = "品牌sid")
private String brandSid;
@ApiModelProperty(value = "品牌") @ApiModelProperty(value = "品牌")
private String brandName; private String brandName;
@ApiModelProperty("车型sid") @ApiModelProperty("车型sid")

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDetailsVo.java

@ -70,5 +70,9 @@ public class BusSalesOrderModelDetailsVo implements Vo {
@ApiModelProperty("单台成交价") @ApiModelProperty("单台成交价")
@JsonSerialize(using = ToStringSerializer.class) @JsonSerialize(using = ToStringSerializer.class)
private String finalPrice; private String finalPrice;
@ApiModelProperty(value = "品牌sid")
private String brandSid;
@ApiModelProperty(value = "品牌")
private String brandName;
} }

41
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordersubmit/BusSalesOrderSubmit.java

@ -0,0 +1,41 @@
package com.yxt.anrui.buscenter.api.bussalesordersubmit;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/5/20 9:20
* @Description
*/
@Data
public class BusSalesOrderSubmit extends BaseEntity {
private static final long serialVersionUID = 1919809277011946278L;
@ApiModelProperty(value = "销售订单sid")
private String salesOrderSid;
@ApiModelProperty(value = "价格说明")
private String priceRemarks;
@ApiModelProperty(value = "优惠说明")
private String discountRemarks;
@ApiModelProperty(value = "中介名称")
private String distributorName;
@ApiModelProperty(value = "联系电话")
private String distributorMobile;
@ApiModelProperty(value = "中介单位sid")
private String distributorSid;
@ApiModelProperty(value = "单车中介服务费")
private BigDecimal distributorPrice;
@ApiModelProperty(value = "返利合计")
private BigDecimal distributorPriceAll;
@ApiModelProperty(value = "内部引荐人")
private String name;
@ApiModelProperty(value = "内部引荐人sid")
private String userSid;
}

41
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordersubmit/BusSalesOrderSubmitDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.buscenter.api.bussalesordersubmit;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/5/20 9:29
* @Description
*/
@Data
public class BusSalesOrderSubmitDto implements Dto {
private static final long serialVersionUID = 4276394815492406556L;
@ApiModelProperty(value = "价格说明")
private String priceRemarks;
@ApiModelProperty(value = "优惠说明")
private String discountRemarks;
@ApiModelProperty(value = "中介名称")
private String distributorName;
@ApiModelProperty(value = "联系电话")
private String distributorMobile;
@ApiModelProperty(value = "中介单位sid")
private String distributorSid;
@ApiModelProperty(value = "单车中介服务费")
private String distributorPrice;
@ApiModelProperty(value = "返利合计")
private String distributorPriceAll;
@ApiModelProperty(value = "内部引荐人")
private String name;
@ApiModelProperty(value = "内部引荐人sid")
private String userSid;
@ApiModelProperty(value = "数量")
private Integer num;
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousService.java

@ -29,7 +29,6 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.busdepositfictitious.*; import com.yxt.anrui.buscenter.api.busdepositfictitious.*;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit;
import com.yxt.anrui.buscenter.biz.bussalesorderdeposit.BusSalesOrderDepositService; import com.yxt.anrui.buscenter.biz.bussalesorderdeposit.BusSalesOrderDepositService;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
@ -98,8 +97,7 @@ public class BusDepositFictitiousService extends MybatisBaseService<BusDepositFi
} }
public int deleteByOrderSid(String sid) { public int deleteByOrderSid(String sid) {
BusSalesOrderDeposit busSalesOrderDeposit = busSalesOrderDepositService.selectByOrderSid(sid); return baseMapper.deleteByDepositSid(sid);
return baseMapper.deleteByDepositSid(busSalesOrderDeposit.getSid());
} }
/** /**

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

@ -49,6 +49,7 @@ import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDeta
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDto; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDto;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDto; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDto;
import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsurance;
import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDto; import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDto;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDetailsVo;
@ -57,6 +58,7 @@ import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDetailsV
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto; import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmitDto;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDto; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDto;
import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDetailsVo;
@ -68,6 +70,7 @@ import com.yxt.anrui.buscenter.biz.bussalesorderinsurance.BusSalesOrderInsurance
import com.yxt.anrui.buscenter.biz.bussalesordermakeup.BusSalesOrderMakeupService; import com.yxt.anrui.buscenter.biz.bussalesordermakeup.BusSalesOrderMakeupService;
import com.yxt.anrui.buscenter.biz.bussalesordermodel.BusSalesOrderModelService; import com.yxt.anrui.buscenter.biz.bussalesordermodel.BusSalesOrderModelService;
import com.yxt.anrui.buscenter.biz.bussalesorderprice.BusSalesOrderPriceService; import com.yxt.anrui.buscenter.biz.bussalesorderprice.BusSalesOrderPriceService;
import com.yxt.anrui.buscenter.biz.bussalesordersubmit.BusSalesOrderSubmitService;
import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService;
import com.yxt.anrui.buscenter.biz.bussalesvehicleorder.BusSalesVehicleOrderService; import com.yxt.anrui.buscenter.biz.bussalesvehicleorder.BusSalesVehicleOrderService;
import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign;
@ -87,6 +90,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo;
import com.yxt.anrui.portal.config.DictCommonType; import com.yxt.anrui.portal.config.DictCommonType;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils; import com.yxt.common.base.utils.DateUtils;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
@ -157,6 +161,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private BaseVehiclePolicyFeign baseVehiclePolicyFeign; private BaseVehiclePolicyFeign baseVehiclePolicyFeign;
@Autowired @Autowired
private DictCommonFeign dictCommonFeign; private DictCommonFeign dictCommonFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private BusSalesOrderSubmitService busSalesOrderSubmitService;
/** /**
* 构造查询条件 * 构造查询条件
@ -235,6 +243,11 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
BusSalesOrderDetailsVo vo = new BusSalesOrderDetailsVo(); BusSalesOrderDetailsVo vo = new BusSalesOrderDetailsVo();
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
vo.setCreateDate(DateUtil.formatDate(entity.getCreateDate())); vo.setCreateDate(DateUtil.formatDate(entity.getCreateDate()));
if (!entity.getCustomerPhoto().contains(fileUploadComponent.getUrlPrefix())) {
vo.setCustomerPhoto(fileUploadComponent.getUrlPrefix() + entity.getCustomerPhoto());
} else {
vo.setCustomerPhoto(entity.getCustomerPhoto());
}
//查询主车车型信息 //查询主车车型信息
BusSalesOrderModelDetailsVo busSalesOrderModelDetailsVo = busSalesOrderModelService.details(entity.getSid()); BusSalesOrderModelDetailsVo busSalesOrderModelDetailsVo = busSalesOrderModelService.details(entity.getSid());
if (busSalesOrderModelDetailsVo != null) { if (busSalesOrderModelDetailsVo != null) {
@ -271,12 +284,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
vo.setBusSalesOrderDiscountList(busSalesOrderDiscountDetailsVoList); vo.setBusSalesOrderDiscountList(busSalesOrderDiscountDetailsVoList);
} }
//查询保险说明 //查询保险说明
if ("1".equals(entity.getIsInsurance())) {
BusSalesOrderInsuranceDetailsVo busSalesOrderInsuranceDetailsVo = busSalesOrderInsuranceService.details(entity.getSid()); BusSalesOrderInsuranceDetailsVo busSalesOrderInsuranceDetailsVo = busSalesOrderInsuranceService.details(entity.getSid());
if (busSalesOrderInsuranceDetailsVo != null) { if (busSalesOrderInsuranceDetailsVo != null) {
vo.setBusSalesOrderInsurance(busSalesOrderInsuranceDetailsVo); vo.setBusSalesOrderInsurance(busSalesOrderInsuranceDetailsVo);
}
} }
//查询订金信息 //查询订金信息
BusSalesOrderDepositDetailsVo busSalesOrderDepositDetailsVo = busSalesOrderDepositService.details(entity.getSid()); BusSalesOrderDepositDetailsVo busSalesOrderDepositDetailsVo = busSalesOrderDepositService.details(entity.getSid());
if (busSalesOrderDepositDetailsVo != null) { if (busSalesOrderDepositDetailsVo != null) {
@ -298,6 +311,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
* @param dto 数据传输对象 * @param dto 数据传输对象
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> saveOrUpdateOrder(BusSalesOrderAllDto dto) { public ResultBean<String> saveOrUpdateOrder(BusSalesOrderAllDto dto) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid(); String sid = dto.getSid();
@ -335,9 +349,20 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
} else if ("2".equals(dto.getType())) { } else if ("2".equals(dto.getType())) {
//采购订单 //采购订单
List<BusSalesVehicleOrderDto> busSalesVehicleOrderList = dto.getBusSalesVehicleOrderList(); List<BusSalesVehicleOrderDto> busSalesVehicleOrderList = dto.getBusSalesVehicleOrderList();
for (int i = 0; i < busSalesVehicleOrderList.size(); i++) { if(busSalesVehicleOrderList.size()>0){
vehicleNum = vehicleNum + busSalesVehicleOrderList.get(i).getUsingNum(); for (int i = 0; i < busSalesVehicleOrderList.size(); i++) {
if(busSalesVehicleOrderList.get(i) != null){
if(busSalesVehicleOrderList.get(i).getUsingNum()>busSalesVehicleOrderList.get(i).getUseNum()){
return rb.setMsg("本次使用台数不允许大于可使用台数");
}
vehicleNum = vehicleNum + busSalesVehicleOrderList.get(i).getUsingNum();
}else{
return rb.setMsg("请选择采购订单数据");
}
}
} }
} else { } else {
vehicleNum = quantity; vehicleNum = quantity;
} }
@ -357,10 +382,20 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if ("1".equals(dto.getIsTop())) { if ("1".equals(dto.getIsTop())) {
//上装价格 //上装价格
BusSalesOrderMakeupDto busSalesOrderMakeup = dto.getBusSalesOrderMakeup(); BusSalesOrderMakeupDto busSalesOrderMakeup = dto.getBusSalesOrderMakeup();
if (StringUtils.isBlank(busSalesOrderMakeup.getTopName())) {
return rb.setMsg("包含上装,上装名称不能为空");
}
String topPrice = busSalesOrderMakeup.getTopPrice(); String topPrice = busSalesOrderMakeup.getTopPrice();
// String topPrice = dto.getBusSalesOrderMakeup().getTopPrice(); if (StringUtils.isNotBlank(topPrice)) {
singleGuildPriceBig = singleGuildPriceBig.add(new BigDecimal(topPrice)); singleGuildPriceBig = singleGuildPriceBig.add(new BigDecimal(topPrice));
singleFinalPriceBig = singleFinalPriceBig.add(new BigDecimal(topPrice)); singleFinalPriceBig = singleFinalPriceBig.add(new BigDecimal(topPrice));
}
}
if ("1".equals(dto.getIsInsurance())) {
BusSalesOrderInsuranceDto busSalesOrderInsurance = dto.getBusSalesOrderInsurance();
if (StringUtils.isBlank(busSalesOrderInsurance.getInsuranceName())) {
return rb.setMsg("公司入保下保险公司名称不能为空");
}
} }
//单台指导价(主车+上装价格) //单台指导价(主车+上装价格)
String singleGuildPrice = dto.getBusSalesOrderPrice().getSingleGuildPrice(); String singleGuildPrice = dto.getBusSalesOrderPrice().getSingleGuildPrice();
@ -421,7 +456,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//判断补交金额和订金合计-本次结转金额 //判断补交金额和订金合计-本次结转金额
String makeUpDeposit = dto.getBusSalesOrderDeposit().getMakeUpDeposit(); String makeUpDeposit = dto.getBusSalesOrderDeposit().getMakeUpDeposit();
if (StringUtils.isNotBlank(makeUpDeposit)) { if (StringUtils.isNotBlank(makeUpDeposit)) {
if(depositBig.compareTo(new BigDecimal(depositAll))>0){ if (depositBig.compareTo(new BigDecimal(depositAll)) > 0) {
return rb.setMsg("本次结转金额之和已超订金合计金额"); return rb.setMsg("本次结转金额之和已超订金合计金额");
} }
if (new BigDecimal(makeUpDeposit).compareTo(new BigDecimal(depositAll).subtract(depositBig)) != 0) { if (new BigDecimal(makeUpDeposit).compareTo(new BigDecimal(depositAll).subtract(depositBig)) != 0) {
@ -432,8 +467,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
} }
return rb.success(); return rb.success();
} }
@Transactional(rollbackFor = Exception.class)
private void updateOrder(BusSalesOrderAllDto dto) { public void updateOrder(BusSalesOrderAllDto dto) {
//主车车型信息 //主车车型信息
BusSalesOrderModelDto busSalesOrderModelDto = dto.getBusSalesOrderModel(); BusSalesOrderModelDto busSalesOrderModelDto = dto.getBusSalesOrderModel();
//现车车辆信息 //现车车辆信息
@ -454,6 +489,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<BusDepositFictitiousDto> busDepositFictitiousDtoList = dto.getBusDepositFictitiousList(); List<BusDepositFictitiousDto> busDepositFictitiousDtoList = dto.getBusDepositFictitiousList();
BusSalesOrder busSalesOrder = fetchBySid(dto.getSid()); BusSalesOrder busSalesOrder = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, busSalesOrder, "sid"); BeanUtil.copyProperties(dto, busSalesOrder, "sid");
if (dto.getCustomerPhoto().contains(fileUploadComponent.getUrlPrefix())) {
busSalesOrder.setCustomerPhoto(dto.getCustomerPhoto().replace(fileUploadComponent.getUrlPrefix(), ""));
}
baseMapper.updateById(busSalesOrder); baseMapper.updateById(busSalesOrder);
//主车车型信息保存 //主车车型信息保存
busSalesOrderModelService.saveModel(busSalesOrderModelDto, dto.getSid()); busSalesOrderModelService.saveModel(busSalesOrderModelDto, dto.getSid());
@ -484,19 +522,28 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busSalesOrderInsuranceService.deleteByOrderSid(dto.getSid()); busSalesOrderInsuranceService.deleteByOrderSid(dto.getSid());
busSalesOrderInsuranceService.saveInsurance(busSalesOrderInsuranceDto, dto.getSid()); busSalesOrderInsuranceService.saveInsurance(busSalesOrderInsuranceDto, dto.getSid());
} else { } else {
busSalesOrderInsuranceService.deleteByOrderSid(dto.getSid()); if (dto.getBusSalesOrderInsurance() == null) {
busSalesOrderInsuranceService.deleteByOrderSid(dto.getSid());
} else {
busSalesOrderInsuranceService.updateByOrderSid(dto.getSid(), dto.getBusSalesOrderInsurance().getRemarks());
}
} }
busSalesOrderDepositService.updateOrderDepo(busSalesOrderDepositDto, dto.getSid()); busSalesOrderDepositService.updateOrderDepo(busSalesOrderDepositDto, dto.getSid());
if ("01".equals(busSalesOrderDepositDto.getDepositTypeKey())) { BusSalesOrderDeposit busSalesOrderDeposit = busSalesOrderDepositService.selectByOrderSid(dto.getSid());
//现交订金 if(busSalesOrderDeposit != null){
busDepositFictitiousService.deleteByOrderSid(dto.getSid()); if ("02".equals(busSalesOrderDepositDto.getDepositTypeKey())) {
busDepositFictitiousService.saveFictitious(busDepositFictitiousDtoList, dto.getSid()); //结转金额
} else { busDepositFictitiousService.deleteByOrderSid(busSalesOrderDeposit.getSid());
busDepositFictitiousService.deleteByOrderSid(dto.getSid()); busDepositFictitiousService.saveFictitious(busDepositFictitiousDtoList, busSalesOrderDeposit.getSid());
} else {
busDepositFictitiousService.deleteByOrderSid(busSalesOrderDeposit.getSid());
}
} }
}
}
@Transactional(rollbackFor = Exception.class)
public String save(BusSalesOrderAllDto dto) { public String save(BusSalesOrderAllDto dto) {
//主车车型信息 //主车车型信息
BusSalesOrderModelDto busSalesOrderModelDto = dto.getBusSalesOrderModel(); BusSalesOrderModelDto busSalesOrderModelDto = dto.getBusSalesOrderModel();
@ -544,6 +591,15 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
String isInsurance = dto.getIsInsurance(); String isInsurance = dto.getIsInsurance();
if ("1".equals(isInsurance)) { if ("1".equals(isInsurance)) {
busSalesOrderInsuranceService.saveInsurance(busSalesOrderInsuranceDto, sid); busSalesOrderInsuranceService.saveInsurance(busSalesOrderInsuranceDto, sid);
} else {
if (dto.getBusSalesOrderInsurance() != null) {
if (StringUtils.isNotBlank(dto.getBusSalesOrderInsurance().getRemarks())) {
BusSalesOrderInsurance busSalesOrderInsurance = new BusSalesOrderInsurance();
busSalesOrderInsurance.setSalesOrderSid(sid);
busSalesOrderInsurance.setRemarks(dto.getBusSalesOrderInsurance().getRemarks());
busSalesOrderInsuranceService.save(busSalesOrderInsurance);
}
}
} }
String depositSid = busSalesOrderDepositService.saveOrderDepo(busSalesOrderDepositDto, sid); String depositSid = busSalesOrderDepositService.saveOrderDepo(busSalesOrderDepositDto, sid);
if ("02".equals(busSalesOrderDepositDto.getDepositTypeKey())) { if ("02".equals(busSalesOrderDepositDto.getDepositTypeKey())) {
@ -553,13 +609,29 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return sid; return sid;
} }
@Transactional(rollbackFor = Exception.class)
public ResultBean submit(BusSalesOrderAllDto dto) { public ResultBean submit(BusSalesOrderAllDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String orgSid = checkUserOrg(dto.getStaffSid()); String orgSid = checkUserOrg(dto.getStaffSid());
ResultBean<String> resultBean = saveOrUpdateOrder(dto); ResultBean<String> resultBean = saveOrUpdateOrder(dto);
if (resultBean.getSuccess()) { if (resultBean.getSuccess()) {
String businessSid = resultBean.getData(); String businessSid = resultBean.getData();
//保存提交时补充的内容
BusSalesOrderSubmitDto busSalesOrderSubmit = dto.getBusSalesOrderSubmit();
if(busSalesOrderSubmit != null){
if(StringUtils.isNotBlank(busSalesOrderSubmit.getDistributorPrice()) && StringUtils.isNotBlank(busSalesOrderSubmit.getDistributorPriceAll())){
BigDecimal priceBig = new BigDecimal(busSalesOrderSubmit.getDistributorPrice());
BigDecimal priceAll = new BigDecimal(busSalesOrderSubmit.getDistributorPriceAll());
if(busSalesOrderSubmit.getNum() != null){
if(priceAll.compareTo(priceBig.multiply(new BigDecimal(busSalesOrderSubmit.getNum().toString()))) != 0){
return rb.setMsg("返利合计计算错误");
}
}
}
busSalesOrderSubmitService.saveOrderSubmit(busSalesOrderSubmit,businessSid);
}
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
variables.put("businessSid", businessSid); variables.put("businessSid", businessSid);
if ("01".equals(dto.getPayTypeKey())) { if ("01".equals(dto.getPayTypeKey())) {
@ -645,9 +717,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
for (int i = 0; i < vehicleList.size(); i++) { for (int i = 0; i < vehicleList.size(); i++) {
//根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额 //根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额
ResultBean<BaseVehiclePriceVo> priceResultBean = baseVehiclePolicyFeign.selectPrice(vehicleList.get(i)); ResultBean<BaseVehiclePriceVo> priceResultBean = baseVehiclePolicyFeign.selectPrice(vehicleList.get(i));
String price = priceResultBean.getData().getDiscountMoney(); if(priceResultBean.getSuccess() && priceResultBean.getData() != null){
BigDecimal bigDecimal1 = new BigDecimal(price); String price = priceResultBean.getData().getDiscountMoney();
initBigDecimal = initBigDecimal.add(bigDecimal1); BigDecimal bigDecimal1 = new BigDecimal(price);
initBigDecimal = initBigDecimal.add(bigDecimal1);
}
} }
} }
} }

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceMapper.java

@ -75,4 +75,6 @@ public interface BusSalesOrderInsuranceMapper extends BaseMapper<BusSalesOrderIn
* @return * @return
*/ */
BusSalesOrderInsuranceDetailsVo details(String sid); BusSalesOrderInsuranceDetailsVo details(String sid);
int updateByOrderSid(@Param("sid") String sid, @Param("remarks") String remarks);
} }

12
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceMapper.xml

@ -36,8 +36,18 @@
resultType="com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDetailsVo"> resultType="com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDetailsVo">
select insuranceName, select insuranceName,
insuranceCarMoney, insuranceCarMoney,
insuranceNum insuranceNum,
remarks
from bus_sales_order_insurance from bus_sales_order_insurance
where salesOrderSid = #{sid} where salesOrderSid = #{sid}
</select> </select>
<update id="updateByOrderSid">
update bus_sales_order_insurance
set insuranceNum = NULL,
insuranceCarMoney=NULL,
insuranceName=NULL,
remarks = #{remarks}
where salesOrderSid = #{sid}
</update>
</mapper> </mapper>

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java

@ -103,4 +103,8 @@ public class BusSalesOrderInsuranceService extends MybatisBaseService<BusSalesOr
public BusSalesOrderInsuranceDetailsVo selectOrderInsuranceStateBySid(String saleOrderSid) { public BusSalesOrderInsuranceDetailsVo selectOrderInsuranceStateBySid(String saleOrderSid) {
return baseMapper.selectOrderInsuranceStateBySid(saleOrderSid); return baseMapper.selectOrderInsuranceStateBySid(saleOrderSid);
} }
public int updateByOrderSid(String sid, String remarks) {
return baseMapper.updateByOrderSid(sid,remarks);
}
} }

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

@ -43,7 +43,7 @@
announcementModel, announcementModel,
topPrice, topPrice,
moreConfig, moreConfig,
contractPath contractPath,remarks
from bus_sales_order_makeup from bus_sales_order_makeup
where salesOrderSid = #{sid} where salesOrderSid = #{sid}
</select> </select>

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelMapper.xml

@ -41,7 +41,9 @@
moreConfig, moreConfig,
specialConfig, specialConfig,
guildPrice, guildPrice,
finalPrice finalPrice,
brandName,
brandSid
from bus_sales_order_model from bus_sales_order_model
where salesOrderSid = #{sid} where salesOrderSid = #{sid}
</select> </select>

14
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordersubmit/BusSalesOrderSubmitMapper.java

@ -0,0 +1,14 @@
package com.yxt.anrui.buscenter.biz.bussalesordersubmit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author dimengzhe
* @Date 2022/5/20 9:35
* @Description
*/
@Mapper
public interface BusSalesOrderSubmitMapper extends BaseMapper<BusSalesOrderSubmit> {
}

38
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordersubmit/BusSalesOrderSubmitService.java

@ -0,0 +1,38 @@
package com.yxt.anrui.buscenter.biz.bussalesordersubmit;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmitDto;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.StringUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/5/20 9:31
* @Description
*/
@Service
public class BusSalesOrderSubmitService extends MybatisBaseService<BusSalesOrderSubmitMapper, BusSalesOrderSubmit> {
public void saveOrderSubmit(BusSalesOrderSubmitDto busSalesOrderSubmitDto, String businessSid) {
if (busSalesOrderSubmitDto != null) {
BusSalesOrderSubmit busSalesOrderSubmit1 = new BusSalesOrderSubmit();
BeanUtil.copyProperties(busSalesOrderSubmitDto, busSalesOrderSubmit1, "sid");
BigDecimal priceBig = new BigDecimal("0");
BigDecimal priceAll = new BigDecimal("0");
if (StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorPrice())) {
priceBig = new BigDecimal(busSalesOrderSubmitDto.getDistributorPrice());
busSalesOrderSubmit1.setDistributorPrice(priceBig);
}
if (StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorPriceAll())) {
priceAll = new BigDecimal(busSalesOrderSubmitDto.getDistributorPriceAll());
busSalesOrderSubmit1.setDistributorPriceAll(priceAll);
}
busSalesOrderSubmit1.setSalesOrderSid(businessSid);
save(busSalesOrderSubmit1);
}
}
}

15
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderService.java

@ -28,7 +28,6 @@ package com.yxt.anrui.buscenter.biz.bussalesvehicleorder;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.bussalesorder.AppNowCar;
import com.yxt.anrui.buscenter.api.bussalesorder.AppReadyCarList; import com.yxt.anrui.buscenter.api.bussalesorder.AppReadyCarList;
import com.yxt.anrui.buscenter.api.bussalesvehicleorder.*; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.*;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
@ -89,13 +88,13 @@ public class BusSalesVehicleOrderService extends MybatisBaseService<BusSalesVehi
if (stringList.size() > 0) { if (stringList.size() > 0) {
//删除 //删除
baseMapper.deleteBySalesOrderSid(sid); baseMapper.deleteBySalesOrderSid(sid);
for (int i = 0; i < vehicleList.size(); i++) { }
BusSalesVehicleOrderDto busSalesVehicleOrderDto = vehicleList.get(i); for (int i = 0; i < vehicleList.size(); i++) {
BusSalesVehicleOrder busSalesVehicleOrder = new BusSalesVehicleOrder(); BusSalesVehicleOrderDto busSalesVehicleOrderDto = vehicleList.get(i);
BeanUtil.copyProperties(busSalesVehicleOrderDto, busSalesVehicleOrder, "sid"); BusSalesVehicleOrder busSalesVehicleOrder = new BusSalesVehicleOrder();
busSalesVehicleOrder.setSalesOrderSid(sid); BeanUtil.copyProperties(busSalesVehicleOrderDto, busSalesVehicleOrder, "sid");
save(busSalesVehicleOrder); busSalesVehicleOrder.setSalesOrderSid(sid);
} save(busSalesVehicleOrder);
} }
} }

5
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandVo.java

@ -26,10 +26,11 @@ public class AppCrmVehicledemandVo implements Vo {
private String createTime; private String createTime;
@ApiModelProperty("销售指导价") @ApiModelProperty("销售指导价")
private String vehicleModelOffer; private String guidancePrice;
@ApiModelProperty("购车方式value") @ApiModelProperty("购车方式value")
private String purchaseMethod; private String purchaseType;
} }

2
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemand.java

@ -59,7 +59,7 @@ public class CrmVehicledemand extends BaseEntity {
private String changeOptions; private String changeOptions;
@ApiModelProperty("车型报价") @ApiModelProperty("车型报价")
private String vehicleModelOffer; private BigDecimal vehicleModelOffer;
@ApiModelProperty("数量") @ApiModelProperty("数量")
private String number; private String number;

2
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomer/CrmCustomerMapper.java

@ -158,5 +158,5 @@ public interface CrmCustomerMapper extends BaseMapper<CrmCustomer> {
List<CrmCustomerSelectVo> cusList(); List<CrmCustomerSelectVo> cusList();
int updateRemindAndByCustomerSid(@Param("customerSid") String customerSid,@Param("remind_day") String remind_day, @Param("remind_remark") String remind_remark,@Param("isOnRemind") String isOnRemind, @Param("isOnRemindkey") String isOnRemindkey); int updateRemindAndByCustomerSid(@Param("customerSid") String customerSid, @Param("remind_day") String remind_day, @Param("remind_remark") String remind_remark, @Param("isOnRemind") String isOnRemind, @Param("isOnRemindkey") String isOnRemindkey, @Param("follow_state") String follow_state);
} }

3
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomer/CrmCustomerMapper.xml

@ -137,7 +137,8 @@
SET remind_day = #{remind_day}, SET remind_day = #{remind_day},
remind_remark = #{remind_remark}, remind_remark = #{remind_remark},
isOnRemind = #{isOnRemind}, isOnRemind = #{isOnRemind},
isOnRemindkey=#{isOnRemindkey} isOnRemindkey=#{isOnRemindkey},
follow_state = #{follow_state}
WHERE sid = #{customerSid} WHERE sid = #{customerSid}
</update> </update>

4
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomer/CrmCustomerService.java

@ -974,8 +974,8 @@ public class CrmCustomerService extends MybatisBaseService<CrmCustomerMapper, Cr
return baseMapper.cusList(); return baseMapper.cusList();
} }
public int updateRemindAndByCustomerSid(String customerSid, String remind_day, String remind_remark, String isOnRemind, String isOnRemindkey) { public int updateRemindAndByCustomerSid(String customerSid, String remind_day, String remind_remark, String isOnRemind, String isOnRemindkey,String follow_state) {
return baseMapper.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey); return baseMapper.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey,follow_state);
} }
/*获取身份证信息*/ /*获取身份证信息*/

2
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml

@ -41,7 +41,7 @@
cct.companyName, cct.companyName,
(select Max(DATE_FORMAT(cv.createTime,'%Y-%m-%d')) from crm_visit cv where cv.customerSid = cct.sid order by (select Max(DATE_FORMAT(cv.createTime,'%Y-%m-%d')) from crm_visit cv where cv.customerSid = cct.sid order by
cv.id DESC) as visitTime , cv.id DESC) as visitTime ,
cv.follow_state cct.follow_state
FROM FROM
crm_customer_temp cct crm_customer_temp cct
LEFT JOIN crm_visit cv ON cct.sid = cv.customerSid LEFT JOIN crm_visit cv ON cct.sid = cv.customerSid

2
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java

@ -106,4 +106,6 @@ public interface CrmVehicledemandMapper extends BaseMapper<CrmVehicledemand> {
* @return * @return
*/ */
IPage<AppOrderCrmVehicleDemandVo> getWantCarList(IPage<CrmVehicledemand> page, @Param(Constants.WRAPPER) QueryWrapper<CrmVehicledemand> qw); IPage<AppOrderCrmVehicleDemandVo> getWantCarList(IPage<CrmVehicledemand> page, @Param(Constants.WRAPPER) QueryWrapper<CrmVehicledemand> qw);
void updateByPrice(@Param("sid") String sid);
} }

14
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml

@ -32,9 +32,9 @@
cvcd.modelName, cvcd.modelName,
cvcd.modelSid, cvcd.modelSid,
cvcd.comonConfigSid, cvcd.comonConfigSid,
cvcd.saleReferencePrice AS vehicleModelOffer, cvcd.saleReferencePrice AS guidancePrice,
cvcd.createTime, cvcd.createTime,
cvcd.purchaseMethodValue AS purchaseMethod cvcd.purchaseMethodValue AS purchaseType
FROM crm_vehicledemand cvcd FROM crm_vehicledemand cvcd
WHERE cvcd.customerSid = #{customerSid} WHERE cvcd.customerSid = #{customerSid}
AND cvcd.states = 1 AND cvcd.states = 1
@ -107,7 +107,7 @@
resultType="com.yxt.anrui.crm.api.crmvehicledemand.AppCrmVehicleDemandParticularsVo"> resultType="com.yxt.anrui.crm.api.crmvehicledemand.AppCrmVehicleDemandParticularsVo">
SELECT cv.purchaseMethodValue AS type, SELECT cv.purchaseMethodValue AS type,
cv.modelSid, cv.modelSid,
cv.modelName AS model, cv.modelName,
cv.brandName AS brand, cv.brandName AS brand,
cv.saleReferencePrice AS price, cv.saleReferencePrice AS price,
cv.vehicleModelOffer AS quotation, cv.vehicleModelOffer AS quotation,
@ -136,4 +136,12 @@
cv.createTime cv.createTime
from crm_vehicledemand cv ${ew.customSqlSegment} from crm_vehicledemand cv ${ew.customSqlSegment}
</select> </select>
<update id="updateByPrice">
update
crm_vehicledemand
set vehicleModelOffer = NULL
where sid = #{sid}
</update>
</mapper> </mapper>

9
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java

@ -26,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -354,8 +355,14 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
entity.setRemarks(appCrmVehicleDemandUpdateDto.getRemarks()); entity.setRemarks(appCrmVehicleDemandUpdateDto.getRemarks());
entity.setNumber(appCrmVehicleDemandUpdateDto.getNumber()); entity.setNumber(appCrmVehicleDemandUpdateDto.getNumber());
entity.setEstimatedPickupDate(appCrmVehicleDemandUpdateDto.getDate()); entity.setEstimatedPickupDate(appCrmVehicleDemandUpdateDto.getDate());
entity.setVehicleModelOffer(appCrmVehicleDemandUpdateDto.getPrice()); if (StringUtils.isNotBlank(appCrmVehicleDemandUpdateDto.getPrice())) {
BigDecimal bigDecimal = new BigDecimal(appCrmVehicleDemandUpdateDto.getPrice());
entity.setVehicleModelOffer(bigDecimal);
}
baseMapper.updateById(entity); baseMapper.updateById(entity);
if (StringUtils.isBlank(appCrmVehicleDemandUpdateDto.getPrice())) {
baseMapper.updateByPrice(entity.getSid());
}
return rb.success(); return rb.success();
} }

4
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitMapper.java

@ -66,8 +66,8 @@ public interface CrmVisitMapper extends BaseMapper<CrmVisit> {
List<String> selVisitMaterials(@Param("sid") String sid, @Param("staffSid") String staffSid); List<String> selVisitMaterials(@Param("sid") String sid, @Param("staffSid") String staffSid);
int fetchByVisitSid(String sid); int fetchByVisitSid(@Param("sid") String sid);
@Update("UPDATE crm_visit SET visit_witness_materials = #{s} WHERE sid = #{sid}") @Update("UPDATE crm_visit SET visit_witness_materials = #{s} WHERE sid = #{sid}")
void updateAppendixUrl(@Param("s")String s,@Param("sid")String sid); void updateAppendixUrl(@Param("s") String s, @Param("sid") String sid);
} }

9
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitMapper.xml

@ -57,7 +57,7 @@
cv.remind_day, cv.remind_day,
cv.remind_day_key cv.remind_day_key
FROM crm_visit cv FROM crm_visit cv
LEFT JOIN crm_customer_temp cct ON cct.sid = cv.customerSid LEFT JOIN crm_customer_temp cct ON cct.sid = cv.customerSid
where cv.sid = #{sid} where cv.sid = #{sid}
</select> </select>
<!--查询本周记录条数--> <!--查询本周记录条数-->
@ -99,11 +99,8 @@
</select> </select>
<select id="fetchByVisitSid" resultType="java.lang.Integer"> <select id="fetchByVisitSid" resultType="java.lang.Integer">
SELECT count(*) SELECT count(*)
FROM crm_visit cv FROM crm_visit_demand cvd
LEFT JOIN crm_visit_demand cvd ON cv.sid = cvd.visitSid WHERE cvd.visitSid = #{sid}
LEFT JOIN crm_vehicledemand cvcd ON cvcd.sid = cvd.demandSid
WHERE cv.sid = #{sid}
AND cvcd.states = 0
</select> </select>
<select id="getAppVisitByCustomerSid" <select id="getAppVisitByCustomerSid"
resultType="com.yxt.anrui.crm.api.crmvisit.AppCrmVisitThumbDetailsVo"> resultType="com.yxt.anrui.crm.api.crmvisit.AppCrmVisitThumbDetailsVo">

3
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitRest.java

@ -139,7 +139,8 @@ public class CrmVisitRest implements CrmVisitFeign {
String remind_day = dto.getRemind_day(); String remind_day = dto.getRemind_day();
String remind_remark = dto.getRemind_remark(); String remind_remark = dto.getRemind_remark();
String isOnRemind = dto.getIsOnRemind(); String isOnRemind = dto.getIsOnRemind();
crmCustomerService.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey); String follow_state = dto.getFollow_state();
crmCustomerService.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey,follow_state);
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
return rb.fail().setMsg("保存失败,该客户不存在"); return rb.fail().setMsg("保存失败,该客户不存在");

9
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitService.java

@ -349,6 +349,12 @@ public class CrmVisitService extends MybatisBaseService<CrmVisitMapper, CrmVisit
String format = new SimpleDateFormat("yyyy年MM月dd日").format(date); String format = new SimpleDateFormat("yyyy年MM月dd日").format(date);
appCrmVisitThumbDetailsVo.setFollow_time(format + " " + DateUtils.getWeekOfDate(date)); appCrmVisitThumbDetailsVo.setFollow_time(format + " " + DateUtils.getWeekOfDate(date));
} }
int i = baseMapper.fetchByVisitSid(appCrmVisitThumbDetailsVo.getSid());
if (i > 0) {
appCrmVisitThumbDetailsVo.setIntendedModel(true);
} else {
appCrmVisitThumbDetailsVo.setIntendedModel(false);
}
// if (StringUtils.isNotBlank(appCrmVisitThumbDetailsVo.getVisit_witness_materials())) { // if (StringUtils.isNotBlank(appCrmVisitThumbDetailsVo.getVisit_witness_materials())) {
// String[] urlArr = appCrmVisitThumbDetailsVo.getVisit_witness_materials().split(","); // String[] urlArr = appCrmVisitThumbDetailsVo.getVisit_witness_materials().split(",");
// for (int i = 0; i < urlArr.length; i++) { // for (int i = 0; i < urlArr.length; i++) {
@ -392,7 +398,8 @@ public class CrmVisitService extends MybatisBaseService<CrmVisitMapper, CrmVisit
String remind_day = appCrmVisitDto.getRemind_day(); String remind_day = appCrmVisitDto.getRemind_day();
String remind_remark = appCrmVisitDto.getRemind_remark(); String remind_remark = appCrmVisitDto.getRemind_remark();
String isOnRemind = appCrmVisitDto.getIsOnRemind(); String isOnRemind = appCrmVisitDto.getIsOnRemind();
int i = crmCustomerService.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey); String follow_state = appCrmVisitDto.getFollow_state();
int i = crmCustomerService.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey,follow_state);
if (i > 0) { if (i > 0) {
CrmVisit entity = new CrmVisit(); CrmVisit entity = new CrmVisit();
List<String> materialsList = appCrmVisitDto.getMaterialsList(); List<String> materialsList = appCrmVisitDto.getMaterialsList();

2
anrui-management/anrui-management-ui/package.json

@ -15,7 +15,7 @@
}, },
"dependencies": { "dependencies": {
"axios": "0.18.1", "axios": "0.18.1",
"core-js": "3.6.5", "core-js": "^3.22.5",
"element-ui": "2.13.2", "element-ui": "2.13.2",
"js-cookie": "2.2.0", "js-cookie": "2.2.0",
"normalize.css": "7.0.0", "normalize.css": "7.0.0",

9
anrui-management/anrui-management-ui/src/api/management/yuangongguanli.js

@ -41,6 +41,15 @@ export default {
}) })
}, },
// 通过sid删除一条或多条记录
del: function(data) {
return request({
url: '/portal/v1/sysstaffinfo/del',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 员工信息编辑初始化及详情 // 员工信息编辑初始化及详情
fetchBySid: function(sid) { fetchBySid: function(sid) {
return request({ return request({

12
anrui-management/anrui-management-ui/src/components/ButtonBar/index.vue

@ -55,13 +55,6 @@ export default {
btnKey: 'doDel', btnKey: 'doDel',
btnLabel: '删除' btnLabel: '删除'
}, },
{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'doQuit',
btnLabel: '离职'
},
{ {
type: 'success', type: 'success',
size: 'small', size: 'small',
@ -103,9 +96,12 @@ export default {
}, },
btnHandle(btnKey) { btnHandle(btnKey) {
this.$emit('btnhandle', btnKey) this.$emit('btnhandle', btnKey)
},
setButtonList(value) {
this.btnList = value
} }
} }
} }
</script> </script>
<style></style> <style></style>

417
anrui-management/anrui-management-ui/src/components/uploadFileimg/upload.vue

@ -1,253 +1,224 @@
<template> <template>
<div> <div>
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken" <el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken" :action="uploadFile" :accept="accept" list-type="picture-card" :limit="limit" :file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees" :on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
:action="uploadFile" accept=".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP" list-type="picture-card"
:file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview"
:on-progress="uploadProgrees"
:on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon"/> <i class="el-icon-plus avatar-uploader-icon"/>
</el-upload> </el-upload>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片"> <el-dialog :visible.sync="dialogVisible" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt=""> <img width="100%" :src="dialogImageUrl" alt="">
</el-dialog> </el-dialog>
<!-- <el-upload list-type="picture-card" :on-preview="handlePictureCardPreview" :on-remove="handleRemove">-->
<!-- <i class="el-icon-plus"></i>-->
<!-- </el-upload>-->
<!-- <el-dialog :visible.sync="dialogVisible">-->
<!-- <img width="100%" :src="dialogImageUrl" alt="">-->
<!-- </el-dialog>-->
<!-- <el-upload class="upload-demo" :headers="accessToken" :action="uploadFile" :accept="accept" :data="uploadData" :on-success="uploadImgSuccess_FuJian" :on-remove="handleRemove" :file-list="fileList_FuJian">-->
<!-- <el-button size="small" type="primary">点击上传</el-button>-->
<!-- &lt;!&ndash; <el-button v-show="isview" size="small" type="primary" @click="view()">查看</el-button> &ndash;&gt;-->
<!-- &lt;!&ndash; <div slot="tip" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型{{ accept }}</div> &ndash;&gt;-->
<!-- </el-upload>-->
</div> </div>
</template> </template>
<script> <script>
import {uploadFile} from '@/api/Common/Upload.js' import { uploadFile } from '@/api/Common/Upload.js'
import {getStorage} from '@/utils/auth.js' //token import { getStorage } from '@/utils/auth.js'
import {mapGetters} from 'vuex'
export default { export default {
model: { model: {
prop: 'name', prop: 'name',
event: 'change', event: 'change'
}, },
props: { props: {
placeholder: { placeholder: {
type: String, type: String,
default: '', default: ''
},
bucket: {
type: String,
default: 'abc',
},
//
width: {
type: String,
default: '270px',
},
limit: {
type: Number,
default: 1,
},
accept: {
type: String,
default:
'.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx',
},
//
name: {
type: Array,
required: true,
},
uploadData: {
type: Object,
default: {},
},
},
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
accessToken: null,
uploadFile: uploadFile,
fileList_FuJian: [],
enclosure: '',
file_add: '',
file_catch: '',
files: [],
files_list: [],
filedUrl: '',
// fileUrl: fileUrl,
// showpicture:false,
isview: false,
nameArr: '',
loadding: false,
}
}, },
computed: { bucket: {
...mapGetters([ type: String,
'id', default: 'abc'
'departmentCode', },
'departmentLevel', //
'departmentType', width: {
'token', type: String,
]), default: '270px'
}, },
watch: { limit: {
name: { type: Number,
deep: true, default: ''
immediate: true,
handler(newVal, oldVal) {
console.log('aaaa1', newVal)
this.files = newVal
console.log('aaaa2', this.files)
},
},
},
mounted() {
this.$nextTick(() => {
this.Init()
})
}, },
created() { accept: {
this.uploadFile = uploadFile // type: String,
this.accessToken = { default: '.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx'
token: getStorage(), },
//
name: {
type: Array,
required: true
},
uploadData: {
type: Object,
default: {}
}
},
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
accessToken: null,
uploadFile: uploadFile,
fileList_FuJian: [],
enclosure: '',
file_add: '',
file_catch: '',
files: [],
files_list: [],
filedUrl: '',
// fileUrl: fileUrl,
// showpicture:false,
isview: false,
nameArr: '',
loadding: false
}
},
watch: {
name: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
console.log('aaaa1', newVal)
this.files = newVal
console.log('aaaa2', this.files)
} }
}
},
mounted() {
this.$nextTick(() => {
this.Init()
})
},
created() {
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage()
}
},
methods: {
showImg(imgList) {
this.files = imgList
console.log('123123123', this.files)
}, },
methods: { view() {
showImg(imgList){ // window.open(this.filedUrl)
this.files = imgList },
console.log('123123123',this.files) //
}, Init() {
view() { if (this.name !== undefined) {
// window.open(this.filedUrl) this.files = []
}, for (var i = 0; i < this.name.length; i++) {
//
Init() {
if (this.name !== undefined) {
this.files = []
for (var i = 0; i < this.name.length; i++) {
this.files.push({
name: this.name[i],
url: this.name[i],
})
}
}
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
console.log('您选择的file:', file)
if (file.response.code === '200') {
this.loadding = false
//
this.filedUrl = this.fileUrl + file.response.data
// var uid = file.response.data
this.files.push({ this.files.push({
name: file.response.data.sourceFileName, name: this.name[i],
url: file.response.data.fullUrl, url: this.name[i]
size: file.response.data.size,
}) })
this.$emit('change', this.files)
this.$emit('eett', this.files)
} }
}, }
},
handlePictureCardPreview(file) {
console.log(this.file)
this.dialogVisible = true
this.dialogImageUrl = file.url
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
console.log('您选择的file:', file)
if (file.response.code === '200') {
this.loadding = false
//
this.filedUrl = this.fileUrl + file.response.data
// var uid = file.response.data
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
size: file.response.data.size
})
this.$emit('change', this.files)
this.$emit('eett', this.files)
}
},
removeImage(file, ImageFileList) { removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1) this.files.splice(this.files.indexOf(file), 1)
const imgFiles = [] const imgFiles = []
this.files.forEach((o) => { this.files.forEach((o) => {
imgFiles.push(o.url) imgFiles.push(o.url)
}) })
this.$emit('fileChange', this.files) this.$emit('fileChange', this.files)
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log('file:' + JSON.stringify(file)) console.log('file:' + JSON.stringify(file))
console.log('fileList:' + JSON.stringify(fileList)) console.log('fileList:' + JSON.stringify(fileList))
this.enclosure = '' this.enclosure = ''
// 1. id(this.file_add) // 1. id(this.file_add)
this.getNewFileId(fileList) this.getNewFileId(fileList)
// 2. id(this.file_catch) // 2. id(this.file_catch)
this.getCatchFileId(file) this.getCatchFileId(file)
// 3. id // 3. id
this.getFileId() this.getFileId()
// 4. id // 4. id
this.$emit('change', this.enclosure) this.$emit('change', this.enclosure)
}, },
// this.file_add(id) // this.file_add(id)
getNewFileId(fileList) { getNewFileId(fileList) {
// debugger // debugger
this.file_add = '' this.file_add = ''
for (var i = 0; i < fileList.length; i++) { for (var i = 0; i < fileList.length; i++) {
if (fileList[i].response && fileList[i].response.code === '200') { if (fileList[i].response && fileList[i].response.code === '200') {
this.file_add = this.file_add + fileList[i].response.data + ',' this.file_add = this.file_add + fileList[i].response.data + ','
}
}
if (this.file_add !== '') {
this.file_add = this.file_add.substring(0, this.file_add.length - 1)
}
// console.log('1. this.file_add: ' + this.file_add)
},
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== '') {
// 1. id
if (this.files_list[i].name === file.name) {
// 2. file_catchfils_arry
var fils_arry = this.file_catch.split(',')
// 3. fils_arry this.files_list[i].id
var arry = []
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element)
}
})
// 4. file_catch
this.file_catch = arry.join(',')
}
}
} }
// console.log('2. this.file_catch:' + this.file_catch) }
}, if (this.file_add !== '') {
// id this.file_add = this.file_add.substring(0, this.file_add.length - 1)
getFileId() { }
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add) // console.log('1. this.file_add: ' + this.file_add)
},
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== '') { if (this.file_catch !== '') {
if (this.file_add !== '') { // 1. id
this.enclosure = this.file_catch + ',' + this.file_add if (this.files_list[i].name === file.name) {
} else { // 2. file_catchfils_arry
this.enclosure = this.file_catch var fils_arry = this.file_catch.split(',')
// 3. fils_arry this.files_list[i].id
var arry = []
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element)
}
})
// 4. file_catch
this.file_catch = arry.join(',')
} }
} else {
this.enclosure = this.file_add
} }
}, }
handlePictureCardPreview(file) { // console.log('2. this.file_catch:' + this.file_catch)
// this.dialogImageUrl = file.url },
// this.dialogImageUrl = file.fullUrl // id
this.dialogImageUrl = file.url getFileId() {
// this.showpicture = true // console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
}, if (this.file_catch !== '') {
// if (this.file_add !== '') {
uploadError() { this.enclosure = this.file_catch + ',' + this.file_add
this.loadding = false } else {
}, this.enclosure = this.file_catch
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
} }
// console.log('event:', event) } else {
}, this.enclosure = this.file_add
}
}, },
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
}
// console.log('event:', event)
}
} }
}
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

332
anrui-management/anrui-management-ui/src/components/uploadFileimg/upload_head.vue

@ -1,270 +1,144 @@
<template> <template>
<div> <div>
<el-upload <el-upload ref="imgUpload" class="avatar-uploader" :file-list="files" :headers="accessToken" :accept="accept" :action="uploadFile" :on-success="uploadImgSuccess_FuJian" :show-file-list="false">
ref="imgUpload" <i v-if="Photo === '' && frontPhoto === ''" class="el-icon-plus avatar-uploader-icon" />
v-loading="loadding" <img v-else :src="Photo != '' ? Photo : frontPhoto" class="avatar">
class="avatar-uploader"
:headers="accessToken"
:action="uploadFile"
accept=".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP"
list-type="picture-card"
:file-list="files"
:on-remove="removeImage"
:on-preview="handlePictureCardPreview"
:on-progress="uploadProgrees"
:on-error="uploadError"
:on-success="uploadImgSuccess_FuJian"
>
<i class="el-icon-plus avatar-uploader-icon" />
</el-upload> </el-upload>
<el-dialog <el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片">
:visible.sync="dialogVisible"
:append-to-body="true"
title="查看图片"
>
<img width="100%" :src="dialogImageUrl" alt="" /> <img width="100%" :src="dialogImageUrl" alt="" />
</el-dialog> </el-dialog>
<!-- <el-upload list-type="picture-card" :on-preview="handlePictureCardPreview" :on-remove="handleRemove">-->
<!-- <i class="el-icon-plus"></i>-->
<!-- </el-upload>-->
<!-- <el-dialog :visible.sync="dialogVisible">-->
<!-- <img width="100%" :src="dialogImageUrl" alt="">-->
<!-- </el-dialog>-->
<!-- <el-upload class="upload-demo" :headers="accessToken" :action="uploadFile" :accept="accept" :data="uploadData" :on-success="uploadImgSuccess_FuJian" :on-remove="handleRemove" :file-list="fileList_FuJian">-->
<!-- <el-button size="small" type="primary">点击上传</el-button>-->
<!-- &lt;!&ndash; <el-button v-show="isview" size="small" type="primary" @click="view()">查看</el-button> &ndash;&gt;-->
<!-- &lt;!&ndash; <div slot="tip" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型{{ accept }}</div> &ndash;&gt;-->
<!-- </el-upload>-->
</div> </div>
</template> </template>
<script> <script>
import { uploadFile } from "@/api/Common/Upload.js"; import { uploadFile } from '@/api/Common/Upload.js'
import { getStorage } from "@/utils/auth.js"; //token import { getStorage } from '@/utils/auth'
import { mapGetters } from "vuex";
export default { export default {
model: { // model: {
prop: "name", // prop: 'name',
event: "change", // event: 'change'
}, // },
props: { props: {
placeholder: {
type: String,
default: "",
},
bucket: {
type: String,
default: "abc",
},
//
width: {
type: String,
default: "270px",
},
limit: { limit: {
type: Number, type: Number,
default: 1, default: 1
}, },
accept: { accept: {
type: String, type: String,
default: default: '.jpg,.jpeg,.png,.JPG,.JPEG,.PNG'
".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx",
}, },
frontPhoto: {
type: String,
default: ''
}
// //
name: { // name: {
type: Array, // type: Array,
required: true, // required: true
}, // }
uploadData: {
type: Object,
default: {},
},
}, },
data() { data() {
return { return {
dialogImageUrl: "", dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
accessToken: null,
uploadFile: uploadFile, uploadFile: uploadFile,
fileList_FuJian: [],
enclosure: "",
file_add: "",
file_catch: "",
files: [], files: [],
files_list: [],
filedUrl: "",
// fileUrl: fileUrl,
// showpicture:false,
isview: false,
nameArr: "",
loadding: false, loadding: false,
}; Photo: ''
}, }
computed: {
...mapGetters([
"id",
"departmentCode",
"departmentLevel",
"departmentType",
"token",
]),
},
watch: {
name: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
console.log("aaaa1", newVal);
this.files = newVal;
if (this.files.length > 1) {
this.files.splice(0, 1);
}
console.log("aaaa2", this.files);
},
},
},
mounted() {
this.$nextTick(() => {
this.Init();
});
}, },
// watch: {
// name: {
// deep: true,
// immediate: true,
// handler(newVal, oldVal) {
// console.log('aaaa1', newVal)
// this.files = newVal
// if (this.files.length > 1) {
// this.files.splice(0, 1)
// console.log(111111)
// }
// // this.Photo = this.files[0].url
// console.log('333333', this.Photo, this.files)
// console.log('aaaa2', this.files)
// }
// }
// },
// mounted() {
// this.$nextTick(() => {
// this.Init()
// })
// },
created() { created() {
this.uploadFile = uploadFile; // this.uploadFile = uploadFile //
this.accessToken = { this.accessToken = {
token: getStorage(), token: getStorage(),
}; }
}, },
methods: { methods: {
showImg(imgList) { // showImg(imgList) {
this.files = imgList; // this.files = imgList
console.log("123123123", this.files); // console.log('123123123', this.files)
}, // },
view() { // //
// window.open(this.filedUrl) // Init() {
}, // if (this.name !== undefined) {
// // this.files = []
Init() { // for (var i = 0; i < this.name.length; i++) {
if (this.name !== undefined) { // this.files.push({
this.files = []; // name: this.name[i],
for (var i = 0; i < this.name.length; i++) { // url: this.name[i]
this.files.push({ // })
name: this.name[i], // }
url: this.name[i], // }
}); // },
}
}
},
// -- // --
uploadImgSuccess_FuJian(response, file, fileList) { uploadImgSuccess_FuJian(response, file) {
console.log("您选择的file:", file); console.log('您选择的file:', file)
if (file.response.code === "200") { if (file.response.code === '200') {
this.loadding = false; this.loadding = false
// //
this.filedUrl = this.fileUrl + file.response.data; this.Photo = file.response.data.fullUrl
// var uid = file.response.data
this.files.push({ this.files.push({
name: file.response.data.sourceFileName, name: file.response.data.sourceFileName,
url: file.response.data.fullUrl, url: file.response.data.fullUrl,
size: file.response.data.size, size: file.response.data.size
}); })
this.$emit("change", this.files); this.$emit('photoAdd', this.Photo)
this.$emit("eett", this.files); this.$emit('eett', this.files)
} }
}, }
}
}
</script>
removeImage(file, ImageFileList) { <style scoped>
this.files.splice(this.files.indexOf(file), 1); .avatar-uploader .el-upload {
const imgFiles = []; border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
this.files.forEach((o) => { .avatar-uploader .el-upload:hover {
imgFiles.push(o.url); border-color: #409eff;
}); }
this.$emit("fileChange", this.files);
}, .avatar-uploader-icon {
handleRemove(file, fileList) { font-size: 28px;
console.log("file:" + JSON.stringify(file)); color: #8c939d;
console.log("fileList:" + JSON.stringify(fileList)); width: 178px;
this.enclosure = ""; height: 178px;
// 1. id(this.file_add) line-height: 178px;
this.getNewFileId(fileList); text-align: center;
// 2. id(this.file_catch) }
this.getCatchFileId(file);
// 3. id
this.getFileId();
// 4. id
this.$emit("change", this.enclosure);
},
// this.file_add(id)
getNewFileId(fileList) {
// debugger
this.file_add = "";
for (var i = 0; i < fileList.length; i++) {
if (fileList[i].response && fileList[i].response.code === "200") {
this.file_add = this.file_add + fileList[i].response.data + ",";
}
}
if (this.file_add !== "") {
this.file_add = this.file_add.substring(0, this.file_add.length - 1);
}
// console.log('1. this.file_add: ' + this.file_add)
},
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== "") {
// 1. id
if (this.files_list[i].name === file.name) {
// 2. file_catchfils_arry
var fils_arry = this.file_catch.split(",");
// 3. fils_arry this.files_list[i].id
var arry = [];
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element);
}
});
// 4. file_catch
this.file_catch = arry.join(",");
}
}
}
// console.log('2. this.file_catch:' + this.file_catch)
},
// id
getFileId() {
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
if (this.file_catch !== "") {
if (this.file_add !== "") {
this.enclosure = this.file_catch + "," + this.file_add;
} else {
this.enclosure = this.file_catch;
}
} else {
this.enclosure = this.file_add;
}
},
handlePictureCardPreview(file) {
// this.dialogImageUrl = file.url
// this.dialogImageUrl = file.fullUrl
this.dialogImageUrl = file.url;
// this.showpicture = true
},
//
uploadError() {
this.loadding = false;
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true;
}
// console.log('event:', event)
},
},
};
</script>
<style lang="scss" scoped></style> .avatar {
margin-top: 5%;
width: 178px;
height: 178px;
display: block;
}
</style>

22
anrui-management/anrui-management-ui/src/styles/index.scss

@ -120,7 +120,7 @@ div:focus {
} }
.filter-item { .filter-item {
padding: 0 10px; padding: 0 10px;
width: 220px; width: 168px;
display: inline-block; display: inline-block;
} }
.listtop { .listtop {
@ -149,11 +149,11 @@ div:focus {
padding: 20px 0; padding: 20px 0;
// height: calc(100vh - 200px);overflow-y: auto; // height: calc(100vh - 200px);overflow-y: auto;
.title { .title {
padding: 10px;font-weight: bold; padding: 10px;font-weight: bold;
font-size: 20px; font-size: 20px;
background-color: $header-bg; background-color: $header-bg;
text-align: center; text-align: center;
color: #ffffff; color: #ffffff;
} }
.el-row { .el-row {
display:flex; display:flex;
@ -172,7 +172,7 @@ div:focus {
} }
} }
} }
.footer{margin: 20px;} .footer{margin: 20px;}
} }
@ -180,11 +180,11 @@ div:focus {
.forminfo { .forminfo {
padding: 20px 0; padding: 20px 0;
.title { .title {
padding: 10px;font-weight: bold; padding: 10px;font-weight: bold;
font-size: 20px; font-size: 20px;
background-color: $header-bg; background-color: $header-bg;
text-align: center; text-align: center;
color: #ffffff; color: #ffffff;
} }
.el-row { .el-row {
display:flex; display:flex;
@ -197,12 +197,12 @@ div:focus {
border-bottom: 1px solid $table-border-color; border-bottom: 1px solid $table-border-color;
padding: 0px 15px 0px 15px !important; padding: 0px 15px 0px 15px !important;
min-height: 50px; min-height: 50px;
line-height: 50px; line-height: 50px;
font-size: 14px; font-size: 14px;
} }
} }
.footer{margin: 20px;} .footer{margin: 20px;}
} }

1194
anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue

File diff suppressed because it is too large

464
anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue

@ -1,283 +1,253 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<!--标题按钮部分开始-->
<div class="tab-header webtop"> <div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div> <div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div> <div>
<el-button type="primary" size="small">打印</el-button> <el-button type="primary" size="small">打印</el-button>
<el-button type="info" size="small" @click="handleReturn()" <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
>返回</el-button
>
</div> </div>
<!--end 添加修改按钮-->
<!--end 详情按钮-->
</div> </div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd"> <div class="listconadd">
<el-form <el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd">
ref="dataForm" <div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
:model="temp"
label-position="right"
label-width="190px"
class="formadd"
>
<!-- <div class="titwu">客户信息登记</div> -->
<div
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div>客户基础信息</div> <div>客户基础信息</div>
</div> </div>
<el-container> <el-container>
<el-main> <el-main>
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="name"> <el-form-item>
<span>工号</span> <span>工号</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="20"> <el-col :span="20">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.jobNumber }}</span> <span>{{ temp.jobNumber }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="name"> <el-form-item>
<span>姓名</span> <span>姓名</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="20"> <el-col :span="20">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.name }}</span> <span>{{ temp.name }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="name"> <el-form-item>
<span>性别</span> <span>性别</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="20"> <el-col :span="20">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.gender }}</span> <span>{{ temp.gender }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="idNo"> <el-form-item>
<span>身份证</span> <span>身份证</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="20"> <el-col :span="20">
<el-form-item prop="idNo"> <el-form-item>
<span>{{ temp.idNo }}</span> <span>{{ temp.idNo }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<span>证件有效期</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<span>{{ temp.idTerm }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<span>出生年月日</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<span>{{ temp.birthday }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<span>民族</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="national">
<span>{{ temp.national }}</span>
</el-form-item>
</el-col>
</el-row>
</el-main> </el-main>
<el-aside width="410px"> <el-aside style="width: 25%;text-align: center;border-right: 1px solid #e0e3eb">
<img :src="temp.photo"> <img v-show="temp.photo !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.photo" @click="open(temp.photo)">
</el-aside> </el-aside>
</el-container> </el-container>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>籍贯</span> <span>证件有效期</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="21" class="jiguan"> <el-col :span="21" class="jiguan">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.idTerm }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item>
<span>出生年月日</span>
</el-form-item>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.birthday }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item>
<span>民族</span>
</el-form-item>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.national }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item>
<span>籍贯</span>
</el-form-item>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.province + temp.city + temp.county }}</span> <span>{{ temp.province + temp.city + temp.county }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>住址</span> <span>住址</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="21"> <el-col :span="21">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.address }}</span> <span>{{ temp.address }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>手机号码</span> <span>手机号码</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.mobile }}</span> <span>{{ temp.mobile }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>邮箱</span> <span>邮箱</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.email }}</span> <span>{{ temp.email }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>紧急联系人</span> <span>紧急联系人</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.emergencyContact }}</span> <span>{{ temp.emergencyContact }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>紧急联系电话</span> <span>紧急联系电话</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.emergencyMobile }}</span> <span>{{ temp.emergencyMobile }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>政治面貌</span> <span>政治面貌</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.poliCode }}</span> <span>{{ temp.poliCode }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>婚姻状况</span> <span>婚姻状况</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.maritalStatus }}</span> <span>{{ temp.maritalStatus }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div <div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div>更多信息</div> <div>更多信息</div>
</div> </div>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>员工类型</span> <span>员工类型</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.personType }}</span> <span>{{ temp.personType }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>入职时间</span> <span>入职时间</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.joinCompnyDate }}</span> <span>{{ temp.joinCompnyDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>试用期</span> <span>试用期</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.probPeriod }}</span> <span>{{ temp.probPeriod }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>计划转正日期</span> <span>计划转正日期</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.plannedConfirmDate }}</span> <span>{{ temp.plannedConfirmDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>实际转正日期</span> <span>实际转正日期</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.confirmationDate }}</span> <span>{{ temp.confirmationDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -285,44 +255,44 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>所在部门</span> <span>所在部门</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="orgName"> <el-form-item>
<span>{{ temp.sysStaffOrgDetailsVo.orgName }}</span> <span>{{ temp.sysStaffOrg.orgName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>岗位</span> <span>岗位</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.sysStaffPostDetailsVo.postSid }}</span> <span>{{ temp.sysStaffPost.name }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>银行账号</span> <span>银行账号</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.bankCardNo }}</span> <span>{{ temp.bankCardNo }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<span>开户行</span> <span>开户行</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<span>{{ temp.openBank }}</span> <span>{{ temp.openBank }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -330,337 +300,318 @@
<!-- !!!!各种附件证明图片!!!! --> <!-- !!!!各种附件证明图片!!!! -->
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<!-- <span class="icon">*</span> -->
<span>身份证(人像面)</span> <span>身份证(人像面)</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<img :src="temp.idCardA"> <img v-show="temp.idCardA !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.idCardA" @click="open(temp.idCardA)">
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<!-- <span class="icon">*</span> -->
<span>身份证(国徽面)</span> <span>身份证(国徽面)</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="name"> <el-form-item>
<img :src="temp.idCardB"> <img v-show="temp.idCardB !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.idCardB" @click="open(temp.idCardB)">
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop="name"> <el-form-item>
<!-- <span class="icon">*</span> -->
<span>前公司离职证明</span> <span>前公司离职证明</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="21"> <el-col :span="21">
<el-form-item prop="name"> <el-form-item>
<img :src="temp.leaveCertificate"> <img v-show="temp.leaveCertificate !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.leaveCertificate" @click="open(temp.leaveCertificate)">
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div <div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div>学历/技能信息</div> <div>学历/技能信息</div>
</div> </div>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>毕业院校</span> <span>毕业院校</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="graduate"> <el-form-item>
<span>{{ temp.graduate }}</span> <span>{{ temp.graduate }}</span>
<!-- <el-input v-model="temp.graduate" maxlength="20" placeholder="请输入毕业院校" class="addinputw" clearable/> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>学历/专业</span> <span>学历/专业</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="education"> <el-form-item>
<span>{{ temp.education }}</span> <span>{{ temp.education }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>职称</span> <span>职称</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="title"> <el-form-item>
<span>{{ temp.title }}</span> <span>{{ temp.title }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>资格认证</span> <span>资格认证</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="qualification"> <el-form-item>
<span>{{ temp.qualification }}</span> <span>{{ temp.qualification }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>驾照类型</span> <span>驾照类型</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="21"> <el-col :span="21">
<el-form-item prop="licenseType"> <el-form-item>
<span>{{ temp.licenseType }}</span> <span>{{ temp.licenseType }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>学历证书</span> <span>学历证书</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<img :src="temp.diploma"> <img v-show="temp.diploma !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.diploma" @click="open(temp.diploma)">
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>学位证书</span> <span>学位证书</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<img :src="temp.degreeCertificate"> <img v-show="temp.degreeCertificate !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.degreeCertificate" @click="open(temp.degreeCertificate)">
</el-col> </el-col>
</el-row> </el-row>
<div <div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div>社保信息</div> <div>社保信息</div>
</div> </div>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>意外险参保</span> <span>意外险参保</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="isHaveInsurance"> <el-form-item>
<el-radio v-model="temp.isHaveInsurance" :label="1"></el-radio> <span>{{ temp.isHaveInsuranceValue }}</span>
<el-radio v-model="temp.isHaveInsurance" :label="0"></el-radio>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>意外险参保地</span> <span>意外险参保地</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="insuranceAddr"> <el-form-item>
<span>{{ temp.insuranceAddr }}</span> <span>{{ temp.insuranceAddr }}</span>
<!-- <el-input v-model="temp.insuranceAddr" maxlength="20" placeholder="请输入意外险参保地" class="addinputw" clearable/> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>意外险参保时间</span> <span>意外险参保时间</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="insuranceStartDate"> <el-form-item>
<span>{{ temp.insuranceStartDate }}</span> <span>{{ temp.insuranceStartDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>意外险终止时间</span> <span>意外险终止时间</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="insuranceEndDate"> <el-form-item>
<span>{{ temp.insuranceEndDate }}</span> <span>{{ temp.insuranceEndDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>养老</span> <span>养老</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="isHaveAged"> <el-form-item>
<el-radio v-model="temp.isHaveAged" :label="1"></el-radio> <span>{{ temp.isHaveAgedValue }}</span>
<el-radio v-model="temp.isHaveAged" :label="0"></el-radio>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>医疗/生育</span> <span>医疗/生育</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="isHaveMedical"> <el-form-item>
<el-radio v-model="temp.isHaveMedical" :label="1"></el-radio> <span>{{ temp.isHaveMedicalValue }}</span>
<el-radio v-model="temp.isHaveMedical" :label="0"></el-radio>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>工伤</span> <span>工伤</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="isHaveInjury"> <el-form-item>
<el-radio v-model="temp.isHaveInjury" :label="1"></el-radio> <span>{{ temp.isHaveInjuryValue }}</span>
<el-radio v-model="temp.isHaveInjury" :label="0"></el-radio>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>失业</span> <span>失业</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="isHaveUnemploy"> <el-form-item>
<el-radio v-model="temp.isHaveUnemploy" :label="1"></el-radio> <span>{{ temp.isHaveUnemployValue }}</span>
<el-radio v-model="temp.isHaveUnemploy" :label="0"></el-radio>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>社保参保地</span> <span>社保参保地</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="insuredPlace"> <el-form-item>
<span>{{ temp.insuredPlace }}</span> <span>{{ temp.insuredPlace }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item prop=""> <el-form-item>
<span>纸质档案保管地</span> <span>纸质档案保管地</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item prop="paperPlace"> <el-form-item>
<span>{{ temp.paperPlace }}</span> <span>{{ temp.paperPlace }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- <div v-show="isQuit == true"> --> <!-- <div v-show="isQuit == true"> -->
<div <div v-show="isQuit">
class="title" <div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
style=" <div>离职信息</div>
display: flex; </div>
align-items: center; <el-row>
justify-content: space-between; <el-col :span="3">
" <el-form-item>
> <span>离职日期</span>
<div>离职信息</div> </el-form-item>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.quitDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<span>离职理由</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.quitReason }}</span>
</el-form-item>
</el-col>
</el-row>
</div> </div>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<span>离职日期</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="quitDate">
<span>{{ temp.quitDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<span>离职理由</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="quitReason">
<span>{{ temp.quitReason }}</span>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</div> </div>
<!--End 添加修改部分--> <!--End 添加修改部分-->
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogUrl" alt="">
</el-dialog>
</div> </div>
</template> </template>
</template>
<script> <script>
import req from "@/api/management/yuangongguanli"; import req from '@/api/management/yuangongguanli'
export default { export default {
name: "yuangongInfo", name: 'yuangongInfo',
data() { data() {
return { return {
viewTitle: "", viewTitle: '',
dialogStatus: "", dialogStatus: '',
dialogVisible: false,
dialogUrl: '',
index: 0, index: 0,
isQuit: false,
temp: { temp: {
sid: "", // sid sid: '', // sid
sysStaffOrgDetailsVo: { sysStaffOrg: {
orgName: "", orgName: ''
}, // }, //
sysStaffPostDetailsVo: {}, // sysStaffPost: {} //
}, }
}; }
}, },
methods: { methods: {
handleReturn() { handleReturn() {
this.temp = {}; this.temp = {}
this.$emit("doback"); this.$emit('doback')
}, },
showInfo(sid, row) { showInfo(sid, row) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs["dataForm"].clearValidate(); this.$refs['dataForm'].clearValidate()
}); })
this.dialogStatus = "edit"; this.dialogStatus = 'edit'
this.viewTitle = "其他出库单详情"; this.viewTitle = '员工信息详情'
const _this = this; req.fetchBySid(sid).then((resp) => {
req const data = resp.data
.fetchBySid(sid) this.sid = sid
.then((resp) => { this.temp = data
const data = resp.data; if (this.temp.personType === '全职') {
this.sid = sid; this.isQuit = false
this.temp = data; } else {
data.isHaveAged = this.temp.isHaveAged; this.isQuit = true
console.log("编辑回显出的数据", this.temp); }
}) data.isHaveAged = this.temp.isHaveAged
.catch((e) => { console.log('编辑回显出的数据', this.temp)
this.temp = row; }).catch((e) => {
}); this.temp = row
})
}, },
}, open(val) {
}; this.dialogVisible = true
this.dialogUrl = val
}
}
}
</script> </script>
<style scoped> <style scoped>
@ -685,4 +636,7 @@ export default {
line-height: 40px !important; line-height: 40px !important;
font-weight: 600; font-weight: 600;
} }
.formadd {
margin: 0 15%;
}
</style> </style>

526
anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongguanli.vue

@ -1,218 +1,94 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<button-bar <button-bar ref="btnbar" view-title="员工管理" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
ref="btnbar"
view-title="员工管理"
:btndisabled="btndisabled"
@btnhandle="btnHandle"
/>
<div class="searchcon"> <div class="searchcon">
<el-button <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"> <div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header"> <el-form :inline="true" class="tab-header">
<el-form-item label="员工姓名" label-width="85px"> <el-row>
<el-input <el-form-item label="员工姓名">
v-model="queryParams.params.name" <el-input v-model="queryParams.params.name" placeholder="请输入员工姓名" clearable class="addinputw"/>
placeholder="请输入员工姓名" </el-form-item>
clearable <el-form-item label="员工类型">
class="filter-item" <el-select v-model="queryParams.params.personTypeKey" class="addinputw" placeholder="请选择员工类型">
/> <el-option v-for="(item, index) in personType_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-form-item> </el-select>
<el-form-item label="员工类型" label-width="85px"> </el-form-item>
<el-select <el-form-item label="联系电话">
v-model="queryParams.params.personType" <el-input v-model="queryParams.params.mobile" placeholder="请输入联系电话" clearable class="addinputw"/>
class="addinputw" </el-form-item>
placeholder="请选择员工类型" <el-form-item label="所在部门">
@change="getPersonType" <el-cascader v-model="orgName_list" :props="props" :options="options" class="addinputw" style="line-height: 32px" @change="orgNameChange"/>
> </el-form-item>
<el-option <el-form-item label="所在岗位">
v-for="(item, index) in personType_list" <el-select v-model="queryParams.params.postSid" class="addinputw" placeholder="请选择岗位">
:key="index.dictKey" <el-option v-for="(item) in postSid_list" :key="item.sid" :label="item.name" :value="item.sid"/>
:label="item.dictValue" </el-select>
:value="item.dictKey" </el-form-item>
/> </el-row>
</el-select> <el-row>
</el-form-item> <el-form-item label="入职日期">
<el-form-item label="联系电话" label-width="85px"> <!-- <el-date-picker v-model="queryParams.params.joinCompnyDateStart" type="date" class="addinputw" placeholder="选择日期" value-format="yyyy-MM-dd"/>-->
<el-input <div class="block" style="float: left;">
v-model="queryParams.params.mobile" <el-date-picker v-model="queryParams.params.joinCompnyDateStart" type="date" value-format="yyyy-MM-dd" placeholder="开始日期">
placeholder="请输入联系电话" </el-date-picker>
clearable </div>
class="filter-item" <div style="float: left;margin: 0 5px"></div>
/> <div class="block" style="float: left;">
</el-form-item> <el-date-picker v-model="queryParams.params.joinCompnyDateEnd" type="date" value-format="yyyy-MM-dd" placeholder="结束日期">
<el-form-item label="所在部门" label-width="85px"> </el-date-picker>
<el-cascader </div>
v-model="orgName_list" </el-form-item>
:props="props" </el-row>
:options="options" <el-divider/>
@change="orgNameChange" <div style="text-align: center; position: relative; margin-left: -75px">
/>
</el-form-item>
<el-form-item label="所在岗位" label-width="85px">
<el-select
v-model="queryParams.params.postSid"
class="addinputw"
placeholder="请选择岗位"
@change="getPostSid"
>
<el-option
v-for="(item, index) in postSid_list"
:key="index.postCode"
:label="item.name"
:value="item.postCode"
/>
</el-select>
<!-- <el-input v-model="queryParams.params.postName" placeholder="请输入所在岗位" clearable class="filter-item"/> -->
</el-form-item>
<el-form-item label="入职日期" label-width="85px">
<el-date-picker
v-model="queryParams.params.joinCompnyDateStart"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
/>
</el-form-item>
<el-divider />
<div
style="text-align: center; position: relative; margin-left: -75px"
>
<el-button type="primary" @click="dosearch">查询</el-button> <el-button type="primary" @click="dosearch">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button> <el-button type="primary" @click="resetQuery">重置</el-button>
</div> </div>
</el-form> </el-form>
</div> </div>
</div> </div>
<!--Start 项目列表头部-->
<div class="listtop"> <div class="listtop">
<div class="tit">员工信息列表</div> <div class="tit">员工信息列表</div>
<pageye <pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
</div> </div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
<div class="listcon"> <div class="listcon">
<el-table <el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
v-loading="tableLoading" <el-table-column width="50px" type="selection" align="center"/>
:data="dataList" <el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
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="jobNumber" label="员工编号" align="center"> <el-table-column prop="jobNumber" label="员工编号" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="tablerow-click" @click="toInfo(scope.row)">{{ <span class="tablerow-click" @click="toInfo(scope.row)">{{ scope.row.jobNumber }}</span>
scope.row.jobNumber
}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="员工姓名" align="center" /> <el-table-column prop="name" label="员工姓名" align="center"/>
<el-table-column prop="personType" label="员工姓名" align="center" /> <el-table-column prop="personType" label="员工姓名" align="center"/>
<el-table-column prop="mobile" label="手机号" align="center" /> <el-table-column prop="mobile" label="手机号" align="center"/>
<el-table-column prop="orgName" label="所在部门" align="center" /> <el-table-column prop="orgName" label="所在部门" align="center"/>
<el-table-column prop="postName" label="岗位" align="center" /> <el-table-column prop="postName" label="岗位" align="center"/>
<el-table-column <el-table-column prop="joinCompnyDate" label="入职日期" align="center"/>
prop="joinCompnyDate"
label="入职日期"
align="center"
/>
</el-table> </el-table>
</div> </div>
<!--End 项目列表-->
<div class="pages"> <div class="pages">
<div class="tit" /> <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>
</div> </div>
<!--End 查询和其列表部分--> <!--End 查询和其列表部分-->
<yuangong-add <yuangong-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList"/>
v-show="viewState == 2 || viewState == 3" <yuangong-info v-show="viewState == 4" ref="divinfo" @doback="resetState"/>
ref="divadd" <el-dialog title="" :visible.sync="dialogVisible" width="40%" top="13%" center>
@doback="resetState" <el-form :model="personTypeForm" label-position="top">
@reloadlist="loadList" <el-form-item label="离职时间">
/> <el-date-picker v-model="personTypeForm.quitDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
<yuangong-info
v-show="viewState == 4"
ref="divinfo"
@doback="resetState"
/>
<el-dialog
title="客户登记-类型"
:visible.sync="dialogVisible"
width="40%"
top="13%"
>
<el-form :model="personTypeForm">
<el-form-item label="员工类型" class="diaForm">
<el-select
v-model="personTypeForm.personType"
class="addinputw"
placeholder="请选择员工类型"
@change="getPersonType"
>
<el-option
v-for="(item, index) in personType_list"
:key="index.dictKey"
:label="item.dictValue"
:value="item.dictKey"
/>
</el-select>
</el-form-item>
<el-form-item label="离职时间" class="diaForm">
<el-date-picker
v-model="personTypeForm.quitDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
/>
</el-form-item> </el-form-item>
<el-form-item label="离职理由" class="diaForm"> <el-form-item label="离职理由">
<el-input <el-input v-model="personTypeForm.quitReason" maxlength="100" placeholder="" type="textarea" clearable/>
v-model="personTypeForm.quitReason"
maxlength="5"
placeholder="请输入紧急联系电话"
class="lizhiliyou"
clearable
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button <el-button class="el-button-sure" type="primary" @click="handleOpen()"> </el-button>
class="el-button-sure"
type="primary"
@click="handleOpen()"
> </el-button>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
@ -224,7 +100,6 @@ import req from '@/api/management/yuangongguanli'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import { setuser, getuser } from '@/utils/baocun'
import yuangongAdd from './yuangongAdd' import yuangongAdd from './yuangongAdd'
import yuangongInfo from './yuangongInfo' import yuangongInfo from './yuangongInfo'
@ -239,7 +114,6 @@ export default {
}, },
data() { data() {
return { return {
pageType: 'staff',
dialogVisible: false, // dialogVisible: false, //
btndisabled: false, btndisabled: false,
viewState: 1, // 1 2 3 4 viewState: 1, // 1 2 3 4
@ -269,8 +143,60 @@ export default {
current: 1, current: 1,
size: 10, size: 10,
total: 0, total: 0,
params: {} params: {
} joinCompnyDateEnd: '',
joinCompnyDateStart: '',
mobile: '',
name: '',
orgSid: '',
personTypeKey: '',
postSid: ''
}
},
btnList: [
{
type: 'primary',
size: 'small',
icon: 'el-icon-plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'el-icon-edit',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'doSubmit',
btnLabel: '提交'
},
{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'doQuit',
btnLabel: '离职'
},
{
type: 'success',
size: 'small',
icon: '',
btnKey: 'doImport',
btnLabel: '导入'
},
{
type: 'success',
size: 'small',
icon: '',
btnKey: 'doExport',
btnLabel: '导出'
}
]
} }
}, },
created() { created() {
@ -279,7 +205,7 @@ export default {
this.getBuMen() this.getBuMen()
}, },
mounted() { mounted() {
// this.$refs["btnbar"].setButtonList(this.btnList); this.$refs["btnbar"].setButtonList(this.btnList)
}, },
methods: { methods: {
@ -343,15 +269,12 @@ export default {
doSubmit(row) { doSubmit(row) {
// //
this.btndisabled = true this.btndisabled = true
req req.doSubmit(this.queryParams.params, this.sids).then((resp) => {
.doSubmit(this.queryParams.params, this.sids) console.log(resp)
.then((resp) => { this.btndisabled = false
console.log(resp) }).catch(() => {
this.btndisabled = false this.btndisabled = false
}) })
.catch(() => {
this.btndisabled = false
})
}, },
// doDel() { // doDel() {
// this.$refs['btn'].btnList.some((item,i) => { // this.$refs['btn'].btnList.some((item,i) => {
@ -388,32 +311,27 @@ export default {
}, },
doImport(row) { doImport(row) {
// //
req req.importExcel(this.queryParams.params, this.sids).then((resp) => {
.importExcel(this.queryParams.params, this.sids) console.log(resp)
.then((resp) => { }).catch(() => {
console.log(resp) })
})
.catch(() => {})
}, },
doExport(sids) { doExport(sids) {
// //
req req.exportExcel(this.queryParams.params, this.sids).then((resp) => {
.exportExcel(this.queryParams.params, this.sids) var map = resp.data
.then((resp) => { const fileName = map.filename //
var map = resp.data // // <a> Firefox Chrome download
const fileName = map.filename // // // IE10blobdownload
// // <a> Firefox Chrome download const link = document.createElement('a') // a
// // IE10blobdownload link.download = fileName // a
const link = document.createElement('a') // a link.style.display = 'none'
link.download = fileName // a link.href = map.downurl
link.style.display = 'none' document.body.appendChild(link)
link.href = map.downurl link.click() //
document.body.appendChild(link) URL.revokeObjectURL(link.href) // url
link.click() // document.body.removeChild(link) //
URL.revokeObjectURL(link.href) // url }).catch(() => {})
document.body.removeChild(link) //
})
.catch(() => {})
}, },
dosearch() { dosearch() {
this.queryParams.current = 1 this.queryParams.current = 1
@ -422,21 +340,18 @@ export default {
handleOpen() { handleOpen() {
const _this = this const _this = this
this.personTypeForm.sid = this.sids[0] this.personTypeForm.sid = this.sids[0]
req req.del(this.personTypeForm).then((resp) => {
.delBySids(this.personTypeForm) loading.close()
.then((resp) => { _this.$message({
loading.close() type: 'success',
_this.$message({ message: resp.msg,
type: 'success', showClose: true
message: resp.msg,
showClose: true
})
_this.loadList()
this.dialogVisible = false
})
.catch((e) => {
loading.close()
}) })
_this.loadList()
this.dialogVisible = false
}).catch((e) => {
loading.close()
})
}, },
// sid // sid
handleSelectionChange(row) { handleSelectionChange(row) {
@ -444,7 +359,6 @@ export default {
const aa = [] const aa = []
row.forEach((element) => { row.forEach((element) => {
aa.push(element.sid) aa.push(element.sid)
setuser(this.sids)
}) })
this.sids = aa this.sids = aa
this.row = row this.row = row
@ -454,31 +368,36 @@ export default {
// //
resetQuery() { resetQuery() {
this.queryParams.params = {} this.queryParams = {
this.queryParams.params.sid = '' // sid current: 1,
this.queryParams.params.name = '' // size: 10,
total: 0,
params: {
joinCompnyDateEnd: '',
joinCompnyDateStart: '',
mobile: '',
name: '',
orgSid: '',
personTypeKey: '',
postSid: ''
}
}
this.orgName_list = []
this.dosearch() this.dosearch()
}, },
// //
loadList() { loadList() {
const _this = this const _this = this
this.tableLoading = true this.tableLoading = true
req req.listPage(this.queryParams).then((resp) => {
.listPage(this.queryParams) console.log('查询列表', resp)
.then((resp) => { _this.tableLoading = false
console.log('查询列表', resp) const data = resp.data
_this.tableLoading = false _this.queryParams.total = data.total
const data = resp.data _this.dataList = data.records
_this.queryParams.total = data.total }).catch(() => {
_this.dataList = data.records _this.tableLoading = false
// for (var i = 0; i < data.records.length; i++) { })
// var timeArr = data.records[i].createTime.split(' ');
// this.dataList[i].createTime = timeArr[0];
// }
})
.catch(() => {
_this.tableLoading = false
})
}, },
// //
indexMethod(index) { indexMethod(index) {
@ -488,16 +407,12 @@ export default {
}, },
getType() { getType() {
req req.pullDown({ type: 'personType' }).then((res) => {
.pullDown({ if (res.code === '200') {
type: 'personType' this.personType_list = res.data
}) console.log('下拉框员工类型', res.data)
.then((res) => { }
if (res.code === '200') { })
this.personType_list = res.data
console.log('下拉框员工类型', res.data)
}
})
req.postName().then((res) => { req.postName().then((res) => {
if (res.code === '200') { if (res.code === '200') {
this.postSid_list = res.data this.postSid_list = res.data
@ -505,42 +420,6 @@ export default {
} }
}) })
}, },
getPersonType(value) {
console.log('触发下拉框按钮')
let bb = {}
this.personType_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.queryParams.params.personType = bb.name
console.log('name', this.queryParams.params.personType)
},
getPostSid(value) {
console.log('触发下拉框按钮', value)
let bb = {}
this.postSid_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.postCode == value) {
bb = {
name: e.name,
key: e.postCode,
sid: e.sid
}
}
})
this.queryParams.params.postSid = bb.sid
// this.temp.nationalKey = bb.key
// this.formobj.scmOtherInboundDto.billType = bb.sid
console.log('name', this.queryParams.params.postSid)
},
// //
getBuMen() { getBuMen() {
req.salesDepName().then((res) => { req.salesDepName().then((res) => {
@ -553,61 +432,45 @@ export default {
}, },
BuMen0(data) { BuMen0(data) {
data.forEach((e) => { data.forEach((e) => {
if (e.children.length != 0) { if (e.children) {
this.BuMen0(e.children) if (e.children.length !== 0) {
} else { this.BuMen0(e.children)
delete e.children } else {
this.dataArr.push(e) delete e.children
return this.dataArr.push(e)
return
}
} }
}) })
}, },
// //
orgNameChange(e) { orgNameChange(e) {
console.log('选中结果:' + JSON.stringify(e)) console.log('选中结果:' + JSON.stringify(e))
var result = ''
var result_Sid = '' var result_Sid = ''
var sidPath = ''
var namePath = ''
if (e.length > 0) { if (e.length > 0) {
// //
e.forEach((item) => { e.forEach((item) => {
var last_id = item var last_id = item
// //
this.select_temp_Name = '' // ()
this.select_temp_Sid = '' // (Sid) this.select_temp_Sid = '' // (Sid)
this.select_temp_NamePath = '' // ()
this.select_temp_SidPath = '' // (sid)
this.findOrgId(last_id, this.options) this.findOrgId(last_id, this.options)
result = result + this.select_temp_Name + '/'
result_Sid = result_Sid + this.select_temp_Sid + ',' result_Sid = result_Sid + this.select_temp_Sid + ','
sidPath = this.select_temp_SidPath
namePath = namePath + this.select_temp_Name + '/'
}) })
} }
if (result !== '') {
result = result.substring(0, result.length - 1)
}
if (namePath !== '') {
namePath = namePath.substring(0, result.length - 1)
}
if (result_Sid !== '') { if (result_Sid !== '') {
result_Sid = result_Sid.substring(0, result_Sid.length - 1) result_Sid = result_Sid.substring(0, result_Sid.length - 1)
} }
const orgSidArray = result_Sid.split(',') const orgSidArray = result_Sid.split(',')
const orgSid = orgSidArray[orgSidArray.length - 1] const orgSid = orgSidArray[orgSidArray.length - 1]
this.queryParams.params.orgName = result this.queryParams.params.orgSid = orgSid
// this.temp.sysStaffOrgDto.orgSid = orgSid console.log('选中名称:' + orgSid)
// this.temp.sysStaffOrgDto.orgSidPath = sidPath
// this.temp.sysStaffOrgDto.orgNamePath = namePath
console.log('选中名称:' + result, orgSid, sidPath, namePath)
}, },
// --- // ---
findOrgId(id, options) { findOrgId(id, options) {
console.log('这是部门id', id) console.log('这是部门id', id)
for (var i = 0; i < options.length; i++) { for (var i = 0; i < options.length; i++) {
if (id == options[i].sid) { if (id === options[i].sid) {
this.select_temp_Name = options[i].name // this.select_temp_Name = options[i].name //
this.select_temp_Sid = options[i].sid this.select_temp_Sid = options[i].sid
this.select_temp_NamePath = options[i].name this.select_temp_NamePath = options[i].name
@ -615,7 +478,7 @@ export default {
return true return true
} else { } else {
// //
if (options[i].children !== undefined) { if (options[i].children !== undefined && options[i].children !== null) {
// //
if (this.findOrgId(id, options[i].children)) { if (this.findOrgId(id, options[i].children)) {
return true return true
@ -651,7 +514,4 @@ export default {
border: #2cab69 1px solid; border: #2cab69 1px solid;
color: #2cab69; color: #2cab69;
} }
.lizhiliyou {
width: 200px !important;
}
</style> </style>

8
anrui-management/anrui-management-ui/vue.config.js

@ -40,16 +40,16 @@ module.exports = {
}, },
proxy: { proxy: {
'/api': { // 匹配所有以 '/api'开头的请求路径 '/api': { // 匹配所有以 '/api'开头的请求路径
target: 'http://127.0.0.1:8111/', // target: 'http://127.0.0.1:8111/',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径 target: process.env.VUE_APP_URL, // 代理目标的基础路径
changeOrigin: true, // 支持跨域 changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api' pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
'^/api': '' '^/api': ''
} }
}, },
'/upload': { // 匹配所有以 '/api'开头的请求路径 '/upload': { // 匹配所有以 '/api'开头的请求路径
target: 'http://4424790b0u.qicp.vip/', // target: 'http://4424790b0u.qicp.vip/',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径 target: process.env.VUE_APP_URL, // 代理目标的基础路径
changeOrigin: true, // 支持跨域 changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api' pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
'^/upload': '' '^/upload': ''

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

@ -0,0 +1,18 @@
package com.yxt.anrui.portal.api.sysstaffinfo;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/5/20 15:47
* @Description
*/
@Data
public class PcSysStaffQuery implements Query {
private static final long serialVersionUID = 1858291601540877140L;
@ApiModelProperty(value = "业务员sid")
private String staffSid;
}

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

@ -0,0 +1,17 @@
package com.yxt.anrui.portal.api.sysstaffinfo;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/5/20 15:44
* @Description
*/
@Data
public class PcSysStaffVo implements Vo {
private static final long serialVersionUID = -9042032921079833819L;
private String staffSid;
private String staffName;
}

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

@ -6,6 +6,7 @@ import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
@ -98,4 +99,9 @@ public interface SysStaffinfoFeign {
@PostMapping("/searchAppContactsList") @PostMapping("/searchAppContactsList")
public ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>> searchAppContactsList(@RequestBody PagerQuery<SysStaffinfoQuery> pq); public ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>> searchAppContactsList(@RequestBody PagerQuery<SysStaffinfoQuery> pq);
@ApiOperation("销售订单-内部推荐人下拉框")
@ResponseBody
@GetMapping("/selectStaffList")
ResultBean<List<PcSysStaffVo>> selectStaffList(@SpringQueryMap PcSysStaffQuery pcSysStaffQuery);
} }

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

@ -5,6 +5,8 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* Project: anrui_portal(门户建设) <br/> * Project: anrui_portal(门户建设) <br/>
* File: SysStaffinfoFeignFallback.java <br/> * File: SysStaffinfoFeignFallback.java <br/>
@ -63,4 +65,9 @@ public class SysStaffinfoFeignFallback implements SysStaffinfoFeign {
return ResultBean.fireFail().setMsg("接口anrui_portal/searchAppContactsList无法访问"); return ResultBean.fireFail().setMsg("接口anrui_portal/searchAppContactsList无法访问");
} }
@Override
public ResultBean<List<PcSysStaffVo>> selectStaffList(PcSysStaffQuery pcSysStaffQuery) {
return null;
}
} }

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

@ -103,4 +103,12 @@ public interface SysStaffinfoMapper extends BaseMapper<SysStaffinfo> {
*/ */
int updateBySid(@Param("personType") String personType, @Param("personTypeKey") String personTypeKey, int updateBySid(@Param("personType") String personType, @Param("personTypeKey") String personTypeKey,
@Param("sid") String sid, @Param("date") Date date, @Param("reason") String reason); @Param("sid") String sid, @Param("date") Date date, @Param("reason") String reason);
@Param("jobNumber") String jobNumber, @Param("sid") String sid, @Param("date") Date date, @Param("reason") String reason);
/**
* 查询当前分公司下的员工信息
* @param orgSid 分公司sid
* @return
*/
List<PcSysStaffVo> selectStaffList(String orgSid);
} }

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

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

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

@ -165,5 +165,10 @@ public class SysStaffinfoRest implements SysStaffinfoFeign {
return new ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>>().success().setData(pv_result); return new ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>>().success().setData(pv_result);
} }
@Override
public ResultBean<List<PcSysStaffVo>> selectStaffList(PcSysStaffQuery pcSysStaffQuery) {
return sysStaffinfoService.selectStaffList(pcSysStaffQuery);
}
} }

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

@ -495,4 +495,19 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
} }
return count; return count;
} }
public ResultBean<List<PcSysStaffVo>> selectStaffList(PcSysStaffQuery pcSysStaffQuery) {
ResultBean<List<PcSysStaffVo>> rb = ResultBean.fireFail();
//根据当前staffSid查询分公司sid
String orgSid = "";
List<PcSysStaffVo> list = new ArrayList<>();
ResultBean<String> stringResultBean = sysStaffOrgService.selectSidPathByStaffSid(pcSysStaffQuery.getStaffSid());
if (stringResultBean.getSuccess()) {
orgSid = stringResultBean.getData();
}
if(StringUtils.isNotBlank(orgSid)){
list = baseMapper.selectStaffList(orgSid);
}
return rb.success().setData(list);
}
} }

30
doc/databases/bus-center_tables.sql

@ -554,3 +554,33 @@ CREATE TABLE `bus_sales_order_insurance`
) ENGINE = INNODB ) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='销售订单-保险信息'; DEFAULT CHARSET = utf8 COMMENT ='销售订单-保险信息';
DROP TABLE IF EXISTS `bus_sales_order_submit`;
CREATE TABLE `bus_sales_order_submit`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注:返利备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`salesOrderSid` VARCHAR(64) DEFAULT NULL COMMENT '销售订单sid',
`priceRemarks` varchar(500) DEFAULT NULL COMMENT '价格说明',
`discountRemarks` varchar(500) DEFAULT NULL COMMENT '优惠说明',
`distributorName` varchar(64) DEFAULT NULL COMMENT '中介名称:即经销商名称',
`distributorMobile` varchar(64) DEFAULT NULL COMMENT '联系电话',
`distributorSid` varchar(64) DEFAULT NULL COMMENT '中介单位sid',
`distributorPrice` decimal(10, 2) DEFAULT NULL COMMENT '单车中介服务费',
`distributorPriceAll` decimal(10, 2) DEFAULT NULL COMMENT '返利合计',
`name` varchar(64) DEFAULT NULL COMMENT '内部引荐人:本分公司的用户',
`userSid` varchar(64) DEFAULT NULL COMMENT '内部引荐人sid',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='销售订单-订单提交时补充的返利信息';

Loading…
Cancel
Save