diff --git a/.env.development b/.env.development index f34654e..935a2b1 100644 --- a/.env.development +++ b/.env.development @@ -1,12 +1,16 @@ #调用后台地址 -# 公司 -VITE_APP_BASE_URL = 'http://118.186.13.120:31302' +# 贝英斯公司 +# VITE_APP_BASE_URL = 'http://118.186.13.120:31302' # VITE_APP_BASE_URL = "http://192.168.236.71:31302" # VITE_APP_BASE_URL = "http://123.57.20.168:3000" -# 友晟外网 +# 友晟test外网 # VITE_APP_BASE_URL = 'https://app-test.718yousheng.com/app' -# 友晟内网 +# 友晟test内网 # VITE_APP_BASE_URL = 'https://appi-test.718yousheng.com/app' +# 友晟线上内网 +# VITE_APP_BASE_URL = 'https://appi.718yousheng.com/app' +# 友晟线上外网网 +VITE_APP_BASE_URL = 'https://app.718yousheng.com/app' diff --git a/.env.production b/.env.production index 6731db1..b9a031e 100644 --- a/.env.production +++ b/.env.production @@ -1,11 +1,16 @@ #调用后台地址 -# 公司 +# 贝英斯公司 # VITE_APP_BASE_URL = 'http://118.186.13.120:31302' # VITE_APP_BASE_URL = "http://192.168.236.71:31302" # VITE_APP_BASE_URL = "http://123.57.20.168:3000" -# 友晟外网 -VITE_APP_BASE_URL = 'https://app-test.718yousheng.com/app' -# 友晟内网 -# VITE_APP_BASE_URL = 'https://appi-test.718yousheng.com/app' \ No newline at end of file +# 友晟test外网 +# VITE_APP_BASE_URL = 'https://app-test.718yousheng.com/app' +# 友晟test内网 +# VITE_APP_BASE_URL = 'https://appi-test.718yousheng.com/app' + +# 友晟线上内网 +# VITE_APP_BASE_URL = 'https://appi.718yousheng.com/app' +# 友晟线上外网网 +VITE_APP_BASE_URL = 'https://app.718yousheng.com/app' \ No newline at end of file diff --git a/src/api/crm/activity/map.js b/src/api/crm/activity/map.js index fe0c710..22ad50c 100644 --- a/src/api/crm/activity/map.js +++ b/src/api/crm/activity/map.js @@ -10,6 +10,14 @@ export function addStartMap(data) { }); } +//出差打卡接口 +export function businessTripClockIn(data) { + return request.post({ + url: '/crm/app/appVisistMap/businessTripClockIn', + data + },{isTransformResponse:false}); +} + //新增地图开始打卡接口 export function addStartMapForClockIn(data) { return request.post({ diff --git a/src/components/closeableModal.vue b/src/components/closeableModal.vue new file mode 100644 index 0000000..adfe729 --- /dev/null +++ b/src/components/closeableModal.vue @@ -0,0 +1,176 @@ + + + + + + \ No newline at end of file diff --git a/src/constants/mapApiConstants.js b/src/constants/mapApiConstants.js new file mode 100644 index 0000000..8d3a254 --- /dev/null +++ b/src/constants/mapApiConstants.js @@ -0,0 +1,22 @@ +/** + * @description 定位API的配置 + * @type {{URL: string, token: string}} + */ +export const MapApiConfig = { + /** + * @description API接口地址 + */ + URL: 'https://tiles.geovisearth.com/geo/v1/geocode/regeo', + /** + * @description 接口鉴权Token + */ + token: '66c87c897f0251295afdc794e4fbf73046a070338a726fe04f06cece6cb1ffdf', + /** + * @description 打卡类型:西安办事处 + */ + XI_AN_BAN: {latitude: 34.1360, longitude: 108.9126, typeName: '西安办事处位置打卡'}, + /** + * @description 打卡类型:第三方维护 + */ + OTHER: {typeName: '第三方维护打卡'} +} \ No newline at end of file diff --git a/src/pages.json b/src/pages.json index d86b7d5..b0f497d 100644 --- a/src/pages.json +++ b/src/pages.json @@ -331,7 +331,8 @@ "path": "pages/business/CRM/plan/planView", //周计划查看 "style": { - "navigationBarTitleText": "" + "navigationBarTitleText": "", + "enablePullDownRefresh": true } }, { diff --git a/src/pages/business/CRM/customer/changeCustomerOwner.vue b/src/pages/business/CRM/customer/changeCustomerOwner.vue index feb555b..2964bce 100644 --- a/src/pages/business/CRM/customer/changeCustomerOwner.vue +++ b/src/pages/business/CRM/customer/changeCustomerOwner.vue @@ -24,7 +24,7 @@ - @@ -126,7 +126,7 @@ let list = ref([]); const upOption = ref({ page: {num: 0, size: 10}, noMoreSize: 5, - empty: { + empty: { tip: '~ 空空如也 ~', icon: "../../../../static/images/mescroll-empty.png" }, @@ -149,44 +149,31 @@ const mescrollInit = (mescroll) => { // 下拉刷新 const downCallback = async (mescroll) => { - try { - uni.showLoading(); - cssFlag.value = true; - setTimeout(async () => { - // 重置页码为第一页 - const res = await getList(1, mescroll.size || upOption.page.size); - list.value = res.list; - cssFlag.value = false; - // 正确传递 total 参数 - mescroll.endSuccess(res.list.length, res.total >= mescroll.size); - uni.hideLoading(); - - }, 500); - } catch (error) { - console.log(error) - mescroll.endErr(); - } + uni.showLoading(); + cssFlag.value = true; + setTimeout(async () => { + // 重置页码为第一页 + const res = await getList(1, mescroll.size || upOption.page.size); + cssFlag.value = false; + list.value = res.list; + // 正确传递 total 参数 + mescroll.endSuccess(res.list.length, res.total >= mescroll.size); + }, 500); } // 上拉加载更多 const upCallback = async (mescroll) => { - try { - uni.showLoading(); - setTimeout(async () => { - // 使用 mescroll 提供的页码和大小参数 - const res = await getList(mescroll.num, mescroll.size); - if (mescroll.num === 1) { - list.value = res.list; - } else { - list.value.push(...res.list); - } - // 正确判断是否还有更多数据 - mescroll.endSuccess(res.list.length, res.total >= mescroll.size); - uni.hideLoading(); - }, 500); - } catch (error) { - console.log(error) - mescroll.endErr(); - } + uni.showLoading(); + setTimeout(async () => { + // 使用 mescroll 提供的页码和大小参数 + const res = await getList(mescroll.num, mescroll.size); + if (mescroll.num === 1) { + list.value = res.list; + } else { + list.value.push(...res.list); + } + // 正确判断是否还有更多数据 + mescroll.endSuccess(res.list.length, res.total >= mescroll.size); + }, 500); } // 获取数据列表 @@ -197,12 +184,17 @@ const getList = (pageIndex, pageSize) => { pageSize, searchContent: searchValue.value } - - let res = await SearchForAllPerson(param); - resolve({ - list: res.rows, - total: res.total - }); + try { + let res = await SearchForAllPerson(param); + resolve({ + list: res.rows, + total: res.total + }); + } catch (e) { + console.log(e, '数据获取失败'); + } finally { + uni.hideLoading(); + } }); } @@ -303,41 +295,20 @@ let handleCopyInfo = (item) => { } - \ No newline at end of file diff --git a/src/pages/business/CRM/customer/components/customerUserEdit.vue b/src/pages/business/CRM/customer/components/customerUserEdit.vue index 1742605..624fce6 100644 --- a/src/pages/business/CRM/customer/components/customerUserEdit.vue +++ b/src/pages/business/CRM/customer/components/customerUserEdit.vue @@ -612,12 +612,11 @@ let submitForm = async () => { uni.showToast({ title: "更新成功" }) + const eventChannel = instance.getOpenerEventChannel(); + eventChannel.emit("refreshCusUserList"); setTimeout(()=>{ uni.navigateBack(); - const eventChannel = instance.getOpenerEventChannel(); - eventChannel.emit("refreshCusUserList"); },1000); - }else{ uni.showToast({ title: "操作失败", diff --git a/src/pages/business/CRM/customer/customerAudit.vue b/src/pages/business/CRM/customer/customerAudit.vue index 533fcf5..fbb1343 100644 --- a/src/pages/business/CRM/customer/customerAudit.vue +++ b/src/pages/business/CRM/customer/customerAudit.vue @@ -7,7 +7,13 @@ - + + @@ -17,12 +23,12 @@ - - - - + + + + - + { watch(searchValue, (newValue, oldValue) => { handleSearch() }) -let clearSearchValue = () => { - searchValue.value = ''; +// 排序图标 +const iconType = ref('arrow-up'); +let handleReSort = () => { + iconType.value = iconType.value === 'arrow-down' ? 'arrow-up' : 'arrow-down'; + list.value = list.value.reverse(); } + // 查询列表 let list = ref([]); const upOption = ref({ page: {num: 0, size: 10}, noMoreSize: 5, - empty: { + empty: { tip: '~ 空空如也 ~', - icon: "../../static/images/mescroll-empty.png" + icon: "../../../../static/images/mescroll-empty.png" }, textLoading: '加载中...', textNoMore: '已经到底了' @@ -133,10 +143,11 @@ const mescrollInit = (mescroll) => { // 下拉刷新 const downCallback = async (mescroll) => { - try { - uni.showLoading(); - cssFlag.value = true; - setTimeout(async () => { + + uni.showLoading(); + cssFlag.value = true; + setTimeout(async () => { + try { // 重置页码为第一页 const res = await getList(1, mescroll.size || upOption.page.size); @@ -144,17 +155,21 @@ const downCallback = async (mescroll) => { // 正确传递 total 参数 mescroll.endSuccess(res.list.length, res.total > (mescroll.size || upOption.page.size)); uni.hideLoading(); + + } catch (error) { + console.log(error) + mescroll.endErr(); + } finally { cssFlag.value = false; - }, 500); - } catch (error) { - console.log(error) - mescroll.endErr(); - } + } + }, 500); + } // 上拉加载更多 const upCallback = async (mescroll) => { - try { - setTimeout(async () => { + + setTimeout(async () => { + try { // 使用 mescroll 提供的页码和大小参数 const res = await getList(mescroll.num, mescroll.size); if (mescroll.num === 1) { @@ -165,11 +180,11 @@ const upCallback = async (mescroll) => { mescroll.endBySize(res.list.length, res.total); // 正确判断是否还有更多数据 mescroll.endSuccess(res.list.length, res.total > mescroll.num * mescroll.size); - }, 500); - } catch (error) { - console.log(error) - mescroll.endErr(); - } + } catch (error) { + mescroll.endErr(); + } + }, 500); + } // 获取数据列表 @@ -180,12 +195,17 @@ const getList = (pageIndex, pageSize) => { pageSize, searchContent: searchValue.value } - - let res = await getCusUserApprovalList(param); - resolve({ - list: res.rows, - total: res.total - }); + try { + let res = await getCusUserApprovalList(param); + resolve({ + list: res.rows, + total: res.total + }); + } catch (e) { + console.log(e, "客户人员审核任务列表获取失败"); + } finally { + uni.hideLoading(); + } }); } @@ -210,22 +230,17 @@ let handleDetail = (item) => { \ No newline at end of file diff --git a/src/pages/business/CRM/mainOwner/view/viewMainOwner.vue b/src/pages/business/CRM/mainOwner/view/viewMainOwner.vue index 621d22f..05b7093 100644 --- a/src/pages/business/CRM/mainOwner/view/viewMainOwner.vue +++ b/src/pages/business/CRM/mainOwner/view/viewMainOwner.vue @@ -1,19 +1,17 @@ +