skyblued 2 years ago
parent
commit
c9abbc6066

+ 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>
     )
   }

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>
+    )
+  }
+})

+ 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
         }