mo 2 سال پیش
والد
کامیت
09672806f7

+ 49 - 5
src/school/attendance/components/teacher-attendDetail.tsx

@@ -22,6 +22,7 @@ export default defineComponent({
     const gotoStudentDetail = () => {
       // router.push({ path: '/student-att-day', query: { time: teacherAttInfo.value.time } })
     }
+    const attendanceScope = ref(0)
     const teacherAttInfo = ref({} as any)
     const platformApi = ref(globalState.platformApi)
     const showContact = ref(false)
@@ -52,7 +53,7 @@ export default defineComponent({
         await postMessage({
           api: 'callPhone',
           content: {
-            phone: teacherAttInfo.value.phone
+            phone: teacherAttInfo.value.teacherPhone
           }
         })
         closeSheet()
@@ -68,6 +69,11 @@ export default defineComponent({
           {}
         )
         teacherAttInfo.value = res.data
+        res.data.sysParamConfigs.forEach((item: any) => {
+          if (item.paramName == 'scope_of_attendance') {
+            attendanceScope.value = item.paramValue
+          }
+        })
       } catch (e) {
         console.log(e)
       }
@@ -75,6 +81,23 @@ export default defineComponent({
     onMounted(() => {
       getCourseAtt()
     })
+
+    const setAddress = async (myPoint: string) => {
+      console.log(myPoint, attendanceScope.value)
+      try {
+        await postMessage({
+          api: 'getAppAuth',
+          content: {
+            type: 'getPoint',
+            orginPoint: teacherAttInfo.value.addressLongitudeLatitude,
+            myPoint,
+            limitDistance: attendanceScope.value
+          }
+        })
+      } catch (e) {
+        console.log(e)
+      }
+    }
     return () => (
       <>
         <OHeader></OHeader>
@@ -170,8 +193,15 @@ export default defineComponent({
                   />
                 </div>
                 <div class={styles.attRang}>
-                  <p>考勤范围内</p>
+                  <p>
+                    {teacherAttInfo.value?.signInLongitudeLatitudeStatus === 'NORMAL'
+                      ? '考勤范围内'
+                      : '考勤范围外'}
+                  </p>
                   <p
+                    onClick={() => {
+                      setAddress(teacherAttInfo.value.signInLongitudeLatitude)
+                    }}
                     class={[
                       styles.locP,
                       teacherAttInfo.value?.signInLongitudeLatitudeStatus === 'NORMAL'
@@ -213,20 +243,34 @@ export default defineComponent({
             </div>
             <div
               class={
-                teacherAttInfo.value?.signOutStatus === 'NORMAL' ? styles.passWrap : styles.goWrap
+                teacherAttInfo.value?.signOutLongitudeLatitudeStatus === 'NORMAL'
+                  ? styles.passWrap
+                  : styles.goWrap
               }
             >
               <div class={styles.attInfoDot}>
                 <div class={styles.attInfoDotTitle}>
                   <span>签退定位</span>
                   <img
-                    src={teacherAttInfo.value?.signOutStatus === 'NORMAL' ? successIcon : errorIcon}
+                    src={
+                      teacherAttInfo.value?.signOutLongitudeLatitudeStatus === 'NORMAL'
+                        ? successIcon
+                        : errorIcon
+                    }
                     alt=""
                   />
                 </div>
                 <div class={styles.attRang}>
-                  <p>考勤范围内</p>
+                  <p>
+                    {' '}
+                    {teacherAttInfo.value?.signInLongitudeLatitudeStatus === 'NORMAL'
+                      ? '考勤范围内'
+                      : '考勤范围外'}
+                  </p>
                   <p
+                    onClick={() => {
+                      setAddress(teacherAttInfo.value.signOutLongitudeLatitude)
+                    }}
                     class={[
                       styles.locP,
                       teacherAttInfo.value?.signInLongitudeLatitudeStatus === 'NORMAL'

+ 30 - 6
src/school/school-detail/eidt-school.tsx

@@ -10,7 +10,7 @@ import locIcon from './images/loc-icon.png'
 import request from '@/helpers/request'
 import { areas } from '@/helpers/area'
 import OUpload from '@/components/o-upload'
-
+import { postMessage } from '@/helpers/native-message'
 export default defineComponent({
   name: 'school-detail',
   setup() {
@@ -26,7 +26,8 @@ export default defineComponent({
       address: '',
       logo: '',
       email: '',
-      emergencyContact: ''
+      emergencyContact: '',
+      addressLongitudeLatitude: ''
     })
     const schoolImageRef = ref()
     console.log(schoolImageRef.value)
@@ -41,10 +42,11 @@ export default defineComponent({
         state.info = data
         state.showProvince = data.provinceName + data.cityName
 
-        forms.address = data.address
         forms.logo = data.logo
         forms.email = data.email
-        forms.emergencyContact = data.emergencyContact
+        ;(forms.emergencyContact = data.emergencyContact),
+          (forms.addressLongitudeLatitude = data.addressLongitudeLatitude)
+        forms.address = data.address
       } catch (e: any) {
         showToast(e.message)
       }
@@ -114,13 +116,29 @@ export default defineComponent({
       })
       state.columns = tempareas || []
     })
+    const setAddress = async () => {
+      try {
+        await postMessage(
+          {
+            api: 'getAppAuth',
+            content: { type: 'setPoint', orginPoint: forms.addressLongitudeLatitude }
+          },
+          (data: any) => {
+            forms.addressLongitudeLatitude = data.content.nowPoint
+            forms.address = data.content.address
+          }
+        )
+      } catch (e) {
+        console.log(e)
+      }
+    }
     return () => (
       <>
         <div class={styles.schoolEidtWrap}>
           <OHeader></OHeader>
           <div class={styles.eidtWrap}>
             <CellGroup inset>
-              <div class={styles.schoolWrap} onClick={setSchoolIcon}>
+              <div class={styles.schoolDtailWrap} onClick={setSchoolIcon}>
                 <Image
                   width={50}
                   height={50}
@@ -153,10 +171,16 @@ export default defineComponent({
                 v-model={forms.address}
                 maxlength={50}
                 placeholder="请选择地址"
+                type="textarea"
                 disabled
+                onClick={() => setAddress()}
               >
                 {{
-                  extra: () => <Image width={19} height={18} src={locIcon}></Image>,
+                  extra: () => (
+                    <div class={styles.loctionIconWrap}>
+                      <Image width={19} height={18} src={locIcon}></Image>
+                    </div>
+                  ),
                   label: () => <p class={styles.addP}>地址</p>
                 }}
               </Field>

+ 5 - 2
src/school/school-detail/index.module.less

@@ -1,3 +1,4 @@
+// @img: '@/school/images';
 .schoolWrap {
   position: relative;
   .schoolBg {
@@ -122,7 +123,7 @@
   color: #333333;
   line-height: 22px;
 }
-.schoolWrap {
+.schoolDtailWrap {
   padding: 14px 12px;
   display: flex;
   flex-direction: row;
@@ -146,5 +147,7 @@
 }
 
 .upload {
-  visibility: hidden;
+  position: absolute;
+  top: -9999px;
+  left: -9999px;
 }

+ 2 - 3
src/school/school-detail/index.tsx

@@ -68,18 +68,16 @@ export default defineComponent({
     })
     const getHeight = (dataHeight: number) => {
       state.heightV = dataHeight
-      console.log(dataHeight, 'dataHeight')
     }
     const handleScroll = () => {
       const scrollTop =
         window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
       state.scrollTop = scrollTop
+      console.log(state.heightV, 'dataHeight', state.scrollTop, ' state.scrollTop')
     }
     return () => (
       <>
         <div class={styles.schoolWrap}>
-          <img src={schoolBg} class={styles.schoolBg} alt="" />
-
           <OSticky onGetHeight={getHeight}>
             <OHeader
               border={false}
@@ -92,6 +90,7 @@ export default defineComponent({
               }}
             </OHeader>
           </OSticky>
+          <img src={schoolBg} class={styles.schoolBg} alt="" />
           <div class={styles.absWrap}>
             <div class={styles.schoolMainTitle}>
               <div class={styles.schoolMainLeft}>