mo 2 years ago
parent
commit
be2d0d1e62

+ 5 - 10
package-lock.json

@@ -11523,8 +11523,7 @@
       "version": "2.0.1",
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.0.1.tgz",
       "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.0.1.tgz",
       "integrity": "sha512-wtdMnGVvys9K8tg+DxowU1ytTrdVveXr3LzdhaKakysgGXyrsfaeds2cDywtvujEASjWOwWL/OgWM+qoeM8Plg==",
       "integrity": "sha512-wtdMnGVvys9K8tg+DxowU1ytTrdVveXr3LzdhaKakysgGXyrsfaeds2cDywtvujEASjWOwWL/OgWM+qoeM8Plg==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     },
     "@vitejs/plugin-vue-jsx": {
     "@vitejs/plugin-vue-jsx": {
       "version": "1.3.8",
       "version": "1.3.8",
@@ -11808,8 +11807,7 @@
       "version": "5.3.1",
       "version": "5.3.1",
       "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
       "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
       "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
       "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     },
     "aggregate-error": {
     "aggregate-error": {
       "version": "3.1.0",
       "version": "3.1.0",
@@ -15132,8 +15130,7 @@
       "version": "6.0.0",
       "version": "6.0.0",
       "resolved": "https://registry.npmmirror.com/postcss-pxtorem/-/postcss-pxtorem-6.0.0.tgz",
       "resolved": "https://registry.npmmirror.com/postcss-pxtorem/-/postcss-pxtorem-6.0.0.tgz",
       "integrity": "sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg==",
       "integrity": "sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     },
     "postcss-value-parser": {
     "postcss-value-parser": {
       "version": "4.2.0",
       "version": "4.2.0",
@@ -15334,8 +15331,7 @@
     "qrcode.vue": {
     "qrcode.vue": {
       "version": "3.3.3",
       "version": "3.3.3",
       "resolved": "https://registry.npmmirror.com/qrcode.vue/-/qrcode.vue-3.3.3.tgz",
       "resolved": "https://registry.npmmirror.com/qrcode.vue/-/qrcode.vue-3.3.3.tgz",
-      "integrity": "sha512-OsD4tQjIbxg/K6D5ZkWjBdYI9eg9K2i8qeYILdEAX5mdAydSAxV7xKmmZSP/hA12olLqEMZ9ryqDQrwa9jEMgw==",
-      "requires": {}
+      "integrity": "sha512-OsD4tQjIbxg/K6D5ZkWjBdYI9eg9K2i8qeYILdEAX5mdAydSAxV7xKmmZSP/hA12olLqEMZ9ryqDQrwa9jEMgw=="
     },
     },
     "qs": {
     "qs": {
       "version": "6.10.3",
       "version": "6.10.3",
@@ -16310,8 +16306,7 @@
     "vue-demi": {
     "vue-demi": {
       "version": "0.13.2",
       "version": "0.13.2",
       "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.2.tgz",
       "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.2.tgz",
-      "integrity": "sha512-41ukrclEbMddAyP7PvxMSYqnOSzPV6r7GNnyTSKSCNTaz19GehxmTiXyP9kwHSUv2+Dr6hHqiUiF7L1VAw2KdQ==",
-      "requires": {}
+      "integrity": "sha512-41ukrclEbMddAyP7PvxMSYqnOSzPV6r7GNnyTSKSCNTaz19GehxmTiXyP9kwHSUv2+Dr6hHqiUiF7L1VAw2KdQ=="
     },
     },
     "vue-echarts": {
     "vue-echarts": {
       "version": "6.2.3",
       "version": "6.2.3",

+ 11 - 0
src/constant/index.ts

@@ -75,6 +75,17 @@ export const attType = {
   LEAVE: '请假',
   LEAVE: '请假',
   TRUANCY: '旷课'
   TRUANCY: '旷课'
 }
 }
+// 老师考勤
+export const teacherAttType = {
+  NORMAL: '正常',
+  EXCEPTION: '异常',
+  EARLY: '早退',
+  LATE: '迟到',
+  LEAVE: '请假',
+  TRUANCY: '旷课',
+  NO_SIGN: '未签到',
+  LOCATION_EXCEPTION: '定位异常'
+}
 
 
 // 课程类型
 // 课程类型
 export const courseEmnu = {
 export const courseEmnu = {

+ 51 - 34
src/school/attendance/components/teacher-attendDetail.tsx

@@ -14,6 +14,7 @@ import { useRoute, useRouter } from 'vue-router'
 import { state as globalState } from '@/state'
 import { state as globalState } from '@/state'
 import request from '@/helpers/request'
 import request from '@/helpers/request'
 import { postMessage } from '@/helpers/native-message'
 import { postMessage } from '@/helpers/native-message'
+import { teacherAttType } from '@/constant/index'
 export default defineComponent({
 export default defineComponent({
   props: ['item'],
   props: ['item'],
   name: 'teacher-attendDetail',
   name: 'teacher-attendDetail',
@@ -86,7 +87,7 @@ export default defineComponent({
 
 
     const setAddress = async (myPoint: string) => {
     const setAddress = async (myPoint: string) => {
       if (!myPoint) {
       if (!myPoint) {
-        showToast('当前暂无定位')
+        // showToast('当前暂无定位')
         return
         return
       }
       }
 
 
@@ -179,7 +180,9 @@ export default defineComponent({
                   />
                   />
                 </div>
                 </div>
                 <p class={styles.signTime}>
                 <p class={styles.signTime}>
-                  {teacherAttInfo.value?.signInTime ? '签到时间' : ''}
+                  {teacherAttInfo.value?.signInTime
+                    ? teacherAttType[teacherAttInfo.value?.signInStatus]
+                    : ''}
 
 
                   {teacherAttInfo.value?.signInTime ? (
                   {teacherAttInfo.value?.signInTime ? (
                     <span>{dayjs(teacherAttInfo.value?.signInTime).format('HH:mm:ss')}</span>
                     <span>{dayjs(teacherAttInfo.value?.signInTime).format('HH:mm:ss')}</span>
@@ -214,21 +217,27 @@ export default defineComponent({
                     setAddress(teacherAttInfo.value.signInLongitudeLatitude)
                     setAddress(teacherAttInfo.value.signInLongitudeLatitude)
                   }}
                   }}
                 >
                 >
-                  <p>
-                    {teacherAttInfo.value?.signInLongitudeLatitudeStatus === 'NORMAL'
-                      ? '考勤范围内'
-                      : '考勤范围外'}
-                  </p>
-                  <p
-                    class={[
-                      styles.locP,
-                      teacherAttInfo.value?.signInLongitudeLatitudeStatus === 'NORMAL'
-                        ? styles.pass
-                        : styles.error
-                    ]}
-                  >
-                    查看定位 <Icon name="arrow" class={styles.arrow}></Icon>
-                  </p>
+                  {teacherAttInfo.value.signInLongitudeLatitude ? (
+                    <p>
+                      {teacherAttInfo.value?.signInLongitudeLatitudeStatus === 'NORMAL'
+                        ? '考勤范围内'
+                        : '考勤范围外'}
+                    </p>
+                  ) : (
+                    <p>暂无定位</p>
+                  )}
+                  {teacherAttInfo.value.signInLongitudeLatitude ? (
+                    <p
+                      class={[
+                        styles.locP,
+                        teacherAttInfo.value?.signInLongitudeLatitudeStatus === 'NORMAL'
+                          ? styles.pass
+                          : styles.error
+                      ]}
+                    >
+                      查看定位 <Icon name="arrow" class={styles.arrow}></Icon>
+                    </p>
+                  ) : null}
                 </div>
                 </div>
               </div>
               </div>
             </div>
             </div>
@@ -250,7 +259,9 @@ export default defineComponent({
                   />
                   />
                 </div>
                 </div>
                 <p class={styles.signTime}>
                 <p class={styles.signTime}>
-                  {teacherAttInfo.value?.signOutTime ? '签退时间' : ''}
+                  {teacherAttInfo.value?.signOutTime
+                    ? teacherAttType[teacherAttInfo.value?.signOutStatus]
+                    : ''}
 
 
                   {teacherAttInfo.value?.signOutTime ? (
                   {teacherAttInfo.value?.signOutTime ? (
                     <span>{dayjs(teacherAttInfo.value?.signOutTime).format('HH:mm:ss')}</span>
                     <span>{dayjs(teacherAttInfo.value?.signOutTime).format('HH:mm:ss')}</span>
@@ -285,22 +296,28 @@ export default defineComponent({
                     setAddress(teacherAttInfo.value.signOutLongitudeLatitude)
                     setAddress(teacherAttInfo.value.signOutLongitudeLatitude)
                   }}
                   }}
                 >
                 >
-                  <p>
-                    {' '}
-                    {teacherAttInfo.value?.signOutLongitudeLatitudeStatus === 'NORMAL'
-                      ? '考勤范围内'
-                      : '考勤范围外'}
-                  </p>
-                  <p
-                    class={[
-                      styles.locP,
-                      teacherAttInfo.value?.signOutLongitudeLatitudeStatus === 'NORMAL'
-                        ? styles.pass
-                        : styles.error
-                    ]}
-                  >
-                    查看定位 <Icon name="arrow" class={styles.arrow}></Icon>
-                  </p>
+                  {teacherAttInfo.value.signOutLongitudeLatitude ? (
+                    <>
+                      <p>
+                        {' '}
+                        {teacherAttInfo.value?.signOutLongitudeLatitudeStatus === 'NORMAL'
+                          ? '考勤范围内'
+                          : '考勤范围外'}
+                      </p>
+                      <p
+                        class={[
+                          styles.locP,
+                          teacherAttInfo.value?.signOutLongitudeLatitudeStatus === 'NORMAL'
+                            ? styles.pass
+                            : styles.error
+                        ]}
+                      >
+                        查看定位 <Icon name="arrow" class={styles.arrow}></Icon>
+                      </p>
+                    </>
+                  ) : (
+                    <p>暂无定位</p>
+                  )}
                 </div>
                 </div>
               </div>
               </div>
             </div>
             </div>

+ 1 - 1
src/school/school-detail/eidt-school.tsx

@@ -202,7 +202,7 @@ export default defineComponent({
                 label-align="top"
                 label-align="top"
                 v-model={forms.address}
                 v-model={forms.address}
                 maxlength={50}
                 maxlength={50}
-                placeholder="请选择地址"
+                placeholder="请选择学校地址"
                 disabled
                 disabled
                 onClick={() => setAddress()}
                 onClick={() => setAddress()}
               >
               >

+ 10 - 6
src/school/school-detail/index.tsx

@@ -11,7 +11,7 @@ import { state as globalState } from '@/state'
 import TeacherItem from './modals/teacher-item'
 import TeacherItem from './modals/teacher-item'
 import { schoolSystem } from '@/constant/index'
 import { schoolSystem } from '@/constant/index'
 import request from '@/helpers/request'
 import request from '@/helpers/request'
-
+import OEmpty from '@/components/o-empty'
 export default defineComponent({
 export default defineComponent({
   name: 'school-detail',
   name: 'school-detail',
   setup() {
   setup() {
@@ -130,11 +130,15 @@ export default defineComponent({
               <div class={styles.dot}></div>
               <div class={styles.dot}></div>
               <p>伴学指导</p>
               <p>伴学指导</p>
             </h2>
             </h2>
-            <div>
-              {state.list.map((item) => (
-                <TeacherItem item={item}></TeacherItem>
-              ))}
-            </div>
+            {state.list.length > 0 ? (
+              <div>
+                {state.list.map((item) => (
+                  <TeacherItem item={item}></TeacherItem>
+                ))}
+              </div>
+            ) : (
+              <OEmpty tips="暂无伴学指导" />
+            )}
           </div>
           </div>
         </div>
         </div>
       </>
       </>