From 938ef89ec0146e64c62e1cafbdabda9395d28535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Fri, 10 Oct 2025 10:14:26 +0800 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit dee800f90f25684aadfb9ccf6c6793e30a4c57e0 Author: 浅念 Date: Thu Oct 9 18:07:35 2025 +0800 客户导出 加筛选条件 commit 9925e2e2e42f8dced4df6a4255878c9df2e47f4e Author: 浅念 Date: Wed Sep 24 19:06:26 2025 +0800 Squashed commit of the following: commit 90df51097fff20a23460710fbbe1b8aca79a12b1 Author: 浅念 Date: Wed Sep 24 18:50:35 2025 +0800 备货单 采购单 commit 7b1fdf3883d535e0bb1f10062672382a065ee789 Author: 浅念 Date: Wed Sep 24 11:15:31 2025 +0800 渠道筛选 commit 1c81d3108cae9c3957a1bf40111a37dca6866616 Author: 浅念 Date: Wed Sep 24 10:50:43 2025 +0800 客户列表 添加渠道筛选 commit 2b877e9b4dde3244e548462a20a168f7945b7e65 Author: 浅念 Date: Mon Sep 22 10:20:46 2025 +0800 去掉编码显示 commit bee80af5af71f661f90aed3816b9500485079236 Author: 浅念 Date: Fri Sep 19 16:43:30 2025 +0800 港口添加 英文 commit 045ce9289c39d6c7974f52e3906daf6c84dbb9b8 Author: 浅念 Date: Thu Sep 18 15:17:30 2025 +0800 审批历史 和代办审批 commit c5ec4bb5e1bb66751fa7458cbbbb6c594864fe18 Author: 浅念 Date: Thu Sep 18 11:31:22 2025 +0800 修改kpi commit 9e260ddcd85c2e5431328f9b6ac65ba96975d4fd Author: 浅念 Date: Thu Sep 18 09:49:33 2025 +0800 修改 kpi commit 6feb3ace75df218d063448a777ec56aa77a5f473 Author: 浅念 Date: Thu Sep 18 09:42:44 2025 +0800 kpi 统计 commit ec257a246d0548b9e63c72f7a5871f0f4e9aee19 Author: 浅念 Date: Wed Sep 17 17:04:35 2025 +0800 修改 弹框表格 commit fa764852ab88e624640585e1cf18e552629a69aa Author: 浅念 Date: Wed Sep 17 15:54:35 2025 +0800 添加 账户简称 commit 65f7f4a123a1b2cbd76fd17636240312ff3579a0 Author: 浅念 Date: Wed Sep 17 15:10:28 2025 +0800 品牌加热门 修改 仪表盘接口 commit 922cfec81d771e09b0a915ad83de0f59b722ef11 Author: 浅念 Date: Tue Sep 16 15:57:17 2025 +0800 调整备货单 crm 端页面 commit 5c8df36f127b56bdec379316445bf684972e620c Author: 浅念 Date: Mon Sep 15 17:14:38 2025 +0800 调整备货单 及各页面名称 commit 5503a14408fb24e6c04c8aa301d26b0ce64ae8d2 Author: 浅念 Date: Fri Sep 12 18:10:03 2025 +0800 账户添加公司 commit 3439b45d9ab833c35cbcfaa7e64b3e2d4fccb93b Author: 浅念 Date: Fri Sep 12 17:53:26 2025 +0800 修改终版备货单 commit 045d13eb7b9982058150351e5046ab56b9ac7269 Author: 浅念 Date: Fri Sep 12 17:49:07 2025 +0800 修改备货单 等页面 commit da690dfa06b5b01216c6a5c2d53a725dd2fd865b Author: 浅念 Date: Thu Sep 11 17:44:37 2025 +0800 修改 备货单 详情 commit 853e9591b3420658e074d0fcbc287ee843d5ef72 Author: 浅念 Date: Wed Sep 10 18:11:39 2025 +0800 修改 备货单页面 commit 9052bd1027956b2860972fb372bbc5a5d60e054a Author: 浅念 Date: Tue Sep 9 20:53:30 2025 +0800 备货单 审核功能 commit 079d9babb8c0ef61b4df75d265c0a61f877d0c3d Merge: ebd7479 91d810b Author: 浅念 Date: Tue Sep 9 14:51:43 2025 +0800 Merge branch 'feature/crm_pc' of http://219.157.255.213:25311/xinyouhe/art-design into feature/crm_vehicle commit ebd7479573f3dc64acb7e86da8f87ea9ff5c137f Merge: 64e53b6 459d306 Author: 浅念 Date: Tue Sep 9 13:57:28 2025 +0800 Merge branch 'feature/crm_pc' of http://219.157.255.213:25311/xinyouhe/art-design into feature/crm_vehicle commit 64e53b6ee9855f2221d1f9eacd5a56b94354df3d Author: 浅念 Date: Mon Sep 8 19:09:55 2025 +0800 备货单 加 审批流程 commit 9bd7c89cb425141f4645d4f7bd2ef4ad2a001f3b Author: 浅念 Date: Thu Sep 4 15:09:17 2025 +0800 车辆信息,备货单 等页面 # Conflicts: # src/api/adminApi.ts # src/api/crmApi.ts # src/components/custom/OrderDetailContent.vue # src/composables/useOrderDetailDialog.ts # src/composables/useStockingForm.ts # src/views/admin/approval/stocking_auth.vue # src/views/admin/approval/stocking_auth_detil.vue # src/views/admin/stock/final_list_admin.vue # src/views/admin/stock/stocking_list_admin.vue # src/views/admin/user/index.vue # src/views/admin/vehicle/color.vue # src/views/admin/vehicle/modification.vue # src/views/admin/vehicle/port.vue # src/views/admin/vehicle/vehicle_list.vue # src/views/crmpc/approval/stocking_auth.vue # src/views/crmpc/stocking/Add.vue # src/views/crmpc/stocking/final_add.vue # src/views/crmpc/stocking/final_edit.vue # src/views/crmpc/stocking/final_list.vue # src/views/crmpc/stocking/stocking_edit.vue # src/views/crmpc/stocking/stocking_list.vue # src/views/crmpc/vehicle/color.vue # src/views/crmpc/vehicle/modification.vue # src/views/crmpc/vehicle/vehicle_list.vue commit 4f18a1b8bfafc4d7333c587bfeafa250b4ad2628 Author: 浅念 Date: Thu Sep 18 11:34:11 2025 +0800 Squashed commit of the following: commit c5ec4bb5e1bb66751fa7458cbbbb6c594864fe18 Author: 浅念 Date: Thu Sep 18 11:31:22 2025 +0800 修改kpi commit 9e260ddcd85c2e5431328f9b6ac65ba96975d4fd Author: 浅念 Date: Thu Sep 18 09:49:33 2025 +0800 修改 kpi commit 6feb3ace75df218d063448a777ec56aa77a5f473 Author: 浅念 Date: Thu Sep 18 09:42:44 2025 +0800 kpi 统计 commit ec257a246d0548b9e63c72f7a5871f0f4e9aee19 Author: 浅念 Date: Wed Sep 17 17:04:35 2025 +0800 修改 弹框表格 commit fa764852ab88e624640585e1cf18e552629a69aa Author: 浅念 Date: Wed Sep 17 15:54:35 2025 +0800 添加 账户简称 commit 65f7f4a123a1b2cbd76fd17636240312ff3579a0 Author: 浅念 Date: Wed Sep 17 15:10:28 2025 +0800 品牌加热门 修改 仪表盘接口 commit 922cfec81d771e09b0a915ad83de0f59b722ef11 Author: 浅念 Date: Tue Sep 16 15:57:17 2025 +0800 调整备货单 crm 端页面 commit 5c8df36f127b56bdec379316445bf684972e620c Author: 浅念 Date: Mon Sep 15 17:14:38 2025 +0800 调整备货单 及各页面名称 commit 5503a14408fb24e6c04c8aa301d26b0ce64ae8d2 Author: 浅念 Date: Fri Sep 12 18:10:03 2025 +0800 账户添加公司 commit 3439b45d9ab833c35cbcfaa7e64b3e2d4fccb93b Author: 浅念 Date: Fri Sep 12 17:53:26 2025 +0800 修改终版备货单 commit 045d13eb7b9982058150351e5046ab56b9ac7269 Author: 浅念 Date: Fri Sep 12 17:49:07 2025 +0800 修改备货单 等页面 commit da690dfa06b5b01216c6a5c2d53a725dd2fd865b Author: 浅念 Date: Thu Sep 11 17:44:37 2025 +0800 修改 备货单 详情 commit 853e9591b3420658e074d0fcbc287ee843d5ef72 Author: 浅念 Date: Wed Sep 10 18:11:39 2025 +0800 修改 备货单页面 commit 9052bd1027956b2860972fb372bbc5a5d60e054a Author: 浅念 Date: Tue Sep 9 20:53:30 2025 +0800 备货单 审核功能 commit 079d9babb8c0ef61b4df75d265c0a61f877d0c3d Merge: ebd7479 91d810b Author: 浅念 Date: Tue Sep 9 14:51:43 2025 +0800 Merge branch 'feature/crm_pc' of http://219.157.255.213:25311/xinyouhe/art-design into feature/crm_vehicle commit ebd7479573f3dc64acb7e86da8f87ea9ff5c137f Merge: 64e53b6 459d306 Author: 浅念 Date: Tue Sep 9 13:57:28 2025 +0800 Merge branch 'feature/crm_pc' of http://219.157.255.213:25311/xinyouhe/art-design into feature/crm_vehicle commit 64e53b6ee9855f2221d1f9eacd5a56b94354df3d Author: 浅念 Date: Mon Sep 8 19:09:55 2025 +0800 备货单 加 审批流程 commit 9bd7c89cb425141f4645d4f7bd2ef4ad2a001f3b Author: 浅念 Date: Thu Sep 4 15:09:17 2025 +0800 车辆信息,备货单 等页面 # Conflicts: # src/views/admin/kpi/kpi_annual.vue commit a514bf40090d951f1300d7397b55dd6add230a01 Author: 浅念 Date: Thu Sep 18 09:55:10 2025 +0800 Squashed commit of the following: commit 9e260ddcd85c2e5431328f9b6ac65ba96975d4fd Author: 浅念 Date: Thu Sep 18 09:49:33 2025 +0800 修改 kpi commit 6feb3ace75df218d063448a777ec56aa77a5f473 Author: 浅念 Date: Thu Sep 18 09:42:44 2025 +0800 kpi 统计 commit ec257a246d0548b9e63c72f7a5871f0f4e9aee19 Author: 浅念 Date: Wed Sep 17 17:04:35 2025 +0800 修改 弹框表格 commit fa764852ab88e624640585e1cf18e552629a69aa Author: 浅念 Date: Wed Sep 17 15:54:35 2025 +0800 添加 账户简称 commit 65f7f4a123a1b2cbd76fd17636240312ff3579a0 Author: 浅念 Date: Wed Sep 17 15:10:28 2025 +0800 品牌加热门 修改 仪表盘接口 commit 922cfec81d771e09b0a915ad83de0f59b722ef11 Author: 浅念 Date: Tue Sep 16 15:57:17 2025 +0800 调整备货单 crm 端页面 commit 5c8df36f127b56bdec379316445bf684972e620c Author: 浅念 Date: Mon Sep 15 17:14:38 2025 +0800 调整备货单 及各页面名称 commit 5503a14408fb24e6c04c8aa301d26b0ce64ae8d2 Author: 浅念 Date: Fri Sep 12 18:10:03 2025 +0800 账户添加公司 commit 3439b45d9ab833c35cbcfaa7e64b3e2d4fccb93b Author: 浅念 Date: Fri Sep 12 17:53:26 2025 +0800 修改终版备货单 commit 045d13eb7b9982058150351e5046ab56b9ac7269 Author: 浅念 Date: Fri Sep 12 17:49:07 2025 +0800 修改备货单 等页面 commit da690dfa06b5b01216c6a5c2d53a725dd2fd865b Author: 浅念 Date: Thu Sep 11 17:44:37 2025 +0800 修改 备货单 详情 commit 853e9591b3420658e074d0fcbc287ee843d5ef72 Author: 浅念 Date: Wed Sep 10 18:11:39 2025 +0800 修改 备货单页面 commit 9052bd1027956b2860972fb372bbc5a5d60e054a Author: 浅念 Date: Tue Sep 9 20:53:30 2025 +0800 备货单 审核功能 commit 079d9babb8c0ef61b4df75d265c0a61f877d0c3d Merge: ebd7479 91d810b Author: 浅念 Date: Tue Sep 9 14:51:43 2025 +0800 Merge branch 'feature/crm_pc' of http://219.157.255.213:25311/xinyouhe/art-design into feature/crm_vehicle commit ebd7479573f3dc64acb7e86da8f87ea9ff5c137f Merge: 64e53b6 459d306 Author: 浅念 Date: Tue Sep 9 13:57:28 2025 +0800 Merge branch 'feature/crm_pc' of http://219.157.255.213:25311/xinyouhe/art-design into feature/crm_vehicle commit 64e53b6ee9855f2221d1f9eacd5a56b94354df3d Author: 浅念 Date: Mon Sep 8 19:09:55 2025 +0800 备货单 加 审批流程 commit 9bd7c89cb425141f4645d4f7bd2ef4ad2a001f3b Author: 浅念 Date: Thu Sep 4 15:09:17 2025 +0800 车辆信息,备货单 等页面 commit 91d810b33a05e8f91e9811f1a6fe1b0508a52af8 Author: 浅念 Date: Tue Sep 9 14:51:23 2025 +0800 添加公司搜索 commit 459d306504f497f69cefdcd31774ba012bb7a315 Author: 浅念 Date: Tue Sep 9 13:56:43 2025 +0800 用户添加 公司搜索 commit 8a0d4fc516f6a32102e37bc868ff93a73a4c86de Author: 浅念 Date: Thu Sep 4 14:38:09 2025 +0800 自定义跟进时间 处理 commit 58f7d56f402d67b7f7c0a14f06ab850cbc4f0e7d Author: 浅念 Date: Wed Sep 3 15:13:10 2025 +0800 工单去掉 移动端不显示限制 commit a91e1d782099a513261ed3a17b14afa3ecf13545 Author: 浅念 Date: Tue Sep 2 14:13:15 2025 +0800 将编号 后移 commit a9f8c5c4dcf026a4513290f4c09af25d5a85d708 Author: 浅念 Date: Wed Aug 27 09:20:56 2025 +0800 客户重复通知 commit aefd43f79de8995c107b6acb492748f4b79690df Author: 浅念 Date: Tue Aug 26 09:55:42 2025 +0800 修改 通知详情样式 和 即时通讯 commit 1bd9d163ecb6f276be05e1f9f97b5b7576bbe8c5 Author: 浅念 Date: Mon Aug 25 15:31:14 2025 +0800 通知 列表富文本内容显示 commit be6093e57d06d943d233002f2349b321673c6bb0 Author: 浅念 Date: Mon Aug 25 13:34:13 2025 +0800 crm 客户添加自定义列 跟进添加图片粘贴上传 commit d83246ba8c3a0c482386f6e715966da6ea542f92 Author: 浅念 Date: Fri Aug 22 18:33:58 2025 +0800 显示编号 commit 329acaf68d0c11ad0f314a4b24b061a543618e69 Author: 浅念 Date: Fri Aug 22 18:27:26 2025 +0800 通知板块 及 功能调整 commit b3199440073246655d7aa116eaeb06926bc6b0a7 Author: 浅念 Date: Thu Aug 21 11:12:12 2025 +0800 调整联系方式字段为电话 列表中多个联系方式纵向排列显示 会增加公司信息的自定义输入框 排序搜索 等功能 commit 70d26f08295850f87476e08244e4b0309be983fa Author: 浅念 Date: Tue Aug 19 16:18:15 2025 +0800 1.0.3 的相关功能 commit 0e84bedb670e5697dc5018d35f5c202dd58072d1 Author: 浅念 Date: Fri Aug 15 16:31:55 2025 +0800 v1.0.2 更新内容 commit f5deb7b8f78c2fc949211df173164fb2cc3f7fc4 Author: 浅念 Date: Wed Aug 13 19:27:49 2025 +0800 添加菜单 权限 等页面 commit e797cb24def2c32a1d9355789eb970fc99fde566 Author: 浅念 Date: Mon Aug 11 19:24:24 2025 +0800 添加工单附件 及样式 commit 619311dfbed9f6228500862dda116058a8a2bb31 Author: chenlan Date: Fri Aug 8 22:13:25 2025 +0800 添加crm 归属客户 commit b402e522bf0ac644a2d1d5759017eb909b24ada3 Author: 浅念 Date: Thu Aug 7 10:51:17 2025 +0800 询单权限校验 commit f950f665a9309c24f9e29759e0b29d4fd8e1b722 Author: 浅念 Date: Thu Aug 7 10:10:45 2025 +0800 添加 询单图片预览 commit 8deecc8197fda8f9242804a4b8da4c6165dfa7f8 Author: 浅念 Date: Wed Aug 6 18:36:42 2025 +0800 修改用户页面 询单 commit 3e24d1905f92753104b1b8d2dcb83316e865b078 Author: 浅念 Date: Tue Aug 5 18:25:32 2025 +0800 添加用户页面 客户页面接口 等 commit 7542d80e38a6f6b3f8d2e5538abbefc3662939b4 Author: 浅念 Date: Mon Aug 4 18:05:07 2025 +0800 修改 仪表盘页面样式 commit e5548f95e4a665282ab6166aa78ff397badc39f5 Author: 浅念 Date: Mon Aug 4 14:50:55 2025 +0800 修改询单字段 仪表盘页面 及添加管理端客户页面 commit d30ea5b7bf623e4785e207a0a9a48fb770a40213 Author: 浅念 Date: Mon Aug 4 14:48:58 2025 +0800 添加echarts 插件 commit 0e4160c5caf49e490b2b4cbf293b7dd82dbea044 Author: 浅念 Date: Fri Aug 1 18:27:22 2025 +0800 仪表盘接口 commit bd23288acd1043fa96581cf929cc8b6bcbd96ce1 Author: 浅念 Date: Fri Aug 1 18:26:46 2025 +0800 修改 仪表盘 commit 6bfb940881bd0c2bea1762b0f8d292e779ad6e55 Author: 浅念 Date: Fri Aug 1 10:01:35 2025 +0800 客户列表 添加公海详情展示 commit b50f650565d7dbc535a0fca737e6c8c60152a4e1 Author: 浅念 Date: Thu Jul 31 17:26:36 2025 +0800 修改 客户标签样式 个人信息添加邮箱 修复关闭全部页面404 commit ea1dbb7af46cac7f4f88232da6dda145aea5ff00 Author: 浅念 Date: Wed Jul 30 18:50:31 2025 +0800 修改公海和询单页面 commit 1bfbb95bd9ded050d4b2b7efa6819859c1f8f538 Author: 浅念 Date: Wed Jul 30 17:23:09 2025 +0800 修改样式和添加用户数据显示 commit a9f5f76b353b35af1fe20dc9e0e7b0847d4ebb95 Author: 浅念 Date: Wed Jul 30 15:06:03 2025 +0800 设置默认页面 commit 3ea9d3d5df25f3658a2c3ef6d8e5644b44a56f0c Author: 浅念 Date: Wed Jul 30 11:46:31 2025 +0800 修改飞书登录 公司id 系统id 获取不到问题 客户及公海添加用户信息显示 commit 0cef82279f322fd6562afc145c3e98d71557edda Author: 浅念 Date: Tue Jul 29 16:42:36 2025 +0800 修改工单 客户等页面 commit 695ebbcc71c47587d2befa845f85dabfc6c217b3 Author: 浅念 Date: Fri Jul 25 17:50:04 2025 +0800 修改默认值 commit ffc194a1c1e35a209b6bc8c1532c095ada17bef0 Author: 浅念 Date: Fri Jul 25 17:05:33 2025 +0800 飞书授权添加系统码 及登录进入页面路由 commit 48b95e252f85e3e18fde5036b820b911f10d4ae7 Author: 浅念 Date: Fri Jul 25 15:48:49 2025 +0800 回收站添加占位 commit 382011d592cd2b82e0f305223726a6eea41c3a5a Author: 浅念 Date: Fri Jul 25 15:11:50 2025 +0800 修改登录页样式公海数据 个人信息默认图 commit 0f790269db159e29de890d000007516ebe5e6306 Author: 浅念 Date: Fri Jul 25 09:16:55 2025 +0800 修改字段名称 commit f18cfdb69e786b12d94c43a40bedaf5ccc6f53a8 Author: 浅念 Date: Thu Jul 24 17:28:51 2025 +0800 调整代码格式 commit 858147fbbdec0583737ac080f1b94772ff6b2814 Author: 浅念 Date: Thu Jul 24 10:17:22 2025 +0800 修改token刷新 及修改询单详情展示 commit c333b907e682a3935fc87754eff246b43f4a3518 Author: 浅念 Date: Wed Jul 23 18:22:56 2025 +0800 对接询单接口 commit 7979a31e361d18f3d2db078dc802f037033f6bbd Author: 浅念 Date: Wed Jul 23 14:40:02 2025 +0800 修改代码格式 commit 4a393878658bd2e167b51da2433e906f8734d816 Author: 浅念 Date: Wed Jul 23 14:07:13 2025 +0800 设置客户列表权限 commit fc4de02582e64dc03c826542489b3943dcab2a98 Author: 浅念 Date: Tue Jul 22 17:08:13 2025 +0800 feat(router): 调整菜单 commit 2ffe0c97539ff47920438d8ade96b714458410e1 Author: 浅念 Date: Tue Jul 22 17:04:16 2025 +0800 feat(crmApi.ts): 调整结构 commit c3fb2c48d38629d26e83fd7733190a6d80893e4e Author: 浅念 Date: Tue Jul 22 17:00:25 2025 +0800 feat(router): 路由调整 commit c5b0a8265af5180515862aefcf6018bd7a664876 Author: 浅念 Date: Tue Jul 22 16:54:06 2025 +0800 chore: 添加询单页面及调整菜单 commit ca06c9bc469989b9b682bc1a40d530b45aae9025 Author: 浅念 Date: Tue Jul 22 16:35:43 2025 +0800 询单页面及菜单 commit 3b6de4c7fa2736a3e6fb71188e0f67fe145edf5c Merge: d3bb4ec 85e8b9b Author: 浅念 Date: Tue Jul 22 09:22:20 2025 +0800 Merge branch 'master' into feature/crm_pc commit d3bb4ec6e5406d3a0e6d8185900cb4220981025b Merge: c7d8908 d7ab6f1 Author: 浅念 Date: Mon Jul 21 18:22:55 2025 +0800 Merge branch 'master' into feature/crm_pc # Conflicts: # .gitignore # src/api/crmApi.ts # src/api/usersApi.ts # src/store/modules/user.ts # src/utils/http/index.ts # src/views/auth/login/index.vue # src/views/crmpc/customer/Show.vue # src/views/crmpc/customer/index.vue commit c7d890809c539a7592979904337ce6826bdfa714 Author: 浅念 Date: Mon Jul 21 18:12:16 2025 +0800 添加系统码 commit 31cd18fade9aa8191d52c0e10a9823c22867dcd4 Author: 浅念 Date: Mon Jul 21 18:02:48 2025 +0800 Merge branch 'master' into feature/crm_pc # Conflicts: # .gitignore commit 59c9c97c0830c285ff0bcd4f51e0d9de916057ee Author: 浅念 Date: Mon Jul 21 17:56:52 2025 +0800 Merge branch 'master' into feature/crm_pc # Conflicts: # .gitignore commit d4b577c42eb4af584f4d190f292488a55f306c03 Author: 浅念 Date: Mon Jul 21 13:03:56 2025 +0800 feat(crm): 添加相关图片 commit e4967760b742aa42aed88bf6b440272e20080630 Merge: 0c67666 85102fc Author: 浅念 Date: Mon Jul 21 11:25:49 2025 +0800 Finish crm_pc commit 85102fcf32a6e9f635c6de749646eb6c247ca633 Author: 浅念 Date: Mon Jul 21 11:24:06 2025 +0800 crm 接口对接 commit 0c676667932a5aa59416032d3dc856c95ec2cbff Author: 浅念 Date: Wed Jul 16 17:18:14 2025 +0800 添加上传头部信息 commit a41c75f70386728197dc92ae778ddd6232ee44c5 Author: 浅念 Date: Tue Jul 15 09:40:53 2025 +0800 修改页面 commit 22ae0e86c82a6c969cf8a35364c0a0935b74bbc8 Author: 浅念 Date: Mon Jul 14 17:59:02 2025 +0800 修改页面 commit 812e3c4b0c0a5abac3bb540e3907b1b25469f1aa Author: 浅念 Date: Mon Jul 14 10:09:10 2025 +0800 修改菜单问题 commit 2ad479b006b9767e3eedafe56affe364ac02ee16 Author: 浅念 Date: Fri Jul 11 19:45:57 2025 +0800 修改样式 commit 5802e157bf65d353d71be3dd7ff0579bcc971163 Author: 浅念 Date: Fri Jul 11 19:43:34 2025 +0800 修改工单 commit 713d43f7b44bf2cc8543ce7f77716a94e798e648 Author: 浅念 Date: Fri Jul 11 18:37:16 2025 +0800 添加登录 commit 719911918f3f273b578a6ebd63a7771fe9a2bdd3 Author: 浅念 Date: Fri Jul 4 17:16:38 2025 +0800 项目创建 commit ce47b39fa51dd09cfbc7433a1e10521767e3a5ac Author: 浅念 Date: Wed Jul 2 09:37:51 2025 +0800 删除 # Conflicts: # .env.development # src/api/adminApi.ts # src/api/crmApi.ts # src/components/custom/OrderDetailContent.vue # src/composables/useOrderDetailDialog.ts # src/composables/useStockingForm.ts # src/views/admin/approval/stocking_auth.vue # src/views/admin/approval/stocking_auth_detil.vue # src/views/admin/customer/index.vue # src/views/admin/kpi/kpi_annual.vue # src/views/admin/stock/final_list_admin.vue # src/views/admin/stock/stocking_list_admin.vue # src/views/admin/user/index.vue # src/views/admin/vehicle/color.vue # src/views/admin/vehicle/modification.vue # src/views/admin/vehicle/port.vue # src/views/admin/vehicle/vehicle_list.vue # src/views/crmpc/approval/stocking_auth.vue # src/views/crmpc/stocking/Add.vue # src/views/crmpc/stocking/final_add.vue # src/views/crmpc/stocking/final_edit.vue # src/views/crmpc/stocking/final_list.vue # src/views/crmpc/stocking/stocking_edit.vue # src/views/crmpc/stocking/stocking_list.vue # src/views/crmpc/vehicle/color.vue # src/views/crmpc/vehicle/modification.vue # src/views/crmpc/vehicle/vehicle_list.vue --- .auto-import.json | 3 +- .env.development | 4 +- src/api/admin/finance.ts | 74 ++ src/api/admin/procurement.ts | 46 + src/api/adminApi.ts | 23 +- src/api/crmApi.ts | 6 +- src/components/core/tables/ArtTable.vue | 14 +- src/components/custom/ApprovalTimeline.vue | 132 ++ src/components/custom/OrderDetailContent.vue | 232 +++- .../custom/ProcurementDetailView copy.vue | 175 +++ .../custom/ProcurementDetailView.vue | 169 +++ src/components/custom/chat/WorkChatDrawer.vue | 213 +++ src/composables/useOrderDetailDialog.ts | 7 +- src/composables/useStockingForm.ts | 79 +- src/types/auto-imports.d.ts | 2 +- src/types/components.d.ts | 13 + src/views/admin/approval/stocking_auth.vue | 238 +++- .../admin/approval/stocking_auth_detil.vue | 125 +- .../admin/approval/stocking_auth_history.vue | 406 ++++++ src/views/admin/customer/index.vue | 30 +- src/views/admin/kpi/kpi_annual.vue | 16 +- .../admin/procurement/purchase_order.vue | 1151 +++++++++++++++++ src/views/admin/stock/final_list_admin.vue | 41 + src/views/admin/stock/stocking_list_admin.vue | 41 + src/views/admin/user/index.vue | 36 +- src/views/admin/vehicle/color.vue | 2 +- src/views/admin/vehicle/modification.vue | 2 +- src/views/admin/vehicle/port.vue | 11 +- src/views/admin/vehicle/vehicle_list.vue | 4 +- src/views/auth/login/index.vue | 4 +- src/views/crmpc/approval/stocking_auth.vue | 2 +- .../crmpc/approval/stocking_auth_history.vue | 384 ++++++ src/views/crmpc/stocking/Add.vue | 67 +- src/views/crmpc/stocking/final_add.vue | 67 +- src/views/crmpc/stocking/final_edit.vue | 67 +- src/views/crmpc/stocking/final_list.vue | 43 +- src/views/crmpc/stocking/stocking_edit.vue | 67 +- src/views/crmpc/stocking/stocking_list.vue | 42 + src/views/crmpc/vehicle/color.vue | 2 +- src/views/crmpc/vehicle/modification.vue | 2 +- src/views/crmpc/vehicle/vehicle_list.vue | 4 +- 41 files changed, 3875 insertions(+), 171 deletions(-) create mode 100644 src/api/admin/finance.ts create mode 100644 src/api/admin/procurement.ts create mode 100644 src/components/custom/ApprovalTimeline.vue create mode 100644 src/components/custom/ProcurementDetailView copy.vue create mode 100644 src/components/custom/ProcurementDetailView.vue create mode 100644 src/components/custom/chat/WorkChatDrawer.vue create mode 100644 src/views/admin/approval/stocking_auth_history.vue create mode 100644 src/views/admin/procurement/purchase_order.vue create mode 100644 src/views/crmpc/approval/stocking_auth_history.vue diff --git a/.auto-import.json b/.auto-import.json index f5553b8..722a261 100644 --- a/.auto-import.json +++ b/.auto-import.json @@ -309,6 +309,7 @@ "watchWithFilter": true, "whenever": true, "ElMessage": true, - "ElTag": true + "ElTag": true, + "ElMessageBox": true } } diff --git a/.env.development b/.env.development index c188e1a..c79c18b 100644 --- a/.env.development +++ b/.env.development @@ -7,8 +7,8 @@ VITE_BASE_URL = / # VITE_API_URL = https://m1.apifoxmock.com/m1/6400575-6097373-default # VITE_API_URL = http://219.157.255.213:25703 # VITE_API_URL = https://mzl.dev.hnxinyouhe.com -# VITE_API_URL = https://fdesk.hnxinyouhe.com -VITE_API_URL = https://x-server.hnxinyouhe.com +VITE_API_URL = https://fdesk.hnxinyouhe.com +# VITE_API_URL = https://x-server.hnxinyouhe.com # VITE_API_URL_WSS = wss://mzl.dev.hnxinyouhe.com # VITE_API_URL_WSS = wss://fdesk.hnxinyouhe.com diff --git a/src/api/admin/finance.ts b/src/api/admin/finance.ts new file mode 100644 index 0000000..334720d --- /dev/null +++ b/src/api/admin/finance.ts @@ -0,0 +1,74 @@ +import request from '@/utils/http' + +export class financeService { + // 收款记录-列表 + static getReceiptList(params: Api.Common.PaginatingParams) { + return request.get({ + url: '/admin/receipt/list', + params + }) + } + // 收款记录-详情 + static getReceiptDetail(params: any) { + return request.get({ + url: '/admin/receipt/show', + params + }) + } + // 收款记录-添加 + static addReceipt(params: any) { + return request.post({ + url: '/admin/receipt/store', + params + }) + } + // 收款记录-更新 + static updateReceipt(params: any) { + return request.post({ + url: '/admin/receipt/update', + params + }) + } + // 收款记录-删除 + static deleteReceipt(params: any) { + return request.post({ + url: '/admin/receipt/destroy', + params + }) + } + //付款申请-列表 + static getPaymentList(params: Api.Common.PaginatingParams) { + return request.get({ + url: '/admin/payment/list', + params + }) + } + //付款申请-详情 + static getPaymentDetail(params: any) { + return request.get({ + url: '/admin/payment/show', + params + }) + } + //付款申请-添加 + static addPayment(params: any) { + return request.post({ + url: '/admin/payment/store', + params + }) + } + //付款申请-更新 + static updatePayment(params: any) { + return request.post({ + url: '/admin/payment/update', + params + }) + } + //付款申请-删除 + static deletePayment(params: any) { + return request.post({ + url: '/admin/payment/destroy', + params + }) + } +} \ No newline at end of file diff --git a/src/api/admin/procurement.ts b/src/api/admin/procurement.ts new file mode 100644 index 0000000..5dbcd1f --- /dev/null +++ b/src/api/admin/procurement.ts @@ -0,0 +1,46 @@ +import request from '@/utils/http' + +export class purchaseService { + // 采购单预置 + static purchaseorderpredata(params: any) { + return request.get({ + url: '/admin/purchase/order/predata', + params + }) + } + // 采购单列表 + static purchaseorderlist(params: Api.Common.PaginatingParams) { + return request.get({ + url: '/admin/purchase/order/list', + params + }) + } + // 采购单添加 + static purchaseorderadd(params: any) { + return request.post({ + url: '/admin/purchase/order/store', + params + }) + } + // 采购单更新 + static purchaseorderupdate(params: any) { + return request.post({ + url: '/admin/purchase/order/update', + params + }) + } + // 采购单删除 + static purchaseorderdelete(params: any) { + return request.post({ + url: '/admin/purchase/order/destroy', + params + }) + } + // 采购单详情 + static purchaseorderdetail(params: any) { + return request.get({ + url: '/admin/purchase/order/show', + params + }) + } +} diff --git a/src/api/adminApi.ts b/src/api/adminApi.ts index 320bfdf..897a2c8 100644 --- a/src/api/adminApi.ts +++ b/src/api/adminApi.ts @@ -251,7 +251,7 @@ export class manageService { //审批记录 static stockapprovalrecord(params: any) { return request.get({ - url: '/admin/approval/records/list', + url: '/admin/approval/records/todo', params }) } @@ -305,4 +305,25 @@ export class manageService { params }) } + //审核详情 + static stockapprovaldetailborder(params: any) { + return request.get({ + url: '/admin/approval/records/border', + params + }) + } + //审批转交 + static stockapprovaltransfer(params: any) { + return request.post({ + url: '/admin/approval/records/transfer', + params + }) + } + //审批时间轴 + static stockapprovaltimeline(params: any) { + return request.get({ + url: '/admin/approval/records/timeline', + params + }) + } } diff --git a/src/api/crmApi.ts b/src/api/crmApi.ts index 3843245..43867a8 100644 --- a/src/api/crmApi.ts +++ b/src/api/crmApi.ts @@ -257,10 +257,10 @@ export class CrmService { params }) } - //审批记录 - static stockapprovalrecord(params: any) { + //审批记录 + static stockapprovalrecord(params: any) { return request.get({ - url: '/crm/approval/records/list', + url: '/crm/approval/records/todo', params }) } diff --git a/src/components/core/tables/ArtTable.vue b/src/components/core/tables/ArtTable.vue index b2c7f18..40f9a9d 100644 --- a/src/components/core/tables/ArtTable.vue +++ b/src/components/core/tables/ArtTable.vue @@ -184,12 +184,11 @@ const elTable = tableRef.value if (!elTable) return - // 递归处理树形数据 + // 支持普通与树形数据行展开 const processRows = (rows: any[]) => { rows.forEach((row) => { - const hasChildren = row.children?.length > 0 - if (hasChildren) { - elTable.toggleRowExpansion(row, true) + elTable.toggleRowExpansion(row, true) + if (row.children?.length > 0) { processRows(row.children) } }) @@ -203,12 +202,11 @@ const elTable = tableRef.value if (!elTable) return - // 递归处理树形数据 + // 支持普通与树形数据行收起 const processRows = (rows: any[]) => { rows.forEach((row) => { - const hasChildren = row.children?.length > 0 - if (hasChildren) { - elTable.toggleRowExpansion(row, false) + elTable.toggleRowExpansion(row, false) + if (row.children?.length > 0) { processRows(row.children) } }) diff --git a/src/components/custom/ApprovalTimeline.vue b/src/components/custom/ApprovalTimeline.vue new file mode 100644 index 0000000..95e5678 --- /dev/null +++ b/src/components/custom/ApprovalTimeline.vue @@ -0,0 +1,132 @@ + + + + + + + diff --git a/src/components/custom/OrderDetailContent.vue b/src/components/custom/OrderDetailContent.vue index 7ef4121..e685e91 100644 --- a/src/components/custom/OrderDetailContent.vue +++ b/src/components/custom/OrderDetailContent.vue @@ -8,7 +8,9 @@
业务员: - {{ orderData.salesperson_snapshot || orderData.salesperson || '—' }} + {{ + orderData.salesperson_snapshot || orderData.salesperson || '—' + }}
@@ -26,19 +28,27 @@ 清关目的国: - {{ orderData.clearance_country_snapshot || orderData.clearanceCountry || '—' }} + {{ + orderData.clearance_country_snapshot || orderData.clearanceCountry || '—' + }} 客户来源: - {{ orderData.customer_source_snapshot || orderData.customerSource || '—' }} + {{ + orderData.customer_source_snapshot || orderData.customerSource || '—' + }} 客户名称: - {{ orderData.customer_snapshot || orderData.customerName || '—' }} + {{ + orderData.customer_snapshot || orderData.customerName || '—' + }} 客户所在国: - {{ orderData.customer_country_snapshot || orderData.customerCountry || '—' }} + {{ + orderData.customer_country_snapshot || orderData.customerCountry || '—' + }} @@ -46,8 +56,16 @@
- +
合同汇率: - {{ orderData.contract_exchange_rate || orderData.contractRate || '—' }} + {{ + orderData.contract_exchange_rate || orderData.contractRate || '—' + }}
合计到岸价: - ${{ formatPrice(Number(orderData.cif_total_amount?.amount ?? orderData.totalCif ?? 0)) }} + ${{ + formatPrice(Number(orderData.cif_total_amount?.amount ?? orderData.totalCif ?? 0)) + }}
利润: - {{ orderData.profit_total?.currency_info || orderData.profit_total?.amount || '—' }} + {{ + orderData.profit_total?.currency_info || orderData.profit_total?.amount || '—' + }}
@@ -131,34 +246,54 @@ 清关人: - {{ orderData.declarant_name || orderData.declarant || '—' }} + {{ + orderData.declarant_name || orderData.declarant || '—' + }} 预计发运日期: - {{ orderData.eta_ship_date || orderData.etaShipDate || '—' }} + {{ + orderData.eta_ship_date || orderData.etaShipDate || '—' + }} 出运方式: - {{ orderData.shipping_method_snapshot || orderData.shippingMethod || '—' }} + {{ + orderData.shipping_method_snapshot || orderData.shippingMethod || '—' + }} 国内收货港: - {{ orderData.domestic_port_snapshot || orderData.domesticPort || '—' }} + {{ + orderData.domestic_port_snapshot || orderData.domesticPort || '—' + }} 贸易条款/清关目的港: - {{ orderData.trade_term_snapshot || orderData.tradeTerms || '—' }}/{{ orderData.clearance_port_snapshot || '—' }} + {{ orderData.trade_term_snapshot || orderData.tradeTerms || '—' }}/{{ + orderData.clearance_port_snapshot || '—' + }} 最迟到港时间: - {{ orderData.latest_arrival_date || orderData.latestArrival || '—' }} + {{ + orderData.latest_arrival_date || orderData.latestArrival || '—' + }} -
+
@@ -192,8 +327,7 @@ + + diff --git a/src/components/custom/ProcurementDetailView.vue b/src/components/custom/ProcurementDetailView.vue new file mode 100644 index 0000000..15ddfb5 --- /dev/null +++ b/src/components/custom/ProcurementDetailView.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/src/components/custom/chat/WorkChatDrawer.vue b/src/components/custom/chat/WorkChatDrawer.vue new file mode 100644 index 0000000..9227e1a --- /dev/null +++ b/src/components/custom/chat/WorkChatDrawer.vue @@ -0,0 +1,213 @@ + + + + + + + diff --git a/src/composables/useOrderDetailDialog.ts b/src/composables/useOrderDetailDialog.ts index 1773613..3e8eef6 100644 --- a/src/composables/useOrderDetailDialog.ts +++ b/src/composables/useOrderDetailDialog.ts @@ -22,6 +22,7 @@ export interface PaymentItem { } export interface OrderData { + contract_file_url: { name: string; url: string }[] orderNo?: string salesperson?: string piNo?: string @@ -45,7 +46,11 @@ export interface OrderData { export function useOrderDetailDialog() { const visible = ref(false) const title = ref('订单详情') - const orderData = ref({}) + const orderData = ref({ + contract_file_url: [], + items: [], + payments: [] + }) const show = (data: OrderData, dialogTitle?: string) => { orderData.value = data diff --git a/src/composables/useStockingForm.ts b/src/composables/useStockingForm.ts index 15ffb52..7b89a5a 100644 --- a/src/composables/useStockingForm.ts +++ b/src/composables/useStockingForm.ts @@ -1,5 +1,5 @@ import { ref, reactive, watch, onMounted } from 'vue' -import { ElMessage } from 'element-plus' +import { componentSizeMap, ElMessage } from 'element-plus' import { CrmService } from '@/api/crmApi' import { commonService } from '@/api/commonApi' import { vehicleService } from '@/api/vehicleApi' @@ -62,9 +62,19 @@ export interface ItemRow { handling_fee: string fob_transport_fee: number | undefined port_misc_fee: string + remark: string ocean_freight: string ocean_freight_currency: string ocean_freight_currency_snapshot: string + commission: string + commission_currency: string + commission_currency_snapshot: string + purchase_tax: string + purchase_tax_currency: string + purchase_tax_currency_snapshot: string + tax_refund: string + tax_refund_currency: string + tax_refund_currency_snapshot: string retrofit_fee: string total_price: number | undefined official_price: number | undefined @@ -195,9 +205,19 @@ export function useStockingForm(isFinal = false, stockingId?: string | number) { handling_fee: '', fob_transport_fee: undefined, port_misc_fee: '', + remark: '', ocean_freight: '', ocean_freight_currency: 'CNY', ocean_freight_currency_snapshot: '人民币', + commission: '', + commission_currency: 'CNY', + commission_currency_snapshot: '人民币', + purchase_tax: '', + purchase_tax_currency: 'CNY', + purchase_tax_currency_snapshot: '人民币', + tax_refund: '', + tax_refund_currency: 'CNY', + tax_refund_currency_snapshot: '人民币', retrofit_fee: '', total_price: undefined, official_price: undefined, @@ -326,7 +346,13 @@ export function useStockingForm(isFinal = false, stockingId?: string | number) { const loadPortOptions = async () => { try { const res = await commonService.getPortSelect({ scene: 'domestic' }) - const resall = await commonService.getPortSelect({}) + res.forEach((item: any) => { + item.port_names = item.port_name + '(' + item.port_name_en + ')' + }) + const resall = await commonService.getPortSelect({ scene: 'overseas' }) + resall.forEach((item: any) => { + item.port_names = item.port_name + '(' + item.port_name_en + ')' + }) portOptions.value = res portOptionsall.value = resall } catch (error) { @@ -428,6 +454,21 @@ export function useStockingForm(isFinal = false, stockingId?: string | number) { (it as any).ocean_freight_currency, targetCurrency ) + const commission = convertCurrency( + it.commission ?? (it as any).commission, + (it as any).commission_currency, + targetCurrency + ) + const purchaseTax = convertCurrency( + it.purchase_tax ?? (it as any).purchase_tax, + (it as any).purchase_tax_currency, + targetCurrency + ) + const taxRefund = convertCurrency( + it.tax_refund ?? (it as any).tax_refund, + (it as any).tax_refund_currency, + targetCurrency + ) const mileageVal = Number(it.mileage ?? 0) if (mileageVal > 0) { // 二手车:用挂牌价与二手减价替代官方指导价与优惠 @@ -441,7 +482,19 @@ export function useStockingForm(isFinal = false, stockingId?: string | number) { (it as any).reduction_price_currency, targetCurrency ) - return unit - (retrofit + fob + listing + reduction + handling + port + ocean) + return ( + unit - + (retrofit + + fob + + listing + + reduction + + handling + + port + + ocean + + commission + + purchaseTax) + + taxRefund + ) } // 新车/里程<=0:保持原有计算(官方指导价与优惠) @@ -455,7 +508,11 @@ export function useStockingForm(isFinal = false, stockingId?: string | number) { (it as any).discount_currency, targetCurrency ) - return unit - (retrofit + fob + guide + discount + handling + port + ocean) + return ( + unit - + (retrofit + fob + guide + discount + handling + port + ocean + commission + purchaseTax) + + taxRefund + ) } // 合同文件相关方法 @@ -672,9 +729,19 @@ export function useStockingForm(isFinal = false, stockingId?: string | number) { handling_fee: it.handling_fee?.amount ?? '', fob_transport_fee: it.fob_transport_fee?.amount ? Number(it.fob_transport_fee.amount) : undefined, port_misc_fee: it.port_misc_fee?.amount ?? '', + remark: it.remark || '', ocean_freight: it.ocean_freight?.amount ?? '', ocean_freight_currency: it.ocean_freight?.currency || 'CNY', ocean_freight_currency_snapshot: '', + commission: it.commission?.amount ?? '', + commission_currency: it.commission?.currency || 'CNY', + commission_currency_snapshot: '', + purchase_tax: it.purchase_tax?.amount ?? '', + purchase_tax_currency: it.purchase_tax?.currency || 'CNY', + purchase_tax_currency_snapshot: '', + tax_refund: it.tax_refund?.amount ?? '', + tax_refund_currency: it.tax_refund?.currency || 'CNY', + tax_refund_currency_snapshot: '', retrofit_fee: it.retrofit_fee?.amount ?? '', total_price: it.total_price?.amount ? Number(it.total_price.amount) : undefined, official_price: it.official_price?.amount ? Number(it.official_price.amount) : undefined, @@ -753,6 +820,7 @@ export function useStockingForm(isFinal = false, stockingId?: string | number) { color_interior_snapshot: it.color_interior_snapshot, color_exterior_code: it.color_exterior_code, color_exterior_snapshot: it.color_exterior_snapshot, + remark: it.remark, unit_price: wrapMoney(it.unit_price, (it as any).unit_price_currency, '单价'), handling_fee: wrapMoney(it.handling_fee, (it as any).helper_fee_currency, '手续费'), fob_transport_fee: wrapMoney( @@ -766,6 +834,9 @@ export function useStockingForm(isFinal = false, stockingId?: string | number) { '港杂费' ), ocean_freight: wrapMoney(it.ocean_freight, (it as any).ocean_freight_currency, '海运费'), + commission: wrapMoney(it.commission, (it as any).commission_currency, '佣金'), + purchase_tax: wrapMoney(it.purchase_tax, (it as any).purchase_tax_currency, '购置税'), + tax_refund: wrapMoney(it.tax_refund, (it as any).tax_refund_currency, '退税'), retrofit_fee: wrapMoney((it as any).retrofit_fee, (it as any).modify_fee_currency, '改装费'), modify_list: it.modify_list, // total_price: wrapMoney(it.total_price, (it as any).total_price_currency, '总价'), diff --git a/src/types/auto-imports.d.ts b/src/types/auto-imports.d.ts index c5d2e7d..af3b65f 100644 --- a/src/types/auto-imports.d.ts +++ b/src/types/auto-imports.d.ts @@ -9,7 +9,7 @@ declare global { const EffectScope: typeof import('vue')['EffectScope'] const ElButton: (typeof import('element-plus/es'))['ElButton'] const ElMessage: typeof import('element-plus/es')['ElMessage'] - const ElMessageBox: (typeof import('element-plus/es'))['ElMessageBox'] + const ElMessageBox: typeof import('element-plus/es')['ElMessageBox'] const ElNotification: (typeof import('element-plus/es'))['ElNotification'] const ElPopconfirm: (typeof import('element-plus/es'))['ElPopconfirm'] const ElPopover: (typeof import('element-plus/es'))['ElPopover'] diff --git a/src/types/components.d.ts b/src/types/components.d.ts index 2f1f2fa..ca6d74b 100644 --- a/src/types/components.d.ts +++ b/src/types/components.d.ts @@ -7,6 +7,7 @@ export {} /* prettier-ignore */ declare module 'vue' { export interface GlobalComponents { + ApprovalTimeline: typeof import('./../components/custom/ApprovalTimeline.vue')['default'] ArtBackToTop: typeof import('./../components/core/base/art-back-to-top/index.vue')['default'] ArtBarChart: typeof import('./../components/core/charts/ArtBarChart.vue')['default'] ArtBarChartCard: typeof import('./../components/core/cards/art-bar-chart-card/index.vue')['default'] @@ -72,12 +73,16 @@ declare module 'vue' { CommentItem: typeof import('./../components/custom/comment-widget/widget/CommentItem.vue')['default'] CommentWidget: typeof import('./../components/custom/comment-widget/index.vue')['default'] ContainerSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/ContainerSettings.vue')['default'] + copy: typeof import('./../components/custom/ProcurementDetailView copy.vue')['default'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] + ElBadge: typeof import('element-plus/es')['ElBadge'] ElButton: typeof import('element-plus/es')['ElButton'] ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup'] ElCalendar: typeof import('element-plus/es')['ElCalendar'] ElCard: typeof import('element-plus/es')['ElCard'] + ElCascader: typeof import('element-plus/es')['ElCascader'] ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] ElCol: typeof import('element-plus/es')['ElCol'] ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] @@ -93,8 +98,10 @@ declare module 'vue' { ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElIcon: typeof import('element-plus/es')['ElIcon'] ElImage: typeof import('element-plus/es')['ElImage'] + ElImageViewer: typeof import('element-plus/es')['ElImageViewer'] ElInput: typeof import('element-plus/es')['ElInput'] ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] + ElLink: typeof import('element-plus/es')['ElLink'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] ElOption: typeof import('element-plus/es')['ElOption'] @@ -117,16 +124,21 @@ declare module 'vue' { ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabs: typeof import('element-plus/es')['ElTabs'] ElTag: typeof import('element-plus/es')['ElTag'] + ElText: typeof import('element-plus/es')['ElText'] ElTimeline: typeof import('element-plus/es')['ElTimeline'] ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElTree: typeof import('element-plus/es')['ElTree'] + ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] ElUpload: typeof import('element-plus/es')['ElUpload'] ElWatermark: typeof import('element-plus/es')['ElWatermark'] HorizontalSubmenu: typeof import('./../components/core/layouts/art-menus/art-horizontal-menu/widget/HorizontalSubmenu.vue')['default'] LoginLeftView: typeof import('./../components/core/views/login/LoginLeftView.vue')['default'] MenuLayoutSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/MenuLayoutSettings.vue')['default'] MenuStyleSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/MenuStyleSettings.vue')['default'] + OrderDetailContent: typeof import('./../components/custom/OrderDetailContent.vue')['default'] + ProcurementDetailView: typeof import('./../components/custom/ProcurementDetailView.vue')['default'] + 'ProcurementDetailView copy': typeof import('./../components/custom/ProcurementDetailView copy.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] SectionTitle: typeof import('./../components/core/layouts/art-settings-panel/widget/SectionTitle.vue')['default'] @@ -135,6 +147,7 @@ declare module 'vue' { SettingItem: typeof import('./../components/core/layouts/art-settings-panel/widget/SettingItem.vue')['default'] SidebarSubmenu: typeof import('./../components/core/layouts/art-menus/art-sidebar-menu/widget/SidebarSubmenu.vue')['default'] ThemeSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/ThemeSettings.vue')['default'] + WorkChatDrawer: typeof import('./../components/custom/chat/WorkChatDrawer.vue')['default'] } export interface ComponentCustomProperties { vLoading: typeof import('element-plus/es')['ElLoadingDirective'] diff --git a/src/views/admin/approval/stocking_auth.vue b/src/views/admin/approval/stocking_auth.vue index 6fc7c83..97e6485 100644 --- a/src/views/admin/approval/stocking_auth.vue +++ b/src/views/admin/approval/stocking_auth.vue @@ -1,9 +1,6 @@ @@ -174,6 +177,19 @@ /> + +
+ + +
+
@@ -184,6 +200,10 @@ import { usePdfPreview } from '@/composables/usePdfPreview' import OrderDetailContent from '@/components/custom/OrderDetailContent.vue' import type { OrderData } from '@/composables/useOrderDetailDialog' + import ApprovalTimeline from '@/components/custom/ApprovalTimeline.vue' + import { manageService } from '@/api/adminApi' + const timelineDialogVisible = ref(false) + const approvalRecords = ref([]) defineOptions({ name: 'CrmFinalList' }) // 订单详情弹窗 const orderDialog = reactive({ @@ -207,7 +227,28 @@ onMounted(() => { getList() }) - + //审批进度 + const showDialogtimeline = async (row: any) => { + // 审批记录(兼容多种字段) + const resstockapprovallogs = await manageService.stockapprovaltimeline({ + id: row.id, + flow_type: 'stock_orders' + }) + console.log(resstockapprovallogs) + const historyList = resstockapprovallogs + if (historyList.length > 0) { + approvalRecords.value = historyList.map((h: any) => ({ + name: h?.initiator_name ? h?.initiator_name : h?.name, + role: h?.status_desc, + time: h?.finished_at || '', + approved: h?.status === 'approved' || h?.status === 'submitted', + rejected: h?.status === 'rejected', + pending: h?.status != 'approved' && h?.status != 'rejected' && h?.status != 'submitted', + comment: h?.comment || h?.remark || '' + })) + } + timelineDialogVisible.value = true + } watch([keyword], () => { pagination.currentPage = 1 // 不自动请求,保持与截图行为一致,点击搜索或回车触发 diff --git a/src/views/crmpc/stocking/stocking_edit.vue b/src/views/crmpc/stocking/stocking_edit.vue index ce7908e..2c0844f 100644 --- a/src/views/crmpc/stocking/stocking_edit.vue +++ b/src/views/crmpc/stocking/stocking_edit.vue @@ -373,6 +373,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -429,6 +480,13 @@ + + + + + + + 复制 @@ -525,7 +583,12 @@ (portOptions || []).find((x: any) => x.id === val)?.port_name || '') " > - + @@ -586,7 +649,7 @@ diff --git a/src/views/crmpc/stocking/stocking_list.vue b/src/views/crmpc/stocking/stocking_list.vue index b6935b6..5c7425c 100644 --- a/src/views/crmpc/stocking/stocking_list.vue +++ b/src/views/crmpc/stocking/stocking_list.vue @@ -114,6 +114,9 @@ 复制 + + 查看审批 + @@ -207,6 +210,19 @@ + +
+ + +
+
@@ -216,6 +232,10 @@ import { usePdfPreview } from '@/composables/usePdfPreview' import OrderDetailContent from '@/components/custom/OrderDetailContent.vue' import type { OrderData } from '@/composables/useOrderDetailDialog' + import ApprovalTimeline from '@/components/custom/ApprovalTimeline.vue' + import { manageService } from '@/api/adminApi' + const timelineDialogVisible = ref(false) + const approvalRecords = ref([]) // import { useAuth } from '@/composables/useAuth' // const { hasAuth } = useAuth() @@ -241,6 +261,28 @@ onMounted(() => { getList() }) + //审批进度 + const showDialogtimeline = async (row: any) => { + // 审批记录(兼容多种字段) + const resstockapprovallogs = await manageService.stockapprovaltimeline({ + id: row.id, + flow_type: 'stock_orders' + }) + console.log(resstockapprovallogs) + const historyList = resstockapprovallogs + if (historyList.length > 0) { + approvalRecords.value = historyList.map((h: any) => ({ + name: h?.initiator_name ? h?.initiator_name : h?.name, + role: h?.status_desc, + time: h?.time || '', + approved: h?.status === 'approved' || h?.status === 'submitted', + rejected: h?.status === 'rejected', + pending: h?.status != 'approved' && h?.status != 'rejected' && h?.status != 'submitted', + comment: h?.comment || h?.remark || '' + })) + } + timelineDialogVisible.value = true + } function statusClass(status: any) { if (status === 'rejected') return 'status-lost' if (status === 'approved') return 'status-following' diff --git a/src/views/crmpc/vehicle/color.vue b/src/views/crmpc/vehicle/color.vue index faf9020..c2c80a4 100644 --- a/src/views/crmpc/vehicle/color.vue +++ b/src/views/crmpc/vehicle/color.vue @@ -55,7 +55,7 @@ @current-change="handleCurrentChange" >