Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
hanlinghao 3 years ago
parent
commit
3bb1b4110b
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderCountQuery.java
  2. 14
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java
  3. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java
  4. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelVo.java
  5. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageService.java
  6. 11
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  7. 24
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java
  8. 49
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java
  9. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml
  10. 1
      anrui-base/anrui-base-ui/src/layout/components/TagsView/index.vue
  11. 56
      anrui-base/anrui-base-ui/src/router/index.js
  12. 3
      anrui-base/anrui-base-ui/src/views/guakaogongsi/guakaogongsiguanli/guakaogongsiAdd.vue
  13. 8
      anrui-base/anrui-base-ui/src/views/guakaogongsi/guakaogongsiguanli/guakaogongsiInfo.vue
  14. 11
      anrui-base/anrui-base-ui/src/views/guakaogongsi/guakaogongsiguanli/guakaogongsiguanli.vue
  15. 12
      anrui-base/anrui-base-ui/src/views/redirect/index.vue
  16. 2
      anrui-base/anrui-base-ui/src/views/zifang/zifangguanli/zifangguanli.vue
  17. 2
      anrui-base/anrui-base-ui/src/views/zifang/zifangzhengce/zifangzhengce.vue
  18. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java
  19. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModel.java
  20. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDetailsVo.java
  21. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDto.java
  22. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  23. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelMapper.xml
  24. 20
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java
  25. 16
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.xml
  26. 4
      anrui-buscenter/anrui-buscenter-ui/src/layout/components/TagsView/index.vue
  27. 30
      anrui-buscenter/anrui-buscenter-ui/src/router/index.js
  28. 12
      anrui-buscenter/anrui-buscenter-ui/src/views/redirect/index.vue
  29. 3
      anrui-buscenter/anrui-finmanage-ui/src/layout/components/TagsView/index.vue
  30. 12
      anrui-buscenter/anrui-finmanage-ui/src/router/index.js
  31. 12
      anrui-buscenter/anrui-finmanage-ui/src/views/redirect/index.vue
  32. 1
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml
  33. 4
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java
  34. 3
      anrui-management/anrui-management-ui/src/layout/components/TagsView/index.vue
  35. 9
      anrui-management/anrui-management-ui/src/router/index.js
  36. 12
      anrui-management/anrui-management-ui/src/views/redirect/index.vue
  37. 91
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue
  38. 2
      anrui-scm/anrui-scm-ui/src/api/cheliang/basevehicle.js
  39. 6
      anrui-scm/anrui-scm-ui/src/api/portal/Upload.js
  40. 11
      anrui-scm/anrui-scm-ui/src/api/supplychain/yancheguanli.js
  41. 266
      anrui-scm/anrui-scm-ui/src/components/uploadFile/FaImages.vue
  42. 3
      anrui-scm/anrui-scm-ui/src/layout/components/TagsView/index.vue
  43. 12
      anrui-scm/anrui-scm-ui/src/router/index.js
  44. 131
      anrui-scm/anrui-scm-ui/src/router/modules/codemenu.js
  45. 5
      anrui-scm/anrui-scm-ui/src/styles/index.scss
  46. 12
      anrui-scm/anrui-scm-ui/src/views/anruiscm/scmwarehouse/scmwarehouse.vue
  47. 10
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue
  48. 15
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhangAdd.vue
  49. 5
      anrui-scm/anrui-scm-ui/src/views/cheliang/hegezhengtaizhang/hegezhengtaizhang.vue
  50. 18
      anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/chukushenheTodo.vue
  51. 9
      anrui-scm/anrui-scm-ui/src/views/kucunguanli/cheliangweihu/richangxunjian/xunjiandan.vue
  52. 22
      anrui-scm/anrui-scm-ui/src/views/kucunguanli/tiaojiaguanli/chexingbyconfiguration.vue
  53. 12
      anrui-scm/anrui-scm-ui/src/views/redirect/index.vue
  54. 378
      anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangeng.vue
  55. 317
      anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd.vue
  56. 190
      anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengInfo.vue
  57. 247
      anrui-scm/anrui-scm-ui/src/views/supplychain/rukuguanli/rukuguanliAdd.vue
  58. 261
      anrui-scm/anrui-scm-ui/src/views/supplychain/rukuguanli/rukuguanliAlready.vue
  59. 274
      anrui-scm/anrui-scm-ui/src/views/supplychain/rukuguanli/rukuguanliAwait.vue
  60. 277
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanli.vue
  61. 276
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliAdd.vue
  62. 13
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliAlready.vue
  63. 171
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliInfo.vue
  64. 8
      anrui-system-ui/src/layout/components/Navbar.vue
  65. 3
      anrui-system-ui/src/layout/components/TagsView/index.vue
  66. 13
      anrui-system-ui/src/router/index.js
  67. 12
      anrui-system-ui/src/views/redirect/index.vue

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderCountQuery.java

@ -22,7 +22,7 @@ public class PcBaseVehicleOrderCountQuery implements Query {
@ApiModelProperty(value = "客户sid")
private String customerSid;
@ApiModelProperty(value = "类型:1意向车型选择、2虚拟订单选择、3车型选择")
private Integer type;
/* @ApiModelProperty(value = "类型:1意向车型选择、2虚拟订单选择、3车型选择")
private Integer type;*/
}

14
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java

@ -1,8 +1,6 @@
package com.yxt.anrui.base.api.basevehiclemodel;
import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.FileUploadResult;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
@ -39,7 +37,8 @@ public interface BaseVehicleModelFeign {
/**
* 分页查询
*listPageByVehmodel
* listPageByVehmodel
*
* @param pagerQuery
* @return
*/
@ -85,7 +84,7 @@ public interface BaseVehicleModelFeign {
@ApiOperation("删除、批量删除")
@DeleteMapping("/deleteBySids")
@ApiImplicitParam(name = "sids", value = "车型sid,若为多个sid,以逗号分隔")
public ResultBean deleteBySids(@RequestParam("sids") String sids,@RequestParam("userSid") String userSid);
public ResultBean deleteBySids(@RequestParam("sids") String sids, @RequestParam("userSid") String userSid);
/**
* 详情
@ -95,7 +94,7 @@ public interface BaseVehicleModelFeign {
*/
@ApiOperation("详情")
@GetMapping("/details/{sid}/{useOrgSid}")
public ResultBean<BaseVehicleModelDetailsVo> details(@PathVariable("sid") String sid,@PathVariable("useOrgSid") String useOrgSid);
public ResultBean<BaseVehicleModelDetailsVo> details(@PathVariable("sid") String sid, @PathVariable("useOrgSid") String useOrgSid);
/**
* 修改回显
@ -105,7 +104,7 @@ public interface BaseVehicleModelFeign {
*/
@ApiOperation("修改回显")
@GetMapping("/getAll/{sid}/{userSid}")
public ResultBean<BaseVehicleModelSelectVo> getAll(@PathVariable("sid") String sid,@PathVariable("userSid") String userSid);
public ResultBean<BaseVehicleModelSelectVo> getAll(@PathVariable("sid") String sid, @PathVariable("userSid") String userSid);
/**
@ -203,4 +202,7 @@ public interface BaseVehicleModelFeign {
@PostMapping("/selectVehModelByConfigSid")
public ResultBean<PagerVo<BaseVehicleModelVo>> selectVehModelByConfigSid(@RequestBody PagerQuery<BaseVehicleModelQuery> pagerQuery);
@ApiOperation("根据车型sid查询车型信息")
@GetMapping("/selectDetails/{modelSid}")
ResultBean<BaseVehicleModel> selectDetails(@PathVariable(value = "modelSid") String modelSid);
}

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java

@ -1,7 +1,6 @@
package com.yxt.anrui.base.api.basevehiclemodel;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.FileUploadResult;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
@ -111,6 +110,11 @@ public class BaseVehicleModelFeignFallback implements BaseVehicleModelFeign {
return null;
}
@Override
public ResultBean<BaseVehicleModel> selectDetails(String modelSid) {
return null;
}
/*@Override
public ResultBean<PagerVo<BaseVehicleModelListVo>> selectPage(PagerQuery<BaseVehicleModelListQuery> query) {

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelVo.java

@ -24,4 +24,7 @@ public class BaseVehmodelVo implements Vo {
@ApiModelProperty(value = "品牌sid")
private String brandSid;
@ApiModelProperty(value = "配置")
private String configName;
}

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageService.java

@ -318,6 +318,7 @@ public class BaseDiscountpackageService extends MybatisBaseService<BaseDiscountp
qw.notIn("sid", params.getSidList());
}
}
qw.eq("salesPolicyKey", "0002");
return qw;
}

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

@ -466,7 +466,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
public AppCurrentCarDetailConfigVo getAppCurrentCarDetailConfigVo(String modelSid, String configSid, String userSid) {
String useOrg = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
AppCurrentCarDetailConfigVo configDetailVo = baseMapper.getAppModelConfig(modelSid, configSid, useOrg);
if(configDetailVo != null){
if (configDetailVo != null) {
String date = configDetailVo.getDate();
if (StringUtils.isNotBlank(date)) {
Date date1 = DateUtils.dateStrConvertDate(date, "yyyy-MM-dd");
@ -1318,7 +1318,10 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (query != null) {
qw.eq("bv.modelSid", query.getModelSid());//车型sid
qw.eq("bv.modelConfigSid", query.getModelConfigSid());//配置sid
if (query.getType() == 2) {
String orgSid = sysStaffOrgFeign.selectSidPathByStaffSid(query.getStaffSid()).getData();
qw.eq("bv.useOrg", orgSid);
qw.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode());
/* if (query.getType() == 2) {
//根据业务员sid和客户sid查询所有的虚拟虚拟订单的车辆
PcBusMainDepositVehicleQuery vehicleQuery = new PcBusMainDepositVehicleQuery();
vehicleQuery.setCustomerSid(query.getCustomerSid());
@ -1329,7 +1332,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (stringList.getSuccess()) {
qw.in("bv.sid", stringList.getData());
}
}
}*/
}
int count = baseMapper.selectVehicleCount(qw);
return rb.success().setData(count);
@ -1339,7 +1342,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
public ResultBean<List<AppBaseVehicleOrderVo>> selectAppList(String modelSid, String configSid, String orgSid) {
ResultBean<List<AppBaseVehicleOrderVo>> rb = ResultBean.fireFail();
List<AppBaseVehicleOrderVo> orderVoList = new ArrayList<>();
orderVoList = baseMapper.selectAppList(modelSid, configSid, orgSid,VehicleState.StockEnum.STOCK.getCode());
orderVoList = baseMapper.selectAppList(modelSid, configSid, orgSid, VehicleState.StockEnum.STOCK.getCode());
if (orderVoList.isEmpty()) {
return rb.setData(orderVoList);
}

24
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java

@ -7,7 +7,6 @@ import com.yxt.anrui.base.api.basevehiclemodel.*;
import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendix;
import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixVo;
import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService;
import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService;
import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService;
import com.yxt.anrui.base.biz.basevehiclemodelappendix.BaseVehicleModelAppendixService;
import com.yxt.anrui.base.biz.basevehmodelconfig.BaseVehmodelConfigService;
@ -117,7 +116,7 @@ public class BaseVehicleModelRest implements BaseVehicleModelFeign {
return rb.setMsg("文件为空");
}
rb = fileUploadComponent.uploadFile(file);
FileUploadResult data = (FileUploadResult)rb.getData();
FileUploadResult data = (FileUploadResult) rb.getData();
BaseVehicleModelAppendix baseVehicleModelAppendix = new BaseVehicleModelAppendix();
baseVehicleModelAppendix.setModelSid(modelSid);
baseVehicleModelAppendix.setFilePath(data.getFilePath());
@ -126,17 +125,17 @@ public class BaseVehicleModelRest implements BaseVehicleModelFeign {
}
@Override
public ResultBean deleteBySids(String sids,String userSid) {
public ResultBean deleteBySids(String sids, String userSid) {
List<String> sidList = Arrays.asList(sids.split(","));
for (String sid : sidList) {
int i = baseVehmodelConfigService.checkByModelSid(sid);
if (i > 0){
if (i > 0) {
return ResultBean.fireFail().setMsg("该车型已有关联配置,无法删除");
}
ResultBean<SysOrganizationVo> useOrgByUserSid = sysOrganizationFeign.getUseOrgByUserSid(userSid);
String sid1 = useOrgByUserSid.getData().getSid();
int i1 = baseVehicleModelService.checkByCreateOrgAndModelSid(sid1, sid);
if (i1 == 0){
if (i1 == 0) {
return ResultBean.fireFail().setMsg("该车型不属于当前分公司,无法删除");
}
int count = baseVehicleModelService.updateBySidIsDelete(sid);
@ -153,9 +152,9 @@ public class BaseVehicleModelRest implements BaseVehicleModelFeign {
}
@Override
public ResultBean<BaseVehicleModelDetailsVo> details(String sid,String useOrgSid) {
public ResultBean<BaseVehicleModelDetailsVo> details(String sid, String useOrgSid) {
ResultBean rb = ResultBean.fireFail();
BaseVehicleModelDetailsVo vo = baseVehicleModelService.details(sid,useOrgSid);
BaseVehicleModelDetailsVo vo = baseVehicleModelService.details(sid, useOrgSid);
if (vo == null) {
return rb.setMsg("该车型信息不存在");
}
@ -163,20 +162,20 @@ public class BaseVehicleModelRest implements BaseVehicleModelFeign {
}
@Override
public ResultBean<BaseVehicleModelSelectVo> getAll(String sid,String userSid) {
public ResultBean<BaseVehicleModelSelectVo> getAll(String sid, String userSid) {
ResultBean rb = ResultBean.fireFail();
BaseVehicleModelSelectVo vo = baseVehicleModelService.getAll(sid);
if (vo == null) {
return rb.setMsg("该车型信息不存在");
}
int i3 = baseVehmodelConfigService.checkByModelSid(sid);
if (i3 > 0){
if (i3 > 0) {
return rb.setMsg("该车型已有关联配置,无法修改");
}
ResultBean<SysOrganizationVo> useOrgByUserSid = sysOrganizationFeign.getUseOrgByUserSid(userSid);
String sid1 = useOrgByUserSid.getData().getSid();
int i4 = baseVehicleModelService.checkByCreateOrgAndModelSid(sid1, sid);
if (i4 == 0){
if (i4 == 0) {
return rb.setMsg("该车型不属于当前分公司,无法修改");
}
return rb.success().setData(vo);
@ -279,6 +278,11 @@ public class BaseVehicleModelRest implements BaseVehicleModelFeign {
return rb.success().setData(pv1);
}
@Override
public ResultBean<BaseVehicleModel> selectDetails(String modelSid) {
return baseVehicleModelService.selectDetails(modelSid);
}
// @Override
// public ResultBean<PagerVo<BaseVehicleModelListVo>> selectPage(PagerQuery<BaseVehicleModelListQuery> query) {

49
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java

@ -85,7 +85,7 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
QueryWrapper<BaseVehicleModelVo> qw = new QueryWrapper<>();
if (pagerQuery != null) {
qw.eq("bvm.isDelete", "0");
qw.like("bvb.useOrg",pagerQuery.getCreateOrgSId());
qw.like("bvb.useOrg", pagerQuery.getCreateOrgSId());
if (StringUtils.isNotBlank(pagerQuery.getModelSid())) {//车型sid
qw.eq("bvm.sid", pagerQuery.getModelSid());
}
@ -141,7 +141,7 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
* @param sid 车型sid
* @return
*/
public BaseVehicleModelDetailsVo details(String sid,String useOrgSid) {
public BaseVehicleModelDetailsVo details(String sid, String useOrgSid) {
BaseVehicleModel baseVehicleModel = this.fetchBySid(sid);
BaseVehicleModelDetailsVo baseVehicleModelDetailsVo = baseMapper.details(sid);
if (StringUtils.isNotBlank(baseVehicleModel.getUseOrg())) {//使用组织sid
@ -161,8 +161,8 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
}
List<BaseModelConfigVo> baseModelConfigVos = new ArrayList<>();
List<BaseVehmodelConfigVo> baseVehmodelConfigVos = baseVehmodelConfigService.getVehModByModelSid(sid,useOrgSid);
if (baseVehmodelConfigVos.size() > 0){
List<BaseVehmodelConfigVo> baseVehmodelConfigVos = baseVehmodelConfigService.getVehModByModelSid(sid, useOrgSid);
if (baseVehmodelConfigVos.size() > 0) {
for (BaseVehmodelConfigVo baseVehmodelConfigVo : baseVehmodelConfigVos) {
BaseModelConfigVo baseModelConfigVo = new BaseModelConfigVo();
String configurationItemsSid = baseVehmodelConfigVo.getConfigurationItemsSid();
@ -278,9 +278,9 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
return baseMapper.getList();
}
public List<Map<String,String>> getListByVeSid(String vehicleSid,String userSid) {
public List<Map<String, String>> getListByVeSid(String vehicleSid, String userSid) {
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
return baseMapper.getListByVeSid(vehicleSid,resultBean.getData());
return baseMapper.getListByVeSid(vehicleSid, resultBean.getData());
}
public BaseVehicleModelSelectVo getAll(String sid) {
@ -329,7 +329,7 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
public List<Map<String, Object>> selectDownPlusByModelName(String modelName) {
QueryWrapper<Map<String, Object>> qw = new QueryWrapper<>();
qw.eq("bvm.isDelete",0);
qw.eq("bvm.isDelete", 0);
if (StringUtils.isNotBlank(modelName)) {
qw.like("bvm.modelName", modelName);
}
@ -502,11 +502,11 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
String sid1 = entity.getSid();
BeanUtil.copyProperties(dto, entity);
entity.setSid(sid1);
entity.setModelName(entity.getVehicleTypeValue()+entity.getProductLineValue()+entity.getDriveFormValue()+entity.getGearboxTypeValue()+entity.getVehicleVersionValue()+entity.getPowerValue()+entity.getFuelTypeValue()+entity.getEngineTypeValue()+entity.getEmissionStandardValue()+entity.getMarketSegmentsValue()+entity.getSpecifications()+entity.getDepartmentValue());
entity.setModelName(entity.getVehicleTypeValue() + entity.getProductLineValue() + entity.getDriveFormValue() + entity.getGearboxTypeValue() + entity.getVehicleVersionValue() + entity.getPowerValue() + entity.getFuelTypeValue() + entity.getEngineTypeValue() + entity.getEmissionStandardValue() + entity.getMarketSegmentsValue() + entity.getSpecifications() + entity.getDepartmentValue());
entity.setVehicleAlias(dto.getProductLineValue() + " " + dto.getDriveFormValue() + " " + dto.getVehicleTypeValue() + " " + dto.getPowerValue());
String modelName = entity.getModelName();
int i = baseMapper.checkSaveByModelName(modelName);
if (i > 0){
if (i > 0) {
return rb.setMsg("该车型信息已存在");
}
entity.setCreateOrg(sid2);
@ -532,11 +532,11 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
if (baseVehicleModel == null) {
return rb.setMsg("该车型信息不存在");
}
dto.setModelName(dto.getVehicleTypeValue()+dto.getProductLineValue()+dto.getDriveFormValue()+dto.getGearboxTypeValue()+dto.getVehicleVersionValue()+dto.getPowerValue()+dto.getFuelTypeValue()+dto.getEngineTypeValue()+dto.getEmissionStandardValue()+dto.getMarketSegmentsValue()+dto.getSpecifications()+dto.getDepartmentValue());
dto.setModelName(dto.getVehicleTypeValue() + dto.getProductLineValue() + dto.getDriveFormValue() + dto.getGearboxTypeValue() + dto.getVehicleVersionValue() + dto.getPowerValue() + dto.getFuelTypeValue() + dto.getEngineTypeValue() + dto.getEmissionStandardValue() + dto.getMarketSegmentsValue() + dto.getSpecifications() + dto.getDepartmentValue());
dto.setVehicleAlias(dto.getProductLineValue() + " " + dto.getDriveFormValue() + " " + dto.getVehicleTypeValue() + " " + dto.getPowerValue());
String modelName = dto.getModelName();
int i = baseMapper.checkUpdateByModelName(modelName,sid);
if (i > 0){
int i = baseMapper.checkUpdateByModelName(modelName, sid);
if (i > 0) {
return rb.setMsg("该车型信息已存在");
}
int i2 = updateBySid(dto.toMap(), sid);
@ -573,22 +573,22 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<VehModelVo> qw = new QueryWrapper<>();
qw.eq("bvm.carBrand",query.getBrandSid());
if (StringUtils.isNotBlank(query.getModelName())){
qw.like("bvm.modelName",query.getModelName());
qw.eq("bvm.carBrand", query.getBrandSid());
if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("bvm.modelName", query.getModelName());
}
if (StringUtils.isNotBlank(query.getConfigName())){
qw.like("bmc.configName",query.getConfigName());
if (StringUtils.isNotBlank(query.getConfigName())) {
qw.like("bmc.configName", query.getConfigName());
}
return qw;
}
public IPage<BaseVehicleModelVo> selectVehModelByConfigSid(PagerQuery<BaseVehicleModelQuery> pagerQuery) {
List<BaseVehicleModelVo> baseVehicleModelVos = new ArrayList<>();
IPage<BaseVehicleModelVo> baseVehicleModelVo = new Page<>();
IPage<BaseVehicleModelVo> baseVehicleModelVo = new Page<>();
BaseVehicleModelQuery params = pagerQuery.getParams();
IPage<BaseVehicleModelQuery> page = PagerUtil.queryToPage(pagerQuery);
List<BaseVehmodelConfigVo> baseVehmodelConfigVos = baseVehmodelConfigService.getListByConfigSidAndUseOrgSid(params.getConfigSid(),params.getCreateOrgSId());
List<BaseVehmodelConfigVo> baseVehmodelConfigVos = baseVehmodelConfigService.getListByConfigSidAndUseOrgSid(params.getConfigSid(), params.getCreateOrgSId());
for (BaseVehmodelConfigVo baseVehmodelConfigVo : baseVehmodelConfigVos) {
String modelSid = baseVehmodelConfigVo.getModelSid();
params.setModelSid(modelSid);
@ -610,6 +610,15 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
}
public int checkByCreateOrgAndModelSid(String sid1, String sid) {
return baseMapper.checkByCreateOrgAndModelSid(sid1,sid);
return baseMapper.checkByCreateOrgAndModelSid(sid1, sid);
}
public ResultBean<BaseVehicleModel> selectDetails(String modelSid) {
ResultBean<BaseVehicleModel> rb = ResultBean.fireFail();
BaseVehicleModel baseVehicleModel = fetchBySid(modelSid);
if (baseVehicleModel == null) {
return rb.setData(new BaseVehicleModel());
}
return rb.success().setData(baseVehicleModel);
}
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml

@ -211,7 +211,7 @@
</select>
<select id="selectO" resultType="com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo">
select bvc.guidedPrice, bm.modelName, bmc.otherConfig, bm.carBrand as brandSid
select bvc.guidedPrice, bm.modelName, bmc.otherConfig, bm.carBrand as brandSid,bmc.configName
from base_vehmodel_config bvc
left join base_vehicle_model bm on bvc.modelSid = bm.sid
left join base_model_config bmc on bvc.configurationItemsSid = bmc.sid

1
anrui-base/anrui-base-ui/src/layout/components/TagsView/index.vue

@ -137,7 +137,6 @@ export default {
refreshSelectedTag(view) {
this.$store.dispatch('tagsView/delCachedView', view).then(() => {
const { fullPath } = view
console.log('112233',view)
this.$nextTick(() => {
this.$router.replace({
path: '/redirect' + fullPath

56
anrui-base/anrui-base-ui/src/router/index.js

@ -8,6 +8,15 @@ Vue.use(Router)
/* 所有角色可以访问/没有权限要求的基页 */
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index.vue')
}]
},
{
path: '/',
redirect: 'index'
@ -53,7 +62,8 @@ export const constantRoutes = [
import('@/views/changshang/changshangguanli/changshangguanli.vue'),
name: 'changshangguanli',
meta: {
title: '厂商管理'
title: '厂商管理',
noCache: true,
}
},
]
@ -73,7 +83,8 @@ export const constantRoutes = [
import('@/views/pinpai/pinpaiguanli/pinpaiguanli.vue'),
name: 'pinpaiguanli',
meta: {
title: '品牌管理'
title: '品牌管理',
noCache: true,
}
},
{
@ -83,7 +94,8 @@ export const constantRoutes = [
name: 'pinpaiAdd',
hidden: true,
meta: {
title: '品牌管理'
title: '品牌管理',
noCache: true,
}
},
{
@ -93,7 +105,8 @@ export const constantRoutes = [
name: 'pinpaiInfo',
hidden: true,
meta: {
title: '品牌详情'
title: '品牌详情',
noCache: true,
}
},
{
@ -123,7 +136,8 @@ export const constantRoutes = [
import('@/views/jingxiaoshang/jingxiaoshangguanli/jingxiaoshangguanli.vue'),
name: 'jingxiaoshangguanli',
meta: {
title: '经销商管理'
title: '经销商管理',
noCache: true,
}
},
{
@ -133,7 +147,8 @@ export const constantRoutes = [
name: 'jingxiaoshangAdd',
hidden: true,
meta: {
title: '经销商添加'
title: '经销商添加',
noCache: true,
}
},
{
@ -143,7 +158,8 @@ export const constantRoutes = [
name: 'jingxiaoshangEdit',
hidden: true,
meta: {
title: '经销商修改'
title: '经销商修改',
noCache: true,
}
},
{
@ -153,7 +169,8 @@ export const constantRoutes = [
name: 'jingxiaoshangInfo',
hidden: true,
meta: {
title: '经销商详情'
title: '经销商详情',
noCache: true,
}
}
// {
@ -185,7 +202,8 @@ export const constantRoutes = [
import('@/views/guakaogongsi/guakaogongsiguanli/guakaogongsiguanli.vue'),
name: 'guakaogongsiguanli',
meta: {
title: '经销商'
title: '经销商',
noCache: true,
}
},
// {
@ -245,7 +263,8 @@ export const constantRoutes = [
import('@/views/zifang/zifangguanli/zifangguanli.vue'),
name: 'zifangguanli',
meta: {
title: '资方信息管理'
title: '资方信息管理',
noCache: true,
}
},
{
@ -255,7 +274,8 @@ export const constantRoutes = [
name: 'zifangguanliAdd',
hidden: true,
meta: {
title: '资方信息添加'
title: '资方信息添加',
noCache: true,
}
},
{
@ -265,7 +285,8 @@ export const constantRoutes = [
name: 'zifangguanliInfo',
hidden: true,
meta: {
title: '资方信息详细信息'
title: '资方信息详细信息',
noCache: true,
}
},
{
@ -274,7 +295,8 @@ export const constantRoutes = [
import('@/views/zifang/zifangzhengce/zifangzhengce.vue'),
name: 'zifangzhengce',
meta: {
title: '资方政策管理'
title: '资方政策管理',
noCache: true,
}
},
{
@ -284,7 +306,8 @@ export const constantRoutes = [
name: 'zifangzhengceAdd',
hidden: true,
meta: {
title: '资方政策添加'
title: '资方政策添加',
noCache: true,
}
},
{
@ -294,7 +317,8 @@ export const constantRoutes = [
name: 'zifangzhengceInfo',
hidden: true,
meta: {
title: '资方政策详细信息'
title: '资方政策详细信息',
noCache: true,
}
}
@ -313,7 +337,7 @@ export const constantRoutes = [
path: '/fileList/index',
component: () => import('@/views/fileList/fileList.vue'),
name: 'fileList',
meta: { title: '资料清单' }
meta: { title: '资料清单',noCache: true, }
}]
},

3
anrui-base/anrui-base-ui/src/views/guakaogongsi/guakaogongsiguanli/guakaogongsiAdd.vue

@ -1224,6 +1224,9 @@ export default {
}
</script>
<style scoped>
.title{
text-align: left;
}
.tleftb {
text-align: right;
float: left;

8
anrui-base/anrui-base-ui/src/views/guakaogongsi/guakaogongsiguanli/guakaogongsiInfo.vue

@ -205,9 +205,9 @@
</el-form-item>
</el-col>
</el-row>
<div class="titcon">
<!-- <div class="titcon">-->
<div class="title">人员列表</div>
</div>
<!-- </div>-->
<el-table :key="tableKey" v-loading="listLoading" :data="list" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="姓名" align="center">
@ -231,6 +231,7 @@
</template>
</el-table-column>
</el-table>
<div class="title">附件清单</div>
<div class="headline">
<div style="margin-left: 5px;font-weight: bold">营业执照</div>
</div>
@ -444,4 +445,7 @@ export default {
line-height: 40px !important;
font-weight: 600;
}
.title{
text-align: left;
}
</style>

11
anrui-base/anrui-base-ui/src/views/guakaogongsi/guakaogongsiguanli/guakaogongsiguanli.vue

@ -107,6 +107,11 @@
<span>{{ scope.row.registDetailAddress }}</span>
</template>
</el-table-column>
<el-table-column width="130" label="联系电话" align="center">
<template slot-scope="scope">
<span>{{ scope.row.invoPhone }}</span>
</template>
</el-table-column>
<el-table-column width="200" label="开户行" align="center">
<template slot-scope="scope">
<span>{{ scope.row.invoBank }}</span>
@ -163,7 +168,7 @@ import guakaogongsiInfo from './guakaogongsiInfo.vue'
import ButtonBar from '@/components/ButtonBar/index.vue'
export default {
name: 'Guakaogongsiguanli',
name: 'guakaogongsiguanli',
components: {
Pagination,
pageye,
@ -595,7 +600,9 @@ export default {
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
.listtop{
position: relative;
}
.rel_css {
position: absolute;
right: 150px;

12
anrui-base/anrui-base-ui/src/views/redirect/index.vue

@ -0,0 +1,12 @@
<script>
export default {
created() {
const { params, query } = this.$route
const { path } = params
this.$router.replace({ path: '/' + path, query })
},
render: function(h) {
return h() // avoid warning message
}
}
</script>

2
anrui-base/anrui-base-ui/src/views/zifang/zifangguanli/zifangguanli.vue

@ -95,7 +95,7 @@
import zifangguanliAdd from './zifangguanliAdd.vue'
import zifangguanliInfo from './zifangguanliInfo.vue'
export default {
name: 'Zifangguanli',
name: 'zifangguanli',
components: {
Pagination,
pageye,

2
anrui-base/anrui-base-ui/src/views/zifang/zifangzhengce/zifangzhengce.vue

@ -151,7 +151,7 @@
import { brandLike } from '@/api/jichuxinxi/brandManagement'
import { basefinbankDnamesDown } from '@/api/jichuxinxi/basefinbank' //
export default {
name: 'Zifangzhengce',
name: 'zifangzhengce',
components: {
Pagination,
pageye

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

@ -111,8 +111,8 @@ public class BusSalesOrderAllDto implements Dto {
@ApiModelProperty(value = "客户类型", required = true)
@NotBlank(message = "客户类型不能为空")
private String customerClass;
@ApiModelProperty(value = "客户头像", required = true)
@NotBlank(message = "客户头像不能为空")
@ApiModelProperty(value = "客户头像")
// @NotBlank(message = "客户头像不能为空")
private String customerPhoto;
@ApiModelProperty(value = "选择的现车的车辆sid")

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

@ -49,8 +49,6 @@ import java.math.BigDecimal;
@ApiModel(value = "销售订单-主车车型", description = "销售订单-主车车型")
public class BusSalesOrderModel extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "类型")
private Integer type;
@ApiModelProperty("销售订单sid")
private String salesOrderSid;
@ApiModelProperty(value = "品牌sid")

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

@ -50,9 +50,7 @@ import lombok.Data;
@ApiModel(value = "销售订单-主车车型 视图数据详情", description = "销售订单-主车车型 视图数据详情")
public class BusSalesOrderModelDetailsVo implements Vo {
@ApiModelProperty(value = "类型")
private Integer type;
private static final long serialVersionUID = -6137096646061858887L;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelDto.java

@ -52,9 +52,6 @@ public class BusSalesOrderModelDto implements Dto {
private static final long serialVersionUID = -216156078782065154L;
@ApiModelProperty(value = "类型")
private Integer type;
@ApiModelProperty(value = "品牌")
@NotBlank(message = "参数错误:品牌")
private String brandName;

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

@ -290,6 +290,13 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if ("1".equals(entity.getIsTop())) {
BusSalesOrderMakeupDetailsVo busSalesOrderMakeupDetailsVo = busSalesOrderMakeupService.details(entity.getSid());
if (busSalesOrderMakeupDetailsVo != null) {
if (StringUtils.isNotBlank(busSalesOrderMakeupDetailsVo.getContractPath())) {
List<String> imageList = Arrays.asList(busSalesOrderMakeupDetailsVo.getContractPath().split(","));
if (!imageList.isEmpty()) {
busSalesOrderMakeupDetailsVo.setContractPath(imageList.get(0));
}
}
vo.setBusSalesOrderMakeup(busSalesOrderMakeupDetailsVo);
}
}
@ -1048,7 +1055,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//查询是否有价格信息
BusSalesOrderPriceDetailsVo priceDetailsVo = busSalesOrderPriceService.details(saleOrderSid);
if (priceDetailsVo != null) {
if (priceDetailsVo.getSingleFinalPrice() != null) {
if (StringUtils.isNotBlank(priceDetailsVo.getSingleFinalPrice()) && StringUtils.isNotBlank(busSalesOrderModelDetailsVo.getFinalPrice())) {
vo.setPriceInfoState(1);
} else {
vo.setPriceInfoState(0);

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

@ -21,8 +21,7 @@
guildPrice,
finalPrice,
brandName,
brandSid,
type
brandSid
from bus_sales_order_model
where salesOrderSid = #{sid}
</select>

20
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java

@ -26,6 +26,8 @@
package com.yxt.anrui.buscenter.biz.bussalesordermodel;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppOrderInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderModelInfoVo;
@ -78,6 +80,8 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
private BusSalesOrderPriceService busSalesOrderPriceService;
@Autowired
private BusSalesOrderMakeupService busSalesOrderMakeupService;
@Autowired
private BaseVehicleModelFeign baseVehicleModelFeign;
public void saveModel(BusSalesOrderModelDto busSalesOrderModelDto, String sid) {
@ -141,6 +145,16 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
return rb.setMsg("该销售订单单据不存在");
}
AppOrderInfoDto orderInfo = dto.getOrderInfo();
String brandSid = "";
String brandName = "";
String modelAlias = "";
//根据车型sid查询车型的品牌和品牌名称
ResultBean<BaseVehicleModel> resultBean = baseVehicleModelFeign.selectDetails(dto.getOrderInfo().getModelSid());
if (resultBean.getSuccess()) {
brandSid = resultBean.getData().getCarBrand();
brandName = resultBean.getData().getBrandName();
modelAlias = resultBean.getData().getModelName();
}
//根据销售订单查询车型信息
BusSalesOrderModel busSalesOrderModel = baseMapper.selectBySalesSid(salesOrderSid);
if (busSalesOrderModel == null) {
@ -149,11 +163,17 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
BeanUtil.copyProperties(orderInfo, busSalesOrderModel1, "sid");
busSalesOrderModel1.setSalesOrderSid(salesOrderSid);
busSalesOrderModel1.setGuildPrice(new BigDecimal(guildPrice));
busSalesOrderModel1.setBrandName(brandName);
busSalesOrderModel1.setBrandSid(brandSid);
busSalesOrderModel1.setModelConfig(modelAlias);
save(busSalesOrderModel1);
}
} else {
BeanUtil.copyProperties(orderInfo, busSalesOrderModel, "sid");
busSalesOrderModel.setGuildPrice(new BigDecimal(dto.getGuildPrice()));
busSalesOrderModel.setBrandSid(brandSid);
busSalesOrderModel.setBrandName(brandName);
busSalesOrderModel.setModelConfig(modelAlias);
updateById(busSalesOrderModel);
}
//删除现车、采购订单的数据、若类型为现车,添加现车数据,若为采购订单,则新增采购订单数据

16
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.xml

@ -35,14 +35,14 @@
</update>
<select id="getPriceInfo" resultType="com.yxt.anrui.buscenter.api.bussalesorderprice.app.AppBusSalesOrderPriceVo">
select bp.plannedPickUpLocation as address,
bp.plannedPickUpLocationKey as addressKey,
bp.singleFinalPrice as overallPrice,
bp.plannedPickUpDate as date,
bp.quantity as number,
bp.singleGuildPrice as guidancePrice,
bp.priceSum as totalPrice,
bm.finalPrice as transactionPrice
select bp.plannedPickUpLocation as address,
bp.plannedPickUpLocationKey as addressKey,
bp.singleFinalPrice as overallPrice,
date_format(bp.plannedPickUpDate, '%Y-%m-%d') as date,
bp.quantity as number,
bp.singleGuildPrice as guidancePrice,
bp.priceSum as totalPrice,
bm.finalPrice as transactionPrice
from bus_sales_order_price bp
left join bus_sales_order_model bm on bm.salesOrderSid = bp.salesOrderSid
where bp.salesOrderSid = #{sid}

4
anrui-buscenter/anrui-buscenter-ui/src/layout/components/TagsView/index.vue

@ -141,8 +141,8 @@
} = view
this.$nextTick(() => {
this.$router.replace({
// path: '/redirect' + fullPath
path: fullPath
path: '/redirect' + fullPath
// path: fullPath
})
})
})

30
anrui-buscenter/anrui-buscenter-ui/src/router/index.js

@ -7,16 +7,26 @@ import codemenu from './modules/codemenu'
Vue.use(Router)
export const constantRoutes = [{
path: '/',
redirect: 'index'
}, {
path: '/login',
component: () => import('@/views/login/login.vue')
}, {
path: '/home',
component: () => import('@/views/Home/Home.vue'),
name: 'home'
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index.vue')
}]
},
{
path: '/',
redirect: 'index'
}, {
path: '/login',
component: () => import('@/views/login/login.vue')
}, {
path: '/home',
component: () => import('@/views/Home/Home.vue'),
name: 'home'
}, {
path: '/index',

12
anrui-buscenter/anrui-buscenter-ui/src/views/redirect/index.vue

@ -0,0 +1,12 @@
<script>
export default {
created() {
const { params, query } = this.$route
const { path } = params
this.$router.replace({ path: '/' + path, query })
},
render: function(h) {
return h() // avoid warning message
}
}
</script>

3
anrui-buscenter/anrui-finmanage-ui/src/layout/components/TagsView/index.vue

@ -138,8 +138,7 @@ export default {
const { fullPath } = view
this.$nextTick(() => {
this.$router.replace({
path: fullPath
// path: '/redirect' + fullPath
path: '/redirect' + fullPath
})
})
})

12
anrui-buscenter/anrui-finmanage-ui/src/router/index.js

@ -9,7 +9,17 @@ import Layout from '@/layout'
import codemenu from './modules/codemenu'
export const constantRoutes = [{
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index.vue')
}]
},
{
path: '/',
redirect: 'index'
}, {

12
anrui-buscenter/anrui-finmanage-ui/src/views/redirect/index.vue

@ -0,0 +1,12 @@
<script>
export default {
created() {
const { params, query } = this.$route
const { path } = params
this.$router.replace({ path: '/' + path, query })
},
render: function(h) {
return h() // avoid warning message
}
}
</script>

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

@ -123,7 +123,6 @@
select cv.modelSid,
cv.comonConfigSid as modelConfigSid,
cv.modelName modelAlias,
cv.sketChconfiguration config,
cv.brandName,
cct.staffSid
from crm_vehicledemand cv

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

@ -402,6 +402,7 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
list.get(i).setModelName(voResultBean.getData().getModelName());
list.get(i).setOtherConfig(voResultBean.getData().getOtherConfig());
list.get(i).setBrandSid(voResultBean.getData().getBrandSid());
list.get(i).setConfig(voResultBean.getData().getConfigName());
}
}
}
@ -424,8 +425,9 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
qw.like("cv.sketChconfiguration", query.getModelConfigName());
}
qw.eq("cv.customerSid", query.getCustomerSid());
}
//是否意向:0非意向,1意向
qw.eq("states", 1);
return qw;
}

3
anrui-management/anrui-management-ui/src/layout/components/TagsView/index.vue

@ -130,8 +130,7 @@ export default {
const { fullPath } = view
this.$nextTick(() => {
this.$router.replace({
path: fullPath
// path: '/redirect' + fullPath
path: '/redirect' + fullPath
})
})
})

9
anrui-management/anrui-management-ui/src/router/index.js

@ -8,6 +8,15 @@ import Layout from '@/layout'
/* 所有角色可以访问/没有权限要求的基页 */
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index.vue')
}]
},
{
path: '/',
redirect: 'index'

12
anrui-management/anrui-management-ui/src/views/redirect/index.vue

@ -0,0 +1,12 @@
<script>
export default {
created() {
const { params, query } = this.$route
const { path } = params
this.$router.replace({ path: '/' + path, query })
},
render: function(h) {
return h() // avoid warning message
}
}
</script>

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

@ -186,12 +186,14 @@
<div>更多信息</div>
</div>
<el-row>
<el-col :span="3">
<span><span class="icon">*</span>员工类型</span>
</el-col>
<el-col :span="6">
<div class="span-sty">
<span><span class="icon">*</span>员工类型</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<el-form-item prop="personType">
<el-select v-model="temp.personType" placeholder="请选择员工类型" @change="getPersonType">
<el-select v-model="temp.personType" placeholder="请选择员工类型" class="addinputw02" @change="getPersonType">
<el-option v-for="(item, index) in personType_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
@ -202,30 +204,32 @@
</el-col>
<el-col :span="6">
<el-form-item prop="orgName">
<el-cascader ref="clearableCascader" v-model="orgName_list" :props="props" :options="options" clearable
<el-cascader ref="clearableCascader" class="addinputw" v-model="orgName_list" :props="props" :options="options" clearable
@change="orgNameChange"/>
</el-form-item>
</el-col>
<el-col :span="2" class="spe_style">
<el-col :span="3" class="spe_style">
<span><span class="icon">*</span>岗位</span>
</el-col>
<el-col :span="4" class="spe_style02">
<el-col :span="6" class="spe_style02">
<el-form-item prop="postSid">
<el-select v-model="temp.postName" placeholder="请选择岗位" @change="getPostSid">
<el-select v-model="temp.postName" class="addinputw" placeholder="请选择岗位" @change="getPostSid">
<el-option v-for="(item, index) in postSid_list" :key="index.postCode" :label="item.name"
:value="item.postCode"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span><span class="icon">*</span>入职日期</span>
</el-col>
<el-col :span="6">
<div class="span-sty">
<span><span class="icon">*</span>入职日期</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<el-form-item prop="joinCompnyDate">
<el-date-picker v-model="temp.joinCompnyDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
<el-date-picker v-model="temp.joinCompnyDate" class="addinputw02" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
</el-form-item>
</el-col>
<el-col :span="3">
@ -233,29 +237,31 @@
</el-col>
<el-col :span="6">
<el-form-item prop="probPeriod">
<el-select v-model="temp.probPeriod" placeholder="请选择试用期" @change="getProbPeriod">
<el-select v-model="temp.probPeriod" class="addinputw" placeholder="请选择试用期" @change="getProbPeriod">
<el-option v-for="(item, index) in probPeriod_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="2" class="spe_style">
<el-col :span="3" class="spe_style">
<span>计划转正日期</span>
</el-col>
<el-col :span="4" class="spe_style02">
<el-col :span="6" class="spe_style02">
<el-form-item prop="plannedConfirmDate">
<el-date-picker v-model="temp.plannedConfirmDate" type="date" placeholder="选择日期"
<el-date-picker v-model="temp.plannedConfirmDate" class="addinputw" type="date" placeholder="选择日期"
value-format="yyyy-MM-dd"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>实际转正日期</span>
</el-col>
<el-col :span="6">
<div class="span-sty">
<span>实际转正日期</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<el-form-item prop="confirmationDate">
<el-date-picker v-model="temp.confirmationDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
<el-date-picker v-model="temp.confirmationDate" class="addinputw02" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
</el-form-item>
</el-col>
<el-col :span="3">
@ -266,22 +272,24 @@
<el-input v-model="temp.openBank" maxlength="20" placeholder="请输入开户行" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="2" class="spe_style">
<el-col :span="3" class="spe_style">
<span>银行账号</span>
</el-col>
<el-col :span="4" class="spe_style02">
<el-col :span="6" class="spe_style02">
<el-form-item prop="bankCardNo">
<el-input v-model="temp.bankCardNo" maxlength="20" placeholder="请输入银行账号" clearable/>
<el-input v-model="temp.bankCardNo" maxlength="20" placeholder="请输入银行账号" class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<!-- !!!!各种附件证明图片!!!! -->
<el-row>
<el-col :span="3">
<span>身份证(人像面)</span>
</el-col>
<el-col :span="6">
<Upload ref="uploadImg" v-model="idCardA_list" :limit="1" bucket="map" :upload-data="{ type: '0001' }"/>
<div class="span-sty">
<span>身份证(人像面)</span>
</div>
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<Upload ref="uploadImg" class="addinputw02" v-model="idCardA_list" :limit="1" bucket="map" :upload-data="{ type: '0001' }"/>
</el-col>
<el-col :span="3">
<span>身份证(国徽面)</span>
@ -289,10 +297,10 @@
<el-col :span="6">
<Upload ref="uploadImg" v-model="idCardB_list" :limit="1" bucket="map" :upload-data="{ type: '0001' }"/>
</el-col>
<el-col :span="2" class="spe_style">
<span style="font-size: 0.1em;">前公司离职证明</span>
<el-col :span="3" class="spe_style">
<span>前公司离职证明</span>
</el-col>
<el-col :span="4" class="spe_style02">
<el-col :span="6" class="spe_style02">
<Upload ref="uploadImg" v-model="leave_list" :limit="1" bucket="map" :upload-data="{ type: '0001' }"/>
</el-col>
</el-row>
@ -1260,4 +1268,25 @@ export default {
.spe_style02 {
text-align: left;
}
.span-sty {
position: absolute;
top: 0;
bottom: 0;
left: 0;
line-height: 60px;
text-align: right;
font-size: 14px;
color: #606266;
font-weight: 600;
width: 110px;
padding-right: 5px;
border-right: 1px solid #e0e3eb;
}
.addinputw02 {
padding: 5px 0;
width: 60% !important;
margin-left: 110px !important;
}
</style>

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

@ -90,7 +90,7 @@ export function getExcelInfo(data) {
})
}
// 获取下拉列表(车型)
// 获取下拉列表(车型名称
export function selectModelName(data) {
return request({
url: '/base/v1/basevehiclemodel/selectDownPlusByModelName',

6
anrui-scm/anrui-scm-ui/src/api/portal/Upload.js

@ -1,10 +1,8 @@
import request from '@/utils/request'
import qs from 'qs'
// 统一请求路径前缀
const base = process.env.VUE_APP_URL
// 文件上传接口
export const uploadFile = '/api/portal/file/upload'
// 文件上传接口
export const uploadFile = '/api/base/file/upload'
// 上传图片
// export function imageUpload(data) {

11
anrui-scm/anrui-scm-ui/src/api/supplychain/yancheguanli.js

@ -0,0 +1,11 @@
import request from '@/utils/request'
import qs from 'qs'
export function selectModelName(data) {
return request({
url: '/base/v1/basevehiclemodel/selectDownPlusByModelName',
method: 'get',
params: data
})
}

266
anrui-scm/anrui-scm-ui/src/components/uploadFile/FaImages.vue

@ -1,53 +1,92 @@
<template>
<div>
<div>
<el-upload v-loading="loadding" ref="imgUpload" 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"></i>
</el-upload>
</div>
<el-dialog :visible.sync="showpicture" :append-to-body="true" title="查看图片">
<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>
<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 { imageUpload } from '@/api/portal/Upload.js'
import { mapGetters } from 'vuex'
import {uploadFile} from '@/api/portal/Upload'
import {getStorage} from '@/utils/auth.js' //token
import {mapGetters} from 'vuex'
export default {
model: {
prop: 'imageFileList',
event: 'fileListChange',
prop: 'name',
event: 'change',
},
props: {
placeholder: {
type: String,
default: '',
},
bucket: {
type: String,
default: 'abc',
},
//
width: {
type: String,
default: '270px',
},
//
imageFileList: {
type: Array,
required: [],
limit: {
type: Number,
default: 1,
},
num: {
accept: {
type: String,
default: '',
default:
'.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx',
},
//
name: {
type: Array,
required: true,
},
uploadData: {
type: Object,
default: {},
},
},
data() {
return {
dialogImageUrl: '',
accessToken: {},
fileUrl: fileUrl,
uploadFile: imageUpload,
dialogVisible: false,
accessToken: null,
uploadFile: uploadFile,
fileList_FuJian: [],
enclosure: '',
file_add: '',
file_catch: '',
files: [],
showpicture: false,
files_list: [],
filedUrl: '',
// fileUrl: fileUrl,
// showpicture:false,
isview: false,
nameArr: '',
loadding: false,
stateName: '',
}
},
computed: {
@ -60,16 +99,19 @@ export default {
]),
},
watch: {
imageFileList: {
name: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
this.files = []
for (var i = 0; i < newVal.length; i++) {
this.files.push({
name: newVal[i].name,
url: fileUrl + newVal[i].url,
})
console.log('aaaa1', newVal)
console.log('aaaa2', oldVal)
this.files = newVal
if (this.stateName = 'xunidingjinAdd') {
if (this.files.length > 1) {
this.files.splice(0, 1);
}
}
console.log('aaaa2', this.files)
},
},
},
@ -79,62 +121,124 @@ export default {
})
},
created() {
if (this.imageFileList !== undefined) {
this.files = []
for (var i = 0; i < this.imageFileList.length; i++) {
this.files.push({
name: this.imageFileList[i].name,
url: fileUrl + this.imageFileList[i].url,
})
}
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage(),
}
},
methods: {
showImg(imgList) {
this.stateName = 'xunidingjinAdd'
this.files = imgList
console.log('回显图片', this.files)
},
view() {
// window.open(this.filedUrl)
},
//
Init() {
//
// 1. token
this.accessToken = {
accessToken: this.token,
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, ImageFileList) {
this.loadding = false
if (file.response.code === 20000) {
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
console.log('您选择的file:', file)
if (file.response.code === '200') {
this.loadding = false
//
var imageUrl = this.fileUrl + file.response.data
var uid = file.response.data
this.files.push({ name: file.name, url: imageUrl })
this.filedUrl = this.fileUrl + file.response.data
// var uid = file.response.data
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
size: file.response.data.size,
})
this.$emit('change', this.files)
this.$emit('eett', this.files)
}
},
var fileList = []
for (var i = 0; i < this.files.length; i++) {
console.log(this.files[i].url, 'this.files[i].url')
removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1)
const imgFiles = []
fileList.push({
name: this.files[i].name,
url: this.files[i].url.substr(this.fileUrl.length),
num: this.num,
})
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 + ','
}
this.$emit('fileListChange', fileList)
}
if (this.file_add !== '') {
this.file_add = this.file_add.substring(0, this.file_add.length - 1)
}
// console.log('1. this.file_add: ' + this.file_add)
},
removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1)
var fileList = []
for (var i = 0; i < this.files.length; i++) {
fileList.push({
name: this.files[i].name,
url: this.files[i].url.substr(this.fileUrl.length),
})
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== '') {
// 1. id
if (this.files_list[i].name === file.name) {
// 2. file_catchfils_arry
var fils_arry = this.file_catch.split(',')
// 3. fils_arry this.files_list[i].id
var arry = []
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element)
}
})
// 4. file_catch
this.file_catch = arry.join(',')
}
}
}
// console.log('2. this.file_catch:' + this.file_catch)
},
// id
getFileId() {
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
if (this.file_catch !== '') {
if (this.file_add !== '') {
this.enclosure = this.file_catch + ',' + this.file_add
} else {
this.enclosure = this.file_catch
}
} else {
this.enclosure = this.file_add
}
this.$emit('fileListChange', fileList)
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.showpicture = true
},
//
uploadError() {
@ -144,35 +248,9 @@ export default {
if (Number(event.percent) > 0) {
this.loadding = true
}
// console.log('event:', event)
},
},
}
</script>
<style lang="scss" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 250px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 200px;
height: 200px;
display: block;
// float: left;
}
</style>
<style lang="scss" scoped></style>

3
anrui-scm/anrui-scm-ui/src/layout/components/TagsView/index.vue

@ -139,8 +139,7 @@ export default {
const { fullPath } = view
this.$nextTick(() => {
this.$router.replace({
path: fullPath
// path: '/redirect' + fullPath
path: '/redirect' + fullPath
})
})
})

12
anrui-scm/anrui-scm-ui/src/router/index.js

@ -9,7 +9,17 @@ import Layout from '@/layout'
import codemenu from './modules/codemenu'
export const constantRoutes = [{
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index.vue')
}]
},
{
path: '/',
redirect: 'index'
}, {

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

@ -12,7 +12,7 @@ const codemenu = [
path: '/scminbound/index',
component: () => import('@/views/anruiscm/scminbound/scminbound.vue'),
name: 'ScmInboundIndex',
meta: { title: '销售入库单' }
meta: { title: '销售入库单', noCache: true }
}]
},
{
@ -26,7 +26,7 @@ const codemenu = [
path: '/scmotherinbound/index',
component: () => import('@/views/anruiscm/scmotherinbound/scmotherinbound.vue'),
name: 'ScmOtherInboundIndex',
meta: { title: '其他入库单' }
meta: { title: '其他入库单', noCache: true }
}]
},
{
@ -40,7 +40,7 @@ const codemenu = [
path: '/scmotheroutbound/index',
component: () => import('@/views/anruiscm/scmotheroutbound/scmotheroutbound.vue'),
name: 'ScmOtherOutboundIndex',
meta: { title: '其他出库单' }
meta: { title: '其他出库单', noCache: true }
}]
},
{
@ -54,7 +54,7 @@ const codemenu = [
path: '/scmoutbound/index',
component: () => import('@/views/anruiscm/scmoutbound/scmoutbound.vue'),
name: 'ScmOutboundIndex',
meta: { title: '销售出库单' }
meta: { title: '销售出库单', noCache: true }
}]
},
{
@ -68,7 +68,7 @@ const codemenu = [
path: '/scmrealtimeinventory/index',
component: () => import('@/views/anruiscm/scmrealtimeinventory/scmrealtimeinventory.vue'),
name: 'ScmRealTimeInventoryIndex',
meta: { title: '即时库存表' }
meta: { title: '即时库存表', noCache: true }
}]
},
{
@ -82,7 +82,7 @@ const codemenu = [
path: '/scmrejected/index',
component: () => import('@/views/anruiscm/scmrejected/scmrejected.vue'),
name: 'ScmRejectedIndex',
meta: { title: '采购退料单' }
meta: { title: '采购退料单', noCache: true }
}]
},
{
@ -96,7 +96,7 @@ const codemenu = [
path: '/scmreturn/index',
component: () => import('@/views/anruiscm/scmreturn/scmreturn.vue'),
name: 'ScmReturnIndex',
meta: { title: '销售退货单' }
meta: { title: '销售退货单', noCache: true }
}]
},
@ -111,7 +111,7 @@ const codemenu = [
path: '/scmmaterial/index',
component: () => import('@/views/anruiscm/scmmaterial/scmmaterial.vue'),
name: 'ScmMaterialIndex',
meta: { title: '物料管理' }
meta: { title: '物料管理', noCache: true }
}]
},
// 存放地点
@ -126,7 +126,7 @@ const codemenu = [
path: '/scmwarehouse/index',
component: () => import('@/views/anruiscm/scmwarehouse/scmwarehouse.vue'),
name: 'ScmWarehouseIndex',
meta: { title: '存放地点' }
meta: { title: '存放地点', noCache: true }
}]
},
{
@ -140,13 +140,13 @@ const codemenu = [
path: '/shangzhuang/shangzhuangguanli',
component: () => import('@/views/shangzhuang/shangzhuangguanli/shangzhuangguanli.vue'),
name: 'ShangZhuangGuanLi',
meta: { title: '上装管理' }
meta: { title: '上装管理', noCache: true }
},
{
path: '/shangzhuang/shangzhuangjiansuo',
component: () => import('@/views/shangzhuang/shangzhuangjiansuo/shangzhuangjiansuoguanli.vue'),
name: 'ShangZhuangJianSuoGuanLi',
meta: { title: '上装管理' }
meta: { title: '上装管理', noCache: true }
}]
},
// 合格证台账
@ -161,7 +161,7 @@ const codemenu = [
path: '/hegezheng/hegezhengtaizhang',
component: () => import('@/views/cheliang/hegezhengtaizhang/hegezhengtaizhang.vue'),
name: 'hegezhengtaizhang',
meta: { title: '合格证台账' }
meta: { title: '合格证台账', noCache: true }
}]
},
@ -177,7 +177,7 @@ const codemenu = [
path: '/caigoudingdan/index',
component: () => import('@/views/cheliang/cheliangcaigou/cheliangcaigou.vue'),
name: 'cheliangcaigou',
meta: { title: '采购订单管理' }
meta: { title: '采购订单管理', noCache: true }
}]
},
@ -192,13 +192,13 @@ const codemenu = [
path: '/guache/guacheguanli',
component: () => import('@/views/guache/guacheguanli/guacheguanli.vue'),
name: 'GuaCheJianSuoGuanLi',
meta: { title: '挂车管理' }
meta: { title: '挂车管理', noCache: true }
},
{
path: '/guache/guachejiansuo',
component: () => import('@/views/guache/guachejiansuo/guachejiansuoguanli.vue'),
name: 'guachejiansuoguanli',
meta: { title: '挂车管理' }
meta: { title: '挂车管理', noCache: true }
}
]
},
@ -217,18 +217,14 @@ const codemenu = [
component: () =>
import('@/views/cheliang/chexing/chexing.vue'),
name: 'chexing',
meta: {
title: '车型管理'
}
meta: { title: '车型管理', noCache: true }
},
{
path: '/cheliang/changyongpeizhi',
component: () =>
import('@/views/cheliang/chexingpeizhi/changyongpeizhi.vue'),
name: 'chexingpeizhi',
meta: {
title: '常用配置管理'
}
meta: { title: '常用配置管理', noCache: true }
},
// 车辆台账
{
@ -236,18 +232,14 @@ const codemenu = [
component: () =>
import('@/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue'),
name: 'cheliangtaizhang',
meta: {
title: '车辆台账'
}
meta: { title: '车辆台账', noCache: true }
},
{
path: '/cheliang/chexingbaojia',
component: () =>
import('@/views/cheliang/chexingbaojia/daibaojiaguanli/daibaojia.vue'),
name: 'daibaojia',
meta: {
title: '车型报价'
}
meta: { title: '车型报价', noCache: true }
},
// 车辆信息
@ -256,9 +248,7 @@ const codemenu = [
component: () =>
import('@/views/cheliang/cheliangtaizhang/cheliangtaizhangInfo.vue'),
name: 'CheliangtaizhangInfo',
meta: {
title: '车辆信息'
}
meta: { title: '车辆信息', noCache: true }
}
]
},
@ -274,7 +264,7 @@ const codemenu = [
path: '/caigoutuiku/index',
component: () => import('@/views/supplychain/caigoutuiku/caigoutuiku.vue'),
name: 'caigoutuiku',
meta: { title: '采购退库' }
meta: { title: '采购退库', noCache: true }
}]
},
{
@ -289,7 +279,7 @@ const codemenu = [
path: '/vehicle/cheliangpaichan',
component: () => import('@/views/supplychain/cheliangpaichan/cheliangpaichan.vue'),
name: 'cheliangpaichan',
meta: { title: '车辆排产管理' }
meta: { title: '车辆排产管理', noCache: true }
}
]
},
@ -305,7 +295,7 @@ const codemenu = [
path: '/supplychain/changjiaxitong',
component: () => import('@/views/supplychain/changjiaxitong/manufacturers.vue'),
name: 'changjiaxitongrenkuan',
meta: { title: '厂家系统认款' }
meta: { title: '厂家系统认款', noCache: true }
}
]
},
@ -314,14 +304,14 @@ const codemenu = [
component: Layout,
redirect: '/supplychain/cheliangneigou',
meta: {
title: '车辆内购'
title: '车辆内购'
},
children: [
{
path: '/supplychain/cheliangneigou',
component: () => import('@/views/supplychain/cheliangneigou/cheliangneigouguanli.vue'),
name: 'cheliangneigouguanli',
meta: { title: '内购申请管理' }
meta: { title: '内购申请管理', noCache: true }
}
]
},
@ -337,7 +327,7 @@ const codemenu = [
path: '/baseoutsourcingapplication/index',
component: () => import('@/views/baseoutsourcingapplication/baseoutsourcingapplication.vue'),
name: 'baseoutsourcingapplication',
meta: { title: '车辆外采' }
meta: { title: '车辆外采', noCache: true }
}
]
},
@ -353,7 +343,7 @@ const codemenu = [
path: '/examine/chukushenhe',
component: () => import('@/views/examinePage/chukushenhe/chukushenhe.vue'),
name: 'chukushenhe',
meta: { title: '出库审核' }
meta: { title: '出库审核', noCache: true }
}
]
},
@ -369,19 +359,31 @@ const codemenu = [
path: '/kucunguanli/tiaojiaguanli',
component: () => import('@/views/kucunguanli/tiaojiaguanli/priceguanli.vue'),
name: 'priceguanli',
meta: { title: '调价申请管理' }
meta: { title: '调价申请管理', noCache: true }
},
{
path: '/kucunguanli/panku',
component: () => import('@/views/kucunguanli/panku/pankuguanli.vue'),
name: 'pankuguanli',
meta: { title: '盘库管理' }
meta: { title: '盘库管理', noCache: true }
},
{
path: '/kucunguanli/cheliangweihu/richangxunjian',
component: () => import('@/views/kucunguanli/cheliangweihu/richangxunjian/cheliangxunjian.vue'),
name: 'cheliangxunjianjiluchaxun',
meta: { title: '日常巡检' }
meta: { title: '日常巡检', noCache: true }
},
{
path: '/kucunguanli/yancheguanli',
component: () => import('@/views/supplychain/yancheguanli/yancheguanli.vue'),
name: 'yancheguanli',
meta: { title: '验车管理', noCache: true }
},
{
path: '/kucunguanli/rukuguanli',
component: () => import('@/views/supplychain/rukuguanli/rukuguanliAwait.vue'),
name: 'rukuguanliawait',
meta: { title: '入库车辆管理', noCache: true }
}
]
},
@ -397,7 +399,7 @@ const codemenu = [
path: '/ruzhang/ruzhangguanli',
component: () => import('@/views/ruzhang/ruzhangguanli/ruzhangguanli.vue'),
name: 'ruzhangguanli',
meta: { title: '入账管理' }
meta: { title: '入账管理', noCache: true }
}]
},
// 未售买断管理
@ -412,7 +414,52 @@ const codemenu = [
path: '/weishoumaiduan/weishoumaiduanguanli',
component: () => import('@/views/weishoumaiduan/weishoumaiduanguanli/unsoldguanli.vue'),
name: 'unsoldguanli',
meta: { title: '未售买断申请管理' }
meta: { title: '未售买断申请管理', noCache: true }
}]
},
// 验车管理
// {
// path: '/yancheguanli',
// component: Layout,
// redirect: '/yancheguanli/yanche',
// meta: {
// title: '验车管理'
// },
// children: [{
// path: '/yancheguanli/yanche',
// component: () => import('@/views/supplychain/yancheguanli/yancheguanli.vue'),
// name: 'yancheguanli',
// meta: { title: '验车管理' }
// }]
// },
// 入库车辆管理
// {
// path: '/rukuguanli',
// component: Layout,
// redirect: '/rukuguanli/rukucheliang',
// meta: {
// title: '入库车辆管理'
// },
// children: [{
// path: '/rukuguanli/rukucheliang',
// component: () => import('@/views/supplychain/rukuguanli/rukuguanliAwait.vue'),
// name: 'rukuguanliawait',
// meta: { title: '入库车辆管理' }
// }]
// },
// 存放地点变更
{
path: '/cunfangdidianbiangengguanli',
component: Layout,
redirect: '/cunfangdidianbiangengguanli/cunfangdidianbiangeng',
meta: {
title: '存放地点变更申请管理'
},
children: [{
path: '/cunfangdidianbiangengguanli/cunfangdidianbiangeng',
component: () => import('@/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangeng.vue'),
name: 'cunfangdidianbiangeng',
meta: { title: '存放地点变更申请管理', noCache: true }
}]
},
// 流程审批

5
anrui-scm/anrui-scm-ui/src/styles/index.scss

@ -278,6 +278,11 @@ div:focus {
margin-left: 80px;
line-height: 48px;
}
.addinputInfo {
margin-left: 80px !important;
line-height: 48px !important;
}
}
}

12
anrui-scm/anrui-scm-ui/src/views/anruiscm/scmwarehouse/scmwarehouse.vue

@ -4,10 +4,8 @@
<button-bar view-title="存放地点" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{
isSearchShow ? '隐藏查询条件' :
'显示查询条件'
}}
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">
{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
@ -17,9 +15,9 @@
<el-option v-for="item in useOrg_list" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</el-form-item>
<!-- <el-form-item label="编码">-->
<!-- <el-input v-model="queryParams.params.warehouseCode" placeholder="请输入编码" clearable/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="编码">-->
<!-- <el-input v-model="queryParams.params.warehouseCode" placeholder="请输入编码" clearable/>-->
<!-- </el-form-item>-->
<el-form-item label="名称">
<el-input v-model="queryParams.params.warehouseName" placeholder="请输入名称" clearable/>
</el-form-item>

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

@ -42,7 +42,7 @@
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="280px" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" width="180px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
<el-button size="mini" type="primary" @click="cheLiangXiangXiPeiZhi(row)">车型配置</el-button>
@ -53,22 +53,22 @@
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center">
<el-table-column width="185px" label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="发动机号/许可证" align="center">
<el-table-column width="190px" label="发动机号/许可证" align="center">
<template slot-scope="scope">
<span>{{ scope.row.engineNo }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center">
<el-table-column width="140px" label="存放地点" align="center">
<template slot-scope="scope">
<span>{{ scope.row.locationName }}</span>
</template>
</el-table-column>
<el-table-column label="库存状态" align="center">
<el-table-column width="110px" label="库存状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleStateValue }}</span>
</template>

15
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhangAdd.vue

@ -230,6 +230,7 @@ import {
import { selectListOrg } from '@/api/cheliang/basemanufacturer'
import { typeValues } from '@/api/cheliang/dictcommons'
import { setChe } from '@/utils/baocun'
import { getPathSidByUserSid } from '@/api/cheliang/basevehiclemodel'
// import { getFileType, parseDate, parseTime, ConvertMenuState } from "@/utils";
// import { findButtonByUserId } from '@/api/sys/permission'
export default {
@ -597,9 +598,21 @@ export default {
// this.temp.modelConfigSid = e.configurationItemsSid
this.getModelConfig(this.temp.modelSid)
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({userSid:userSid}).then((res) => {
if (res.code === '200') {
this.listQuery.params.createOrgSId = res.data
this.useOrg = res.data
}
})
},
//
getModelConfig(modelSid) {
getListByVeSid({ modelSid: modelSid }).then((response) => {
getListByVeSid({
modelSid: modelSid,
userSid:window.sessionStorage.getItem('userSid')
}).then((response) => {
console.log('常用配置', response)
if (response.code === '200') {
this.modelConfig_list = response.data

5
anrui-scm/anrui-scm-ui/src/views/cheliang/hegezhengtaizhang/hegezhengtaizhang.vue

@ -85,7 +85,7 @@
<span>{{ scope.row.receiver }}</span>
</template>
</el-table-column>
<el-table-column label="备注" width="370px" align="left">
<el-table-column label="备注" width="370px" header-align="center" align="left">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
</template>
@ -456,9 +456,6 @@ export default {
const sid = this.sids[0]
const row = this.row
this.$refs['divadd'].showEdit(sid, row)
// this.$router.push({
// path: `/cheliang/hegezhengtaizhangAdd/${this.sids[0]}`
// })
} else if (this.sids.length > 1) {
this.$notify({
title: '提示',

18
anrui-scm/anrui-scm-ui/src/views/examinePage/chukushenhe/chukushenheTodo.vue

@ -9,19 +9,13 @@
type="primary"
size="small"
:disabled="createBtn"
@click="handleAgree()"
>同意</el-button
>
@click="handleAgree()">同意</el-button>
<el-button
type="primary"
size="small"
:disabled="disabled"
@click="handleDisagree()"
>不同意</el-button
>
<el-button type="info" size="small" @click="handleReturn()"
>返回</el-button
>
@click="handleDisagree()">不同意</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
@ -31,8 +25,7 @@
label-position="right"
label-width="100%"
class="formadd"
:rules="rules"
>
:rules="rules">
<div class="tit">
出库申请
<div class="times">
@ -56,8 +49,7 @@
</el-col>
<el-col :span="4">
<el-form-item
><span slot="label">是否为终端客户</span></el-form-item
>
><span slot="label">是否为终端客户</span></el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>

9
anrui-scm/anrui-scm-ui/src/views/kucunguanli/cheliangweihu/richangxunjian/xunjiandan.vue

@ -55,7 +55,9 @@
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>相关照片</span></div>
<el-form-item><span>{{ formobj.vinNo }}</span></el-form-item>
<el-form-item>
<upload ref="uploadImg" class="addinputw addinputwOne" v-model="list1" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
@ -67,9 +69,13 @@
<script>
import req from '@/api/weishoumaiduan/unsold'
import { typeValues } from '@/api/cheliang/dictcommons'
import upload from '@/components/uploadFile/FaImages'
export default {
name: 'cheliangxunjiancaozuo',
components: {
upload
},
data() {
return {
viewTitle: '车辆巡检操作',
@ -80,6 +86,7 @@ export default {
list: [],
warehouse_list: [],
staff_list: [],
list1: [],
//
formobj: {
sid: '', // sid

22
anrui-scm/anrui-scm-ui/src/views/kucunguanli/tiaojiaguanli/chexingbyconfiguration.vue

@ -13,11 +13,11 @@
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="客户名称:">
<el-input v-model="listQuery.params.customerName" placeholder="" clearable class="filter-item"/>
<el-form-item label="车型:">
<el-input v-model="listQuery.params.vehicleAlias" placeholder="" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="合同编号:">
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable class="filter-item"/>
<el-form-item label="常用配置:">
<el-input v-model="listQuery.params.configName" placeholder="" clearable class="filter-item"/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center">
@ -72,13 +72,15 @@ export default {
datalist: [],
number: '',
listLoading: false,
userOrgSid: '',
listQuery: {
current: 1,
size: 10,
params: {
contractNo: '',
customerName: '',
vehicleAlias: '',
configName: '',
useOrgSid: '',
vehicleStateValue: '库存',
sidList: []
},
total: 1
@ -125,9 +127,10 @@ export default {
current: 1,
size: 10,
params: {
contractNo: '',
customerName: '',
useOrgSid: '',
vehicleAlias: '',
configName: '',
useOrgSid: this.userOrgSid,
vehicleStateValue: '库存',
sidList: []
},
total: 0
@ -157,6 +160,7 @@ export default {
this.listQuery.params.sidList = []
}
this.listQuery.params.useOrgSid = userOrgSid
this.userOrgSid = userOrgSid
this.getList()
},
//

12
anrui-scm/anrui-scm-ui/src/views/redirect/index.vue

@ -0,0 +1,12 @@
<script>
export default {
created() {
const { params, query } = this.$route
const { path } = params
this.$router.replace({ path: '/' + path, query })
},
render: function(h) {
return h() // avoid warning message
}
}
</script>

378
anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangeng.vue

@ -0,0 +1,378 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar view-title="存放地点变更申请" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">
{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}
</el-button> <!--:model="listQuery"-->
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="申请日期">
<el-date-picker
v-model="listQuery.params.applyDateStart "
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker
v-model="listQuery.params.applyDateEnd"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="请输入名称" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="getList">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!--Start 项目列表头部-->
<div class="listtop">
<div class="tit">存放地点变更申请列表</div>
<pageye v-show="dataList.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="loadList"/>
</div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
<div class="">
<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" fixed label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" fixed align="center" width="160px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handleEdit(row)">办理</el-button>
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
</template>
</el-table-column>
<el-table-column width="120px" prop="" label="状态" align="center"/>
<el-table-column width="160px" prop="" label="申请编号" align="center"/>
<el-table-column width="140px" prop="" label="申请日期" align="center"/>
<el-table-column width="130px" prop="" label="申请人" align="center"/>
<el-table-column width="180px" prop="vinNo" label="车架号" align="center"/>
<el-table-column width="160px" prop="" label="现存放地点" align="center"/>
<el-table-column width="160px" prop="" label="目标存放地点" align="center"/>
<el-table-column width="130px" prop="" label="经办人" align="center"/>
<el-table-column width="160px" prop="" label="申请费用" align="center"/>
<el-table-column width="180px" prop="" label="现场照片" align="center">
<template slot-scope="{row}">
<div class="upload_img">
<upload ref="uploadMoreImg" v-model="imgList" :limit="1" bucket="map" @eett="getList" :upload-data="{type:'0001',modelSid: row.sid}"></upload>
</div>
<!-- <el-button size="mini" type="primary" @click="handleUpload(row)">上传</el-button>-->
<el-button size="mini" type="primary" @click="handleCheckImg(row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!--End 项目列表-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="listQuery.total"
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
class="pagination"
@pagination="loadList"
/>
</div>
</div>
</div>
<!-- 照片弹窗 -->
<el-dialog title="查看" :visible.sync="dialogImgVisible">
<el-image v-for="item in srcList" style="width: 100px; height: 100px" :src="item" :preview-src-list="srcList"/>
</el-dialog>
<cunfangdidianbiangeng-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="getList"/>
<cunfangdidianbiangeng-info v-show="viewState == 4" ref="divinfo" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/anruiscm/scmwarehouse'
import { getUseOrgByUserSid, selectModelName } from '@/api/cheliang/basevehicle'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import cunfangdidianbiangengAdd from '@/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd'
import cunfangdidianbiangengInfo from '@/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengInfo'
import upload from '../../../components/uploadFile/upload_chexing'
export default {
name: 'cunfangdidianbiangeng',
components: {
ButtonBar,
Pagination,
pageye,
cunfangdidianbiangengAdd,
cunfangdidianbiangengInfo,
upload
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
dialogImgVisible: false,
srcList: [],
imgList:[],
multipleSelection:[],
sids:[],
dataList: [],
useOrg_list: [],
modelName_list: [],
slowMachine_list: [],
useOrg: '', // 使
useOrgSid: '', // 使sid
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
vinNo: '',
modelName: '',
slowMachineKey: ''
}
},
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'submit',
btnKey: 'doSubmit',
btnLabel: '提交'
},
{
type: 'primary',
size: 'small',
icon: 'edit',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
// {
// type: 'info',
// size: 'small',
// icon: 'cross',
// btnKey: 'doClose',
// btnLabel: ''
// }
]
}
},
created() {
this.getList()
// this.getUseOrg()
this.getModelName()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
resetState() {
this.viewState = 1
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doSubmit':
this.doSubmit()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
default:
break
}
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
toEdit() {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' })
return
}
if (this.multipleSelection.length > 1) {
this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' })
return
}
this.viewState = 3
this.$refs['divadd'].showEdit(this.sids[0])
},
doDel() {
if (this.multipleSelection.length === 0) {
this.$message({showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作'})
return
}
const _this = this
const tip = '请确认是否删除所选 ' + this.multipleSelection.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delBySids(this.sids).then(resp => {
if (resp.success){
loading.close()
_this.$message({ type: 'success', message: resp.msg, showClose: true })
_this.loadList()
}
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
handleEdit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row.sid)
},
handleCheck(row) {
console.log('详情回显', row)
this.viewState = 4
this.$refs['divinfo'].showInfo(row)
},
getList() {
this.listQuery.current = 1
this.loadList()
},
resetQuery() {
this.listQuery.params = {
useOrg: this.useOrg,
useOrgSid: this.useOrgSid,
vinNo: '',
applyDateStart: '',
applyDateEnd: ''
}
this.listQuery.params.sid = '' // sid
this.listQuery.params.name = '' //
this.getList()
},
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.listQuery)
.then(resp => {
_this.tableLoading = false
const data = resp.data
_this.listQuery.total = data.total
_this.dataList = data.records
})
.catch(() => {
_this.tableLoading = false
})
},
handleSelectionChange(row) {
this.multipleSelection = row
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('勾选的数据',this.sids)
},
handleUpload(){
},
handleCheckImg(row){
this.dialogImgVisible = true
// this.srcList = row.vehicleModelUrls
},
//
getModelName() {
selectModelName({ name: '' }).then((response) => {
if (response.code === '200') {
this.modelName_list = response.data
}
})
},
// sid
getUseOrg() {
const userSid = window.sessionStorage.getItem('userSid')
getUseOrgByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.useOrg = res.data.name // 使
this.useOrgSid = res.data.sid // 使sid
this.listQuery.params.useOrgSid = res.data.sid
this.loadList()
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
background: white;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
.upload_img {
display: inline-block;
padding-right: 10px;
}
</style>

317
anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd.vue

@ -0,0 +1,317 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<div class="title">车辆存放地点变更申请</div>
<el-form ref="dataForm" :model="temp" label-position="right" class="formadd" :rules="rules">
<div class="tit">
<div class="times">
<div>
<span>申请日期</span>
<span>{{ temp.createDate }}</span>
</div>
<div>
<span>申请人</span>
<span>{{ temp.staffName }}</span>
</div>
</div>
</div>
<el-row style="border-top: 1px solid #e0e3eb;">
<el-col :span="3">
<span>现存放地点</span>
</el-col>
<el-col :span="9">
<el-select v-model="temp.xian" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in xian_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-col>
<el-col :span="3">
<span>目标存放地点</span>
</el-col>
<el-col :span="9">
<el-select v-model="temp.mu" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in mu_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>车架号</span>
</el-col>
<el-col :span="21">
<el-select v-model="temp.vinNo" placeholder="请选择" filterable clearable class="addinputw">
<el-option v-for="item in vinNo_list" :key="item.sid" :label="item.vinNo" :value="item.sid"/>
</el-select>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>变更原因</span>
</el-col>
<el-col :span="21">
<el-input v-model="temp.carModel" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>申请费用</span>
</el-col>
<el-col :span="21">
<el-input v-model="temp.carModel" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span><span class="icon">*</span>经办人</span>
</el-col>
<el-col :span="9">
<el-input v-model="temp.carModel" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
<el-col :span="3">
<span>保险状态</span>
</el-col>
<el-col :span="9">
<el-form-item>
<el-radio v-model="temp.isTerminal" :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" :label="1"></el-radio>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { getPathSidByUserSid } from '@/api/cheliang/dictcommons'
import { namesDown } from '@/api/cheliang/basevehicle'
export default {
name: "cunfangdidianbiangengAdd",
data() {
return {
viewTitle: '',
// ---------
sid: '',
datas: null,
stateId: 0,
FormLoading: false,
listLoading: false,
xian_list:[],
mu_list:[],
imgList: [], //
vinNo_list:[], //
temp: {
orderType: '01'
}, //
dialogFormVisible: false, //
dialogFormShowVisible: false, //
dialogStatus: '', //
vehiclePhoto: [],
rules: {}
// ------------------------------------
}
},
methods: {
getType(){
//
// typeValues({
// type: ''
// }).then((res) => {
// if (res.code === '200') {
// this.kuwei_list = res.data
// console.log('', this.kuwei_list)
// }
// })
//
// typeValues({
// type: ''
// }).then((res) => {
// if (res.code === '200') {
// this.kuwei_list = res.data
// console.log('', this.kuwei_list)
// }
// })
},
//
getCheJia() {
namesDown({ vinNo: '' }).then((response) => {
if (response.code === '200') {
this.vinNo_list = response.data
}
})
},
// kuweiChange(val) {
// const choosetItem = this.kuwei_list.filter((item) => item.dictKey == val)
// this.temp.dictValue = choosetItem[0].kuwei
// console.log('name:', , 'key:', )
// },
// kuweiChange(val) {
// const choosetItem = this.kuwei_list.filter((item) => item.dictKey == val)
// this.temp.dictValue = choosetItem[0].kuwei
// console.log('name:', , 'key:', )
// },
showAdd() {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.dialogStatus = 'add'
this.viewTitle = '【新增】车辆存放地点变更申请'
},
showEdit(sid) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.dialogStatus = 'update'
this.viewTitle = '【修改】车辆存放地点变更申请'
// this.temp.sid = sid
// console.log('sid', this.temp.sid)
// details(sid).then((response) => {
// if (response.code === '200') {
// if (response.data.createOrg) {
// console.log('1', response.data.useOrg)
// this.useOrgArry = response.data.createOrg
// console.log('2', this.useOrgArry)
// }
// this.temp = response.data
// this.getLocation()
// this.getModelConfig(this.temp.modelSid)
// }
// })
// this.getType()
// this.getZuZhi()
// this.getUseOrg()
},
// 使
getUseOrg() {
const userSid = window.sessionStorage.getItem('userSid')
getUseOrgByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.temp.useOrgName = res.data.name
this.temp.useOrg = res.data.sid
this.temp.createOrg = res.data.sid
this.temp.createOrgName = res.data.name
this.org_list = res.data
}
})
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({ userSid: userSid }).then((res) => {
if (res.code === '200') {
this.listQuery.params.createOrgSId = res.data
this.useOrg = res.data
}
})
},
getUrl() {
if (this.imgList.length > 0) {
console.log('imgList', this.imgList)
} else {
}
},
// ------------------------------------------------------
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.temp = {
orderType: '01'
}
this.$emit('doback')
},
//
handleCreate() {
console.log('this.temp.useOrg', this.useOrgArry)
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true
//
// SaveList(this.temp).then((response) => {
// this.FormLoading = false
// if (response.code === '200') {
// setChe(response.data)
// this.dialogFormVisible = false
// this.handleReturn('true')
// } else {
// this.$notify({
// title: '',
// message: '',
// type: 'error',
// duration: 2000
// })
// }
// })
}
})
}
//
// this.temp.vehiclePhoto = []
// if (this.vehiclePhoto_Images.length > 0) {
// for (var i = 0; i < this.vehiclePhoto_Images.length; i++) {
// var image_start = this.vehiclePhoto_Images.indexOf('/upload') + 8
// var image_url = this.vehiclePhoto_Images.substring(image_start)
// this.temp.vehiclePhoto.push(image_url)
// }
// }
}
}
</script>
<style scoped>
/deep/ .el-autocomplete {
width: 80%;
}
.listconadd {
width: 100%;
padding: 0 240px !important;
}
.title {
padding-top: 28px;
}
.formadd .title {
padding: 10px !important;
}
.yancheAdd .el-row {
border: 0 !important;
}
.yancheAdd .el-col {
border: 0 !important;
}
/deep/ .el-col-3 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
.tit {
margin-bottom: 30px;
border-bottom: 1px solid #e0e3eb;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 30px 0 10px 0;
margin: 0 auto 0 auto;
width: 75%;
font-size: 14px;
text-align: center;
}
</style>

190
anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengInfo.vue

@ -0,0 +1,190 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<div class="title">车辆存放地点变更申请</div>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :rules="rules">
<div class="tit">
<div class="times">
<div>
<span>申请日期</span>
<span>{{ temp.createDate }}</span>
</div>
<div>
<span>申请人</span>
<span>{{ temp.staffName }}</span>
</div>
</div>
</div>
<el-row style="border-top: 1px solid #e0e3eb;">
<el-col :span="3">
<span>现存放地点</span>
</el-col>
<el-col :span="9">
<span>{{temp.xian}}</span>
</el-col>
<el-col :span="3">
<span>目标存放地点</span>
</el-col>
<el-col :span="9">
<span>{{temp.mu}}</span>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>车架号</span>
</el-col>
<el-col :span="21">
<span>{{temp.vinNo}}</span>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>变更原因</span>
</el-col>
<el-col :span="21">
<span>{{temp.carModel}}</span>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>申请费用</span>
</el-col>
<el-col :span="21">
<span>{{temp.carModel}}</span>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span><span class="icon">*</span>经办人</span>
</el-col>
<el-col :span="9">
<span>{{temp.carModel}}</span>
</el-col>
<el-col :span="3">
<span>保险状态</span>
</el-col>
<el-col :span="9">
<span>{{temp.isTerminal}}</span>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
export default {
name: 'cunfangdidianbiangengInfo',
data() {
return {
viewTitle: '',
// ---------
sid: '',
datas: null,
stateId: 0,
FormLoading: false,
listLoading: false,
xian_list:[],
mu_list:[],
imgList: [], //
vinNo_list:[], //
temp: {
orderType: '01'
}, //
dialogFormVisible: false, //
dialogFormShowVisible: false, //
dialogStatus: '', //
vehiclePhoto: [],
rules: {}
// ------------------------------------
}
},
methods: {
handleReturn() {
this.temp = {}
this.$emit('doback')
},
showInfo(sid, row) {
this.$nextTick(() => {
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
// })
},
open(val) {
this.dialogVisible = true
this.dialogUrl = val
}
}
}
</script>
<style scoped>
/deep/ .el-autocomplete {
width: 80%;
}
.listconadd {
width: 100%;
padding: 0 240px !important;
}
.title {
padding-top: 28px;
}
.formadd .title {
padding: 10px !important;
}
.yancheAdd .el-row {
border: 0 !important;
}
.yancheAdd .el-col {
border: 0 !important;
}
/deep/ .el-col-3 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
.tit {
margin-bottom: 30px;
border-bottom: 1px solid #e0e3eb;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 30px 0 10px 0;
margin: 0 auto 0 auto;
width: 75%;
font-size: 14px;
text-align: center;
}
</style>

247
anrui-scm/anrui-scm-ui/src/views/supplychain/rukuguanli/rukuguanliAdd.vue

@ -0,0 +1,247 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<div class="title">车辆入库</div>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :rules="rules">
<el-row style="border-top: 1px solid #e0e3eb;">
<el-col :span="3">
<span>入库日期</span>
</el-col>
<el-col :span="9">
<el-date-picker v-model="temp.priceDate" type="date" format="yyyy-MM-dd" class="addinputw"
value-format="yyyy-MM-dd" placeholder="选择日期时间"/>
</el-col>
<el-col :span="3">
<span>入库人</span>
</el-col>
<el-col :span="9">
<span>{{temp.person}}</span>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>车架号</span>
</el-col>
<el-col :span="9">
<span>{{temp.vinNo}}</span>
</el-col>
<el-col :span="3">
<span>库位</span>
</el-col>
<el-col :span="9">
<el-select v-model="temp.kuwei" placeholder="请选择" filterable clearable class="addinputw">
<el-option v-for="item in kuwei_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>附件</span>
</el-col>
<el-col :span="21">
<upload ref="uploadImg" v-model="imgList" :limit="1" bucket="map" :upload-data="{type:'0001'}"></upload>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { getPathSidByUserSid, typeValues } from '@/api/cheliang/dictcommons.js'
import Upload from '@/components/uploadFile/uploadImg.vue'
export default {
name: 'rukuguanliAdd',
components: {
Upload
},
data() {
return {
viewTitle: '',
// ---------
sid: '',
datas: null,
stateId: 0,
FormLoading: false,
listLoading: false,
kuwei_list:[],
imgList: [], //
temp: {
orderType: '01'
}, //
dialogFormVisible: false, //
dialogFormShowVisible: false, //
dialogStatus: '', //
vehiclePhoto: [],
rules: {}
// ------------------------------------
}
},
methods: {
getType(){
// typeValues({
// type: ''
// }).then((res) => {
// if (res.code === '200') {
// this.kuwei_list = res.data
// console.log('', this.kuwei_list)
// }
// })
},
// kuweiChange(val) {
// const choosetItem = this.kuwei_list.filter((item) => item.dictKey == val)
// this.temp.dictValue = choosetItem[0].kuwei
// console.log('name:', , 'key:', )
// },
showAdd() {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.dialogStatus = 'add'
this.viewTitle = '【新增】车辆入库'
},
// showEdit(sid) {
// this.$nextTick(() => {
// this.$refs['dataForm'].clearValidate()
// })
// this.dialogStatus = 'update'
// this.viewTitle = ''
// this.temp.sid = sid
// console.log('sid', this.temp.sid)
// details(sid).then((response) => {
// if (response.code === '200') {
// if (response.data.createOrg) {
// console.log('1', response.data.useOrg)
// this.useOrgArry = response.data.createOrg
// console.log('2', this.useOrgArry)
// }
// this.temp = response.data
// this.getLocation()
// this.getModelConfig(this.temp.modelSid)
// }
// })
// this.getType()
// this.getZuZhi()
// this.getUseOrg()
// },
// 使
getUseOrg() {
const userSid = window.sessionStorage.getItem('userSid')
getUseOrgByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.temp.useOrgName = res.data.name
this.temp.useOrg = res.data.sid
this.temp.createOrg = res.data.sid
this.temp.createOrgName = res.data.name
this.org_list = res.data
}
})
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({ userSid: userSid }).then((res) => {
if (res.code === '200') {
this.listQuery.params.createOrgSId = res.data
this.useOrg = res.data
}
})
},
getUrl() {
if (this.imgList.length > 0) {
console.log('imgList', this.imgList)
} else {
}
},
// ------------------------------------------------------
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.temp = {
orderType: '01'
}
this.$emit('doback')
},
//
handleCreate() {
console.log('this.temp.useOrg', this.useOrgArry)
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true
//
// SaveList(this.temp).then((response) => {
// this.FormLoading = false
// if (response.code === '200') {
// setChe(response.data)
// this.dialogFormVisible = false
// this.handleReturn('true')
// } else {
// this.$notify({
// title: '',
// message: '',
// type: 'error',
// duration: 2000
// })
// }
// })
}
})
}
//
// this.temp.vehiclePhoto = []
// if (this.vehiclePhoto_Images.length > 0) {
// for (var i = 0; i < this.vehiclePhoto_Images.length; i++) {
// var image_start = this.vehiclePhoto_Images.indexOf('/upload') + 8
// var image_url = this.vehiclePhoto_Images.substring(image_start)
// this.temp.vehiclePhoto.push(image_url)
// }
// }
}
}
</script>
<style scoped>
/deep/ .el-autocomplete {
width: 80%;
}
.listconadd {
width: 100%;
padding: 0 240px !important;
}
.title {
padding: 28px 0;
}
.formadd .title {
padding: 10px !important;
}
.yancheAdd .el-row {
border: 0 !important;
}
.yancheAdd .el-col {
border: 0 !important;
}
/deep/ .el-col-3 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
</style>

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

@ -0,0 +1,261 @@
<template>
<div class="app-container">
<div v-show="viewState == 5">
<button-bar view-title="入库车辆管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="switch_btn">
<el-button class="" @click="handleInvoiceList">待入库</el-button>
<el-button :class="{btn_style:viewState === 5}">已入库</el-button>
</div>
<div class="searchcon">
<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="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="请输入名称" clearable/>
</el-form-item>
<el-form-item label="车型">
<el-select v-model="listQuery.params.modelName" placeholder="请选择" filterable clearable
class="addinputw">
<el-option v-for="item in modelName_list" :key="item.sid" :label="item.modelName" :value="item.sid"/>
</el-select>
<!-- <el-input v-model="listQuery.params.warehouseAttribute" placeholder="请输入存放地点属性" clearable/>-->
</el-form-item>
<el-form-item label="订单类型">
<el-select v-model="listQuery.params.slowMachineKey" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in slowMachine_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
<!-- <el-input v-model="listQuery.params.warehouseContract" placeholder="请输入负责人" clearable/>-->
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="getList">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!--Start 项目列表头部-->
<div class="listtop">
<div class="tit">车辆列表</div>
<pageye v-show="dataList.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="loadList"/>
</div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
<div class=""> <!--@selection-change="handleSelectionChange"-->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column width="50px" type="selection" align="center"/>-->
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="180px" prop="vinNo" label="车架号" align="center"/>
<el-table-column prop="modelName" label="车型" align="center"/>
<el-table-column width="160px" prop="" label="订单类型" align="center"/>
<el-table-column width="140px" prop="" label="发车日期" align="center"/>
<el-table-column width="140px" prop="" label="验车日期" align="center"/>
<el-table-column width="140px" prop="" label="验车人" align="center"/>
<el-table-column width="140px" prop="" label="仓库" align="center"/>
<el-table-column width="140px" prop="" label="仓库管理员" align="center"/>
<el-table-column width="140px" prop="" label="实际入库日期" align="center"/>
</el-table>
</div>
<!--End 项目列表-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="listQuery.total"
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
class="pagination"
@pagination="loadList"
/>
</div>
</div>
</div>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import req from '@/api/anruiscm/scmwarehouse'
import { getUseOrgByUserSid, selectModelName } from '@/api/cheliang/basevehicle'
export default {
name: 'rukuguanli',
components: {
ButtonBar,
Pagination,
pageye,
},
data() {
return {
btndisabled: false,
viewState: 5, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
dataList: [],
useOrg_list: [],
modelName_list: [],
slowMachine_list: [],
useOrg: '', // 使
useOrgSid: '', // 使sid
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
vinNo: '',
modelName: '',
slowMachineKey: ''
}
},
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
multipleSelection: []
}
},
created() {
this.getList()
// this.getUseOrg()
this.getModelName()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
resetState() {
this.viewState = 1
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
// handleCheck(row) {
// this.$refs['divinfo'].showInfo(row)
// console.log('', row)
// this.viewState = 4
// },
handleInvoiceList() {
this.$parent.viewState = 1
},
getList() {
this.listQuery.current = 1
this.loadList()
},
resetQuery() {
this.listQuery.params = {
useOrg: this.useOrg,
useOrgSid: this.useOrgSid,
vinNo: '',
modelName: '',
slowMachineKey: ''
}
this.listQuery.params.sid = '' // sid
this.listQuery.params.name = '' //
this.getList()
},
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.listQuery)
.then(resp => {
_this.tableLoading = false
const data = resp.data
_this.listQuery.total = data.total
_this.dataList = data.records
})
.catch(() => {
_this.tableLoading = false
})
},
// handleSelectionChange(val) {
// this.multipleSelection = val
// console.log('', this.multipleSelection)
// },
//
getModelName() {
selectModelName({ name: '' }).then((response) => {
if (response.code === '200') {
this.modelName_list = response.data
}
})
},
// sid
getUseOrg() {
const userSid = window.sessionStorage.getItem('userSid')
getUseOrgByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.useOrg = res.data.name // 使
this.useOrgSid = res.data.sid // 使sid
this.listQuery.params.useOrgSid = res.data.sid
this.loadList()
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.switch_btn {
padding: 15px 0 10px 0;
}
.btn_style {
background-color: #018ad2;
color: white;
font-weight: 600;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
background: white;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
</style>

274
anrui-scm/anrui-scm-ui/src/views/supplychain/rukuguanli/rukuguanliAwait.vue

@ -0,0 +1,274 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar view-title="入库车辆管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="switch_btn">
<el-button :class="{btn_style:viewState === 1}">待入库</el-button>
<el-button class="" @click="handleInvoiceList">已入库</el-button>
</div>
<div class="searchcon">
<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="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="请输入名称" clearable/>
</el-form-item>
<el-form-item label="车型">
<el-select v-model="listQuery.params.modelName" placeholder="请选择" filterable clearable
class="addinputw">
<el-option v-for="item in modelName_list" :key="item.sid" :label="item.modelName" :value="item.sid"/>
</el-select>
<!-- <el-input v-model="listQuery.params.warehouseAttribute" placeholder="请输入存放地点属性" clearable/>-->
</el-form-item>
<el-form-item label="订单类型">
<el-select v-model="listQuery.params.slowMachineKey" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in slowMachine_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
<!-- <el-input v-model="listQuery.params.warehouseContract" placeholder="请输入负责人" clearable/>-->
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="getList">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!--Start 项目列表头部-->
<div class="listtop">
<div class="tit">车辆列表</div>
<pageye v-show="dataList.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="loadList"/>
</div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
<div class=""> <!--@selection-change="handleSelectionChange"-->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column width="50px" type="selection" align="center"/>-->
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="90px" class-name="small-padding fixed-width">
<template slot-scope="{row}"><!--v-show="!row.result"-->
<el-button size="mini" type="primary" @click="handleRuku(row)">入库</el-button>
</template>
</el-table-column>
<el-table-column width="180px" prop="vinNo" label="车架号" align="center"/>
<el-table-column prop="modelName" label="车型" align="center"/>
<el-table-column width="160px" prop="" label="订单类型" align="center"/>
<el-table-column width="140px" prop="" label="发车日期" align="center"/>
<el-table-column width="140px" prop="" label="验车日期" align="center"/>
<el-table-column width="140px" prop="" label="验车人" align="center"/>
<el-table-column width="140px" prop="" label="仓库" align="center"/>
<el-table-column width="140px" prop="" label="仓库管理员" align="center"/>
</el-table>
</div>
<!--End 项目列表-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="listQuery.total"
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
class="pagination"
@pagination="loadList"
/>
</div>
</div>
</div>
<rukuguanli-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="getList"/>
<rukuguanli v-show="viewState == 5" ref="divalready" @doback="resetState"/>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import req from '@/api/anruiscm/scmwarehouse'
import rukuguanliAdd from '@/views/supplychain/rukuguanli/rukuguanliAdd'
import rukuguanli from '@/views/supplychain/rukuguanli/rukuguanliAlready'
import { getUseOrgByUserSid, selectModelName } from '@/api/cheliang/basevehicle'
export default {
name: 'rukuguanliawait',
components: {
ButtonBar,
Pagination,
pageye,
rukuguanliAdd,
rukuguanli
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
dataList: [],
useOrg_list: [],
modelName_list: [],
slowMachine_list: [],
useOrg: '', // 使
useOrgSid: '', // 使sid
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
vinNo: '',
modelName: '',
slowMachineKey: ''
}
},
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
multipleSelection: []
}
},
created() {
this.getList()
// this.getUseOrg()
this.getModelName()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
resetState() {
this.viewState = 1
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
handleRuku(row) {
this.viewState = 2
this.$refs['divadd'].showAdd(row)
},
handleCheck(row) {
this.$refs['divinfo'].showInfo(row)
console.log('详情回显', row)
this.viewState = 4
},
handleInvoiceList() {
this.viewState = 5
},
getList() {
this.listQuery.current = 1
this.loadList()
},
resetQuery() {
this.listQuery.params = {
useOrg: this.useOrg,
useOrgSid: this.useOrgSid,
vinNo: '',
modelName: '',
slowMachineKey: ''
}
this.listQuery.params.sid = '' // sid
this.listQuery.params.name = '' //
this.getList()
},
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.listQuery)
.then(resp => {
_this.tableLoading = false
const data = resp.data
_this.listQuery.total = data.total
_this.dataList = data.records
})
.catch(() => {
_this.tableLoading = false
})
},
// handleSelectionChange(val) {
// this.multipleSelection = val
// console.log('', this.multipleSelection)
// },
//
getModelName() {
selectModelName({ name: '' }).then((response) => {
if (response.code === '200') {
this.modelName_list = response.data
}
})
},
// sid
getUseOrg() {
const userSid = window.sessionStorage.getItem('userSid')
getUseOrgByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.useOrg = res.data.name // 使
this.useOrgSid = res.data.sid // 使sid
this.listQuery.params.useOrgSid = res.data.sid
this.loadList()
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.switch_btn {
padding: 15px 0 10px 0;
}
.btn_style {
background-color: #018ad2;
color: white;
font-weight: 600;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
background: white;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
</style>

277
anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanli.vue

@ -0,0 +1,277 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar view-title="验车管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!-- <div class="switch_btn">-->
<!-- <el-button :class="{btn_style:viewState === 1}">待验车列表</el-button>-->
<!-- <el-button class="" @click="handleInvoiceList">已验车列表</el-button>-->
<!-- </div>-->
<div class="main-content">
<div class="searchcon">
<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="车架号">
<el-input v-model="listQuery.params.vinNo" placeholder="请输入名称" clearable/>
</el-form-item>
<el-form-item label="车型">
<el-select v-model="listQuery.params.modelName" placeholder="请选择" filterable clearable class="addinputw">
<el-option v-for="item in modelName_list" :key="item.sid" :label="item.modelName" :value="item.sid"/>
</el-select>
<!-- <el-input v-model="listQuery.params.warehouseAttribute" placeholder="请输入存放地点属性" clearable/>-->
</el-form-item>
<el-form-item label="订单类型">
<el-select v-model="listQuery.params.slowMachineKey" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in slowMachine_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
<!-- <el-input v-model="listQuery.params.warehouseContract" placeholder="请输入负责人" clearable/>-->
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="getList">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!--Start 项目列表头部-->
<div class="listtop">
<div class="tit">车辆列表</div>
<pageye v-show="dataList.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="loadList"/>
</div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
<div class=""> <!--@selection-change="handleSelectionChange"-->
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<!-- <el-table-column width="50px" type="selection" align="center"/>-->
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="160px" class-name="small-padding fixed-width">
<template slot-scope="{row}"><!--v-show="!row.result"-->
<el-button size="mini" type="primary" @click="handleYanche(row)">验车</el-button>
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
</template>
</el-table-column>
<el-table-column width="200px" prop="vinNo" label="车架号" align="center"/>
<el-table-column prop="modelName" label="车型" align="center"/>
<el-table-column width="160px" prop="" label="订单类型" align="center"/>
<el-table-column width="200px" prop="" label="发车日期" align="center"/>
<el-table-column width="140px" prop="" label="验车日期" align="center"/>
<el-table-column width="140px" prop="" label="验车人" align="center"/>
<el-table-column width="140px" prop="result" label="验车结果" align="center"/>
</el-table>
</div>
<!--End 项目列表-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="listQuery.total"
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
class="pagination"
@pagination="loadList"
/>
</div>
</div>
</div>
<!--End 查询和其列表部分-->
<yancheguanli-already v-show="viewState == 5" ref="divalready" @doback="resetState"/>
<!--新增修改部分组件-->
<yancheguanli-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="getList"/>
<!--详情部分组件-->
<yancheguanli-info v-show="viewState == 4" ref="divinfo" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/anruiscm/scmwarehouse'
import { getUseOrgByUserSid, selectModelName } from '@/api/cheliang/basevehicle'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import yancheguanliAlready from '@/views/supplychain/yancheguanli/yancheguanliAlready'
import yancheguanliAdd from '@/views/supplychain/yancheguanli/yancheguanliAdd'
import yancheguanliInfo from '@/views/supplychain/yancheguanli/yancheguanliInfo'
export default {
name: 'yancheguanli',
components: {
ButtonBar,
Pagination,
pageye,
yancheguanliAlready,
yancheguanliAdd,
yancheguanliInfo
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
dataList: [],
useOrg_list:[],
modelName_list:[],
slowMachine_list:[],
useOrg: '', // 使
useOrgSid: '', // 使sid
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
vinNo:'',
modelName:'',
slowMachineKey:'',
}
},
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
multipleSelection: []
}
},
created() {
this.getList()
// this.getUseOrg()
this.getModelName()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
resetState() {
this.viewState = 1
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
handleYanche(row) {
this.viewState = 2
this.$refs['divadd'].showAdd(row)
},
handleCheck(row) {
this.$refs['divinfo'].showInfo(row)
console.log('详情回显', row)
this.viewState = 4
},
// handleInvoiceList() {
// this.viewState = 5
// },
getList() {
this.listQuery.current = 1
this.loadList()
},
resetQuery() {
this.listQuery.params = {
useOrg: this.useOrg,
useOrgSid: this.useOrgSid,
vinNo:'',
modelName:'',
slowMachineKey:''
}
this.listQuery.params.sid = '' // sid
this.listQuery.params.name = '' //
this.getList()
},
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.listQuery)
.then(resp => {
_this.tableLoading = false
const data = resp.data
_this.listQuery.total = data.total
_this.dataList = data.records
})
.catch(() => {
_this.tableLoading = false
})
},
// handleSelectionChange(val) {
// this.multipleSelection = val
// console.log('', this.multipleSelection)
// },
//
getModelName(){
selectModelName({ name: '' }).then((response) => {
if (response.code === '200') {
this.modelName_list = response.data
}
})
},
// sid
getUseOrg() {
const userSid = window.sessionStorage.getItem('userSid')
getUseOrgByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.useOrg = res.data.name // 使
this.useOrgSid = res.data.sid // 使sid
this.listQuery.params.useOrgSid = res.data.sid
this.loadList()
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.switch_btn {
padding: 15px 0 10px 0;
}
.btn_style {
background-color: #018ad2;
color: white;
font-weight: 600;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
background: white;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
</style>

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

@ -0,0 +1,276 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<div class="title">验车单</div>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :rules="rules">
<div class="yancheAdd" style="margin-top: 5px;">
<el-row class="yancheAdd-bor">
<el-col :span="12" class="yancheAdd-bor">
<el-form-item prop="reason" label="车架号:">
<el-input
v-model="temp.reason"
:disabled="temp.orderType == '01'"
placeholder="请输入车架号"
class="addinputw"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="12" class="yancheAdd-bor">
<el-form-item prop="money" label="车型:">
<el-input
v-model="temp.money"
placeholder="请输入车型"
class="addinputw"
clearable
/>
</el-form-item>
</el-col>
</el-row>
<el-row class="yancheAdd-bor">
<el-col :span="12" class="yancheAdd-bor">
<el-form-item prop="money" label="配置:">
<el-input
v-model="temp.money"
placeholder="请输入配置"
class="addinputw"
clearable
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="money" label="洗车费:">
<el-input
v-model="temp.money"
placeholder="请输入洗车费"
class="addinputw"
clearable
/>
</el-form-item>
</el-col>
</el-row>
</div>
<div class="title">验车相关照片</div>
<el-row>
<el-col :span="24">
<upload ref="uploadImg" v-model="imgList01" :limit="1" bucket="map" :upload-data="{type:'0001'}"></upload>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>厂家验车单照片</span>
</el-col>
<el-col :span="21">
<upload ref="uploadImg" v-model="imgList02" :limit="1" bucket="map" :upload-data="{type:'0001'}"></upload>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>验车情况说明</span>
</el-col>
<el-col :span="21">
<el-input
type="textarea"
autosize
placeholder="请输入说明"
v-model="temp.remarks">
</el-input>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { getPathSidByUserSid } from '@/api/cheliang/dictcommons.js'
import Upload from '@/components/uploadFile/uploadImg.vue'
export default {
name: 'yancheguanliAdd',
components: {
Upload
},
data() {
return {
viewTitle: '',
// ---------
sid: '',
datas: null,
stateId: 0,
FormLoading: false,
listLoading: false,
imgList01: [], //
imgList02: [], //
temp: {
orderType: '01'
}, //
dialogFormVisible: false, //
dialogFormShowVisible: false, //
dialogStatus: '', //
vehiclePhoto: [],
rules: {}
// ------------------------------------
}
},
methods: {
showAdd() {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
this.dialogStatus = 'add'
this.viewTitle = '验车单'
},
// showEdit(sid) {
// this.$nextTick(() => {
// this.$refs['dataForm'].clearValidate()
// })
// this.dialogStatus = 'update'
// this.viewTitle = ''
// this.temp.sid = sid
// console.log('sid', this.temp.sid)
// details(sid).then((response) => {
// if (response.code === '200') {
// if (response.data.createOrg) {
// console.log('1', response.data.useOrg)
// this.useOrgArry = response.data.createOrg
// console.log('2', this.useOrgArry)
// }
// this.temp = response.data
// this.getLocation()
// this.getModelConfig(this.temp.modelSid)
// }
// })
// this.getType()
// this.getZuZhi()
// this.getUseOrg()
// },
// 使
getUseOrg() {
const userSid = window.sessionStorage.getItem('userSid')
getUseOrgByUserSid({ userSid: userSid }).then((res) => {
if (res.success) {
this.temp.useOrgName = res.data.name
this.temp.useOrg = res.data.sid
this.temp.createOrg = res.data.sid
this.temp.createOrgName = res.data.name
this.org_list = res.data
}
})
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({ userSid: userSid }).then((res) => {
if (res.code === '200') {
this.listQuery.params.createOrgSId = res.data
this.useOrg = res.data
}
})
},
getUrl() {
if (this.imgList01.length > 0) {
console.log('imgList01', this.imgList01)
} else {
}
if (this.imgList02.length > 0) {
console.log('imgList02', this.imgList02)
} else {
}
},
// ------------------------------------------------------
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.temp = {
orderType: '01'
}
this.$emit('doback')
},
//
handleCreate() {
console.log('this.temp.useOrg', this.useOrgArry)
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true
//
// SaveList(this.temp).then((response) => {
// this.FormLoading = false
// if (response.code === '200') {
// setChe(response.data)
// this.dialogFormVisible = false
// this.handleReturn('true')
// } else {
// this.$notify({
// title: '',
// message: '',
// type: 'error',
// duration: 2000
// })
// }
// })
}
})
}
//
// this.temp.vehiclePhoto = []
// if (this.vehiclePhoto_Images.length > 0) {
// for (var i = 0; i < this.vehiclePhoto_Images.length; i++) {
// var image_start = this.vehiclePhoto_Images.indexOf('/upload') + 8
// var image_url = this.vehiclePhoto_Images.substring(image_start)
// this.temp.vehiclePhoto.push(image_url)
// }
// }
}
}
</script>
<style scoped>
/deep/ .el-autocomplete {
width: 80%;
}
.listconadd {
width: 100%;
padding: 0 48px !important;
}
.title {
padding: 28px 0;
}
.formadd .title {
padding: 10px !important;
text-align: left;
}
.yancheAdd .el-row {
border: 0 !important;
}
.yancheAdd .el-col {
border: 0 !important;
}
/deep/ .el-col-3 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
</style>

13
anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliAlready.vue

@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: 'yancheguanliAlready'
}
</script>
<style scoped>
</style>

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

@ -0,0 +1,171 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<div class="title">验车单</div>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :rules="rules">
<div class="yancheAdd" style="margin-top: 5px;">
<el-row class="yancheAdd-bor">
<el-col :span="12" class="yancheAdd-bor">
<el-form-item prop="reason" label="车架号:">
<span>{{ temp.reason }}</span>
</el-form-item>
</el-col>
<el-col :span="12" class="yancheAdd-bor">
<el-form-item prop="money" label="车型:">
<span>{{ temp.money }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row class="yancheAdd-bor">
<el-col :span="12" class="yancheAdd-bor">
<el-form-item prop="money" label="配置:">
{{ temp.money }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="money" label="洗车费:">
<span>{{ temp.money }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<div class="title">验车相关照片</div>
<el-row>
<el-col :span="24"> <!-- v-for="item in imgList01" :src="item" @click="open(item)-->
<img v-show="temp.degreeCertificate !=='' ? true : false" style="cursor:pointer;width: 178px;height: 178px;"
:src="temp.degreeCertificate" @click="open(temp.degreeCertificate)">
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>厂家验车单照片</span>
</el-col>
<el-col :span="21">
<img v-show="temp.degreeCertificate !=='' ? true : false" style="cursor:pointer;width: 178px;height: 178px;"
:src="temp.degreeCertificate" @click="open(temp.degreeCertificate)">
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>验车情况说明</span>
</el-col>
<el-col :span="21">
<span>{{temp.remarks}}</span>
</el-col>
</el-row>
</el-form>
</div>
</div>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogUrl" alt="">
</el-dialog>
</div>
</template>
<script>
export default {
name: 'yancheguanliInfo',
data() {
return {
viewTitle: '',
// ---------
sid: '',
dialogVisible:false,
datas: null,
stateId: 0,
FormLoading: false,
listLoading: false,
dialogUrl:'',
imgList01: [], //
imgList02: [], //
temp: {
orderType: '01'
}, //
dialogFormVisible: false, //
dialogFormShowVisible: false, //
dialogStatus: '', //
vehiclePhoto: [],
rules: {}
// ------------------------------------
}
},
methods: {
handleReturn() {
this.temp = {}
this.$emit('doback')
},
showInfo(sid, row) {
this.$nextTick(() => {
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
// })
},
open(val) {
this.dialogVisible = true
this.dialogUrl = val
}
}
}
</script>
<style scoped>
/deep/ .el-autocomplete {
width: 80%;
}
.listconadd {
width: 100%;
padding: 0 48px !important;
}
.title {
padding: 28px 0;
}
.formadd .title {
padding: 10px !important;
text-align: left;
}
.yancheAdd .el-row {
border: 0 !important;
}
.yancheAdd .el-col {
border: 0 !important;
}
/deep/ .el-col-3 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
</style>

8
anrui-system-ui/src/layout/components/Navbar.vue

@ -3,7 +3,8 @@
<div class="navbar">
<h3 class="breadcrumb-container">安瑞集团信息化平台</h3>
<div class="right-menu">
<p>{{Orgname}} 欢迎, {{name}}</p> <!--{{departmentName}}-->
<!-- <p>{{Orgname}} 欢迎, {{name}}</p> &lt;!&ndash;{{departmentName}}&ndash;&gt;-->
<p>欢迎您{{pNameAndDepartmentNameAndPostName}} {{name}}</p>
<img src="@/assets/images/info.png">
<!-- <img src="@/assets/images/dy.png" @click="logout"> -->
<span class="backToHome" @click="logout"><i class="el-icon-back"></i>返回首页</span>
@ -20,13 +21,16 @@ export default {
Orgname:'',
departmentName:'',
name:'',
year:''
year:'',
pNameAndDepartmentNameAndPostName:'',
}
},
mounted(){
this.Orgname = window.sessionStorage.getItem('Orgname')
this.departmentName = window.sessionStorage.getItem('departmentName')
this.name = window.sessionStorage.getItem('name')
this.pNameAndDepartmentNameAndPostName = window.sessionStorage.getItem('pNameAndDepartmentNameAndPostName')
this.name = window.sessionStorage.getItem('name')
var nowDate = new Date()
this.year = nowDate.getFullYear()
},

3
anrui-system-ui/src/layout/components/TagsView/index.vue

@ -140,8 +140,7 @@ export default {
const { fullPath } = view
this.$nextTick(() => {
this.$router.replace({
path: fullPath
// path: '/redirect' + fullPath
path: '/redirect' + fullPath
})
})
})

13
anrui-system-ui/src/router/index.js

@ -1,14 +1,23 @@
import Vue from 'vue'
import Router from 'vue-router'
/* Layout */
import Layout from '@/layout'
Vue.use(Router)
/* Layout */
import Layout from '@/layout'
/* 所有角色可以访问/没有权限要求的基页 */
export const constantRoutes = [
{
path: '/redirect',
component: Layout,
hidden: true,
children: [{
path: '/redirect/:path(.*)',
component: () => import('@/views/redirect/index.vue')
}]
},
{
path: '/',
redirect: 'login'

12
anrui-system-ui/src/views/redirect/index.vue

@ -0,0 +1,12 @@
<script>
export default {
created() {
const { params, query } = this.$route
const { path } = params
this.$router.replace({ path: '/' + path, query })
},
render: function(h) {
return h() // avoid warning message
}
}
</script>
Loading…
Cancel
Save