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. 71
      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. 5
      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. 99
      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. 3
      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. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvisit/CrmVisitMapper.java
  50. 7
      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. 10
      anrui-management/anrui-management-ui/src/components/ButtonBar/index.vue
  56. 79
      anrui-management/anrui-management-ui/src/components/uploadFileimg/upload.vue
  57. 322
      anrui-management/anrui-management-ui/src/components/uploadFileimg/upload_head.vue
  58. 2
      anrui-management/anrui-management-ui/src/styles/index.scss
  59. 892
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue
  60. 380
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue
  61. 404
      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.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -57,4 +58,12 @@ public interface BaseDistributorFeign {
@ApiOperation("Pc端分页查询中介单位(经销商)")
@GetMapping("/getPcDistributorList")
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;
}
@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 = "名称(优先级最高,有值时 查询车型名称)")
private String name;
@ApiModelProperty(value = "品牌名称")
private String brand;
@ApiModelProperty(value = "排放标准")
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}")
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}
</select>
<select id="getBaseDistributorList" resultType="com.yxt.anrui.base.api.basedistributor.PcBaseDistributorVo">
select * from base_distributor ${ew.customSqlSegment}
</select>
</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.basedistributorlegal.BaseDistributorLegalVo;
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.basedistributorperson.BaseDistributorPersonService;
import com.yxt.anrui.base.biz.basedistributorstaff.BaseDistributorStaffService;
@ -24,7 +22,6 @@ import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -173,4 +170,11 @@ public class BaseDistributorRest implements BaseDistributorFeign {
List<Map<String, Object>> stringList = baseDistributorService.namesDown(name);
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.portal.api.sysorganization.SysOrganization;
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.SysUserVo;
import com.yxt.common.base.service.MybatisBaseService;
@ -50,6 +51,8 @@ public class BaseDistributorService extends MybatisBaseService<BaseDistributorMa
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
/**
* 经销商分页列表
@ -239,4 +242,20 @@ public class BaseDistributorService extends MybatisBaseService<BaseDistributorMa
public int updateBySidIsDelete(String 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);
//查询车型信息
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);

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
LEFT JOIN base_vehmodel_config bvc ON bvc.modelSid = bvm.sid
where bvm.sid = #{modelSid}
and bvc.useOrgSid = #{useOrgSid}
</select>
<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.metadata.IPage;
import com.yxt.anrui.base.api.basemodelconfig.*;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarByPageListQuery;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarModelByPageListVo;
import com.yxt.anrui.base.api.basevehicle.AppMoreConfigVo;
import com.yxt.anrui.base.api.basevehicle.ConfigInfo;
import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendix;
import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService;
import com.yxt.anrui.base.biz.basevehiclemodelappendix.BaseVehicleModelAppendixService;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
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.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -39,6 +40,12 @@ public class BaseModelConfigService extends MybatisBaseService<BaseModelConfigMa
@Autowired
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());
}
String modelSid = pagerQuery.getParams().getModelSid();
AppModelConfigVo vo = baseMapper.getModelConfigList(modelSid);
List<String> modelImages = new ArrayList<>();
modelImages.add("123123");
modelImages.add("324");
modelImages.add("345");
String useOrgSid = data.getSid();
AppModelConfigVo vo = baseMapper.getModelConfigList(modelSid,useOrgSid);
String type = "0002";
String path = fileUploadComponent.getUrlPrefix();
List<String> modelImages = baseVehicleAppendixService.selectBySid(type, modelSid, path);
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())) {
qw.like("modelName", query.getModelName());
}
qw.eq("createBySid",query.getUserSid());
qw.eq("useOrgSid",query.getUseOrgSid());
qw.eq("createBySid",query.getUserSid());
// qw.eq("createBySid",query.getUserSid());
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 roleSid = query.getRoleSid();
BaseOrderPostPriceVo vo = baseMapper.selectPostPrice(brandSid,roleSid);
if(vo == null){
return rb.setData(new BaseOrderPostPriceVo());
}
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
* @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.gearboxTypeValue,
bvc.priceValidity,
bvc.guidedPrice,
(SELECT count(*) FROM base_vehmodel_config bvc WHERE bvc.modelSid = bvm.sid) AS configNum,
(SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND lockedState = '03') AS nowCarNum,
(SELECT CONCAT(MIN(bvc.guidedPrice), '-', MAX(bvc.guidedPrice)) FROM base_vehmodel_config bvc WHERE bvc.modelSid
= bvm.sid AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*) FROM base_vehmodel_config bvc WHERE bvc.modelSid = bvm.sid AND bvc.useOrgSid = #{useOrgSid}) AS
configNum,
(SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND lockedState = '03' AND bv.useOrg =
#{useOrgSid}) AS nowCarNum,
(SELECT count(*)
FROM bus_vehicle_apply_detail bvad
WHERE bvad.vehicleSid = bvm.sid) AS produceCarNum
@ -526,7 +529,7 @@
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND bv.modelConfigSid = bvc.configurationItemsSid
AND lockedState = '0004')
AND lockedState = '03')
+
(SELECT count(*)
FROM bus_vehicle_apply_detail bvad

71
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.AppModelConfigListVo;
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.BaseVehicleModelFeign;
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.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
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.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.xml.crypto.Data;
import java.util.*;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
@ -487,6 +487,11 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
String useOrg = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData().getSid();
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);
List<List<ConfigInfoSpanSize>> modelInfoList = new ArrayList<>();
@ -746,10 +751,19 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
}
IPage<AppVehicleModelPriceQuery> page = PagerUtil.queryToPage(pagerQuery);
QueryWrapper<AppVehicleModelPriceVo> qw = appExistingCarBuildQW(pagerQuery.getParams());
IPage<AppVehicleModelPriceVo> iPage = baseMapper.getModelList(page, qw);
IPage<AppVehicleModelPriceVo> iPage = baseMapper.getModelList(page, qw, data.getSid());
// 3、 查询更多配置(其它分公司)
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();
List<AppMoreConfigVo> moreConfigVos = baseMapper.getCompanyModelList(record.getModelSid(), useOrg);
for (AppMoreConfigVo moreConfigVo : moreConfigVos) {
@ -767,31 +781,34 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
qw.like("bvm.vehicleAlias", pagerQuery.getName());
}
if (StringUtils.isNotBlank(pagerQuery.getEmissionStandard())) { // 排放标准
qw.eq("bvm.emissionStandard", pagerQuery.getEmissionStandard());
qw.eq("bvm.emissionStandardValue", pagerQuery.getEmissionStandard());
}
if (StringUtils.isNotBlank(pagerQuery.getDriver())) { // 驱动
qw.eq("bvm.driveForm", pagerQuery.getDriver());
qw.eq("bvm.driveFormValue", pagerQuery.getDriver());
}
if (StringUtils.isNotBlank(pagerQuery.getGearbox())) { // 变速箱
qw.eq("bvm.gearboxType", pagerQuery.getGearbox());
qw.eq("bvm.gearboxTypeValue", pagerQuery.getGearbox());
}
if (StringUtils.isNotBlank(pagerQuery.getSeries())) { // 产品系别
qw.eq("bvm.department", pagerQuery.getSeries());
qw.eq("bvm.departmentValue", pagerQuery.getSeries());
}
if (StringUtils.isNotBlank(pagerQuery.getVehicleFunction())) { // 功能
qw.eq("bvm.vehicleType", pagerQuery.getVehicleFunction());
qw.eq("bvm.vehicleTypeValue", pagerQuery.getVehicleFunction());
}
if (StringUtils.isNotBlank(pagerQuery.getMarketSegments())) { // 细分市场
qw.eq("bvm.marketSegments", pagerQuery.getMarketSegments());
qw.eq("bvm.marketSegmentsValue", pagerQuery.getMarketSegments());
}
if (StringUtils.isNotBlank(pagerQuery.getVehicleVersion())) { // 版本
qw.eq("bvm.vehicleVersion", pagerQuery.getVehicleVersion());
qw.eq("bvm.vehicleVersionValue", pagerQuery.getVehicleVersion());
}
if (StringUtils.isNotBlank(pagerQuery.getFuelType())) { // 燃料
qw.eq("bvm.fuelType", pagerQuery.getFuelType());
qw.eq("bvm.fuelTypeValue", pagerQuery.getFuelType());
}
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())) { // 分公司
qw.eq("bvc.useOrgSid", pagerQuery.getUseOrg());
@ -1244,14 +1261,20 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bv.vinNo", query.getNames());//车架号
}
if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bv.vehicleStateValue", query.getNames());//状态
}
if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bmc.carColor", query.getNames());//车身颜色
}
if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bv.location", query.getNames());//存放地点
// if (StringUtils.isNotBlank(query.getNames())) {
// qw.eq("bv.vehicleStateValue", query.getNames());//状态
// }
// if (StringUtils.isNotBlank(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.getConfigSid())) {//分公司
qw.eq("bv.modelConfigSid", query.getConfigSid());
}
if (StringUtils.isNotBlank(query.getUseOrg())) {//分公司
qw.eq("bv.useOrg", query.getUseOrg());
@ -1290,7 +1313,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
QueryWrapper<AppBaseNowProduceCarVo> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getNames())) {
qw.like("bvo.orderStatus", query.getNames());//订单状态
qw.like("bvo.orderNo", query.getNames());// 订单编号
}
if (StringUtils.isNotBlank(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) {
return baseMapper.deletePath(path);
}
public BaseVehicleAppendix selectByLinkSid(String modelSid, String type) {
return null;
}
}

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

@ -187,7 +187,9 @@ public class BusVehicleApplyDetailService extends MybatisBaseService<BusVehicleA
int count = 0;
int plat = 0;
int locking = 0;
if(orderListVoList.size() != 0){
for (int i = 0; i < orderListVoList.size(); i++) {
if(orderListVoList.get(i) != null){
String platformNo = orderListVoList.get(i).getPlatformNo();
String lockingNum = orderListVoList.get(i).getLockingNum();
if (StringUtils.isNotBlank(platformNo)) {
@ -198,6 +200,9 @@ public class BusVehicleApplyDetailService extends MybatisBaseService<BusVehicleA
}
count = count+(plat-locking);
}
}
}
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.bussalesordermodel.BusSalesOrderModelDto;
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.bussalesvehicleorder.BusSalesVehicleOrderDto;
import com.yxt.common.core.dto.Dto;
@ -118,4 +119,7 @@ public class BusSalesOrderAllDto implements Dto {
private List<String> vehicleList = new ArrayList<>();
@ApiModelProperty(value = "优惠包价值")
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("单台开票金额")
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("公司入保期数")
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("公司入保期数")
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;
@ApiModelProperty("合同上传")
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;
@ApiModelProperty("合同上传")
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")
private String salesOrderSid;
@ApiModelProperty(value = "品牌sid")
private String brandSid;
@ApiModelProperty(value = "品牌")
private String brandName;
@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("单台成交价")
@JsonSerialize(using = ToStringSerializer.class)
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.metadata.IPage;
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.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -98,8 +97,7 @@ public class BusDepositFictitiousService extends MybatisBaseService<BusDepositFi
}
public int deleteByOrderSid(String sid) {
BusSalesOrderDeposit busSalesOrderDeposit = busSalesOrderDepositService.selectByOrderSid(sid);
return baseMapper.deleteByDepositSid(busSalesOrderDeposit.getSid());
return baseMapper.deleteByDepositSid(sid);
}
/**

99
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.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo;
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.BusSalesOrderInsuranceDto;
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.bussalesorderprice.BusSalesOrderPriceDetailsVo;
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.BusSalesOrderVehicleDto;
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.bussalesordermodel.BusSalesOrderModelService;
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.bussalesvehicleorder.BusSalesVehicleOrderService;
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.app.AppUserOrgInfoVo;
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.utils.DateUtils;
import com.yxt.common.base.utils.PagerUtil;
@ -157,6 +161,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private BaseVehiclePolicyFeign baseVehiclePolicyFeign;
@Autowired
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();
BeanUtil.copyProperties(entity, vo);
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());
if (busSalesOrderModelDetailsVo != null) {
@ -271,12 +284,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
vo.setBusSalesOrderDiscountList(busSalesOrderDiscountDetailsVoList);
}
//查询保险说明
if ("1".equals(entity.getIsInsurance())) {
BusSalesOrderInsuranceDetailsVo busSalesOrderInsuranceDetailsVo = busSalesOrderInsuranceService.details(entity.getSid());
if (busSalesOrderInsuranceDetailsVo != null) {
vo.setBusSalesOrderInsurance(busSalesOrderInsuranceDetailsVo);
}
}
//查询订金信息
BusSalesOrderDepositDetailsVo busSalesOrderDepositDetailsVo = busSalesOrderDepositService.details(entity.getSid());
if (busSalesOrderDepositDetailsVo != null) {
@ -298,6 +311,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
* @param dto 数据传输对象
* @return
*/
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> saveOrUpdateOrder(BusSalesOrderAllDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
@ -335,9 +349,20 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
} else if ("2".equals(dto.getType())) {
//采购订单
List<BusSalesVehicleOrderDto> busSalesVehicleOrderList = dto.getBusSalesVehicleOrderList();
if(busSalesVehicleOrderList.size()>0){
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 {
vehicleNum = quantity;
}
@ -357,11 +382,21 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if ("1".equals(dto.getIsTop())) {
//上装价格
BusSalesOrderMakeupDto busSalesOrderMakeup = dto.getBusSalesOrderMakeup();
if (StringUtils.isBlank(busSalesOrderMakeup.getTopName())) {
return rb.setMsg("包含上装,上装名称不能为空");
}
String topPrice = busSalesOrderMakeup.getTopPrice();
// String topPrice = dto.getBusSalesOrderMakeup().getTopPrice();
if (StringUtils.isNotBlank(topPrice)) {
singleGuildPriceBig = singleGuildPriceBig.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 singleFinalPrice = dto.getBusSalesOrderPrice().getSingleFinalPrice();
@ -432,8 +467,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
return rb.success();
}
private void updateOrder(BusSalesOrderAllDto dto) {
@Transactional(rollbackFor = Exception.class)
public void updateOrder(BusSalesOrderAllDto dto) {
//主车车型信息
BusSalesOrderModelDto busSalesOrderModelDto = dto.getBusSalesOrderModel();
//现车车辆信息
@ -454,6 +489,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<BusDepositFictitiousDto> busDepositFictitiousDtoList = dto.getBusDepositFictitiousList();
BusSalesOrder busSalesOrder = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, busSalesOrder, "sid");
if (dto.getCustomerPhoto().contains(fileUploadComponent.getUrlPrefix())) {
busSalesOrder.setCustomerPhoto(dto.getCustomerPhoto().replace(fileUploadComponent.getUrlPrefix(), ""));
}
baseMapper.updateById(busSalesOrder);
//主车车型信息保存
busSalesOrderModelService.saveModel(busSalesOrderModelDto, dto.getSid());
@ -484,19 +522,28 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busSalesOrderInsuranceService.deleteByOrderSid(dto.getSid());
busSalesOrderInsuranceService.saveInsurance(busSalesOrderInsuranceDto, dto.getSid());
} else {
if (dto.getBusSalesOrderInsurance() == null) {
busSalesOrderInsuranceService.deleteByOrderSid(dto.getSid());
} else {
busSalesOrderInsuranceService.updateByOrderSid(dto.getSid(), dto.getBusSalesOrderInsurance().getRemarks());
}
}
busSalesOrderDepositService.updateOrderDepo(busSalesOrderDepositDto, dto.getSid());
if ("01".equals(busSalesOrderDepositDto.getDepositTypeKey())) {
//现交订金
busDepositFictitiousService.deleteByOrderSid(dto.getSid());
busDepositFictitiousService.saveFictitious(busDepositFictitiousDtoList, dto.getSid());
BusSalesOrderDeposit busSalesOrderDeposit = busSalesOrderDepositService.selectByOrderSid(dto.getSid());
if(busSalesOrderDeposit != null){
if ("02".equals(busSalesOrderDepositDto.getDepositTypeKey())) {
//结转金额
busDepositFictitiousService.deleteByOrderSid(busSalesOrderDeposit.getSid());
busDepositFictitiousService.saveFictitious(busDepositFictitiousDtoList, busSalesOrderDeposit.getSid());
} else {
busDepositFictitiousService.deleteByOrderSid(dto.getSid());
busDepositFictitiousService.deleteByOrderSid(busSalesOrderDeposit.getSid());
}
}
}
@Transactional(rollbackFor = Exception.class)
public String save(BusSalesOrderAllDto dto) {
//主车车型信息
BusSalesOrderModelDto busSalesOrderModelDto = dto.getBusSalesOrderModel();
@ -544,6 +591,15 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
String isInsurance = dto.getIsInsurance();
if ("1".equals(isInsurance)) {
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);
if ("02".equals(busSalesOrderDepositDto.getDepositTypeKey())) {
@ -553,13 +609,29 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return sid;
}
@Transactional(rollbackFor = Exception.class)
public ResultBean submit(BusSalesOrderAllDto dto) {
ResultBean rb = ResultBean.fireFail();
String orgSid = checkUserOrg(dto.getStaffSid());
ResultBean<String> resultBean = saveOrUpdateOrder(dto);
if (resultBean.getSuccess()) {
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<>();
variables.put("businessSid", businessSid);
if ("01".equals(dto.getPayTypeKey())) {
@ -645,10 +717,13 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
for (int i = 0; i < vehicleList.size(); i++) {
//根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额
ResultBean<BaseVehiclePriceVo> priceResultBean = baseVehiclePolicyFeign.selectPrice(vehicleList.get(i));
if(priceResultBean.getSuccess() && priceResultBean.getData() != null){
String price = priceResultBean.getData().getDiscountMoney();
BigDecimal bigDecimal1 = new BigDecimal(price);
initBigDecimal = initBigDecimal.add(bigDecimal1);
}
}
}
}
//销售经理的角色sid

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
*/
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">
select insuranceName,
insuranceCarMoney,
insuranceNum
insuranceNum,
remarks
from bus_sales_order_insurance
where salesOrderSid = #{sid}
</select>
<update id="updateByOrderSid">
update bus_sales_order_insurance
set insuranceNum = NULL,
insuranceCarMoney=NULL,
insuranceName=NULL,
remarks = #{remarks}
where salesOrderSid = #{sid}
</update>
</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) {
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,
topPrice,
moreConfig,
contractPath
contractPath,remarks
from bus_sales_order_makeup
where salesOrderSid = #{sid}
</select>

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

@ -41,7 +41,9 @@
moreConfig,
specialConfig,
guildPrice,
finalPrice
finalPrice,
brandName,
brandSid
from bus_sales_order_model
where salesOrderSid = #{sid}
</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);
}
}
}

3
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.bussalesvehicleorder.*;
import com.yxt.common.base.service.MybatisBaseService;
@ -89,6 +88,7 @@ public class BusSalesVehicleOrderService extends MybatisBaseService<BusSalesVehi
if (stringList.size() > 0) {
//删除
baseMapper.deleteBySalesOrderSid(sid);
}
for (int i = 0; i < vehicleList.size(); i++) {
BusSalesVehicleOrderDto busSalesVehicleOrderDto = vehicleList.get(i);
BusSalesVehicleOrder busSalesVehicleOrder = new BusSalesVehicleOrder();
@ -97,7 +97,6 @@ public class BusSalesVehicleOrderService extends MybatisBaseService<BusSalesVehi
save(busSalesVehicleOrder);
}
}
}
/**
* 根据销售订单sid查询销售订单的采购订单

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;
@ApiModelProperty("销售指导价")
private String vehicleModelOffer;
private String guidancePrice;
@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;
@ApiModelProperty("车型报价")
private String vehicleModelOffer;
private BigDecimal vehicleModelOffer;
@ApiModelProperty("数量")
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();
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},
remind_remark = #{remind_remark},
isOnRemind = #{isOnRemind},
isOnRemindkey=#{isOnRemindkey}
isOnRemindkey=#{isOnRemindkey},
follow_state = #{follow_state}
WHERE sid = #{customerSid}
</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();
}
public int updateRemindAndByCustomerSid(String customerSid, String remind_day, String remind_remark, String isOnRemind, String isOnRemindkey) {
return baseMapper.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, 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,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,
(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.follow_state
cct.follow_state
FROM
crm_customer_temp cct
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
*/
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.modelSid,
cvcd.comonConfigSid,
cvcd.saleReferencePrice AS vehicleModelOffer,
cvcd.saleReferencePrice AS guidancePrice,
cvcd.createTime,
cvcd.purchaseMethodValue AS purchaseMethod
cvcd.purchaseMethodValue AS purchaseType
FROM crm_vehicledemand cvcd
WHERE cvcd.customerSid = #{customerSid}
AND cvcd.states = 1
@ -107,7 +107,7 @@
resultType="com.yxt.anrui.crm.api.crmvehicledemand.AppCrmVehicleDemandParticularsVo">
SELECT cv.purchaseMethodValue AS type,
cv.modelSid,
cv.modelName AS model,
cv.modelName,
cv.brandName AS brand,
cv.saleReferencePrice AS price,
cv.vehicleModelOffer AS quotation,
@ -136,4 +136,12 @@
cv.createTime
from crm_vehicledemand cv ${ew.customSqlSegment}
</select>
<update id="updateByPrice">
update
crm_vehicledemand
set vehicleModelOffer = NULL
where sid = #{sid}
</update>
</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.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@ -354,8 +355,14 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
entity.setRemarks(appCrmVehicleDemandUpdateDto.getRemarks());
entity.setNumber(appCrmVehicleDemandUpdateDto.getNumber());
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);
if (StringUtils.isBlank(appCrmVehicleDemandUpdateDto.getPrice())) {
baseMapper.updateByPrice(entity.getSid());
}
return rb.success();
}

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

@ -66,7 +66,7 @@ public interface CrmVisitMapper extends BaseMapper<CrmVisit> {
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}")
void updateAppendixUrl(@Param("s") String s, @Param("sid") String sid);

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

@ -99,11 +99,8 @@
</select>
<select id="fetchByVisitSid" resultType="java.lang.Integer">
SELECT count(*)
FROM crm_visit cv
LEFT JOIN crm_visit_demand cvd ON cv.sid = cvd.visitSid
LEFT JOIN crm_vehicledemand cvcd ON cvcd.sid = cvd.demandSid
WHERE cv.sid = #{sid}
AND cvcd.states = 0
FROM crm_visit_demand cvd
WHERE cvd.visitSid = #{sid}
</select>
<select id="getAppVisitByCustomerSid"
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_remark = dto.getRemind_remark();
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.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);
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())) {
// String[] urlArr = appCrmVisitThumbDetailsVo.getVisit_witness_materials().split(",");
// 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_remark = appCrmVisitDto.getRemind_remark();
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) {
CrmVisit entity = new CrmVisit();
List<String> materialsList = appCrmVisitDto.getMaterialsList();

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

@ -15,7 +15,7 @@
},
"dependencies": {
"axios": "0.18.1",
"core-js": "3.6.5",
"core-js": "^3.22.5",
"element-ui": "2.13.2",
"js-cookie": "2.2.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) {
return request({

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

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

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

@ -1,73 +1,54 @@
<template>
<div>
<el-upload ref="imgUpload" v-loading="loadding" 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">
<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">
<i class="el-icon-plus avatar-uploader-icon"/>
</el-upload>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片">
<el-dialog :visible.sync="dialogVisible" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="">
</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>
</template>
<script>
import { uploadFile } from '@/api/Common/Upload.js'
import {getStorage} from '@/utils/auth.js' //token
import {mapGetters} from 'vuex'
import { getStorage } from '@/utils/auth.js'
export default {
model: {
prop: 'name',
event: 'change',
event: 'change'
},
props: {
placeholder: {
type: String,
default: '',
default: ''
},
bucket: {
type: String,
default: 'abc',
default: 'abc'
},
//
width: {
type: String,
default: '270px',
default: '270px'
},
limit: {
type: Number,
default: 1,
default: ''
},
accept: {
type: String,
default:
'.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx',
default: '.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx'
},
//
name: {
type: Array,
required: true,
required: true
},
uploadData: {
type: Object,
default: {},
},
default: {}
}
},
data() {
return {
@ -86,18 +67,9 @@
// showpicture:false,
isview: false,
nameArr: '',
loadding: false,
loadding: false
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token',
]),
},
watch: {
name: {
deep: true,
@ -106,8 +78,8 @@
console.log('aaaa1', newVal)
this.files = newVal
console.log('aaaa2', this.files)
},
},
}
}
},
mounted() {
this.$nextTick(() => {
@ -117,7 +89,7 @@
created() {
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage(),
token: getStorage()
}
},
methods: {
@ -135,11 +107,16 @@
for (var i = 0; i < this.name.length; i++) {
this.files.push({
name: this.name[i],
url: this.name[i],
url: this.name[i]
})
}
}
},
handlePictureCardPreview(file) {
console.log(this.file)
this.dialogVisible = true
this.dialogImageUrl = file.url
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
console.log('您选择的file:', file)
@ -151,7 +128,7 @@
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
size: file.response.data.size,
size: file.response.data.size
})
this.$emit('change', this.files)
this.$emit('eett', this.files)
@ -230,12 +207,6 @@
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
@ -245,8 +216,8 @@
this.loadding = true
}
// console.log('event:', event)
},
},
}
}
}
</script>

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

@ -1,270 +1,144 @@
<template>
<div>
<el-upload
ref="imgUpload"
v-loading="loadding"
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 ref="imgUpload" class="avatar-uploader" :file-list="files" :headers="accessToken" :accept="accept" :action="uploadFile" :on-success="uploadImgSuccess_FuJian" :show-file-list="false">
<i v-if="Photo === '' && frontPhoto === ''" class="el-icon-plus avatar-uploader-icon" />
<img v-else :src="Photo != '' ? Photo : frontPhoto" class="avatar">
</el-upload>
<el-dialog
:visible.sync="dialogVisible"
:append-to-body="true"
title="查看图片"
>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="" />
</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>
</template>
<script>
import { uploadFile } from "@/api/Common/Upload.js";
import { getStorage } from "@/utils/auth.js"; //token
import { mapGetters } from "vuex";
import { uploadFile } from '@/api/Common/Upload.js'
import { getStorage } from '@/utils/auth'
export default {
model: {
prop: "name",
event: "change",
},
// model: {
// prop: 'name',
// event: 'change'
// },
props: {
placeholder: {
type: String,
default: "",
},
bucket: {
type: String,
default: "abc",
},
//
width: {
type: String,
default: "270px",
},
limit: {
type: Number,
default: 1,
default: 1
},
accept: {
type: String,
default:
".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx",
default: '.jpg,.jpeg,.png,.JPG,.JPEG,.PNG'
},
frontPhoto: {
type: String,
default: ''
}
//
name: {
type: Array,
required: true,
},
uploadData: {
type: Object,
default: {},
},
// name: {
// type: Array,
// required: true
// }
},
data() {
return {
dialogImageUrl: "",
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: {
...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);
Photo: ''
}
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() {
this.uploadFile = uploadFile; //
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage(),
};
},
methods: {
showImg(imgList) {
this.files = imgList;
console.log("123123123", this.files);
},
view() {
// window.open(this.filedUrl)
},
//
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],
});
}
}
},
methods: {
// showImg(imgList) {
// this.files = imgList
// console.log('123123123', this.files)
// },
// //
// 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;
uploadImgSuccess_FuJian(response, file) {
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.Photo = file.response.data.fullUrl
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) {
this.files.splice(this.files.indexOf(file), 1);
const imgFiles = [];
this.files.forEach((o) => {
imgFiles.push(o.url);
});
this.$emit("fileChange", this.files);
},
handleRemove(file, fileList) {
console.log("file:" + JSON.stringify(file));
console.log("fileList:" + JSON.stringify(fileList));
this.enclosure = "";
// 1. id(this.file_add)
this.getNewFileId(fileList);
// 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);
size: file.response.data.size
})
this.$emit('photoAdd', this.Photo)
this.$emit('eett', this.files)
}
// 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;
</script>
<style scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
} else {
this.enclosure = this.file_add;
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
},
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;
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
// console.log('event:', event)
},
},
};
</script>
<style lang="scss" scoped></style>
.avatar {
margin-top: 5%;
width: 178px;
height: 178px;
display: block;
}
</style>

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

@ -120,7 +120,7 @@ div:focus {
}
.filter-item {
padding: 0 10px;
width: 220px;
width: 168px;
display: inline-block;
}
.listtop {

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

File diff suppressed because it is too large

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

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

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

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

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

@ -40,16 +40,16 @@ module.exports = {
},
proxy: {
'/api': { // 匹配所有以 '/api'开头的请求路径
target: 'http://127.0.0.1:8111/',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径
// target: 'http://127.0.0.1:8111/',
target: process.env.VUE_APP_URL, // 代理目标的基础路径
changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
'^/api': ''
}
},
'/upload': { // 匹配所有以 '/api'开头的请求路径
target: 'http://4424790b0u.qicp.vip/',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径
// target: 'http://4424790b0u.qicp.vip/',
target: process.env.VUE_APP_URL, // 代理目标的基础路径
changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
'^/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.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -98,4 +99,9 @@ public interface SysStaffinfoFeign {
@PostMapping("/searchAppContactsList")
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 org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysStaffinfoFeignFallback.java <br/>
@ -63,4 +65,9 @@ public class SysStaffinfoFeignFallback implements SysStaffinfoFeign {
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,
@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}
where sid = #{sid}
</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>

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);
}
@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;
}
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
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