Przeglądaj źródła

Merge branch 'master' into jenkins

skyblued 2 lat temu
rodzic
commit
6ffa71c34b

+ 33 - 1
src/router/routes-school.ts

@@ -301,7 +301,39 @@ export default [
         meta: {
           title: '添加事迹'
         }
-      }
+      },
+      {
+        path: '/approval-manage-subsidy',
+        name: 'approval-manage-subsidy',
+        component: () => import('@/school/approval-manage/subsidy/index'),
+        meta: {
+          title: '补助确认'
+        }
+      },
+      {
+        path: '/subsidy-exercise-detail',
+        name: 'subsidy-exercise-detail',
+        component: () => import('@/school/approval-manage/subsidy/exercise-detail'),
+        meta: {
+          title: '训练补助详情'
+        }
+      },
+      {
+        path: '/subsidy-grant-detail',
+        name: 'subsidy-grant-detail',
+        component: () => import('@/school/approval-manage/subsidy/grant-detail'),
+        meta: {
+          title: '管理补助详情'
+        }
+      },
+      {
+        path: '/subsidy-reward-detail',
+        name: 'subsidy-reward-detail',
+        component: () => import('@/school/approval-manage/subsidy/reward-detail'),
+        meta: {
+          title: '练习奖励详情'
+        }
+      },
 
       //
     ]

+ 0 - 46
src/school/approval-manage/agency/index.module.less

@@ -1,46 +0,0 @@
-.item {
-  border-radius: 10px;
-  margin: 12px 13px;
-  overflow: hidden;
-  :global {
-    .van-cell::after {
-      left: 0;
-      right: 0;
-    }
-    .van-cell__label {
-      font-size: 13px;
-      color: #777;
-    }
-  }
-  .itemTitle {
-    display: flex;
-    align-items: center;
-    font-size: 16px;
-    .titleIcon {
-      width: 18px;
-      height: 18px;
-      margin-right: 6px;
-    }
-  }
-}
-
-.grid {
-  :global {
-    .van-grid-item__content {
-      padding: 15px 5px 20px 5px;
-    }
-  }
-  .gridItem{
-    text-align: center;
-    font-size: 12px;
-    color: #777;
-    .gridItemTop{
-        margin-bottom: 6px;
-    }
-    .topNum{
-        color: #F67146;
-        font-size: 22px;
-        margin-right: 2px;
-    }
-  }
-}

+ 41 - 2
src/school/approval-manage/agency/index.tsx

@@ -1,7 +1,9 @@
 import { Cell, Grid, GridItem } from 'vant'
 import { defineComponent } from 'vue'
-import styles from './index.module.less'
+import styles from '../index.module.less'
 import iconSubsidy from '../images/icon-subsidy.png'
+import iconNews from '../images/icon-news.png'
+import iconPhoto from '../images/icon-photo.png'
 
 export default defineComponent({
   name: 'approval-manage-agency',
@@ -9,7 +11,7 @@ export default defineComponent({
     return () => (
       <div>
         <div class={styles.item}>
-          <Cell center label="2023-1-16 至 2023-1-2" isLink>
+          <Cell center label="2023-1-16 至 2023-1-2" isLink to={'/approval-manage-subsidy'}>
             {{
               title: () => (
                 <div class={styles.itemTitle}>
@@ -46,6 +48,43 @@ export default defineComponent({
             </GridItem>
           </Grid>
         </div>
+
+        <div class={styles.item}>
+          <Cell
+            style={{ '--van-cell-value-color': '#333' }}
+            center
+            label="2023-1-16 至 2023-1-2"
+            value="1/6"
+            isLink
+          >
+            {{
+              title: () => (
+                <div class={styles.itemTitle}>
+                  <img class={styles.titleIcon} src={iconNews} />
+                  <span>训练照片</span>
+                </div>
+              )
+            }}
+          </Cell>
+        </div>
+        <div class={styles.item}>
+          <Cell
+            style={{ '--van-cell-value-color': '#333' }}
+            center
+            label="2023-1-16 至 2023-1-2"
+            value="1/6"
+            isLink
+          >
+            {{
+              title: () => (
+                <div class={styles.itemTitle}>
+                  <img class={styles.titleIcon} src={iconPhoto} />
+                  <span>乐团资讯</span>
+                </div>
+              )
+            }}
+          </Cell>
+        </div>
       </div>
     )
   }

+ 4 - 3
src/school/approval-manage/components/studnet-course-item.module.less

@@ -68,6 +68,10 @@
       font-weight: 600;
       color: #333333;
       line-height: 22px;
+      width: 200px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
     }
     .itemWrapBottomSub {
       font-size: 14px;
@@ -75,9 +79,6 @@
       color: #777777;
       line-height: 20px;
     }
-    .itemWrapBottomRight {
-      flex: 1;
-    }
     .rejectBtn {
       font-size: 14px;
       font-family: PingFangSC-Medium, PingFang SC;

BIN
src/school/approval-manage/images/icon-news.png


BIN
src/school/approval-manage/images/icon-photo.png


BIN
src/school/approval-manage/images/icon-time.png


+ 116 - 3
src/school/approval-manage/index.module.less

@@ -6,14 +6,127 @@
     }
   }
 }
-.MyApproval{
-  .select{
+.MyApproval {
+  .select {
     display: flex;
     align-items: center;
     padding: 0 15px;
     height: 50px;
     font-size: 14px;
-    & > img{
+    & > img {
+      width: 11px;
+      height: 6px;
+      margin-left: 4px;
+    }
+  }
+}
+
+.item {
+  border-radius: 10px;
+  margin: 12px 13px;
+  overflow: hidden;
+  background: #fff;
+  :global {
+    .van-cell {
+      padding-top: 12px;
+      padding-bottom: 12px;
+    }
+    .van-cell::after {
+      left: 0;
+      right: 0;
+    }
+    .van-cell__label {
+      font-size: 13px;
+      color: #777;
+    }
+  }
+  .titleLine {
+    width: 4px;
+    height: 12px;
+    background: #ff8057;
+    border-radius: 2px;
+    margin-right: 6px;
+  }
+  .itemTitle {
+    display: flex;
+    align-items: center;
+    font-size: 16px;
+    .titleIcon {
+      width: 18px;
+      height: 18px;
+      margin-right: 6px;
+    }
+  }
+  .itemTag {
+    padding: 0 8px;
+    height: 19px;
+    line-height: 19px;
+    background: #ff8057;
+    border-radius: 4px;
+    color: #fff;
+    font-size: 12px;
+    margin-left: 6px;
+  }
+  .itemPicture {
+    width: 44px;
+    height: 44px;
+    margin-right: 8px;
+  }
+  :global(.van-cell__value) {
+    display: flex;
+    justify-content: end;
+    padding-right: 8px;
+    .valeLabel {
+      margin-top: -12px;
+    }
+    .topNum {
+      font-size: 19px;
+    }
+  }
+}
+
+.grid {
+  :global {
+    .van-grid-item__content {
+      padding: 15px 5px 20px 5px;
+    }
+  }
+}
+.gridItem {
+  text-align: center;
+  font-size: 12px;
+  color: #777;
+  .gridItemTop {
+    margin-bottom: 6px;
+  }
+  .topNum {
+    color: #f67146;
+    font-size: 22px;
+    margin-right: 2px;
+  }
+}
+.itemContent {
+  padding: 15px 12px;
+  .itemContentTitle {
+    font-size: 16px;
+    color: #333;
+    padding-bottom: 6px;
+  }
+  .itemContentLabel {
+    font-size: 14px;
+    color: #777;
+  }
+}
+
+.itemSelect {
+  display: flex;
+  align-items: center;
+  height: 25px;
+  padding: 0 15px;
+  .select {
+    display: flex;
+    align-items: center;
+    & > img {
       width: 11px;
       height: 6px;
       margin-left: 4px;

+ 186 - 0
src/school/approval-manage/subsidy/exercise-detail.tsx

@@ -0,0 +1,186 @@
+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-exercise-detail',
+  setup() {
+    return () => (
+      <div>
+        <div class={styles.item}>
+          <Cell center isLink>
+            {{
+              title: () => (
+                <div class={styles.itemTitle}>
+                  <span>2023-1-16 至 2023-1-2</span>
+                  <span class={styles.itemTag}>补助周期</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>
+                </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>
+      </div>
+    )
+  }
+})

+ 70 - 0
src/school/approval-manage/subsidy/grant-detail.tsx

@@ -0,0 +1,70 @@
+import { Cell, Grid, GridItem } from 'vant'
+import { defineComponent } from 'vue'
+import styles from '../index.module.less'
+import iconTime from '../images/icon-time.png'
+
+export default defineComponent({
+  name: 'subsidy-grant-detail',
+  setup() {
+    return () => (
+      <div>
+
+        <div class={styles.item}>
+          <Cell center value="训练照片2/6">
+            {{
+              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>
+            {{
+              title: () => (
+                <div class={styles.itemTitle}>
+                  <img class={styles.titleIcon} src={iconTime} />
+                  <span>2023-1-17 14:00~15:3</span>
+                </div>
+              )
+            }}
+          </Cell>
+          <div class={styles.itemContent}>
+            <div class={styles.itemContentTitle}>长笛单技课-张老师</div>
+            <div class={styles.itemContentLabel}>武汉市洪山区第二小学2022标准团</div>
+          </div>
+        </div>
+      </div>
+    )
+  }
+})

+ 192 - 0
src/school/approval-manage/subsidy/index.tsx

@@ -0,0 +1,192 @@
+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: 'approval-manage-subsidy',
+  setup() {
+    return () => (
+      <div>
+        <div class={styles.item}>
+          <Cell center isLink>
+            {{
+              title: () => (
+                <div class={styles.itemTitle}>
+                  <span>2023-1-16 至 2023-1-2</span>
+                  <span class={styles.itemTag}>补助周期</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
+            to={'/subsidy-grant-detail'}
+          >
+            {{
+              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 to={'/subsidy-reward-detail'}>
+            {{
+              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}>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 to={'/subsidy-exercise-detail'}>
+            {{
+              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>
+      </div>
+    )
+  }
+})

+ 108 - 0
src/school/approval-manage/subsidy/reward-detail.tsx

@@ -0,0 +1,108 @@
+import { ActionSheet, ActionSheetAction, Cell, Grid, GridItem } from 'vant'
+import { computed, defineComponent, ref } from 'vue'
+import styles from '../index.module.less'
+import iconA from '../images/icon-photo.png'
+import iconArrow from '../images/icon-arrow.png'
+
+export default defineComponent({
+  name: 'subsidy-reward-detail',
+  setup() {
+    const actions = computed(() => {
+      return [
+        {
+          name: '全部声部',
+          color: activeName.value == '全部声部' ? 'var(--van-primary-color)' : ''
+        },
+        { name: '待审批', color: activeName.value == '待审批' ? 'var(--van-primary-color)' : '' },
+        { name: '已完成', color: activeName.value == '已完成' ? 'var(--van-primary-color)' : '' }
+      ]
+    })
+    const activeName = ref('全部声部')
+    const show = ref(false)
+    return () => (
+      <div>
+        <div class={styles.item}>
+          <Cell center>
+            {{
+              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}>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.itemSelect}>
+          <div class={styles.select} onClick={() => (show.value = true)}>
+            <span>{activeName.value}</span>
+            <img src={iconArrow} />
+          </div>
+        </div>
+
+        <div class={styles.item}>
+          {[1, 2, 3].map((item: any) => {
+            return (
+              <Cell center class={styles.rewardItem}>
+                {{
+                  icon: <img class={styles.itemPicture} src={iconA} />,
+                  title: () => (
+                    <div class={styles.itemTitle}>
+                      <span>邓同学</span>
+                    </div>
+                  ),
+                  label: () => <span class={styles.itemTag}>长笛</span>,
+                  value: () => (
+                    <div class={styles.gridItem}>
+                      <div class={styles.gridItemTop}>
+                        <span class={styles.topNum}>40</span>分钟
+                      </div>
+                      <div class={styles.valeLabel}>练习时长</div>
+                    </div>
+                  )
+                }}
+              </Cell>
+            )
+          })}
+        </div>
+        <ActionSheet
+          teleport="body"
+          cancelText="取消"
+          v-model:show={show.value}
+          actions={actions.value}
+          onSelect={(action: ActionSheetAction, index: number) => {
+            activeName.value = action.name || '待审批'
+            show.value = false
+          }}
+        ></ActionSheet>
+      </div>
+    )
+  }
+})

+ 6 - 5
src/views/attendance-rule/index.module.less

@@ -36,7 +36,7 @@
       font-family: PingFangSC-Semibold, PingFang SC;
       font-weight: 600;
       color: #333333;
-      line-height: 25px;
+      line-height: 22px;
       padding: 18px 15px;
       border: none;
       &:active {
@@ -47,10 +47,11 @@
     display: flex;
     flex-direction: row;
     align-items: center;
-    line-height: 25px;
+    line-height: 22px;
+    font-size: 16px;
     .dot {
       width: 4px;
-      height: 13px;
+      height: 12px;
       background: #ff8057;
       border-radius: 2px;
       margin-right: 6px;
@@ -68,7 +69,7 @@
     color: #f67146;
     padding: 0 8px;
     margin-bottom: 18px;
-
+    font-size: 15px;
     .clockIcon {
       width: 18px;
       height: 18px;
@@ -78,7 +79,7 @@
   .textWrap {
     margin-bottom: 16px;
     h4 {
-      font-size: 16px;
+      font-size: 15px;
       font-weight: 500;
       color: #333333;
       line-height: 22px;

+ 1 - 1
src/views/attendance-rule/index.tsx

@@ -38,7 +38,7 @@ export default defineComponent({
     return () => (
       <>
         <OSticky position="top" background="#F8F8F8">
-          <OHeader></OHeader>
+          {/* <OHeader></OHeader> */}
         </OSticky>
         <div class={styles.attCollapseWrap}>
           <Collapse v-model={state.activeNames}>

+ 1 - 1
src/views/coursewarePlay/index.tsx

@@ -101,7 +101,7 @@ export default defineComponent({
         content: {
           url: material.content,
           localPath: '',
-          materialId: material.id,
+          materialId: material.materialId,
           updateTime: material.updateTime,
           type: material.type // SONG VIDEO IMAGE
         }

+ 1 - 1
src/views/exercise-record/exercis-detail.tsx

@@ -77,7 +77,7 @@ export default defineComponent({
       }
       try {
         const res = await request.post(`${platformApi.value}/musicPracticeRecord/page`, {
-          data: { ...forms }
+          data: { ...forms, feature: 'EVALUATION' }
         })
 
         if (list.value.length > 0 && res.data.current === 1) {

+ 17 - 16
src/views/unit-test/unit-create/index.tsx

@@ -18,7 +18,7 @@ export default defineComponent({
       showPopoverOrchestra: false,
       showPopoverClass: false
     })
-    const forms = reactive({
+    const forms = ref({
       orchestraId: '',
       orchestraName: '',
       classGroupName: '',
@@ -27,20 +27,21 @@ export default defineComponent({
       addressLongitudeLatitude: '',
       unitName: '',
       unitId: ''
-    })
+    } as any)
     const schoolImageRef = ref()
     const submitInfo = async () => {
-      sessionStorage.setItem('unit-create', JSON.stringify(forms))
+      sessionStorage.setItem('unit-create', JSON.stringify(forms.value))
     }
     const chioseLesson = () => {
-      if (!forms.classGroupId) {
+      if (!forms.value.classGroupId) {
         showToast('请选择测验班级')
         return
       }
-      sessionStorage.setItem('unit-create', JSON.stringify(forms))
-      router.push({ path: '/unit-Lesson', query: { classGroupId: forms.classGroupId } })
+      sessionStorage.setItem('unit-create', JSON.stringify(forms.value))
+      router.push({ path: '/unit-Lesson', query: { classGroupId: forms.value.classGroupId } })
     }
     onMounted(() => {
+      forms.value = { ...JSON.parse(sessionStorage.getItem('unit-create') || '{}') } as any
       getOrchestraList()
     })
     const getOrchestraList = async () => {
@@ -60,10 +61,10 @@ export default defineComponent({
       }
     }
     const checkOrchestra = async (val: any) => {
-      forms.orchestraId = val.value
-      forms.orchestraName = val.name
-      forms.classGroupName = ''
-      forms.classGroupId = ''
+      forms.value.orchestraId = val.value
+      forms.value.orchestraName = val.name
+      forms.value.classGroupName = ''
+      forms.value.classGroupId = ''
 
       if (val.value) {
         try {
@@ -90,8 +91,8 @@ export default defineComponent({
       state.showPopoverOrchestra = false
     }
     const checkClass = async (val: any) => {
-      forms.classGroupName = val.name
-      forms.classGroupId = val.value
+      forms.value.classGroupName = val.name
+      forms.value.classGroupId = val.value
       state.showPopoverClass = false
     }
     return () => (
@@ -101,7 +102,7 @@ export default defineComponent({
             {/*      onClick={() => setAddress()} */}
             <CellGroup inset>
               <Field
-                v-model={forms.orchestraName}
+                v-model={forms.value.orchestraName}
                 placeholder="选择乐团"
                 disabled
                 input-align="right"
@@ -121,13 +122,13 @@ export default defineComponent({
               </Field>
               <Field
                 rows={3}
-                v-model={forms.classGroupName}
+                v-model={forms.value.classGroupName}
                 maxlength={50}
                 placeholder="测验班级"
                 disabled
                 input-align="right"
                 onClick={() => {
-                  if (!forms.orchestraId) {
+                  if (!forms.value.orchestraId) {
                     showToast('请先选择乐团')
                   } else {
                     state.showPopoverClass = true
@@ -146,7 +147,7 @@ export default defineComponent({
               </Field>
               <Field
                 rows={3}
-                v-model={forms.unitName}
+                v-model={forms.value.unitName}
                 maxlength={50}
                 placeholder="测验内容"
                 disabled

+ 47 - 0
src/views/unit-test/unit-create/uni-last.module.less

@@ -45,6 +45,44 @@
       }
     }
   }
+  .tabsWrap {
+    position: relative;
+    margin-top: 10px;
+    .tabsWrapIcon {
+      position: absolute;
+      right: 12px;
+      top: 13px;
+      z-index: 2000;
+    }
+  }
+  .DialogTitle {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    padding: 20px 25px;
+    span {
+      width: 4px;
+      height: 14px;
+      background: #ff8057;
+      border-radius: 2px;
+      margin-right: 6px;
+    }
+    p {
+      height: 25px;
+      font-size: 18px;
+      font-weight: 500;
+      color: #333333;
+      line-height: 25px;
+    }
+  }
+  .DialogConent {
+    padding: 0 25px 30px;
+    p {
+      font-size: 16px;
+      line-height: 22px;
+      color: #333;
+    }
+  }
   :global {
     .van-tab__text {
       font-size: 16px;
@@ -56,5 +94,14 @@
     .van-cell__title {
       margin-bottom: 0 !important;
     }
+    .exercisDetailDialog {
+      border-radius: 10px;
+      .van-dialog__header {
+        padding-top: 0px !important;
+      }
+    }
+    .van-dialog {
+      top: 47%;
+    }
   }
 }

+ 62 - 20
src/views/unit-test/unit-create/uni-last.tsx

@@ -2,6 +2,7 @@ import request from '@/helpers/request'
 import { state } from '@/state'
 import {
   Button,
+  Dialog,
   Empty,
   Field,
   Grid,
@@ -18,6 +19,7 @@ import iconEdit from '@/views/unit-test/images/icon-edit.png'
 import styles from './uni-last.module.less'
 import { useRoute, useRouter } from 'vue-router'
 import NewspaperItem from './modals/newspaper-item'
+import questIcon from '@/school/images/quest-icon.png'
 import {
   listenerMessage,
   postMessage,
@@ -41,6 +43,7 @@ export default defineComponent({
       list: [] as any,
       uniDetail: {} as any
     })
+    const showTip = ref(false)
     const getList = async () => {
       data.loading = true
       try {
@@ -101,7 +104,6 @@ export default defineComponent({
       }
     }
     const onSubmit = async () => {
-      console.log('来了')
       if (!forms.value.expiryDate) {
         showToast('请输入截止时间')
         return
@@ -111,12 +113,16 @@ export default defineComponent({
           state.platformApi + `/classGroupUnitExamination/publishUnitExamination`,
           {
             data: {
+              classGroupId: forms.value.classGroupId,
               lessonCoursewareExaminationMapperId: forms.value.testId,
               unitExaminationName: `${forms.value?.coursewareName}-${forms.value?.testName}`,
               expiryDate: forms.value.expiryDate
             }
           }
         )
+        showToast('创建成功')
+        sessionStorage.removeItem('unit-create')
+        router.replace('/unit-list')
       } catch (e) {
         console.log(e)
       }
@@ -144,25 +150,36 @@ export default defineComponent({
               }}
             </Field>
           </div>
-          <Tabs
-            v-model:active={activeName.value}
-            class={styles.rankTabs}
-            background={'#F8F8F8'}
-            title-active-color={'#333333'}
-            title-inactive-color={'#777'}
-            color={'#FF8057'}
-            shrink
-          >
-            <Tab name="one" title="I类学生">
-              <NewspaperItem item={data.uniDetail[1]}></NewspaperItem>
-            </Tab>
-            <Tab name="two" title="II类学生">
-              <NewspaperItem item={data.uniDetail[2]}></NewspaperItem>
-            </Tab>
-            <Tab name="three" title="III类学生">
-              <NewspaperItem item={data.uniDetail[3]}></NewspaperItem>
-            </Tab>
-          </Tabs>
+          <div class={styles.tabsWrap}>
+            <Icon
+              class={styles.tabsWrapIcon}
+              name={questIcon}
+              size={18}
+              color="#333"
+              onClick={() => {
+                showTip.value = true
+              }}
+            />
+            <Tabs
+              v-model:active={activeName.value}
+              class={styles.rankTabs}
+              background={'#F8F8F8'}
+              title-active-color={'#333333'}
+              title-inactive-color={'#777'}
+              color={'#FF8057'}
+              shrink
+            >
+              <Tab name="one" title="I类学生">
+                <NewspaperItem item={data.uniDetail[1]}></NewspaperItem>
+              </Tab>
+              <Tab name="two" title="II类学生">
+                <NewspaperItem item={data.uniDetail[2]}></NewspaperItem>
+              </Tab>
+              <Tab name="three" title="III类学生">
+                <NewspaperItem item={data.uniDetail[3]}></NewspaperItem>
+              </Tab>
+            </Tabs>
+          </div>
           <OSticky position="bottom">
             <div class={'btnGroup'}>
               <Button block round type="primary" onClick={onSubmit}>
@@ -170,6 +187,31 @@ export default defineComponent({
               </Button>
             </div>
           </OSticky>
+          <Dialog
+            class="exercisDetailDialog"
+            v-model:show={showTip.value}
+            title="提示框"
+            confirmButtonText="我知道了"
+            v-slots={{
+              title: () => (
+                <div class={styles.DialogTitle}>
+                  <span></span>
+                  <p>学生分类</p>
+                </div>
+              ),
+              default: () => (
+                <div class={styles.DialogConent}>
+                  <p>
+                    根据学生入团的批次对不同训练阶段的学生进行分类,不同训练阶段的学生可布置不同标准的课后训练和单元测验内容。
+                  </p>
+                  <br />
+                  <p>&nbsp;&nbsp;&nbsp;I类学生:最新进入本乐团的学员</p>
+                  <p>&nbsp;II 类学生:较早进入本乐团的学员</p>
+                  <p>III 类学生:最早进入本乐团的学员</p>
+                </div>
+              )
+            }}
+          ></Dialog>
         </div>
       </>
     )

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

@@ -36,8 +36,8 @@ export default defineComponent({
               {props.item.classGroupName}
             </p>
             <span>
-              布置时间 {dayjs(props.item.createTime).format('YYYY-MM-DD HH:mm')} -
-              {dayjs(props.item.expiryDate).format('HH:mm')}
+              {dayjs(props.item.createTime).format('YYYY-MM-DD HH:mm')} 
+              {dayjs(props.item.expiryDate).format('YYYY-MM-DD HH:mm')}
             </span>
           </div>
           <div class={styles.unitItemICon} onClick={gotoMsg}>