From 0dcc3ce98341f8a15a17610d6eab9ebc514f1201 Mon Sep 17 00:00:00 2001
From: yyy <2605810609@qq.com>
Date: Tue, 11 Mar 2025 09:41:24 +0800
Subject: [PATCH] =?UTF-8?q?=E5=95=86=E6=9C=BA=E5=A2=9E=E5=8A=A0=E8=BD=AC?=
=?UTF-8?q?=E7=A7=BB=E5=95=86=E6=9C=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/business.js | 6 +
components/ba-tree-picker/ba-tree-picker.vue | 12 +-
components/transfer/transfer.vue | 261 +++++++++---------
.../pages/business/businessDetails.vue | 46 ++-
pages/components/pages/contract/index.vue | 2 +-
.../pages/customer/customerDetails.vue | 3 +-
6 files changed, 179 insertions(+), 151 deletions(-)
diff --git a/api/business.js b/api/business.js
index d56d96a..66ddf50 100644
--- a/api/business.js
+++ b/api/business.js
@@ -55,4 +55,10 @@ export function getStoreProductInfo(data) {
return api.get(`/product/store-product/info/${data.id}`, data, {
login: false
})
+}
+
+export function transferBusiness(data) {
+ return api.post('/crm/business/transfer', data, {
+ login: false
+ })
}
\ No newline at end of file
diff --git a/components/ba-tree-picker/ba-tree-picker.vue b/components/ba-tree-picker/ba-tree-picker.vue
index c890000..9ca98e3 100644
--- a/components/ba-tree-picker/ba-tree-picker.vue
+++ b/components/ba-tree-picker/ba-tree-picker.vue
@@ -29,8 +29,8 @@
-
-
+
{{item.name+(item.childCount?"("+item.childCount+")":'')}}
@@ -443,8 +443,8 @@
}
.tree-view {
+ padding: 20rpx 20rpx 20rpx 0;
flex: 1;
- padding: 20rpx;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
@@ -509,8 +509,10 @@
.item-icon {
display: flex;
align-items: center;
- justify-content: center;
- width: 40rpx;
+ justify-content: flex-end;
+ width: 80rpx;
+ height: 60rpx;
+ padding-right: 18rpx;
}
.item-label {
diff --git a/components/transfer/transfer.vue b/components/transfer/transfer.vue
index e6cb83e..4a2659b 100644
--- a/components/transfer/transfer.vue
+++ b/components/transfer/transfer.vue
@@ -1,16 +1,13 @@
-
+
-
+
-
+
-
+
- 取消
+ 取消
- 转移
+ 转移
@@ -39,138 +36,128 @@
+
\ No newline at end of file
diff --git a/pages/components/pages/business/businessDetails.vue b/pages/components/pages/business/businessDetails.vue
index f8cbd65..7cc7e98 100644
--- a/pages/components/pages/business/businessDetails.vue
+++ b/pages/components/pages/business/businessDetails.vue
@@ -109,6 +109,9 @@
跟进
+
+
@@ -128,17 +131,21 @@
getCustomer,
getCustomerDoOpen,
getRecordPage,
- delCustomer
+ delCustomer,
+ getUserTreeList
} from '@/api/customer'
import {
getBusiness,
getBusinessProductListByBusinessId,
- delBusiness
+ delBusiness,
+ transferBusiness
} from '@/api/business'
import {
formatDateTime,
prePage
} from '@/utils/util'
+ import baTreePicker from "@/components/ba-tree-picker/ba-tree-picker.vue"
+
const title = ref('商机详情')
const businessId = ref(0)
const business = ref({
@@ -160,13 +167,16 @@
icon: 'edit-pen',
show: true,
},
-
+ {
+ text: '转移商机',
+ icon: 'reload',
+ show: true,
+ },
{
text: '删除商机',
icon: 'trash',
show: true,
}
-
])
const recordList = ref([])
const productList = ref([])
@@ -199,12 +209,32 @@
})
onLoad((e) => {
- console.log('e:', e)
businessId.value = e.id
- console.log('businessId.value:', businessId.value)
getData()
+ getUserList()
})
+ // 树形选人员
+ const userTreeList = ref([])
+ const getUserList = () => {
+ getUserTreeList().then(res => {
+ userTreeList.value = res
+ })
+ }
+ const treePickerRef = ref()
+ const userSelectChange = async (userIds) => {
+ let data = await transferBusiness({
+ businessIds: [businessId.value],
+ ownerAdminIds: userIds
+ })
+ moreShowClose()
+ uni.showToast({
+ title: '操作成功',
+ icon: 'success',
+ duration: 2000
+ })
+ }
+
onShow(() => {
getData()
switch (current.value) {
@@ -266,6 +296,10 @@
url: '/pages/components/pages/business/add?id=' + business.value.id + '&type=edit'
});
break;
+ case "转移商机":
+ moreShowClose()
+ treePickerRef.value._show()
+ break;
case "删除商机":
unref(moreShowRef).close()
uni.showModal({
diff --git a/pages/components/pages/contract/index.vue b/pages/components/pages/contract/index.vue
index e050444..6624074 100644
--- a/pages/components/pages/contract/index.vue
+++ b/pages/components/pages/contract/index.vue
@@ -84,7 +84,7 @@
const oldScrollTop = ref(0)
const scrollTop = ref(-1)
const dataList = ref([])
- const relation = ref(true)
+ const relation = ref('my')
const list = ref(
[{
name: '我的回款',
diff --git a/pages/components/pages/customer/customerDetails.vue b/pages/components/pages/customer/customerDetails.vue
index d39a60a..2b0f5b1 100644
--- a/pages/components/pages/customer/customerDetails.vue
+++ b/pages/components/pages/customer/customerDetails.vue
@@ -287,7 +287,7 @@
},
{
text: '转移客户',
- icon: 'share',
+ icon: 'reload',
show: true,
},
{
@@ -404,7 +404,6 @@
})
const purchaseTotalFormat = computed(() => {
- console.log('')
if (customer.value.purchaseTotal) {
let num;
if (customer.value.purchaseTotal > 9999) {