chenjj преди 1 месец
родител
ревизия
1c05018d68
променени са 5 файла, в които са добавени 71 реда и са изтрити 29 реда
  1. 1 1
      pages.json
  2. 23 19
      pages/Client/new_file.vue
  3. 1 1
      pages/index.vue
  4. 36 6
      pages_home/pages/details/index.vue
  5. 10 2
      pages_home/pages/register/data.js

+ 1 - 1
pages.json

@@ -76,7 +76,7 @@
 				{
 					"path": "client/details",
 					"style": {
-						"navigationBarTitleText": "家庭辅导"
+						"navigationBarTitleText": "孩子陪护"
 					}
 				},
 				{

+ 23 - 19
pages/Client/new_file.vue

@@ -24,9 +24,9 @@
 					<up-grid-item v-for="(item, index) in serviceList2" :key="index" :custom-style="custmoStyle">
 						<view class="grid-box">
 							<!-- 图标 -->
-						<view class="grid-icon">
-							<image :src="item.icon" class="service-img" mode="aspectFit" />
-						</view>
+							<view class="grid-icon">
+								<image :src="item.icon" class="service-img" mode="aspectFit" />
+							</view>
 
 							<!-- 文本 -->
 							<text class="grid-text">{{ item.name }}</text>
@@ -90,7 +90,7 @@ const custmoStyle = {
 // 普通用户
 const serviceList1 = ref([{
 	icon: '/static/img/统一知识平台-营运@1x.png',
-	name: '家庭辅导',
+	name: '孩子陪护',
 	key: 1,
 },
 {
@@ -127,7 +127,7 @@ const serviceList1 = ref([{
 //志愿者
 const serviceList2 = ref([{
 	icon: '/static/serverImg/home/icon/icon4.png',
-	name: '家庭辅导',
+	name: '孩子陪护',
 	key: 2,
 },
 {
@@ -191,11 +191,11 @@ const handleGridClick = async (index) => {
 	// 志愿者
 	if (userType == 2 && uToastRef.value) {
 		// pages_home/pages
-	
+
 		const data = serviceList2.value[index]
 		if (data.key !== 7) {
 			const res = await getVolunteerInfo({ serviceCategory: data.key });
-			if(res.code === 200 && res.data){
+			if (res.code === 200 && res.data) {
 				//已有注册,跳转详情页面
 				uni.navigateTo({
 					url: `/pages_home/pages/details/index?data=${encodeURIComponent(JSON.stringify(data))}`
@@ -211,7 +211,7 @@ const handleGridClick = async (index) => {
 			return;
 		}
 		init();
-		calendar.value.open();
+
 	}
 };
 
@@ -294,16 +294,20 @@ const close = () => {
 const init = () => {
 	getDataTime().then(res => {
 		console.log('res', res);
-		selected.value = res.data.map(item => {
-			return {
-				date: item.workDate,
-				info: `${item.workStartTime}~${item.workEndTime}`,
-				time: {
-					startTime: item.workStartTime,
-					endTime: item.workEndTime
+		if (res.code === 200) {
+			selected.value = res.data.map(item => {
+				return {
+					date: item.workDate,
+					info: `${item.workStartTime}~${item.workEndTime}`,
+					time: {
+						startTime: item.workStartTime,
+						endTime: item.workEndTime
+					}
 				}
-			}
-		})
+			})
+			calendar.value.open();
+		}
+
 
 	})
 }
@@ -343,6 +347,7 @@ onMounted(() => {
 	flex-direction: column;
 	margin-bottom: 48rpx;
 }
+
 .grid-icon {
 	width: 96rpx;
 	height: 96rpx;
@@ -353,10 +358,9 @@ onMounted(() => {
 	align-items: center;
 	justify-content: center;
 }
+
 .service-img {
 	width: 48rpx;
 	height: 48rpx;
 }
-
-
 </style>

+ 1 - 1
pages/index.vue

@@ -42,7 +42,7 @@ import {
 	Client
 } from "@/pages/Client/new_file.vue"
 const data = reactive({
-	address: '北京市朝阳区',
+	address: '重庆市永川区',
 	queryValue: ''
 })
 const userType = uni.getStorageSync('userType') //读取本地存储

+ 36 - 6
pages_home/pages/details/index.vue

@@ -51,7 +51,7 @@
 
         </view>
 
-
+        <Picker :columnData="options" ref="pickerRef" />
     </view>
 </template>
 
@@ -59,10 +59,12 @@
 import { ref, reactive, onMounted, nextTick, computed } from 'vue';
 import { onLoad } from '@dcloudio/uni-app';
 import { add, getVolunteerInfo } from "@/api/volunteer";
-
-
+import Picker from '@/components/picker/index.vue'
+import { getTreeList } from '@/api/volunteer'
 const details = ref({});
 const data =ref({});
+const options = ref([])
+const pickerRef = ref(null);
 
 const list = [
     {
@@ -128,18 +130,46 @@ const statusData = computed(() => {
 
 })
 
+function idToIndexs(array, targetId, path = []) {
+    for (let i = 0; i < array.length; i++) {
+        const item = array[i];
+        const currentPath = path.concat(i);
+
+        if (item.id === targetId) {
+            return item.businessTierName
+        }
+
+        if (item.children) {
+            const result = idToIndexs(item.children, targetId, currentPath);
+            if (result) {
+                return result;
+            }
+        }
+    }
+
+    return null; // 如果没有找到对应的项,返回 null
+}
 async function getRegister() {
 
     try {
         uni.showLoading({
             title: '数据加载中...'
         });
+        const op_res = await getTreeList({ parentId: data.value.key });
         const res = await getVolunteerInfo({ serviceCategory: data.value.key });
-        console.log('res',res);
-        
         if (res.data) {
-            details.value = res.data;
+            const names =  idToIndexs(op_res.data,res.data.businessManagementId + '')
+            console.log('res',res,names);
+            details.value = {
+                ...res.data,
+                businessManagementId: names
+            };
+        
         }
+
+        getTreeList({ parentId: data.value.key }).then(res => {
+            options.value = res.data;
+         })
     } catch (error) {
         console.log('error', error);
         uni.showToast({

+ 10 - 2
pages_home/pages/register/data.js

@@ -131,7 +131,15 @@ const chatting = [
         type: "cascader",
         cascaderKey:'0',
         rules: rules.businessManagementId,
-        required:true
+        required:true,
+        apifun: ()=>{
+            return new Promise((resolve, reject) => {
+                getTreeList({ parentId: "1" }).then(res => {
+                    resolve(res.data)
+                })
+            })
+        },
+        optionKey:'businessManagementOption'
     },
     {
         label: "地区",
@@ -157,7 +165,7 @@ const chatting = [
     },
 ]
 
-//家庭辅导(教育)2
+//孩子陪护(教育)2
 const education = [
     {
         label: "姓名",