jiayubo před 3 měsíci
rodič
revize
5e3bc387c1

+ 9 - 0
api/volunteerDetailsApi/details.js

@@ -73,6 +73,15 @@ export function volBusinessTypeList(params) {
   })
 }
 
+// 获取模糊搜索的数据
+export function volTierName(params) {
+  return request({
+    url: '/core/volunteer/info/list',
+    method: 'get',
+    params: params,
+  })
+}
+
 
 // 获取志愿者所有排班时间
 export function volunteergetTimesByDate(params) {

+ 3 - 4
pages/index.vue

@@ -298,10 +298,9 @@ onPageScroll(e => {
 
 onMounted(async () => {
 
-  try {
-    console.log("TCL:  uni.$u",)
-    getNotice()
-    const token = getToken();
+  console.log("TCL:  uni.$u",)
+  getNotice()
+  const token = getToken();
 
     const res_dara = await regionAddresstree()
     addresstree.value = res_dara.data

+ 71 - 227
pages_classify/pages/handle/index.vue

@@ -2,50 +2,45 @@
 <template>
   <view>
     <view class="order-detail">
-      <view class="service-info">
-        <PositioningMap :address="detaile.address" />
-      </view>
-      <view class="user-info order-card">
-        <view class="handle-user">
-          <view class="handle-user-left">
-            <img :src="detaile.avatar" alt=""
-              style="width: 96rpx; height: 96rpx; margin-right: 32rpx" />
-            <view class="handle-user-info">
-              <view class="user-name">{{ detaile.clientName }}</view>
-              <view class="user-id" style="display: flex">服务类别:{{ detaile.businessTireName }}</view>
-            </view>
-          </view>
-          <!-- <view class="user-phone" @click="onPhone(detaile.clientPhoneNumber)">
-            <up-icon name="phone" color="#fff" size="25"></up-icon>
-          </view> -->
-        </view>
+      <PositioningMap :address="detaile.address" />
+    </view>
 
-        <view class="handle-adress">
-          <up-icon name="map" color="rgba(156, 163, 175, 1)" size="20"></up-icon>
-          <view class="adress-text">{{ detaile.address }}</view>
-          <!-- <up-icon name="pushpin" color="rgba(221, 94, 69, 1)" size="25"></up-icon> -->
-        </view>
-        <view>
-          <view class="handle-remark">
-            <text class="remark-title">服务次数:{{detaile.singleQuantity }}次</text>
-          </view>
-          <view class="handle-remark">
-            <text class="remark-title">服务时间: {{ detaile.workDate + '  '+  detaile.workStartTime }}</text>
-          </view>
-        </view>
+    <view class="user-info">
+      <view class="handle-user-info">
+        <view class="user-name">下单时间:{{ detaile.createTime }}</view>
+        <view>上门时间:{{ detaile.workDate + ' ' + detaile.workStartTime }}</view>
+        <view>服务人员:{{ detaile.clientName }} 123123456</view>
+        <view class="user-id" style="display: flex">服务类别:{{ detaile.businessTireName }}</view>
+        <view class="adress-text">地址:{{ detaile.address }}</view>
         <view class="handle-remark">
           <view class="remark-title">备注</view>
           <view class="remark-text">{{ detaile.remark || '暂无备注' }}</view>
         </view>
+        <view class="footer-g">
+          <view class="handle-start" v-if="orderStatus && detaile.serviceStartTime && dateData">
+            服务已开始:<text class="handle-time">{{ dateData }}</text>
+          </view>
+          <Slide ref="verify" @change="change" :sliderText="slideData" :btnType="orderStatus ? 'upload' : 'start'" />
+        </view>
       </view>
+
     </view>
-    <view class="footer-g">
-      <view class="handle-start" v-if="orderStatus && detaile.serviceStartTime && dateData">
-        服务已开始:<text class="handle-time">{{ dateData }}</text>
+
+    <!-- <view class="handle-adress">
+      <up-icon name="map" color="rgba(156, 163, 175, 1)" size="20"></up-icon>
+    </view> -->
+    <!-- <view>
+      <view class="handle-remark">
+        <text class="remark-title">服务次数:{{ detaile.singleQuantity }}次</text>
       </view>
-      <Slide ref="verify" @change="change" :sliderText="slideData" :btnType="orderStatus ? 'upload' : 'start'" />
-    </view>
+      <view class="handle-remark">
+        <text class="remark-title">服务时间: {{ detaile.workDate + ' ' + detaile.workStartTime }}</text>
+      </view>
+    </view> -->
+
+
   </view>
+
 </template>
 
 <script setup>
@@ -81,7 +76,7 @@ const getCurrentLocation = () => {
     // 先检查用户是否授权了位置权限
     uni.getSetting({
       success: (res) => {
-				console.log("TCL: getCurrentLocation -> res", res)
+        console.log("TCL: getCurrentLocation -> res", res)
         // 已授权,直接获取位置
         getLocation(resolve, reject);
         // if (!res.authSetting['scope.getFuzzyLocation']) {
@@ -214,21 +209,21 @@ const change = async (e) => {
       // uni.showLoading({
       //   title: '获取位置信息...'
       // })
-      
+
       // 获取开始服务时的位置
       // const locationData = await getCurrentLocation().catch(err => {
       //   // uni.hideLoading()
       //   verify.value.initialization()
       //   throw new Error('无法获取位置信息,请确保已开启位置权限')
       // })
-    
-      const locationData =await getLatLong()
+
+      const locationData = await getLatLong()
       // 构建参数字符串
       const params = `secondOrderId=${secondOrderId.value}&serviceStartLongitude=${locationData.longitude.toString()}&serviceStartLatitude=${locationData.latitude.toString()}`
-      
+
       // 调用开始服务接口,通过URL查询参数传递位置信息
       const res = await getTimesByDate(params)
-      
+
       if (res.code === 200) {
         uni.showToast({
           title: '已开始服务',
@@ -250,13 +245,13 @@ const change = async (e) => {
       // uni.hideLoading()
     }
   }
-  
+
   if (e.state && orderStatus.value) {
     try {
       // uni.showLoading({
       //   title: '获取位置信息...'
       // })
- 
+
       uni.showToast({
         title: '操作成功',
         icon: 'success',
@@ -284,7 +279,7 @@ const change = async (e) => {
 onLoad((options) => {
   secondOrderId.value = options.secondOrderId
   getOrderDetail()
-  
+
   // // 初始检查位置权限
   // getCurrentLocation().then(location => {
   //   console.log('位置权限正常,可以获取位置');
@@ -309,190 +304,39 @@ onUnload(() => {
 })
 </script>
 <style lang="scss" scoped>
-.order-detail {
-  position: fixed;
-  top: 0;
+// .order-detail {
+//   position: fixed;
+//   top: 0;
+//   left: 0;
+//   right: 0;
+//   bottom: 280rpx;
+//   overflow-y: auto;
+// }
+.handle-user-info {
+  // display: flex;
+  // flex-direction: column;
+  // gap: 10rpx;
+  position: absolute;
+  top: 280;
   left: 0;
   right: 0;
-  bottom: 280rpx;
-  overflow-y: auto;
-
-  .service-info {
-    // height: 360px;
-  }
-  .order-card {
-    border-radius: 8px;
-    background: rgba(255, 255, 255, 1);
-    padding: 12px;
-    margin-bottom: 12px;
-  }
-
-  .font-title {
-    margin-bottom: 12px;
-  }
-
-  .user-box {
-    display: flex;
-
-    .user-img {
-      width: 65.8px;
-      height: 65.8px;
-      margin-right: 12px;
-    }
-  }
-
-  .register-box {
-    display: flex;
-    margin-bottom: 12px;
-
-    .register-img {
-      width: 90px;
-      height: 90px;
-      margin-right: 12px;
-    }
-  }
-
-  .info-list {
-    flex: 1;
-    font-size: 14px;
-    font-weight: 500;
-    letter-spacing: 0px;
-    line-height: 23.27px;
-    color: rgba(51, 51, 51, 1);
-  }
-
-  .price {
-    font-size: 18px;
-    font-weight: 500;
-    color: rgba(246, 74, 31, 1);
-
-    .price-yuan {
-      font-size: 13px;
-      font-weight: 700;
-      color: rgba(246, 74, 31, 1);
-    }
-  }
-
-  .upload-img {
-    height: 68px;
-    width: 68px;
-    margin-right: 12px;
-    margin-bottom: 12px;
-  }
-
-  .upload-box {
-    display: flex;
-    flex-wrap: wrap;
-
-    .upload-img-item {
-      position: relative;
-
-      .delete-icon {
-        position: absolute;
-        top: -7px;
-        right: 7px;
-        z-index: 1;
-      }
-    }
-  }
-
-  .phone {
-    color: #3c9cff;
-  }
-}
-
-.handle-user {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-
-  .handle-user-left {
-    display: flex;
-    align-items: center;
-
-    .handle-user-info {
-      .user-name {
-        font-size: 32rpx;
-        font-weight: 400;
-        color: rgba(17, 24, 39, 1);
-      }
-
-      .user-id {
-        font-size: 28rpx;
-        font-weight: 400;
-        color: rgba(107, 114, 128, 1);
-      }
-    }
-  }
-
-  .user-phone {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-
-    width: 80rpx;
-    height: 80rpx;
-    border-radius: 50%;
-    background: rgba(221, 94, 69, 1);
-  }
-}
-
-.handle-adress {
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  margin-top: 38rpx;
-
-  .adress-text {
-    flex: 1;
-    text-align: left;
-    padding-left: 24rpx;
-    font-size: 32rpx;
-    font-weight: 400;
-    color: rgba(75, 85, 99, 1);
-  }
-}
-
-.handle-remark {
-  margin-top: 30rpx;
-
-  .remark-title {
-    font-size: 28rpx;
-    font-weight: 400;
-    color: rgba(17, 24, 39, 1);
-    margin-bottom: 20rpx;
-  }
-
-  .remark-text {
-    border-radius: 16rpx;
-    background: rgba(249, 250, 251, 1);
-    padding: 32rpx;
-    font-size: 32rpx;
-    font-weight: 400;
-    color: rgba(75, 85, 99, 1);
-  }
-}
-
-.handle-start {
-  margin-bottom: 30rpx;
-  font-size: 32rpx;
-  font-weight: 400;
-  color: rgba(75, 85, 99, 1);
-  text-align: center;
-
-  .handle-time {
-    font-size: 32rpx;
-    font-weight: 400;
-    color: rgba(17, 24, 39, 1);
-  }
-}
-
-.footer-g {
-  padding: 12px;
-  position: absolute;
-  bottom: 18px;
-  left: 0px;
-  right: 0px;
-  background: rgba(255, 255, 255, 1);
+  bottom: 0;
+  background: red;
+  width: 750rpx;
+    height: 804rpx;
+    border-radius: 20rpx 20rpx 0rpx 0rpx;
+  // margin-left: 38rpx;
+  // margin-right: 36rpx;
+  // margin-top: 50rpx;
+  // > view {
+  //   padding-bottom: 16rpx;
+  //   border-bottom: 1px solid #f0f0f0;
+  //   margin-bottom: 16rpx;
+  //   font-size: 28rpx;
+  //   color: #333;
+  //   display: flex;
+  //   justify-content: flex-start;
+  //   align-items: center;
+  // }
 }
 </style>

+ 1 - 1
pages_home/pages/Volunteerside/detiles.vue

@@ -3,7 +3,7 @@
     <view>
       <view class="home-main">
         <view class="custom-swiper">
-          <up-swiper :list="list3" indicator indicatorMode="line" circular :height="'697rpx'" :indicatorStyle="{ bottom: '20px' }"></up-swiper>
+          <up-swiper :list="list3" indicator indicatorMode="line" circular :height="'697rpx'" :indicatorStyle="{ bottom: '60px' }"></up-swiper>
         </view>
       </view>
     </view>

+ 22 - 22
pages_home/pages/Volunteerside/goodsDetails.vue

@@ -135,12 +135,12 @@
       </view>
     </view>
 
-    <!-- 底部第一层弹框 -->
-    <view>
-      <up-popup :show="show" @close="close" @open="open"> </up-popup>
-      <up-popup :show="show" @open="upPopupOpen" :custom-style="popupStyle">
-        <scroll-view scroll-y class="popup-scroll-content">
-          <!-- <view>
+  <!-- 底部第一层弹框 -->
+  <view>
+    <up-popup :show="show" @close="close" @open="open"> </up-popup>
+    <up-popup :show="show" @open="upPopupOpen" :custom-style="popupStyle">
+      <scroll-view scroll-y class="popup-scroll-content">
+        <!-- <view>
             <view class="Wrapper">
               <image src="/static/img/Location.png" class="Wrapper-img" />
               <span class="Wrapper-content">李四</span>
@@ -235,17 +235,17 @@
         </up-cell-group>
       </view>
 
-      <view class="Wrap-Payment">
-        <!-- 支付金额 -->
-        <view class="payment-header">
-          <text class="payment-title">现在支付</text>
-          <text class="payment-amount">¥{{ computeMoney }}</text>
-        </view>
+    <view class="Wrap-Payment">
+      <!-- 支付金额 -->
+      <view class="payment-header">
+        <text class="payment-title">现在支付</text>
+        <text class="payment-amount">¥{{ computeMoney }}</text>
+      </view>
 
-        <up-line></up-line>
+      <up-line></up-line>
 
-        <!-- 钱包支付选项 -->
-        <view class="payment-option">
+      <!-- 钱包支付选项 -->
+      <!-- <view class="payment-option">
           <view class="option-left">
             <image src="/static/钱包.png" class="payment-icon"></image>
             <text class="option-text">钱包</text>
@@ -255,7 +255,7 @@
               :label="item.name" :name="item.name"></up-radio>
           </up-radio-group>
         </view>
-        <up-line></up-line>
+        <up-line></up-line> -->
 
         <!-- 微信支付选项 -->
         <view class="payment-option">
@@ -269,13 +269,13 @@
           </up-radio-group>
         </view>
 
-        <up-line></up-line>
+      <up-line></up-line>
 
-        <!-- 其他支付方式 -->
-        <view class="other-payment">
-          <text class="other-payment-text">其他方式支付</text>
-          <up-icon name="arrow-right" size="14" color="#1890ff"></up-icon>
-        </view>
+      <!-- 其他支付方式 -->
+      <view class="other-payment">
+        <text class="other-payment-text">其他方式支付</text>
+        <up-icon name="arrow-right" size="14" color="#1890ff"></up-icon>
+      </view>
 
         <!-- 条款说明 -->
         <view class="terms-of-service">

+ 6 - 56
pages_home/pages/search/index.vue

@@ -1,8 +1,8 @@
 <template>
   <view class="search-page">
     <!-- 搜索输入框 -->
-    <u-input placeholder="请输入搜索的服务" prefixIcon="search" v-model="value" class="rounded-input" @confirm="handleSearch"
-      clearable @clear="handleClear"></u-input>
+    <u-input placeholder="请输入搜索的服务" prefixIcon="search" v-model="value" class="rounded-input"
+      @confirm="handleSearch"></u-input>
     <!-- 历史记录 -->
     <view class="history-search">
       <view class="history-search-title">历史搜索</view>
@@ -11,11 +11,6 @@
         清空
       </view>
     </view>
-
-    <!-- tab -->
-    <view>
-      <up-tabs :list="list2"></up-tabs>
-    </view>
     <!-- 瀑布流展示区域 -->
     <view class="home-ranking">
       <ServIces :leftList="leftList" :rightList="rightList" :ValueZoneSwiper="ValueZoneSwiper" v-if="userType == 1">
@@ -32,7 +27,7 @@
 <script setup>
 import { ref, reactive, onMounted, watch } from 'vue'
 import { onShow, onReachBottom } from '@dcloudio/uni-app'
-import { volTierName, volBusinessTypeList } from '@/api/volunteerDetailsApi/details.js'
+import { volTierName } from '@/api/volunteerDetailsApi/details.js'
 import RankingList from '@/pages/common/rankingList/index.vue'
 import ServIces from '@/components/Services/services.vue'
 import store from '@/store'
@@ -43,9 +38,6 @@ const value = ref('')
 const rightList = ref([])
 const leftList = ref([])
 const ValueZoneSwiper = ref([''])
-
-const list2 = reactive([]);  
-
 // 用户类型
 const userType = uni.getStorageSync('userType') || 1; //读取本地存储
 // 添加搜索定时器引用
@@ -57,8 +49,7 @@ const pages = ref({
   pageSize: 10,
   total: 0,
   serviceCategory: '',
-  businessTierName: '', // 添加搜索关键词参数
-  businessManagementId: 0
+  businessTierName: '' // 添加搜索关键词参数
 })
 
 // 加载更多状态配置
@@ -114,7 +105,7 @@ const getList = async () => {
       serviceCategory: pages.value.serviceCategory || '',
       businessManagementId: 0,
       // API接口使用的模糊搜索参数
-      businessTierName: value.value, // 名称搜索参数
+      businessTierName: value.value, // 业务名称搜索参数
 
       // 地址相关参数
       provinceName: cityCode.data[0], // 省
@@ -127,40 +118,10 @@ const getList = async () => {
       longitude,
     }
 
-    const paramstyle = {
-      businessTierName: value.value, // 名称搜索参数
-      businessManagementId: 0,
-    }
-    console.log('businessManagementId 类型:', typeof params.businessManagementId);
-    console.log('businessManagementId 值:', params.businessManagementId);
-    console.log('paramstyle 对象:', paramstyle);
-    console.log('paramstyle中的businessManagementId:', paramstyle.businessManagementId);
-    // 调用API前的最终参数检查
-    console.log('发送前的最终参数(JSON):', JSON.stringify(params));
-    console.log('发送前的style参数(JSON):', JSON.stringify(paramstyle));
+    console.log('搜索参数:', params); // 添加日志查看参数
 
     // 调用API获取数据
     const res = await volTierName(params)
-    const res1 = await volBusinessTypeList(paramstyle)
-    if (res1 && res1.data) {
-      // 清空原有数据
-      list2.splice(0, list2.length)
-      
-      // 添加全部选项
-      list2.push({
-        name: '全部',
-        value: '0'
-      })
-      
-      // 转换API返回的数据为up-tabs需要的格式
-      res1.data.forEach(item => {
-        list2.push({
-          name: item.businessTierName,
-        })
-      })
-      
-      console.log('转换后的Tabs数据:', list2)
-    }
 
     if (!res || !res.rows) {
       return
@@ -234,17 +195,6 @@ watch(value, (newVal) => {
     getList()
   }, 500)
 })
-
-/**
- * 处理清除搜索内容
- */
-const handleClear = () => {
-  value.value = ''
-  // 重置页码
-  pages.value.current = 1
-  // 清空后显示全部数据
-  getList()
-}
 </script>
 
 <style scoped lang="scss">