lex hace 2 años
padre
commit
d6652e77c0

BIN
src/common/images/icon-video-c.png


BIN
src/common/images/icon-video-r.png


+ 4 - 0
src/components/m-uploader/index.tsx

@@ -13,6 +13,7 @@ import { postMessage } from '@/helpers/native-message';
 import umiRequest from 'umi-request';
 import iconUploader from '@common/images/icon-upload.png';
 // import iconUploadClose from '@common/images/icon-upload-close.png';
+import iconVideoDefault from '@common/images/icon-video-c.png';
 import request from '@/helpers/request';
 import { getOssUploadUrl } from '@/state';
 
@@ -250,6 +251,7 @@ export default defineComponent({
                     ref="videoUpload"
                     style={{ backgroundColor: '#F8F8F8' }}
                     class={styles.previewImg}
+                    poster={iconVideoDefault}
                     src={item + '#t=1,4'}
                   />
                 )}
@@ -299,6 +301,7 @@ export default defineComponent({
                           ref="videoUpload"
                           class={styles.uploadImg}
                           style={{ backgroundColor: '#F8F8F8' }}
+                          poster={iconVideoDefault}
                           src={item + '#t=1,4'}
                         />
                       )}
@@ -362,6 +365,7 @@ export default defineComponent({
                         ref="videoUpload"
                         class={styles.uploadImg}
                         style={{ backgroundColor: '#F8F8F8' }}
+                        poster={iconVideoDefault}
                         src={item + '#t=1,4'}
                       />
                     )}

+ 4 - 0
src/components/m-uploader/inside.tsx

@@ -13,6 +13,7 @@ import { postMessage } from '@/helpers/native-message';
 import umiRequest from 'umi-request';
 import iconUploader from '@common/images/icon-upload.png';
 // import iconUploadClose from '@common/images/icon-upload-close.png';
+import iconVideoDefault from '@common/images/icon-video-c.png';
 import request from '@/helpers/request';
 import { getOssUploadUrl } from '@/state';
 
@@ -245,6 +246,7 @@ export default defineComponent({
                     ref="videoUpload"
                     style={{ backgroundColor: '#F8F8F8' }}
                     class={styles.previewImg}
+                    poster={iconVideoDefault}
                     src={item + '#t=1,4'}
                   />
                 )}
@@ -293,6 +295,7 @@ export default defineComponent({
                         <video
                           ref="videoUpload"
                           class={styles.uploadImg}
+                          poster={iconVideoDefault}
                           style={{ backgroundColor: '#F8F8F8' }}
                           src={item + '#t=1,4'}
                         />
@@ -356,6 +359,7 @@ export default defineComponent({
                       <video
                         ref="videoUpload"
                         class={styles.uploadImg}
+                        poster={iconVideoDefault}
                         style={{ backgroundColor: '#F8F8F8' }}
                         src={item + '#t=1,4'}
                       />

+ 6 - 2
src/views/activity-record/components/input-timer.tsx

@@ -20,7 +20,7 @@ export default defineComponent({
   setup(props, { emit }) {
     const timer = formatterTimer(props.time);
     const forms = reactive({
-      minute: timer.minute || null,
+      minute: timer.minute,
       second: timer.secord || null
     });
 
@@ -58,7 +58,6 @@ export default defineComponent({
       () => props.time,
       () => {
         const timer = formatterTimer(props.time);
-        console.log(timer, 'timer');
         forms.minute = timer.minute || null;
         forms.second = timer.secord || null;
       }
@@ -101,6 +100,11 @@ export default defineComponent({
                 showToast('时长输入有误');
                 return;
               }
+              const allTime = forms.minute * 60 + forms.second;
+              if (allTime <= 0) {
+                showToast('时长输入必须大于0');
+                return;
+              }
               emit('confirm', forms);
             }}>
             确定

+ 13 - 8
src/views/activity-record/operation.tsx

@@ -88,7 +88,11 @@ export default defineComponent({
     const forms = reactive({
       activityDetailId: route.query.id, // 活动编号
       timerStatus: false,
-      currentDate: [] as any,
+      currentDate: [
+        dayjs().format('YYYY'),
+        dayjs().format('MM'),
+        dayjs().format('DD')
+      ] as any,
       orchestraStatus: false, // 乐团列表状态
       orchestraColumns: [] as any,
       programType: '',
@@ -287,7 +291,7 @@ export default defineComponent({
     });
 
     const checkForms = () => {
-      if (!forms.name) {
+      if (!forms.name.trim()) {
         showToast('请填写活动名称');
         return false;
       }
@@ -302,12 +306,12 @@ export default defineComponent({
 
       for (let i = 0, j = forms.detail.length; i < j; i++) {
         const tDetail = forms.detail[i];
-        if (!tDetail.name) {
+        if (!tDetail.name.trim()) {
           showToast('节目名称不能为空');
           return false;
         }
         if (!tDetail.type) {
-          showToast('请选择活动类型');
+          showToast('请选择节目类型');
           return false;
         }
         if (!tDetail.musicGroupId) {
@@ -340,7 +344,7 @@ export default defineComponent({
           id: forms.activityDetailId || null,
           startTime: forms.startTime,
           endTime: forms.startTime + ' 23:59:59',
-          name: forms.name,
+          name: forms.name.trim(),
           type: forms.type,
           detail: [] as any[]
         };
@@ -350,7 +354,7 @@ export default defineComponent({
           tempDetail.push({
             id: item.id || null,
             sort: index + 1,
-            name: item.name,
+            name: item.name.trim(),
             type: item.type,
             musicGroupId: item.musicGroupId + '',
             subjectIdList: item.subjectIdList.join(','),
@@ -601,8 +605,9 @@ export default defineComponent({
                       style={{ marginTop: '6px' }}>
                       <MUploaderInside
                         uploadIcon={iconUploadVideo}
-                        native
                         uploadType="VIDEO"
+                        native
+                        uploadSize={50}
                         accept=".mp4"
                         maxCount={3}
                         v-model:modelValue={item.attachmentVideoUrl}
@@ -638,7 +643,7 @@ export default defineComponent({
         <Popup v-model:show={forms.timerStatus} round position="bottom">
           <DatePicker
             v-model={forms.currentDate}
-            minDate={new Date()}
+            // minDate={new Date()}
             formatter={formatterDatePicker}
             onCancel={() => (forms.timerStatus = false)}
             onConfirm={({ selectedValues }) => {

+ 5 - 2
src/views/lesson-list/components/student.tsx

@@ -5,7 +5,7 @@ import iconStudent from '@/common/images/icon-student-default.png';
 import iconMember from '../images/icon-member.png';
 import iconStandard from '../images/icon-standard.png';
 import iconNotStandard from '../images/icon-not-standard.png';
-// import iconNoStatus from '../images/icon-no-status.png';
+import iconNoStatus from '../images/icon-no-status.png';
 import request from '@/helpers/request';
 import { useRoute } from 'vue-router';
 import { clockingIn } from '@/helpers/constant';
@@ -75,11 +75,14 @@ export default defineComponent({
                   ),
                   value: () => (
                     <div class={styles.after}>
-                      {item.qualifiedFlag ? (
+                      {item.courseStatus === 'NOT_START' ? (
+                        <img src={iconNoStatus} class={styles.noStatus} />
+                      ) : item.qualifiedFlag ? (
                         <img src={iconStandard} class={styles.standard} />
                       ) : (
                         <img src={iconNotStandard} class={styles.notStandard} />
                       )}
+
                       <p class={styles.txt}>课后评价</p>
                     </div>
                   )

+ 30 - 6
src/views/lesson-list/components/teacher.tsx

@@ -89,12 +89,25 @@ export default defineComponent({
                       <span
                         class={[
                           styles.statusName,
-                          forms.detail.signInStatus ? '' : styles.error
+                          forms.detail.signInStatus ||
+                          forms.detail.courseStatus === 'NOT_START'
+                            ? ''
+                            : styles.error
                         ]}>
-                        {forms.detail.signInStatus ? '正常' : '异常'}
+                        {forms.detail.courseStatus === 'NOT_START'
+                          ? '未开始'
+                          : forms.detail.signInStatus
+                          ? '正常'
+                          : '异常'}
+                        {/* {forms.detail.signInStatus ? '正常' : '异常'} */}
                       </span>
                       <img
-                        src={forms.detail.signInStatus ? iconSuccess : iconWarn}
+                        src={
+                          forms.detail.signInStatus ||
+                          forms.detail.courseStatus === 'NOT_START'
+                            ? iconSuccess
+                            : iconWarn
+                        }
                         class={styles.img}
                       />
                     </div>
@@ -145,13 +158,24 @@ export default defineComponent({
                       <span
                         class={[
                           styles.statusName,
-                          forms.detail.signOutStatus ? '' : styles.error
+                          forms.detail.signOutStatus ||
+                          forms.detail.courseStatus === 'NOT_START'
+                            ? ''
+                            : styles.error
                         ]}>
-                        {forms.detail.signOutStatus ? '正常' : '异常'}
+                        {/* {forms.detail.signOutStatus ? '正常' : '异常'} */}
+                        {forms.detail.courseStatus === 'NOT_START'
+                          ? '未开始'
+                          : forms.detail.signOutStatus
+                          ? '正常'
+                          : '异常'}
                       </span>
                       <img
                         src={
-                          forms.detail.signOutStatus ? iconSuccess : iconWarn
+                          forms.detail.signOutStatus ||
+                          forms.detail.courseStatus === 'NOT_START'
+                            ? iconSuccess
+                            : iconWarn
                         }
                         class={styles.img}
                       />

+ 1 - 0
src/views/lesson-list/index.module.less

@@ -17,6 +17,7 @@
     margin-right: 10px;
     width: 48px;
     height: 48px;
+    border-radius: 50%;
     overflow: hidden;
     flex-shrink: 0;
   }

+ 39 - 4
src/views/patrol-evaluation/detail-list.tsx

@@ -19,6 +19,9 @@ import iconTimer from '@/common/images/icon-timer.png';
 import iconTeacher from '@/common/images/icon-teacher-default.png';
 import iconEdit from '@/common/images/icon-edit.png';
 import iconFace1 from './images/icon-face-1.png';
+import iconFace2 from './images/icon-face-2.png';
+import iconFace3 from './images/icon-face-3.png';
+import iconFace4 from './images/icon-face-4.png';
 import iconUploadImg from './images/icon-upload-img.png';
 import iconUploadVideo from './images/icon-upload-video.png';
 import SkeletionDetailModal from './skeletion-detail.modal';
@@ -52,6 +55,10 @@ export default defineComponent({
     courseType: {
       type: String,
       default: ''
+    },
+    status: {
+      type: String,
+      default: ''
     }
   },
   setup(props) {
@@ -72,6 +79,7 @@ export default defineComponent({
         evaluateStatus: '',
         problemType: '',
         courseType: '',
+        status: '',
         startTime: route.query.date || '',
         endTime: route.query.date || '',
         page: 1,
@@ -228,6 +236,20 @@ export default defineComponent({
       forms.startPosition = index;
     };
 
+    const formatFace = (type: string) => {
+      if (type === 'EXCELLENT') {
+        return iconFace1;
+      } else if (type === 'GOOD') {
+        return iconFace2;
+      } else if (type === 'QUALIFIED') {
+        return iconFace3;
+      } else if (type === 'UNQUALIFIED') {
+        return iconFace4;
+      } else {
+        return iconFace1;
+      }
+    };
+
     onMounted(() => {
       for (const key in evaluateStatus) {
         if (Object.prototype.hasOwnProperty.call(evaluateStatus, key)) {
@@ -251,11 +273,17 @@ export default defineComponent({
 
     // 监听
     watch(
-      () => [props.evaluateStatus, props.problemType, props.courseType],
+      () => [
+        props.evaluateStatus,
+        props.problemType,
+        props.courseType,
+        props.status
+      ],
       () => {
         forms.params.evaluateStatus = props.evaluateStatus;
         forms.params.problemType = props.problemType;
         forms.params.courseType = props.courseType;
+        forms.params.status = props.status;
         list.value = [];
         onRefresh();
       }
@@ -272,7 +300,7 @@ export default defineComponent({
             <List
               finished={forms.listState.finished}
               finishedText=" "
-              style={{ overflow: 'hidden' }}
+              // style={{ overflow: 'hidden' }}
               onLoad={getList}
               offset={100}
               immediateCheck={false}>
@@ -303,10 +331,16 @@ export default defineComponent({
                               {item.evaluateFlag ? (
                                 <>
                                   <Icon
-                                    name={iconFace1}
+                                    name={formatFace(item.evaluateStatus)}
                                     class={styles.iconFace}
                                   />
-                                  <span class={[styles.sLevel, styles.success]}>
+                                  <span
+                                    class={[
+                                      styles.sLevel,
+                                      item.evaluateStatus === 'UNQUALIFIED'
+                                        ? styles.error
+                                        : styles.success
+                                    ]}>
                                     {evaluateStatus[item.evaluateStatus]}
                                   </span>
                                   <Icon
@@ -484,6 +518,7 @@ export default defineComponent({
                                 uploadIcon={iconUploadVideo}
                                 uploadType="VIDEO"
                                 accept=".mp4"
+                                uploadSize={50}
                                 native
                                 maxCount={3}
                                 v-model:modelValue={item.submitVideoList}

+ 1 - 1
src/views/patrol-evaluation/detail.module.less

@@ -78,7 +78,7 @@
   border-radius: 16px;
   font-size: 13px;
   color: #333333;
-  padding: 0 7px;
+  padding: 0 4px;
   text-align: center;
 
   &.is-active {

+ 26 - 9
src/views/patrol-evaluation/detail.tsx

@@ -4,7 +4,12 @@ import MHeader from '@/components/m-header';
 import { Button, DropdownItem, DropdownMenu, Tab, Tabs } from 'vant';
 import MSticky from '@/components/m-sticky';
 import DetailList from './detail-list';
-import { coursesType, evaluateStatus, problemType } from '@/helpers/constant';
+import {
+  coursesStatus,
+  coursesType,
+  evaluateStatus,
+  problemType
+} from '@/helpers/constant';
 
 export default defineComponent({
   name: 'patrol-evaluation-detail',
@@ -20,15 +25,17 @@ export default defineComponent({
         evaluateStatus: '',
         problemType: '',
         evaluateStatus1: '',
-        courseType: ''
+        courseType: '',
+        status: ''
       },
       dropDownValueSelect: {
         evaluateStatus: '',
         problemType: '',
         evaluateStatus1: '',
-        courseType: ''
+        courseType: '',
+        status: ''
       },
-
+      courseStatusType: [{ text: '全部状态', value: '' }],
       eveluationType: [{ text: '全部评价', value: '' }],
       questionType: [{ text: '全部问题', value: '' }],
       courseType: [{ text: '全部类型', value: '' }]
@@ -49,12 +56,22 @@ export default defineComponent({
         forms.dropDownValue.evaluateStatus1 =
           forms.dropDownValueSelect.evaluateStatus1;
         forms.dropDownValue.courseType = forms.dropDownValueSelect.courseType;
+        forms.dropDownValue.status = forms.dropDownValueSelect.status;
       }
 
       onDropDownClose(dropDownRef);
     };
 
     onMounted(() => {
+      for (const key in coursesStatus) {
+        if (Object.prototype.hasOwnProperty.call(coursesStatus, key)) {
+          forms.courseStatusType.push({
+            text: coursesStatus[key],
+            value: key
+          });
+        }
+      }
+
       for (const key in evaluateStatus) {
         if (Object.prototype.hasOwnProperty.call(evaluateStatus, key)) {
           forms.eveluationType.push({
@@ -152,22 +169,21 @@ export default defineComponent({
 
                       {forms.active === 'NotEvaluated' ? (
                         <>
-                          <div class={styles.searchTitle}>评价类型</div>
+                          <div class={styles.searchTitle}>课程状态</div>
                           <div
                             class={[
                               styles.searchTypeGroup,
                               styles.searchTypeFlex
                             ]}>
-                            {forms.eveluationType.map((item: any) => (
+                            {forms.courseStatusType.map((item: any) => (
                               <div
                                 class={[
                                   styles.searchTypeItem,
-                                  forms.dropDownValueSelect.evaluateStatus1 ===
+                                  forms.dropDownValueSelect.status ===
                                     item.value && styles['is-active']
                                 ]}
                                 onClick={() => {
-                                  forms.dropDownValueSelect.evaluateStatus1 =
-                                    item.value;
+                                  forms.dropDownValueSelect.status = item.value;
                                 }}>
                                 {item.text}
                               </div>
@@ -225,6 +241,7 @@ export default defineComponent({
               type="NotEvaluated"
               evaluateStatus={forms.dropDownValue.evaluateStatus1}
               courseType={forms.dropDownValue.courseType}
+              status={forms.dropDownValue.status}
             />
           </Tab>
           <Tab name={'Evaluated'} title="已评价">

+ 14 - 8
src/views/school-register/index.tsx

@@ -133,6 +133,8 @@ export default defineComponent({
         showToast('链接有误');
         return;
       }
+      document.title = EShoolStaffType[forms.type] + '注册';
+
       getDetail();
     });
     return () => (
@@ -220,17 +222,21 @@ export default defineComponent({
           </Field>
         </CellGroup>
 
-        <MSticky position="bottom">
-          {/* <MProtocol
+        {/* <MSticky position="bottom"> */}
+        {/* <MProtocol
             style={{ textAlign: 'center' }}
             v-model:modelValue={forms.isAgree}
           /> */}
-          <div class={['btnGroupFixed']}>
-            <Button round block type="primary" onClick={onSubmit}>
-              提交
-            </Button>
-          </div>
-        </MSticky>
+        <div
+          class={['btnGroupFixed']}
+          style={{
+            'margin-top': '18px'
+          }}>
+          <Button round block type="primary" onClick={onSubmit}>
+            提交
+          </Button>
+        </div>
+        {/* </MSticky> */}
 
         <Popup
           v-model:show={forms.registerStatus}

+ 2 - 2
src/views/teacher-attendance/detail.tsx

@@ -81,10 +81,10 @@ export default defineComponent({
 
     const getList = async () => {
       try {
-        const { data } = await request.get(
+        const { data } = await request.post(
           '/api-web/schoolTeacherAttendance/getClassTeacherAttendance',
           {
-            params: {
+            data: {
               ...forms.params,
               teacherId: forms.teacherId,
               classGroupId: forms.classGroupId

+ 3 - 1
src/views/teacher-attendance/index.tsx

@@ -194,7 +194,9 @@ export default defineComponent({
                       title: () => (
                         <div class={styles.username}>
                           <p class={styles.name}>{item.teacherName}</p>
-                          <p class={styles.class}>{item.classGroupName}</p>
+                          <p class={styles.class}>
+                            {orchestraClassType[item.classGroupType]}
+                          </p>
                         </div>
                       ),
                       value: () => (