Forráskód Böngészése

Merge branch 'master' into jenkins

mo 2 éve
szülő
commit
8cc6eaea3c

+ 8 - 0
src/router/routes-school.ts

@@ -334,6 +334,14 @@ export default [
           title: '练习奖励详情'
         }
       },
+      {
+        path: '/subsidy-details',
+        name: 'subsidy-details',
+        component: () => import('@/school/approval-manage/subsidy/details'),
+        meta: {
+          title: '补助明细'
+        }
+      },
 
       //
     ]

+ 2 - 2
src/school/approval-manage/index.module.less

@@ -28,8 +28,8 @@
   background: #fff;
   :global {
     .van-cell {
-      padding-top: 12px;
-      padding-bottom: 12px;
+      padding-top: 16px;
+      padding-bottom: 16px;
     }
     .van-cell::after {
       left: 0;

+ 21 - 0
src/school/approval-manage/subsidy/details.tsx

@@ -0,0 +1,21 @@
+import { Cell, Grid, GridItem } from 'vant'
+import { defineComponent } from 'vue'
+import styles from '../index.module.less'
+import iconA from '../images/icon-photo.png'
+
+export default defineComponent({
+  name: 'subsidy-detail',
+  setup() {
+    return () => (
+      <div>
+        <div class={styles.item}>
+          <Cell center class={styles.listItem} title="补助标准" value={'240元/天'} />
+          <Cell center class={styles.listItem} title="补助课程" value={'长笛单技课'} />
+          <Cell center class={styles.listItem} title="课件使用未达标" value={'-240.00元'} />
+          <Cell center class={styles.listItem} title="早退" value={'-50.00元'} />
+          <Cell center class={styles.listItem} title="实际补助金额" value={'190.00元'} />
+        </div>
+      </div>
+    )
+  }
+})

+ 50 - 161
src/school/approval-manage/subsidy/exercise-detail.tsx

@@ -9,177 +9,66 @@ export default defineComponent({
     return () => (
       <div>
         <div class={styles.item}>
-          <Cell center isLink>
+          <Cell center class={styles.rewardItem}>
             {{
+              icon: <img class={styles.itemPicture} src={iconA} />,
               title: () => (
                 <div class={styles.itemTitle}>
-                  <span>2023-1-16 至 2023-1-2</span>
-                  <span class={styles.itemTag}>补助周期</span>
+                  <span>邓同学</span>
                 </div>
-              )
-            }}
-          </Cell>
-          <Grid class={styles.grid} columnNum={3} border={false}>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元
-                </div>
-                <div>管理补助</div>
-              </div>
-            </GridItem>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元
-                </div>
-                <div>训练补助</div>
-              </div>
-            </GridItem>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元
-                </div>
-                <div>练习奖励</div>
-              </div>
-            </GridItem>
-          </Grid>
-        </div>
-
-        <div class={styles.item}>
-          <Cell style={{ '--van-cell-value-color': '#F44541' }} center value="训练照片2/6" isLink>
-            {{
-              title: () => (
-                <div class={styles.itemTitle}>
-                  <div class={styles.titleLine}></div>
-                  <span>管理补助</span>
-                </div>
-              )
-            }}
-          </Cell>
-          <Grid class={styles.grid} columnNum={3} border={false}>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元/周
-                </div>
-                <div>补助标准</div>
-              </div>
-            </GridItem>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元/周
-                </div>
-                <div>补助标准</div>
-              </div>
-            </GridItem>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>课时
-                </div>
-                <div>本周课时数</div>
-              </div>
-            </GridItem>
-          </Grid>
-        </div>
-
-        <div class={styles.item}>
-          <Cell center isLink>
-            {{
-              title: () => (
-                <div class={styles.itemTitle}>
-                  <div class={styles.titleLine}></div>
-                  <span>练习奖励</span>
+              ),
+              value: () => (
+                <div class={styles.gridItem}>
+                  <div class={styles.gridItemTop}>
+                    <span class={styles.topNum}>40</span>元
+                  </div>
+                  <div class={styles.valeLabel}>实际补助</div>
                 </div>
               )
             }}
           </Cell>
-          <Grid class={styles.grid} columnNum={3} border={false}>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>5</span>元/人
-                </div>
-                <div>补助标准</div>
-              </div>
-            </GridItem>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>78</span>人
-                </div>
-                <div>练习达标人数</div>
-              </div>
-            </GridItem>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元
-                </div>
-                <div>实际奖励</div>
-              </div>
-            </GridItem>
-          </Grid>
         </div>
 
-        <div class={styles.item}>
-          <Cell center isLink>
-            {{
-              title: () => (
-                <div class={styles.itemTitle}>
-                  <div class={styles.titleLine}></div>
-                  <span>训练补助</span>
-                </div>
-              )
-            }}
-          </Cell>
-          <Grid class={styles.grid} columnNum={3} border={false}>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元/人
-                </div>
-                <div>单技补助标准</div>
-              </div>
-            </GridItem>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元/天
-                </div>
-                <div>乐理补助标准</div>
-              </div>
-            </GridItem>
-            <GridItem>
-              <div class={styles.gridItem}>
-                <div class={styles.gridItemTop}>
-                  <span class={styles.topNum}>240</span>元
-                </div>
-                <div>合奏补助标准</div>
-              </div>
-            </GridItem>
-          </Grid>
-          {[1, 2, 3].map((teacher: any) => {
-            return (
-              <Cell center title="邓老师" isLink>
-                {{
-                  icon: () => <img class={styles.itemPicture} src={iconA} />,
-                  value: () => (
-                    <div class={styles.gridItem}>
-                      <div class={styles.gridItemTop}>
-                        <span class={styles.topNum}>240</span>元
-                      </div>
-                      <div class={styles.valeLabel}>实际奖励</div>
-                    </div>
-                  )
-                }}
-              </Cell>
-            )
-          })}
-        </div>
+        {[1, 2, 3].map((item: any) => (
+          <div class={styles.item}>
+            <Cell center value="1天" isLink>
+              {{
+                title: () => (
+                  <div class={styles.itemTitle}>
+                    <div class={styles.titleLine}></div>
+                    <span>长笛单技训练</span>
+                  </div>
+                )
+              }}
+            </Cell>
+            <Grid class={styles.grid} columnNum={3} border={false}>
+              <GridItem>
+                <div class={styles.gridItem}>
+                  <div class={styles.gridItemTop}>
+                    <span class={styles.topNum}>240</span>元
+                  </div>
+                  <div>预计补助</div>
+                </div>
+              </GridItem>
+              <GridItem>
+                <div class={styles.gridItem}>
+                  <div class={styles.gridItemTop}>
+                    <span class={styles.topNum}>0.00</span>元
+                  </div>
+                  <div>考勤扣款</div>
+                </div>
+              </GridItem>
+              <GridItem>
+                <div class={styles.gridItem}>
+                  <div class={styles.gridItemTop}>
+                    <span class={styles.topNum}>240</span>课元
+                  </div>
+                  <div>实际补助</div>
+                </div>
+              </GridItem>
+            </Grid>
+          </div>
+        ))}
       </div>
     )
   }

+ 4 - 0
src/views/exercise-record/exercis-detail.tsx

@@ -143,12 +143,16 @@ export default defineComponent({
       loading.value = true
       getList()
     }
+    const onBack = () => {
+      router.go(-1)
+    }
     return () => (
       <>
         <div class={styles.exercisContainer}>
           <div class={styles.topWrap}>
             <OSticky position="top" background="#F8F8F8" onGetHeight={getHeight}>
               <OHeader
+                isBack
                 border={false}
                 background={state.heightV > state.scrollTop ? 'transparent' : '#fff'}
               >

+ 2 - 2
src/views/exercise-record/index.tsx

@@ -110,7 +110,7 @@ export default defineComponent({
     })
 
     const onBack = () => {
-      console.log('返回')
+      router.go(-1)
     }
 
     const checkSort = (val: any) => {
@@ -200,7 +200,7 @@ export default defineComponent({
       <>
         <OSticky position="top" background="#F8F8F8">
           <div>
-            <OHeader onHeaderBack={onBack}></OHeader>
+            {/* <OHeader onHeaderBack={onBack}></OHeader> */}
             <OSearch
               placeholder="请输入学生姓名"
               onSearch={(val: any) => {

+ 4 - 1
src/views/exercise-record/modals/student-item.tsx

@@ -81,7 +81,10 @@ export default defineComponent({
                   <img src={props.item.avatar ? props.item.avatar : defaultIcon} alt="" />
                 </div>
                 <p class={styles.name}>{props.item.nickname}</p>
-                <div class={styles.tag}>{props.item.subjectNames}</div>
+
+                <div class={styles.tag}>
+                  {props.item.subjectNames ? props.item.subjectNames : '暂无声部'}
+                </div>
               </div>
               <div class={styles.itemTopRight}>
                 <div

+ 32 - 29
src/views/unit-test/unit-create/uni-test.tsx

@@ -10,6 +10,7 @@ import {
   promisefiyPostMessage,
   removeListenerMessage
 } from '@/helpers/native-message'
+import OEmpty from '@/components/o-empty'
 import iconLook from './image/look.svg'
 import iconCourse from '@/views/courseList/image/icon-course.png'
 import { browser } from '@/helpers/utils'
@@ -65,37 +66,39 @@ export default defineComponent({
 
     return () => (
       <div style={{ paddingTop: '14px' }}>
-        <Grid gutter={14} columnNum={3} class={styles.grid}>
-          {data.list.map((item: any) => {
-            return (
-              <GridItem>
-                <div class={styles.gridItem} onClick={() => handleClick(item)}>
-                  <img src={iconCourse} class={styles.cover} />
-                  <div class={styles.title}>
-                    <div class={styles.coreTitle}>{item.name}</div>
-                    {route.query.code !== 'select' && <div>已使用 {item.useNum} 次</div>}
-                  </div>
-                  {route.query.code !== 'select' ? (
-                    <>
-                      <div class={styles.num}>
-                        查看
-                        <Icon name="play-circle-o" class={styles.playIcon} />
-                      </div>
-                    </>
-                  ) : null}
-
-                  {route.query.code == 'select' && !item.unlock && (
-                    <div class={styles.look} onClick={(e: Event) => e.stopPropagation()}>
-                      <Icon name={iconLook} /> 未解锁
+        {data.list.length > 0 ? (
+          <Grid gutter={14} columnNum={3} class={styles.grid}>
+            {data.list.map((item: any) => {
+              return (
+                <GridItem>
+                  <div class={styles.gridItem} onClick={() => handleClick(item)}>
+                    <img src={iconCourse} class={styles.cover} />
+                    <div class={styles.title}>
+                      <div class={styles.coreTitle}>{item.name}</div>
+                      {route.query.code !== 'select' && <div>已使用 {item.useNum} 次</div>}
                     </div>
-                  )}
-                </div>
-              </GridItem>
-            )
-          })}
-        </Grid>
+                    {route.query.code !== 'select' ? (
+                      <>
+                        <div class={styles.num}>
+                          查看
+                          <Icon name="play-circle-o" class={styles.playIcon} />
+                        </div>
+                      </>
+                    ) : null}
 
-        {!data.loading && !data.list.length && <Empty description="空空如也" />}
+                    {route.query.code == 'select' && !item.unlock && (
+                      <div class={styles.look} onClick={(e: Event) => e.stopPropagation()}>
+                        <Icon name={iconLook} /> 未解锁
+                      </div>
+                    )}
+                  </div>
+                </GridItem>
+              )
+            })}
+          </Grid>
+        ) : (
+          <OEmpty></OEmpty>
+        )}
       </div>
     )
   }

+ 27 - 22
src/views/unit-test/unit-create/unit-Lesson.tsx

@@ -56,33 +56,38 @@ export default defineComponent({
 
     return () => (
       <div style={{ paddingTop: '14px' }}>
-        <Grid gutter={14} columnNum={3} class={styles.grid}>
-          {data.list.map((item: any) => {
-            return (
-              <GridItem>
-                <div
-                  class={styles.gridItem}
-                  style={{
-                    background: item.coverImg
-                      ? ''
-                      : `hsla(${Math.floor(Math.random() * 360)},50%,50%,.8)`
-                  }}
-                  onClick={() => handleClick(item)}
-                >
-                  <img src={item.coverImg} class={styles.cover} />
-                  <div class={styles.title}>{item.name}</div>
-                  <div class={styles.num}>共{item.unitTestNum || 0}次测验</div>
+        {data.list.length > 0 ? (
+          <Grid gutter={14} columnNum={3} class={styles.grid}>
+            {data.list.map((item: any) => {
+              return (
+                <GridItem>
+                  <div
+                    class={styles.gridItem}
+                    style={{
+                      background: item.coverImg
+                        ? ''
+                        : `hsla(${Math.floor(Math.random() * 360)},50%,50%,.8)`
+                    }}
+                    onClick={() => handleClick(item)}
+                  >
+                    <img src={item.coverImg} class={styles.cover} />
+                    <div class={styles.title}>{item.name}</div>
+                    <div class={styles.num}>共{item.unitTestNum || 0}次测验</div>
 
-                  {/* {!item.enableFlag && (
+                    {/* {!item.enableFlag && (
                     <div class={styles.look}>
                       <Icon name={iconLook} /> 未解锁
                     </div>
                   )} */}
-                </div>
-              </GridItem>
-            )
-          })}
-        </Grid>
+                  </div>
+                </GridItem>
+              )
+            })}
+          </Grid>
+        ) : (
+          <OEmpty btnStatus={false} tips="暂无内容"></OEmpty>
+        )}
+
         {/* <Button onClick={() => {
           location.href = 'http://192.168.3.114:1000/teacher.html#/courseList?id=1610595624868495362'
         }}>胜强测试</Button>

+ 1 - 5
src/views/unit-test/unit-list/index.tsx

@@ -56,10 +56,6 @@ export default defineComponent({
         //form.list  =form.list .concat(res.data.rows || [])
         form.list = res.data.rows
         form.listState.dataShow = form.list.length > 0
-        console.log(
-          '🚀 ~ file: index.tsx:57 ~ getList ~  form.listState.dataShow',
-          form.listState.dataShow
-        )
         loading.value = false
         form.listState.finished = true
 
@@ -92,7 +88,7 @@ export default defineComponent({
     })
 
     const createUnit = () => {
-      router.push('/createUnit')
+      router.push('/unit-create')
     }
     return () => (
       <div class={styles.unitTest}>

+ 1 - 1
src/views/unit-test/unit-list/models/unit-list-item.tsx

@@ -36,7 +36,7 @@ export default defineComponent({
               {props.item.classGroupName}
             </p>
             <span>
-              {dayjs(props.item.createTime).format('YYYY-MM-DD HH:mm')} 至
+              {dayjs(props.item.createTime).format('YYYY-MM-DD HH:mm')} 至{' '}
               {dayjs(props.item.expiryDate).format('YYYY-MM-DD HH:mm')}
             </span>
           </div>

+ 0 - 0
src/views/unit-test/unit-list/unitDetail.tsx