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 @@ + \ 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) {