From f4b0199ef86e133fccbaf86c530438ec89ea6c63 Mon Sep 17 00:00:00 2001
From: dj <1042039504@qq.com>
Date: Sat, 7 Dec 2024 21:32:12 +0800
Subject: [PATCH] =?UTF-8?q?feat(address-book):=20=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E9=80=9A=E8=AE=AF=E5=BD=95=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components.d.ts | 2 +
src/api/address-book/index.js | 22 ++++
src/components/ImportExcel.vue | 105 ++++++++++++++++
.../address-book-management/index.vue | 113 ++++++++++++------
4 files changed, 208 insertions(+), 34 deletions(-)
create mode 100644 src/components/ImportExcel.vue
diff --git a/components.d.ts b/components.d.ts
index 8af693e..902d677 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -52,6 +52,7 @@ declare module '@vue/runtime-core' {
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']
FvCheckbox: typeof import('./src/fvcomponents/fvCheckbox/index.vue')['default']
FvForm: typeof import('./src/fvcomponents/fvForm/index.vue')['default']
FvFormDialog: typeof import('./src/fvcomponents/fvFormDialog/index.vue')['default']
@@ -68,6 +69,7 @@ declare module '@vue/runtime-core' {
IconSelect: typeof import('./src/components/iconSelect/index.vue')['default']
IconSupport: typeof import('./src/components/icons/IconSupport.vue')['default']
IconTooling: typeof import('./src/components/icons/IconTooling.vue')['default']
+ ImportExcel: typeof import('./src/components/ImportExcel.vue')['default']
InfoLiveCall: typeof import('./src/components/infoLiveCall/index.vue')['default']
LiveCall: typeof import('./src/components/liveCall/index.vue')['default']
LiveCallItem: typeof import('./src/components/liveCall/LiveCallItem.vue')['default']
diff --git a/src/api/address-book/index.js b/src/api/address-book/index.js
index c17fac9..3ce061a 100644
--- a/src/api/address-book/index.js
+++ b/src/api/address-book/index.js
@@ -1,4 +1,6 @@
import request from '@/utils/request.js'
+import axios from "axios";
+import {getToken} from "@/utils/auth";
export const addContact = (data) => {
return request({
@@ -28,3 +30,23 @@ export const deleteContact = (contactIds) => {
method: 'delete'
})
}
+
+export const importContact = (data) => {
+ return request({
+ url: '/contact/import',
+ method: 'post',
+ data
+ })
+}
+
+export const exportContact = (data) => {
+ return axios.post(
+ `${import.meta.env.VITE_BASE_URL}/contact/export`,data,
+ {
+ responseType: 'blob',
+ headers: {
+ Authorization: getToken()
+ }
+ }
+ );
+}
\ No newline at end of file
diff --git a/src/components/ImportExcel.vue b/src/components/ImportExcel.vue
new file mode 100644
index 0000000..0c80ad8
--- /dev/null
+++ b/src/components/ImportExcel.vue
@@ -0,0 +1,105 @@
+
+
+ 导入
+
+
+
+
+
+
diff --git a/src/views/phone-traffic-management/address-book-management/index.vue b/src/views/phone-traffic-management/address-book-management/index.vue
index 656efc4..41b4992 100644
--- a/src/views/phone-traffic-management/address-book-management/index.vue
+++ b/src/views/phone-traffic-management/address-book-management/index.vue
@@ -1,19 +1,27 @@
-
-
-
+
+ 新增
+
+ 导出
+ 删除
+
+
+
+
+