客户所属行业问题修改
This commit is contained in:
parent
324a18f830
commit
9614d17a37
@ -37,7 +37,7 @@ public class CustomerRespVO {
|
||||
|
||||
@Schema(description = "所属行业")
|
||||
@ExcelProperty("所属行业")
|
||||
private String industry;
|
||||
private Integer industry;
|
||||
|
||||
@Schema(description = "客户级别.字典", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("客户级别.字典")
|
||||
|
||||
@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
@ -111,5 +112,26 @@ public class ScreenController {
|
||||
ExcelUtils.write(response, "大屏数据.xls", "数据", ScreenRespVO.class,
|
||||
BeanUtils.toBean(list, ScreenRespVO.class));
|
||||
}
|
||||
@GetMapping("/searchUnfinished")
|
||||
@Operation(summary = "获得未完成设计以及为发货的子项目数量")
|
||||
@PermitAll
|
||||
@OperateLog(enable = false)
|
||||
public CommonResult<Map<String,Long>> searchUnfinished() {
|
||||
return success(screenService.searchUnfinished());
|
||||
}
|
||||
|
||||
@GetMapping("/searchOrderInformation")
|
||||
@Operation(summary = "获得按月份的订单数量")
|
||||
@PermitAll
|
||||
@OperateLog(enable = false)
|
||||
public CommonResult<Map<String,Map<String, Integer>>> searchOrderInformation() {
|
||||
return success(screenService.searchOrderInformation());
|
||||
}
|
||||
@GetMapping("/searchOrderByYear")
|
||||
@Operation(summary = "获得按年的订单数量")
|
||||
@PermitAll
|
||||
@OperateLog(enable = false)
|
||||
public CommonResult<Map<String,Integer>> searchOrderByYear() {
|
||||
return success(screenService.searchOrderByYear());
|
||||
}
|
||||
}
|
||||
|
||||
@ -299,6 +299,13 @@ public class ProjectOrderDO extends BaseDO {
|
||||
private BigDecimal waixeiCost;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal sumCost;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String month;
|
||||
@TableField(exist = false)
|
||||
private Integer blackMold;
|
||||
@TableField(exist = false)
|
||||
private Integer coloredMolds;
|
||||
/**
|
||||
* 变更的字段列表
|
||||
* */
|
||||
|
||||
@ -8,19 +8,20 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.equip.EquipDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesign.ProcessDesignDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.ProjectOrderStatusEnum;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.YesOrNoEnum;
|
||||
import com.chanko.yunxi.mes.module.infra.dal.dataobject.file.FileDO;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.*;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 项目订单子项目 Mapper
|
||||
@ -151,4 +152,39 @@ public interface ProjectOrderSubMapper extends BaseMapperX<ProjectOrderSubDO> {
|
||||
}
|
||||
@Delete("delete from project_sale_order_sub where project_order_id = #{id}")
|
||||
void delByProjectOrderId(@Param("id") Long id);
|
||||
@Select("SELECT COUNT(sub.id) \n" +
|
||||
"FROM project_sale_order_sub sub\n" +
|
||||
"WHERE sub.id NOT IN (\n" +
|
||||
" SELECT project_sub_id\n" +
|
||||
" FROM pro_process_design\n" +
|
||||
" WHERE process_design_type IN ('BLUEPRINT_3D', 'BLUEPRINT_2D', 'BLUEPRINT_WORKBLANK') and tenant_id='2' and deleted=0\n" +
|
||||
" GROUP BY project_sub_id\n" +
|
||||
" HAVING \n" +
|
||||
" COUNT(*) = 3 \n" +
|
||||
" AND SUM(CASE WHEN is_over_process = 1 THEN 1 ELSE 0 END) = 3 \n" +
|
||||
") and sub.create_time >='2025-06-01' and sub.tenant_id='2' and sub.deleted=0")
|
||||
Long searchUnfinished();
|
||||
@Select("SELECT COUNT(*)\n" +
|
||||
"FROM project_sale_order_sub sub\n" +
|
||||
"LEFT JOIN project_deliver_order_sub deliver ON sub.id = deliver.sale_order_sub_id and deliver.tenant_id='2' and deliver.deleted=0 \n" +
|
||||
"WHERE deliver.sale_order_sub_id IS NULL and sub.tenant_id='2' and sub.deleted=0 ")
|
||||
Long searchNotDispatched();
|
||||
@Select("SELECT \n" +
|
||||
" MONTH(create_time) AS month,\n" +
|
||||
" SUM(CASE WHEN business_line = 2 THEN 1 ELSE 0 END) AS blackMold,\n" +
|
||||
" SUM(CASE WHEN business_line =1 THEN 1 ELSE 0 END) AS coloredMolds\n" +
|
||||
"FROM project_sale_order\n" +
|
||||
"WHERE YEAR(create_time) = YEAR(CURDATE())\n" +
|
||||
"GROUP BY MONTH(create_time)\n" +
|
||||
"ORDER BY month;")
|
||||
List<ProjectOrderDO> searchOrderInformation();
|
||||
|
||||
@Select("SELECT \n" +
|
||||
" YEAR(create_time) AS year,\n" +
|
||||
" COUNT(id) as amount \n" +
|
||||
"FROM project_sale_order\n" +
|
||||
"WHERE YEAR(create_time) >= YEAR(CURDATE()) - 4 and tenant_id=2 and deleted=0\n" +
|
||||
"GROUP BY YEAR(create_time)\n" +
|
||||
"ORDER BY year;")
|
||||
List<Map<String, Integer>> searchOrderByYear();
|
||||
}
|
||||
|
||||
@ -197,13 +197,13 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
// 将每个工艺任务拆分成独立的任务项,方便统一检查
|
||||
List<TaskItem> allNewItems = new ArrayList<>();
|
||||
for (PlanSubSaveReqVO task : processTasks) {
|
||||
if (!task.isHasSaveInBlankDetail() && task.getBlankOwner() != null && task.getStartBlankDate() != null && task.getBlankDate() != null) {
|
||||
if (!task.isHasSaveInBlankDetail() && ObjectUtil.isNotEmpty(task.getBlankOwner()) && ObjectUtil.isNotEmpty(task.getStartBlankDate()) && ObjectUtil.isNotEmpty(task.getBlankDate())) {
|
||||
allNewItems.add(new TaskItem(Long.valueOf(task.getBlankOwner()), task.getStartBlankDate(), task.getBlankDate(), "毛坯",task.getProjectNameSim()));
|
||||
}
|
||||
if (!task.isHasSaveIn2DDetail() && task.getTwoDimOwner() != null && task.getStartTwoDimDate() != null && task.getTwoDimDate() != null) {
|
||||
if (!task.isHasSaveIn2DDetail() && ObjectUtil.isNotEmpty(task.getTwoDimOwner()) && ObjectUtil.isNotEmpty(task.getStartTwoDimDate()) && ObjectUtil.isNotEmpty(task.getTwoDimDate())) {
|
||||
allNewItems.add(new TaskItem(Long.valueOf(task.getTwoDimOwner()), task.getStartTwoDimDate(), task.getTwoDimDate(), "2D",task.getProjectSubShortName()));
|
||||
}
|
||||
if (!task.isHasSaveIn3DDetail() && task.getThreeDimOwner() != null && task.getStartThreeDimDate() != null && task.getThreeDimDate() != null) {
|
||||
if (!task.isHasSaveIn3DDetail() &&ObjectUtil.isNotEmpty( task.getThreeDimOwner()) &&ObjectUtil.isNotEmpty(task.getStartThreeDimDate()) && ObjectUtil.isNotEmpty(task.getThreeDimDate())) {
|
||||
allNewItems.add(new TaskItem(Long.valueOf(task.getThreeDimOwner()), task.getStartThreeDimDate(), task.getThreeDimDate(), "3D",task.getProjectSubShortName()));
|
||||
}
|
||||
}
|
||||
@ -230,16 +230,16 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
private void checkExternalConflicts(List<PlanSubSaveReqVO> processTasks, Map<Long, List<PlanSubDetailDO>> tasksByOwner) {
|
||||
for (PlanSubSaveReqVO newTask : processTasks) {
|
||||
// 检查毛坯任务
|
||||
if (!newTask.isHasSaveInBlankDetail() && newTask.getBlankOwner() != null){
|
||||
if (!newTask.isHasSaveInBlankDetail() && ObjectUtil.isNotEmpty(newTask.getBlankOwner())){
|
||||
checkTaskAgainstExisting(newTask.getProjectNameSim(),Long.valueOf(newTask.getBlankOwner()), newTask.getStartBlankDate(), newTask.getBlankDate(), "BLUEPRINT_WORKBLANK", tasksByOwner);
|
||||
}
|
||||
// 检查2D任务
|
||||
if (!newTask.isHasSaveIn2DDetail() && newTask.getTwoDimOwner() != null){
|
||||
if (!newTask.isHasSaveIn2DDetail() && ObjectUtil.isNotEmpty(newTask.getTwoDimOwner())){
|
||||
checkTaskAgainstExisting(newTask.getProjectNameSim(),Long.valueOf(newTask.getTwoDimOwner()), newTask.getStartTwoDimDate(), newTask.getTwoDimDate(), "BLUEPRINT_2D", tasksByOwner);
|
||||
|
||||
}
|
||||
// 检查3D任务
|
||||
if (!newTask.isHasSaveIn3DDetail() && newTask.getThreeDimOwner() != null){
|
||||
if (!newTask.isHasSaveIn3DDetail() && ObjectUtil.isNotEmpty(newTask.getThreeDimOwner())){
|
||||
checkTaskAgainstExisting(newTask.getProjectNameSim(),Long.valueOf(newTask.getThreeDimOwner()), newTask.getStartThreeDimDate(), newTask.getThreeDimDate(), "BLUEPRINT_3D", tasksByOwner);
|
||||
|
||||
}
|
||||
@ -250,12 +250,12 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
* 辅助方法:检查单个新任务与已存在任务的冲突
|
||||
*/
|
||||
private void checkTaskAgainstExisting(String name,Long owner, LocalDateTime start, LocalDateTime end, String taskType, Map<Long, List<PlanSubDetailDO>> tasksByOwner) {
|
||||
if (owner == null || start == null || end == null) {
|
||||
if (ObjectUtil.isEmpty(owner) || ObjectUtil.isEmpty(start) || ObjectUtil.isEmpty(end)) {
|
||||
return; // 如果责任人或时间为空,则无需检查
|
||||
}
|
||||
|
||||
List<PlanSubDetailDO> existingTasksForOwner = tasksByOwner.get(owner);
|
||||
if (existingTasksForOwner == null) {
|
||||
if (ObjectUtil.isEmpty(existingTasksForOwner)) {
|
||||
return; // 如果该责任人没有已存在的任务,则无需检查
|
||||
}
|
||||
String typeName = "";
|
||||
@ -582,7 +582,7 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
}
|
||||
public static boolean hasOverlap(LocalDateTime start1, LocalDateTime end1, LocalDateTime start2, LocalDateTime end2) {
|
||||
// 处理 null 值,如果任一时间为 null,则认为该时间范围无效,不产生交集
|
||||
if (start1 == null || end1 == null || start2 == null || end2 == null) {
|
||||
if (ObjectUtil.isEmpty(start1) || ObjectUtil.isEmpty(end1) || ObjectUtil.isEmpty(start2) || ObjectUtil.isEmpty(end2)) {
|
||||
return false;
|
||||
}
|
||||
// 核心判断逻辑
|
||||
@ -692,13 +692,13 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
// 将每个工艺任务拆分成独立的任务项,方便统一检查
|
||||
List<TaskItem> allNewItems = new ArrayList<>();
|
||||
for (PlanSubSaveReqVO task : list) {
|
||||
if (!task.isHasSaveInBlankDetail() && task.getBlankOwner() != null && task.getStartBlankDate() != null && task.getBlankDate() != null) {
|
||||
if (!task.isHasSaveInBlankDetail() && ObjectUtil.isNotEmpty(task.getBlankOwner()) && ObjectUtil.isNotEmpty(task.getStartBlankDate()) &&ObjectUtil.isNotEmpty( task.getBlankDate())) {
|
||||
allNewItems.add(new TaskItem(Long.valueOf(task.getBlankOwner()), task.getStartBlankDate(), task.getBlankDate(), "毛坯",task.getName()));
|
||||
}
|
||||
if (!task.isHasSaveIn2DDetail() && task.getTwoDimOwner() != null && task.getStartTwoDimDate() != null && task.getTwoDimDate() != null) {
|
||||
if (!task.isHasSaveIn2DDetail() && ObjectUtil.isNotEmpty(task.getTwoDimOwner()) &&ObjectUtil.isNotEmpty( task.getStartTwoDimDate()) && ObjectUtil.isNotEmpty(task.getTwoDimDate())) {
|
||||
allNewItems.add(new TaskItem(Long.valueOf(task.getTwoDimOwner()), task.getStartTwoDimDate(), task.getTwoDimDate(), "2D",task.getName()));
|
||||
}
|
||||
if (!task.isHasSaveIn3DDetail() && task.getThreeDimOwner() != null && task.getStartThreeDimDate() != null && task.getThreeDimDate() != null) {
|
||||
if (!task.isHasSaveIn3DDetail() && ObjectUtil.isNotEmpty(task.getThreeDimOwner()) && ObjectUtil.isNotEmpty(task.getStartThreeDimDate()) && ObjectUtil.isNotEmpty(task.getThreeDimDate())) {
|
||||
allNewItems.add(new TaskItem(Long.valueOf(task.getThreeDimOwner()), task.getStartThreeDimDate(), task.getThreeDimDate(), "3D",task.getName()));
|
||||
}
|
||||
}
|
||||
@ -718,7 +718,7 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
}
|
||||
for (PlanSubSaveReqVO newTask : list) {
|
||||
// 检查毛坯任务
|
||||
if (!newTask.isHasSaveInBlankDetail() && newTask.getBlankOwner() != null){
|
||||
if (!newTask.isHasSaveInBlankDetail() && ObjectUtil.isNotEmpty(newTask.getBlankOwner())){
|
||||
Long owner = Long.valueOf(newTask.getBlankOwner());
|
||||
// 2. 检查 list1 与 list2 之间的时间冲突
|
||||
if (ObjectUtil.isEmpty(owner)|| ObjectUtil.isEmpty(newTask.getStartBlankDate()) || ObjectUtil.isEmpty(newTask.getBlankDate())) {
|
||||
@ -744,7 +744,7 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
}
|
||||
}
|
||||
// 检查2D任务
|
||||
if (!newTask.isHasSaveIn2DDetail() && newTask.getTwoDimOwner() != null){
|
||||
if (!newTask.isHasSaveIn2DDetail() && ObjectUtil.isNotEmpty(newTask.getTwoDimOwner())){
|
||||
Long owner = Long.valueOf(newTask.getTwoDimOwner());
|
||||
// 2. 检查 list1 与 list2 之间的时间冲突
|
||||
if (ObjectUtil.isEmpty(owner)|| ObjectUtil.isEmpty(newTask.getStartTwoDimDate()) || ObjectUtil.isEmpty(newTask.getTwoDimDate())) {
|
||||
@ -770,7 +770,7 @@ public class PlanSubServiceImpl implements PlanSubService {
|
||||
}
|
||||
}
|
||||
// 检查3D任务
|
||||
if (!newTask.isHasSaveIn3DDetail() && newTask.getThreeDimOwner() != null){
|
||||
if (!newTask.isHasSaveIn3DDetail() && ObjectUtil.isNotEmpty(newTask.getThreeDimOwner())){
|
||||
Long owner = Long.valueOf(newTask.getThreeDimOwner());
|
||||
// 2. 检查 list1 与 list2 之间的时间冲突
|
||||
if (ObjectUtil.isEmpty(owner)|| ObjectUtil.isEmpty(newTask.getStartThreeDimDate()) || ObjectUtil.isEmpty(newTask.getThreeDimDate())) {
|
||||
|
||||
@ -234,6 +234,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
||||
lambdaQueryWrapper.in(PlanSubDetailDO::getIsOverProcess,0,2);
|
||||
lambdaQueryWrapper.eq(PlanSubDetailDO::getIsOverLab,"N");
|
||||
lambdaQueryWrapper.orderByAsc(PlanSubDetailDO::getCreateTime);
|
||||
lambdaQueryWrapper.last("limit 1");
|
||||
PlanSubDetailDO planSubDetailDO = planSubDetailMapper.selectOne(lambdaQueryWrapper);
|
||||
if (ObjectUtil.isNotEmpty(planSubDetailDO)){
|
||||
String type="";
|
||||
|
||||
@ -7,6 +7,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.screen.ScreenDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 大屏数据 Service 接口
|
||||
@ -57,4 +58,9 @@ public interface ScreenService {
|
||||
|
||||
void updateScreenAll(List<ScreenSaveReqVO> updateReqVOList);
|
||||
|
||||
Map<String, Long> searchUnfinished();
|
||||
|
||||
Map<String, Map<String, Integer>> searchOrderInformation();
|
||||
|
||||
Map<String, Integer> searchOrderByYear();
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.screen;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@ -39,9 +40,11 @@ import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.Year;
|
||||
import java.time.ZoneOffset;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.SCREEN_NOT_EXISTS;
|
||||
@ -140,6 +143,78 @@ public class ScreenServiceImpl implements ScreenService {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Long> searchUnfinished() {
|
||||
Map<String, Long> map = new HashMap<>();
|
||||
Long unfinished= projectOrderSubMapper.searchUnfinished();
|
||||
Long notDispatched =projectOrderSubMapper.searchNotDispatched();
|
||||
map.put("unfinished",unfinished);
|
||||
map.put("notDispatched",notDispatched);
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Map<String, Integer>> searchOrderInformation() {
|
||||
Map<String, Map<String, Integer>> resultMap = new LinkedHashMap<>();
|
||||
for (int i = 1; i <= 12; i++) {
|
||||
String monthKey = String.valueOf(i);
|
||||
// 创建内层Map并设置默认值
|
||||
Map<String, Integer> innerMap = new HashMap<>();
|
||||
innerMap.put("blackMold", 0);
|
||||
innerMap.put("coloredMolds", 0);
|
||||
resultMap.put(monthKey, innerMap);
|
||||
}
|
||||
List<ProjectOrderDO> projectOrderDOS = projectOrderSubMapper.searchOrderInformation();
|
||||
for (ProjectOrderDO order : projectOrderDOS) {
|
||||
String month = order.getMonth();
|
||||
Map<String, Integer> innerMap = resultMap.get(month);
|
||||
if (ObjectUtil.isNotEmpty(innerMap)){
|
||||
innerMap.put("blackMold", order.getBlackMold());
|
||||
innerMap.put("coloredMolds",order.getColoredMolds());
|
||||
}
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Integer> searchOrderByYear() {
|
||||
int currentYear = Year.now().getValue();
|
||||
|
||||
// 初始化近5年的年份 map,value 为 null
|
||||
Map<String, Integer> map = IntStream.range(currentYear - 4, currentYear + 1)
|
||||
.boxed()
|
||||
.collect(
|
||||
TreeMap::new,
|
||||
(m, year) -> m.put(String.valueOf(year), null),
|
||||
Map::putAll
|
||||
);
|
||||
|
||||
// 假设这个 list 是从数据库查询出来的,key 是年份,value 是订单数量
|
||||
List<Map<String, Integer>> list = projectOrderSubMapper.searchOrderByYear();
|
||||
Map<String, Integer> dataMap=new HashMap<>();
|
||||
list.forEach(item->{
|
||||
dataMap.put(String.valueOf(item.get("year")),item.get("amount"));
|
||||
});
|
||||
// 第一步:用 list 中的数据赋值
|
||||
for (Map.Entry<String, Integer> entry : dataMap.entrySet()) {
|
||||
String year = entry.getKey();
|
||||
Integer amount = Integer.parseInt(String.valueOf(entry.getValue()));
|
||||
if (map.containsKey(year)) {
|
||||
map.put(year, amount);
|
||||
}
|
||||
}
|
||||
// 第二步:处理 map 中 value 为 null 的年份,且不是当前年份的
|
||||
for (Map.Entry<String, Integer> entry : map.entrySet()) {
|
||||
String year = entry.getKey();
|
||||
if (ObjectUtil.isEmpty(entry.getValue()) && Integer.parseInt(year) != currentYear) {
|
||||
// String defaultUserName = userMapper.selectFirstUserName();
|
||||
// map.put(year, defaultUserName);
|
||||
}
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteScreen(Long id) {
|
||||
// 校验存在
|
||||
|
||||
@ -75,7 +75,11 @@
|
||||
<el-table-column label="简码" align="center" min-width="120" prop="brief" />
|
||||
<el-table-column label="客户简称" align="center" min-width="120" prop="name" />
|
||||
<el-table-column label="客户全称" align="center" min-width="120" prop="fullName" />
|
||||
<el-table-column label="所属行业" align="center" min-width="120" prop="industry" />
|
||||
<el-table-column label="所属行业" align="center" min-width="120" prop="industry" >
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.CRM_CUSTOMER_INDUSTRY" :value="scope.row.industry" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="客户级别" align="center" min-width="120" prop="level">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.HELI_CUSTOMER_LEVEL" :value="scope.row.level" />
|
||||
|
||||
Loading…
Reference in New Issue
Block a user