Prechádzať zdrojové kódy

feat: 意向调查修改

TIANYONG 4 mesiacov pred
rodič
commit
fe15b9f5ce

+ 38 - 9
src/views/fill-questionnaire/index.tsx

@@ -27,7 +27,7 @@ import signupBtn from './images/signup_icon.png'
 import signSusIcon from './images/sign_icon.png'
 import subSusIcon from './images/subsus_icon.png'
 import doneIcon from './images/done_icon.png'
-import { api_sysAreaQueryAllProvince } from '@/views/school-register/api';
+import { api_sysAreaQueryAllProvince, api_queryTennatArea } from '@/views/school-register/api';
 import useAuthCode from '@/hooks/useAuthCode';
 
 export default defineComponent({
@@ -199,9 +199,28 @@ export default defineComponent({
       code: null as any,
       areaPopupIndex: null as any,
       customSearchText: '' as any,
+      tenantId: null as any, // 机构id
+      customQuestionE: null as any, // 自定义的题目标题
     })
 
     onMounted(async () => {
+      // 根据机构id获取省市区id
+      forms.tenantId = route.query.tenantId
+      if (sessionStorage.getItem('customQuestionE')) {
+        forms.customQuestionE = sessionStorage.getItem('customQuestionE')
+      }
+      const { data } = await api_queryTennatArea(forms.tenantId)
+      if (data && data.length) {
+        forms.provinceCode = data[0].provinceCode
+        forms.cityCode = data[0].cityCode
+        forms.districtCode = data[0].regionCode
+        /**
+         * 2025.02.28,修改为不需要选区域,直接选学校,之前的逻辑如果areaName存在,则不需要选区域,后续可能会放开,又需要选区域,所以先随便给areaName赋值
+         */
+        forms.areaName = '学校名称'
+        //getSchoolAreaList()
+      }
+      console.log(333,forms.provinceCode)
       queryDetail();
       getAreaList();
     });
@@ -239,10 +258,11 @@ export default defineComponent({
         const { data } = await request.get(
           '/edu-app/open/schoolMeetingQuestion/detail?openId=' + forms.openId
         );
-        console.log(12222,data)
+        if (!data) return;
         forms.provinceCode = data.provinceCode
         forms.cityCode = data.cityCode
         forms.districtCode = data.districtCode
+        console.log(12222,data,forms.provinceCode)
         // 回显省市区
         forms.areaPopupIndex = data.districtCode || data.cityCode || data.provinceCode
         forms.areaPopupIndex = forms.areaPopupIndex ? String(forms.areaPopupIndex) : null
@@ -573,12 +593,12 @@ export default defineComponent({
             <p>1. 学校</p>
             {
               forms.schoolName ?
-              <div class={[styles.valDone, forms.schoolName && styles.valDone2, (forms.schoolStatus||forms.showPicker) && styles.openVal]} onClick={() => {
+              <div class={[styles.valDone, (forms.schoolStatus||forms.showPicker) && styles.openVal]} onClick={() => {
                 forms.schoolStatus = true
                 getSchoolAreaList()
               }}>
                 {forms.schoolName && <span class={styles.vdSchool}>{forms.schoolName}</span>}
-                <span class={styles.vdArea}>{forms.areaName}</span>
+                {/* <span class={styles.vdArea}>{forms.areaName}</span> */}
                 <i></i>
               </div> :
               <div class={[styles.valDot, styles.grayText, (forms.schoolStatus||forms.showPicker) && styles.openVal]} onClick={openAreaPop}>请选择学校<i></i></div>
@@ -630,10 +650,19 @@ export default defineComponent({
           </div>
           <div class={styles.formItem}>
             {
-              route.query.meetingType === 'primarySchoolNo' || route.query.meetingType === 'juniorSchoolNo' ?
-              <p>6. 您是否愿意学生参加数字化转型<span>(注:以学生及家长自愿参加为原则。如愿意参加,家长需自行为学生准备好乐器和“器乐数字Ai”应用软件两项学习工具,市面上均有提供,大约300多元一年。学校不涉及任何收费行为。如不参加,学生按原有方式进行音乐课学习。)</span></p> :
-              <p>6. 您是否愿意学生参加数字化转型<span>(注:以学生及家长自愿参加为原则。如愿意参加,家长需自行为学生准备好“器乐数字Ai”应用软件,市面上均有提供,大约300多元一年,学校不涉及任何收费行为。如不参加,学生按原有方式进行器乐课程学习。)</span></p>
+              forms.customQuestionE ? 
+              <>
+                <div v-html={forms.customQuestionE}></div>
+              </> : 
+              <>
+                {
+                  route.query.meetingType === 'primarySchoolNo' || route.query.meetingType === 'juniorSchoolNo' ?
+                  <p>6. 您是否愿意学生参加数字化转型<span>(注:以学生及家长自愿参加为原则。如愿意参加,家长需自行为学生准备好乐器和“器乐数字Ai”应用软件两项学习工具,市面上均有提供,大约300多元一年。学校不涉及任何收费行为。如不参加,学生按原有方式进行音乐课学习。)</span></p> :
+                  <p>6. 您是否愿意学生参加数字化转型<span>(注:以学生及家长自愿参加为原则。如愿意参加,家长需自行为学生准备好“器乐数字Ai”应用软件,市面上均有提供,大约300多元一年,学校不涉及任何收费行为。如不参加,学生按原有方式进行器乐课程学习。)</span></p>
+                }
+              </>
             }
+
             <div class={styles.selectItem}>
               {
                 forms.willingList.map(item =>
@@ -821,9 +850,9 @@ export default defineComponent({
                 {{
                   'columns-top': (
                     <div class={styles.columnsTop}>
-                      <Cell border={false} clickable={false} title={forms.areaName || '请选择省市区'} isLink onClick={() => {
+                      {/* <Cell border={false} clickable={false} title={forms.areaName || '请选择省市区'} isLink onClick={() => {
                         forms.showPicker = true;
-                      }} />
+                      }} /> */}
                       <MSearch
                         placeholder="请输入学校名称"
                         onSearch={(val: any) => {

+ 14 - 6
src/views/intention-questionnaire/index.tsx

@@ -48,6 +48,7 @@ export default defineComponent({
         '<p style="text-align: left;"><strong style="font-size:15px; color: #0B8BFE;">三、开展原则</strong></p><p style="text-align: left;">本次活动面向全体学生,完全遵循学生自愿参加的原则。</p><p style="text-align: left;">1.若学生选择参加转型,家长需自行为学生准备好自用的乐器(硬件)和“器乐数字 Ai”应用(软件,用于联通学校音乐课堂)两项学习工具。</p><p style="text-align: left;">2.若学生不参加转型,可继续按原有方式进行音乐课学习。</p>',
       contentD:
         '<p style="text-align: left;"><strong style="font-size:15px; color: #0B8BFE;">五、事项说明</strong></p><p style="text-align: left;">1.学校不涉及任何费用收取。学生所需的自用工具在市面上均可购买到,家长可自行根据实际情况为学生准备。</p><p style="text-align: left;">2.如学生有参加数字化转型的意愿,但存在特殊或特困情况,可先向学校进行登记,学校将尽力寻求资源协助家长解决。</p><p style="text-align: left;">在您了解上述内容后,请点击下一步进行意见填写:</p>',
+      contentE: null as any,  
       introductionVideo: 'https://oss.dayaedu.com/ktyq/02/1739345029052.mp4',
       introductionVideoTime: 117,
       coverImg: 'https://oss.dayaedu.com/ktyq/02/1739362815061.png',
@@ -67,7 +68,8 @@ export default defineComponent({
         | 'juniorSchool'
         | any,
       intentionInfo: null as any,
-      contentShow: false
+      contentShow: false,
+      tenantId: null as any, // 机构id
     });
 
     const showPopup = ref(false);
@@ -82,6 +84,7 @@ export default defineComponent({
 
     onMounted(async () => {
       forms.meetingType = route.query.type || forms.meetingType;
+      forms.tenantId = route.query.id
       try {
         const openId = await authCode.getOpenId(
           getHttpOrigin() +
@@ -93,21 +96,25 @@ export default defineComponent({
               ...route.query
             })
         );
+        forms.openId = openId
         // 获取微信分享签名
         weChatShare.getAppSignature();
-        if (!browser().weixin || !openId) return;
+        // if (!browser().weixin || !openId) return;
         const { data } = await request.get(
           '/edu-app/open/meetingQuestionSetting/detail?type=' +
             forms.meetingType +
-            '&openId=' +
-            openId
+            '&tenantId=' + forms.tenantId
         );
         if (data) {
           forms.contentA = data.contentA || forms.contentA;
           forms.contentB = data.contentB || forms.contentB;
           forms.contentC = data.contentC || forms.contentC;
           forms.contentD = data.contentD || forms.contentD;
-          forms.openId = data.openId || forms.openId;
+          forms.contentE = data.contentE || null;
+          // 如果设置了题目名称,则存储,下一步页面需要用到
+          if (forms.contentE) {
+            sessionStorage.setItem('customQuestionE', forms.contentE)
+          }
         }
         forms.contentShow = true;
       } catch {
@@ -122,7 +129,8 @@ export default defineComponent({
         path: '/fill-questionnaire',
         query: {
           openId: forms.openId, //
-          meetingType: forms.meetingType
+          meetingType: forms.meetingType,
+          tenantId: forms.tenantId
         }
       });
     };

+ 6 - 0
src/views/school-register/api.ts

@@ -23,3 +23,9 @@ export const api_openSendSms = (params: any): Promise<any> => {
     requestType: 'form',
   });
 };
+
+
+/** 获取机构省市区id */
+export const api_queryTennatArea = (id: number | string): Promise<any> => {
+  return request.get(`/edu-app/open/tenantInfo/getArea?tenantId=${id}`);
+};