From 6fe48fa281dd4d043e31fb6bb6a0ecbff52b9522 Mon Sep 17 00:00:00 2001 From: Vinjor Date: Mon, 24 Nov 2025 11:31:11 +0800 Subject: [PATCH] 1 --- .../cus/controller/CusManagerController.java | 17 ++- .../com/ruoyi/cus/domain/CusContacts.java | 1 + .../ruoyi/cus/mapper/CusManagerMapper.java | 8 ++ .../ruoyi/cus/service/ICusManagerService.java | 7 ++ .../service/impl/CusManagerServiceImpl.java | 12 ++- .../resources/mapper/cus/CusManagerMapper.xml | 7 +- dl_vue/src/api/cus/manager.js | 6 +- dl_vue/src/main.js | 2 + dl_vue/src/utils/clipboard.js | 25 +++++ dl_vue/src/views/cus/main/index.vue | 30 +++++- dl_vue/src/views/cus/main/viewForm.vue | 102 +++++++++++++++--- 11 files changed, 188 insertions(+), 29 deletions(-) create mode 100644 dl_vue/src/utils/clipboard.js diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusManagerController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusManagerController.java index 70b20ee..ec91f9d 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusManagerController.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusManagerController.java @@ -59,8 +59,7 @@ public class CusManagerController extends BaseController @PreAuthorize("@ss.hasPermi('cus:manager:export')") @Log(title = "客户管理信息", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, CusManager cusManager) - { + public void export(HttpServletResponse response, CusManager cusManager) { List list = cusManagerService.list(); ExcelUtil util = new ExcelUtil(CusManager.class); util.exportExcel(response, list, "客户管理信息数据"); @@ -88,14 +87,13 @@ public class CusManagerController extends BaseController } /** - * 修改客户管理信息 + * 更新客户管理人员信息 */ - @PreAuthorize("@ss.hasPermi('cus:manager:edit')") @Log(title = "客户管理信息", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody CusManager cusManager) - { - return toAjax(cusManagerService.updateById(cusManager)); + @PutMapping("/updateUser") + public AjaxResult updateUser(@RequestBody CusManager cusManager) { + cusManagerService.updateByCusId(cusManager); + return success(); } /** @@ -104,8 +102,7 @@ public class CusManagerController extends BaseController @PreAuthorize("@ss.hasPermi('cus:manager:remove')") @Log(title = "客户管理信息", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable String[] ids) - { + public AjaxResult remove(@PathVariable String[] ids) { List list = new ArrayList<>(Arrays.asList(ids)); return toAjax(cusManagerService.removeByIds(list)); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/domain/CusContacts.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/domain/CusContacts.java index b412daf..98814ef 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/domain/CusContacts.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/domain/CusContacts.java @@ -30,6 +30,7 @@ public class CusContacts extends DlBaseEntity /** 主键(使用雪花算法生成唯一主键) */ @TableId + @JsonFormat(shape = JsonFormat.Shape.STRING) private Long id; /** 客户ID */ diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusManagerMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusManagerMapper.java index 456d963..041e960 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusManagerMapper.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusManagerMapper.java @@ -18,4 +18,12 @@ import org.apache.ibatis.annotations.Mapper; public interface CusManagerMapper extends BaseMapper { IPage queryListPage(@Param("entity") CusManager entity, Page page); + + /** + * 更新客户管理信息 + * @author vinjor-M + * @date 10:14 2025/11/24 + * @return int + **/ + int updateByCusId(@Param("entity") CusManager entity); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusManagerService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusManagerService.java index d76ed90..5290db9 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusManagerService.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusManagerService.java @@ -25,4 +25,11 @@ public interface ICusManagerService extends IService { * @date 15:15 2025/11/20 **/ void saveOrUpdateByCusName(List cusManagerList); + + /** + * 根据客户id修改客户管理信息 + * @author vinjor-M + * @date 10:13 2025/11/24 + **/ + void updateByCusId(CusManager cusManager); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusManagerServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusManagerServiceImpl.java index b2b36c5..7c4a1b6 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusManagerServiceImpl.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusManagerServiceImpl.java @@ -96,6 +96,16 @@ public class CusManagerServiceImpl extends ServiceImpl select id, cus_id, user_id,user_name, follow_step, seas_reason, seas_group, old_dept, del_flag, creator, create_time, updater, update_time from cus_manager - + + + update cus_manager set user_id = #{entity.userId}, + user_name = #{entity.userName} + where del_flag='0' and cus_id = #{entity.cusId} + \ No newline at end of file diff --git a/dl_vue/src/api/cus/manager.js b/dl_vue/src/api/cus/manager.js index f21241c..60ab0bc 100644 --- a/dl_vue/src/api/cus/manager.js +++ b/dl_vue/src/api/cus/manager.js @@ -26,10 +26,10 @@ export function addManager(data) { }) } -// 修改客户管理信息 -export function updateManager(data) { +// 更新客户管理人员信息 +export function updateUser(data) { return request({ - url: '/cus/manager', + url: '/cus/manager/updateUser', method: 'put', data: data }) diff --git a/dl_vue/src/main.js b/dl_vue/src/main.js index 13c6cf2..75122b1 100644 --- a/dl_vue/src/main.js +++ b/dl_vue/src/main.js @@ -37,6 +37,8 @@ import DictTag from '@/components/DictTag' import VueMeta from 'vue-meta' // 字典数据组件 import DictData from '@/components/DictData' +// 引入我们刚刚创建的剪贴板工具 +import '@/utils/clipboard' // 全局方法挂载 Vue.prototype.getDicts = getDicts diff --git a/dl_vue/src/utils/clipboard.js b/dl_vue/src/utils/clipboard.js new file mode 100644 index 0000000..a57cfe4 --- /dev/null +++ b/dl_vue/src/utils/clipboard.js @@ -0,0 +1,25 @@ +// src/utils/clipboard.js +import Vue from 'vue' +import { Message } from 'element-ui' + +function copyTextToClipboard(text) { + if (!navigator.clipboard) { + Message.error('浏览器不支持剪贴板API,请手动复制'); + return Promise.reject(); + } + if (typeof text !== 'string' || !text.trim()) { + Message.warning('请提供有效文本'); + return Promise.reject(); + } + return navigator.clipboard.writeText(text.trim()) + .then(() => Message.success('复制成功')) + .catch(err => { + Message.error(`复制失败:${err.message}`); + return Promise.reject(err); + }); +} + +// 关键:挂载到Vue原型(必须有这行) +Vue.prototype.$copyText = copyTextToClipboard; + +export default copyTextToClipboard; diff --git a/dl_vue/src/views/cus/main/index.vue b/dl_vue/src/views/cus/main/index.vue index c99dd6e..b9491ee 100644 --- a/dl_vue/src/views/cus/main/index.vue +++ b/dl_vue/src/views/cus/main/index.vue @@ -96,7 +96,7 @@ @@ -279,19 +279,23 @@ + +