From ff07ab0d965a80d631d7ef22e7da723ffd2e0d63 Mon Sep 17 00:00:00 2001 From: PQZ Date: Tue, 2 Dec 2025 17:19:48 +0800 Subject: [PATCH] 1111 --- .../BusiClueContactsController.java | 105 ++++ .../busi/controller/BusiClueController.java | 106 ++++ .../java/com/ruoyi/busi/domain/BusiClue.java | 126 ++++ .../ruoyi/busi/domain/BusiClueContacts.java | 103 ++++ .../busi/mapper/BusiClueContactsMapper.java | 21 + .../com/ruoyi/busi/mapper/BusiClueMapper.java | 21 + .../service/IBusiClueContactsService.java | 18 + .../ruoyi/busi/service/IBusiClueService.java | 18 + .../impl/BusiClueContactsServiceImpl.java | 29 + .../service/impl/BusiClueServiceImpl.java | 29 + .../src/main/resources/application-druid.yml | 2 +- .../mapper/busi/BusiClueContactsMapper.xml | 57 ++ .../resources/mapper/busi/BusiClueMapper.xml | 67 +++ dl_vue/src/api/busi/clue.js | 44 ++ dl_vue/src/views/busi/clue/index.vue | 541 ++++++++++++++++++ 15 files changed, 1286 insertions(+), 1 deletion(-) create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiClueContactsController.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiClueController.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiClue.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiClueContacts.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiClueContactsMapper.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiClueMapper.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiClueContactsService.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiClueService.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiClueContactsServiceImpl.java create mode 100644 dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiClueServiceImpl.java create mode 100644 dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiClueContactsMapper.xml create mode 100644 dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiClueMapper.xml create mode 100644 dl_vue/src/api/busi/clue.js create mode 100644 dl_vue/src/views/busi/clue/index.vue diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiClueContactsController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiClueContactsController.java new file mode 100644 index 0000000..3b8c652 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiClueContactsController.java @@ -0,0 +1,105 @@ +package com.ruoyi.busi.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.busi.domain.BusiClueContacts; +import com.ruoyi.busi.service.IBusiClueContactsService; +import com.ruoyi.common.utils.poi.ExcelUtil; + +/** + * 线索联系人Controller + * + * @author pqz + * @date 2025-12-02 + */ +@RestController +@RequestMapping("/busi/contacts") +public class BusiClueContactsController extends BaseController +{ + @Autowired + private IBusiClueContactsService busiClueContactsService; + + /** + * 查询线索联系人列表 + */ + @GetMapping("/list") + public AjaxResult list(BusiClueContacts busiClueContacts, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) + { + Page page = new Page<>(pageNum, pageSize); + IPage list = busiClueContactsService.queryListPage(busiClueContacts,page); + return success(list); + } + + /** + * 导出线索联系人列表 + */ + @Log(title = "线索联系人", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BusiClueContacts busiClueContacts) + { + List list = busiClueContactsService.list(); + ExcelUtil util = new ExcelUtil(BusiClueContacts.class); + util.exportExcel(response, list, "线索联系人数据"); + } + + /** + * 获取线索联系人详细信息 + */ + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(busiClueContactsService.getById(id)); + } + + /** + * 新增线索联系人 + */ + @Log(title = "线索联系人", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BusiClueContacts busiClueContacts) + { + return toAjax(busiClueContactsService.save(busiClueContacts)); + } + + /** + * 修改线索联系人 + */ + @Log(title = "线索联系人", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BusiClueContacts busiClueContacts) + { + return toAjax(busiClueContactsService.updateById(busiClueContacts)); + } + + /** + * 删除线索联系人 + */ + @Log(title = "线索联系人", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + List list = new ArrayList<>(Arrays.asList(ids)); + return toAjax(busiClueContactsService.removeByIds(list)); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiClueController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiClueController.java new file mode 100644 index 0000000..bfa8bfe --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiClueController.java @@ -0,0 +1,106 @@ +package com.ruoyi.busi.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.busi.domain.BusiClue; +import com.ruoyi.busi.service.IBusiClueService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 线索主Controller + * + * @author pqz + * @date 2025-12-02 + */ +@RestController +@RequestMapping("/busi/clue") +public class BusiClueController extends BaseController +{ + @Autowired + private IBusiClueService busiClueService; + + /** + * 查询线索主列表 + */ + @GetMapping("/list") + public AjaxResult list(BusiClue busiClue, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) + { + Page page = new Page<>(pageNum, pageSize); + IPage list = busiClueService.queryListPage(busiClue,page); + return success(list); + } + + /** + * 导出线索主列表 + */ + @Log(title = "线索主", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BusiClue busiClue) + { + List list = busiClueService.list(); + ExcelUtil util = new ExcelUtil(BusiClue.class); + util.exportExcel(response, list, "线索主数据"); + } + + /** + * 获取线索主详细信息 + */ + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(busiClueService.getById(id)); + } + + /** + * 新增线索主 + */ + @Log(title = "线索主", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BusiClue busiClue) + { + return toAjax(busiClueService.save(busiClue)); + } + + /** + * 修改线索主 + */ + @Log(title = "线索主", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BusiClue busiClue) + { + return toAjax(busiClueService.updateById(busiClue)); + } + + /** + * 删除线索主 + */ + @Log(title = "线索主", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + List list = new ArrayList<>(Arrays.asList(ids)); + return toAjax(busiClueService.removeByIds(list)); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiClue.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiClue.java new file mode 100644 index 0000000..c448a61 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiClue.java @@ -0,0 +1,126 @@ +package com.ruoyi.busi.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import com.ruoyi.common.core.domain.DlBaseEntity; + +/** + * 线索主对象 busi_clue + * + * @author pqz + * @date 2025-12-02 + */ +@TableName("busi_clue") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BusiClue extends DlBaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** 关联客户ID */ + @Excel(name = "关联客户ID") + private String cusId; + + /** 线索编号 */ + @Excel(name = "线索编号") + private String code; + + /** 线索名称 */ + @Excel(name = "线索名称") + private String name; + + /** 客户名称 */ + @Excel(name = "客户名称") + private String customerName; + + /** 国家/地区 */ + @Excel(name = "国家/地区") + private String region; + + /** 主营产品 */ + @Excel(name = "主营产品") + private String mainProduct; + + /** 业务类型 */ + @Excel(name = "业务类型") + private String businessType; + + /** 线索等级 */ + @Excel(name = "线索等级") + private String clueLevel; + + /** 线索来源 */ + @Excel(name = "线索来源") + private String clueSource; + + /** 线索阶段 */ + @Excel(name = "线索阶段") + private String clueStep; + + /** 线索状态 */ + @Excel(name = "线索状态") + private String clueStatus; + + /** 业务员ID */ + @Excel(name = "业务员ID") + private Long userId; + + /** 分配时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "分配时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date allocateTime; + + /** 处理时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date dealTime; + + /** 企业网站 */ + @Excel(name = "企业网站") + private String webSite; + + /** 备注 */ + @Excel(name = "备注") + private String remark; + + /** 无效原因 */ + @Excel(name = "无效原因") + private String invalidReason; + + /** 无效描述 */ + @Excel(name = "无效描述") + private String invalidDescription; + + /** 最近联系时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "最近联系时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date recentlyFollowTime; + + /** 最近跟进信息 */ + @Excel(name = "最近跟进信息") + private String recentFollowUp; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createdTime; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updatedTime; + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiClueContacts.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiClueContacts.java new file mode 100644 index 0000000..b2c9a23 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiClueContacts.java @@ -0,0 +1,103 @@ +package com.ruoyi.busi.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import com.ruoyi.common.core.domain.DlBaseEntity; + +/** + * 线索联系人对象 busi_clue_contacts + * + * @author pqz + * @date 2025-12-02 + */ +@TableName("busi_clue_contacts") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BusiClueContacts extends DlBaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** 线索ID */ + @Excel(name = "线索ID") + private String clueId; + + /** 姓名 */ + @Excel(name = "姓名") + private String name; + + /** 邮箱 */ + @Excel(name = "邮箱") + private String email; + + /** 手机 */ + @Excel(name = "手机") + private String mobile; + + /** 电话 */ + @Excel(name = "电话") + private String telephone; + + /** 性别 */ + @Excel(name = "性别") + private String sex; + + /** 职务 */ + @Excel(name = "职务") + private String job; + + /** Facebook */ + @Excel(name = "Facebook") + private String facebook; + + /** twitter */ + @Excel(name = "twitter") + private String twitter; + + /** linkedin */ + @Excel(name = "linkedin") + private String linkedIn; + + /** whatsapp */ + @Excel(name = "whatsapp") + private String whatsApp; + + /** skype */ + @Excel(name = "skype") + private String skype; + + /** wechat */ + @Excel(name = "wechat") + private String wechat; + + /** tm */ + @Excel(name = "tm") + private String tm; + + /** 备注 */ + @Excel(name = "备注") + private String remark; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createdTime; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updatedTime; + +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiClueContactsMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiClueContactsMapper.java new file mode 100644 index 0000000..040eaa0 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiClueContactsMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.busi.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.busi.domain.BusiClueContacts; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 线索联系人Mapper接口 + * + * @author pqz + * @date 2025-12-02 + */ +@Mapper +public interface BusiClueContactsMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") BusiClueContacts entity, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiClueMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiClueMapper.java new file mode 100644 index 0000000..3f9c07c --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiClueMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.busi.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.busi.domain.BusiClue; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 线索主Mapper接口 + * + * @author pqz + * @date 2025-12-02 + */ +@Mapper +public interface BusiClueMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") BusiClue entity, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiClueContactsService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiClueContactsService.java new file mode 100644 index 0000000..f71a676 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiClueContactsService.java @@ -0,0 +1,18 @@ +package com.ruoyi.busi.service; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.busi.domain.BusiClueContacts; + +/** + * 线索联系人Service接口 + * + * @author pqz + * @date 2025-12-02 + */ +public interface IBusiClueContactsService extends IService +{ + IPage queryListPage(BusiClueContacts pageReqVO, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiClueService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiClueService.java new file mode 100644 index 0000000..94a5afc --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiClueService.java @@ -0,0 +1,18 @@ +package com.ruoyi.busi.service; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.busi.domain.BusiClue; + +/** + * 线索主Service接口 + * + * @author pqz + * @date 2025-12-02 + */ +public interface IBusiClueService extends IService +{ + IPage queryListPage(BusiClue pageReqVO, Page page); +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiClueContactsServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiClueContactsServiceImpl.java new file mode 100644 index 0000000..84d0ca2 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiClueContactsServiceImpl.java @@ -0,0 +1,29 @@ +package com.ruoyi.busi.service.impl; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.busi.mapper.BusiClueContactsMapper; +import com.ruoyi.busi.domain.BusiClueContacts; +import com.ruoyi.busi.service.IBusiClueContactsService; + +/** + * 线索联系人Service业务层处理 + * + * @author pqz + * @date 2025-12-02 + */ +@Service +public class BusiClueContactsServiceImpl extends ServiceImpl implements IBusiClueContactsService +{ + @Autowired + private BusiClueContactsMapper busiClueContactsMapper; + + @Override + public IPage queryListPage(BusiClueContacts pageReqVO, Page page) { + return busiClueContactsMapper.queryListPage(pageReqVO, page); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiClueServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiClueServiceImpl.java new file mode 100644 index 0000000..53a2cd6 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiClueServiceImpl.java @@ -0,0 +1,29 @@ +package com.ruoyi.busi.service.impl; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.busi.mapper.BusiClueMapper; +import com.ruoyi.busi.domain.BusiClue; +import com.ruoyi.busi.service.IBusiClueService; + +/** + * 线索主Service业务层处理 + * + * @author pqz + * @date 2025-12-02 + */ +@Service +public class BusiClueServiceImpl extends ServiceImpl implements IBusiClueService +{ + @Autowired + private BusiClueMapper busiClueMapper; + + @Override + public IPage queryListPage(BusiClue pageReqVO, Page page) { + return busiClueMapper.queryListPage(pageReqVO, page); + } +} diff --git a/dl_admin/ruoyi-admin/src/main/resources/application-druid.yml b/dl_admin/ruoyi-admin/src/main/resources/application-druid.yml index ae1238f..9630cf4 100644 --- a/dl_admin/ruoyi-admin/src/main/resources/application-druid.yml +++ b/dl_admin/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://rm-bp1msd0a4kq4t7a66lo.mysql.rds.aliyuncs.com:3306/dl_crm_system?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://rm-bp1msd0a4kq4t7a66lo.mysql.rds.aliyuncs.com:3306/dl_crm_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: csd_rw password: Csd2025#123 # 从库数据源 diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiClueContactsMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiClueContactsMapper.xml new file mode 100644 index 0000000..77f8733 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiClueContactsMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, clue_id, name, email, mobile, telephone, sex, job, facebook, twitter, linked_in, whats_app, skype, wechat, tm, remark, del_flag, creator, created_time, updater, updated_time from busi_clue_contacts + + + + \ No newline at end of file diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiClueMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiClueMapper.xml new file mode 100644 index 0000000..0465ce2 --- /dev/null +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiClueMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, cus_id, code, name, customer_name, region, main_product, business_type, clue_level, clue_source, clue_step, clue_status, user_id, allocate_time, deal_time, web_site, remark, invalid_reason, invalid_description, recently_follow_time, recent_follow_up, del_flag, creator, created_time, updater, updated_time from busi_clue + + + + \ No newline at end of file diff --git a/dl_vue/src/api/busi/clue.js b/dl_vue/src/api/busi/clue.js new file mode 100644 index 0000000..05c4fe5 --- /dev/null +++ b/dl_vue/src/api/busi/clue.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询线索主列表 +export function listClue(query) { + return request({ + url: '/busi/clue/list', + method: 'get', + params: query + }) +} + +// 查询线索主详细 +export function getClue(id) { + return request({ + url: '/busi/clue/' + id, + method: 'get' + }) +} + +// 新增线索主 +export function addClue(data) { + return request({ + url: '/busi/clue', + method: 'post', + data: data + }) +} + +// 修改线索主 +export function updateClue(data) { + return request({ + url: '/busi/clue', + method: 'put', + data: data + }) +} + +// 删除线索主 +export function delClue(id) { + return request({ + url: '/busi/clue/' + id, + method: 'delete' + }) +} diff --git a/dl_vue/src/views/busi/clue/index.vue b/dl_vue/src/views/busi/clue/index.vue new file mode 100644 index 0000000..6b3c025 --- /dev/null +++ b/dl_vue/src/views/busi/clue/index.vue @@ -0,0 +1,541 @@ + + +