소스 검색

🎨 按要求修改点亮页

快乐的梦鱼 4 주 전
부모
커밋
4f7e02ea1d
4개의 변경된 파일32개의 추가작업 그리고 12개의 파일을 삭제
  1. 7 7
      src/pages/components/LightMap.vue
  2. 12 0
      src/pages/dig/admin/data/volunteer.ts
  3. 2 2
      src/pages/home/index.vue
  4. 11 3
      src/pages/home/light/submit.vue

+ 7 - 7
src/pages/components/LightMap.vue

@@ -148,16 +148,16 @@ const mapLoader = useSimpleDataLoader<MapMarker[]>(async () => {
 }, false, false, true);
 
 function onMarkerTap(e: any) {
-  if (props.isLightMode) {
-    emit('update:isLightMode', false);
-    navTo('/pages/home/light/submit', {
-      villageId: e.markerId,
-    });
-    return;
-  }
   const village = villageData.get(e.markerId);
   if (village) {
     uni.setStorageSync('VillageTemp', JSON.stringify(village));
+    if (props.isLightMode) {
+      emit('update:isLightMode', false);
+      navTo('/pages/home/light/submit', {
+        villageId: e.markerId,
+      });
+      return;
+    } 
     setTimeout(() => {
       navTo('/pages/home/light/details', { id: village.id });
     }, 200);

+ 12 - 0
src/pages/dig/admin/data/volunteer.ts

@@ -120,6 +120,18 @@ export function getVolunteerForm(options: {
             } as RadioValueProps,
             rules: [{ required: true, message: '请选择类型' }],
           },
+          {
+            label: '类型', name: 'residentStatus', type: 'radio-value',
+            additionalProps: {
+              options: [
+                { text: '在村劳作', value: 1 },
+                { text: '社区居民', value: 2 },
+                { text: '在外游子', value: 3 },
+                { text: '退休人员', value: 4 },
+              ]
+            } as RadioValueProps,
+            rules: [{ required: true, message: '请选择类型' }],
+          },
           { 
             label: '工作单位', name: 'unit', type: 'text', additionalProps: { placeholder: '请输入手机号' } ,
             rules: [{ required: true, message: '请输入手机号' }],

+ 2 - 2
src/pages/home/index.vue

@@ -117,7 +117,7 @@
         </FlexRow>
       </SimplePageContentLoader>
     </Box> -->
-    <Box title="精彩推荐" icon="https://mncdn.wenlvti.net/app_static/xiangyuan/images/home/icon-compass.png" showMore @moreClicked="$emit('goDiscover')">  
+    <!-- <Box title="精彩推荐" icon="https://mncdn.wenlvti.net/app_static/xiangyuan/images/home/icon-compass.png" showMore @moreClicked="$emit('goDiscover')">  
       <SimplePageContentLoader :loader="discoverLoader">
         <FlexCol :gap="25">
           <Touchable 
@@ -144,7 +144,7 @@
           </Touchable>
         </FlexCol>
       </SimplePageContentLoader>
-    </Box>
+    </Box> -->
     <Loadmore status="nomore" />
     <Height :height="150" />
   </FlexCol>

+ 11 - 3
src/pages/home/light/submit.vue

@@ -61,15 +61,15 @@ import DynamicForm from '@/components/dynamic/DynamicForm.vue';
 import { useAppInit } from '@/common/composeabe/AppInit';
 import { UserApi } from '@/api/auth/UserApi';
 import { useAuthStore } from '@/store/auth';
-import { back, redirectTo } from '@/components/utils/PageAction';
+import { back } from '@/components/utils/PageAction';
 import { closeToast, toast } from '@/components/dialog/CommonRoot';
 import { showError } from '@/common/composeabe/ErrorDisplay';
 import { useLoadQuerys } from '@/common/composeabe/LoadQuerys';
 import { onMounted, ref } from 'vue';
 import { getVolunteerForm } from '@/pages/dig/admin/data/volunteer';
-import VillageApi, { VolunteerInfo } from '@/api/inhert/VillageApi';
+import VillageApi, { VillageListItem, VolunteerInfo } from '@/api/inhert/VillageApi';
 import type { IDynamicFormOptions, IDynamicFormRef } from '@/components/dynamic';
-import { waitTimeOut } from '@imengyu/imengyu-utils';
+import { assertNotNull, waitTimeOut } from '@imengyu/imengyu-utils';
 
 /**
  * 分享注册页面
@@ -82,13 +82,16 @@ const { querys } = useLoadQuerys({
   villageId: 0,  
 });
 const step = ref<'register'|'finished'|'error'>('register');
+const village = ref<VillageListItem>();
 
 onMounted(async () => {
   if (!querys.value.villageId) {
     step.value = 'error';
     return;
   }
+  village.value = JSON.parse(uni.getStorageSync('VillageTemp') || '{}'),
   await waitTimeOut(1000);
+
   registerFormDefine.value = getVolunteerForm({
     canSetCatalog: false,
     villageId: querys.value.villageId,
@@ -96,6 +99,11 @@ onMounted(async () => {
     isNew: ref(true),
     formRef: registerFormRef,
   });
+
+  assertNotNull(village.value, '村落信息不存在');
+  
+  registerFormModel.value.regionId = village.value.region as number;
+  registerFormModel.value.unit = village.value.city! + village.value.district! + village.value?.township!;
 });
 
 async function loginWechat() {