lex 1 year ago
parent
commit
e58389e78f

+ 10 - 1
src/router/routes-teacher.ts

@@ -136,6 +136,15 @@ export default [
         }
       },
       {
+        path: '/unit-edit-test',
+        name: 'unit-edit-test',
+        component: () => import('@/views/unit-test/unit-create/unit-edit-test'),
+        meta: {
+          title: '编辑内容'
+        }
+      },
+
+      {
         path: '/unitDetail',
         name: 'unitDetail',
         component: () => import('@/views/unit-test/unit-list/unitDetail'),
@@ -150,7 +159,7 @@ export default [
         meta: {
           title: '补助明细'
         }
-      },
+      }
 
       //unitDetail 选择阶段自测
     ]

BIN
src/views/unit-test/unit-create/image/icon-delete.png


BIN
src/views/unit-test/unit-create/image/icon-edit.png


BIN
src/views/unit-test/unit-create/image/icon-menu.png


+ 20 - 1
src/views/unit-test/unit-create/modals/newspaper-item.module.less

@@ -3,6 +3,7 @@
   background: #ffffff;
   border-radius: 10px;
   padding-top: 12px;
+
   .titleWrap {
     padding: 0 12px;
     height: 22px;
@@ -11,6 +12,7 @@
     color: #333333;
     line-height: 22px;
   }
+
   .itemBottom {
     margin-top: 15px;
     display: flex;
@@ -19,11 +21,13 @@
     justify-content: space-around;
     text-align: center;
     padding: 0 12px;
+
     .itemBottomDot {
       flex-basis: 33.33%;
       position: relative;
+
       .dotMain {
-        font-size: 26px;
+        font-size: 24px;
         color: #333333;
         line-height: 30px;
         margin-bottom: 4px;
@@ -37,6 +41,7 @@
           line-height: 17px;
         }
       }
+
       .dotSub {
         font-size: 12px;
         font-weight: 400;
@@ -45,6 +50,7 @@
       }
     }
   }
+
   .uniTimeWrap {
     padding: 12px;
     margin-top: 20px;
@@ -53,12 +59,14 @@
     align-items: center;
     justify-content: space-between;
     border-top: 1px solid #f2f2f2;
+
     .uniTimeWrapLeft {
       display: flex;
       flex-direction: row;
       align-items: center;
       font-size: 14px;
       line-height: 20px;
+
       .clockIcon {
         margin-top: -2px;
         font-size: 18px;
@@ -67,3 +75,14 @@
     }
   }
 }
+
+.editBtn {
+  color: #F67146;
+  background-color: #FFF5F2;
+  border-color: #FFB39B;
+
+  font-size: 13px;
+  height: 26px;
+  padding-top: 2px;
+  line-height: 25px;
+}

+ 49 - 35
src/views/unit-test/unit-create/modals/newspaper-item.tsx

@@ -5,55 +5,69 @@ import sendmsgIcon from '@/school/images/sendmsg-icon.png'
 import phoneIcon from '@/school/images/phone-icon.png'
 import { postMessage } from '@/helpers/native-message'
 import clockIcon from '@/school/attendance/images/clock-icon.png'
-import { Icon, ActionSheet } from 'vant'
+import { Icon, ActionSheet, Button } from 'vant'
+import { useRouter } from 'vue-router'
 
 export default defineComponent({
   props: ['item'],
   name: 'newspaper-item',
 
   setup(props) {
+    const router = useRouter()
     const gotoDetail = () => {
       // window.open()
     }
+
+    //
+    const onEdit = () => {
+      //
+      router.push({
+        path: '/unit-edit-test',
+        query: {
+          unitExaminationId: props.item?.unitExaminationId
+        }
+      })
+    }
     return () => (
-      <>
-        <div>
-          <div class={styles.itemWrap} onClick={gotoDetail}>
-            <div class={styles.titleWrap}>{props.item?.unitExaminationName}</div>
-            <div class={styles.itemBottom}>
-              <div class={[styles.itemBottomDot, 'gridBorderRight']}>
-                <p class={styles.dotMain}>
-                  {props.item?.totalScore || 0}
-                  {/* <span>分</span> */}
-                </p>
-                <p class={styles.dotSub}> 总分</p>
-              </div>
-              <div class={[styles.itemBottomDot, 'gridBorderRight']}>
-                <p class={styles.dotMain} style={{ color: '#F67146' }}>
-                  {props.item?.passScore || 0}
-                  {/* <span>分</span> */}
-                </p>
-                <p class={styles.dotSub}>合格分 </p>
-              </div>
-              <div class={styles.itemBottomDot}>
-                <p class={styles.dotMain}>
-                  {props.item?.questionNum || 0}
-                  {/* <span>分</span>{' '} */}
-                </p>
-                <p class={styles.dotSub}>题目数量 </p>
-              </div>
+      <div>
+        <div class={styles.itemWrap} onClick={gotoDetail}>
+          <div class={styles.titleWrap}>{props.item?.unitExaminationName}</div>
+          <div class={styles.itemBottom}>
+            <div class={[styles.itemBottomDot, 'gridBorderRight']}>
+              <p class={styles.dotMain}>
+                {props.item?.totalScore || 0}
+                {/* <span>分</span> */}
+              </p>
+              <p class={styles.dotSub}> 总分</p>
+            </div>
+            <div class={[styles.itemBottomDot, 'gridBorderRight']}>
+              <p class={styles.dotMain} style={{ color: '#F67146' }}>
+                {props.item?.passScore || 0}
+                {/* <span>分</span> */}
+              </p>
+              <p class={styles.dotSub}>合格分 </p>
             </div>
-            <div class={styles.uniTimeWrap}>
-              <div class={styles.uniTimeWrapLeft}>
-                {' '}
-                <Icon name={clockIcon} class={styles.clockIcon}></Icon> 测验时长:
-                <span style={{ color: '#F67146' }}>{props.item?.timeMinutes || 0} </span> 分钟
-              </div>
-              {/* <Icon name="arrow" color="#777"></Icon> */}
+            <div class={styles.itemBottomDot}>
+              <p class={styles.dotMain}>
+                {props.item?.questionNum || 0}
+                {/* <span>分</span>{' '} */}
+              </p>
+              <p class={styles.dotSub}>题目数量 </p>
             </div>
           </div>
+          <div class={styles.uniTimeWrap}>
+            <div class={styles.uniTimeWrapLeft}>
+              <Icon name={clockIcon} class={styles.clockIcon}></Icon> 测验时长:
+              <span style={{ color: '#F67146' }}>{props.item?.timeMinutes || 0} </span> 分钟
+            </div>
+            {/* <Icon name="arrow" color="#777"></Icon> */}
+
+            <Button plain round class={styles.editBtn} onClick={onEdit}>
+              编辑内容
+            </Button>
+          </div>
         </div>
-      </>
+      </div>
     )
   }
 })

+ 13 - 2
src/views/unit-test/unit-create/uni-last.tsx

@@ -23,6 +23,7 @@ import NewspaperItem from './modals/newspaper-item'
 import questIcon from '@/school/images/quest-icon.png'
 import { postMessage } from '@/helpers/native-message'
 import OHeader from '@/components/o-header'
+import OEmpty from '@/components/o-empty'
 // import { browser } from '@/helpers/utils'
 export default defineComponent({
   name: 'uni-test',
@@ -137,6 +138,8 @@ export default defineComponent({
         res.data.details.forEach((item: any) => {
           datas.uniDetail[item.level] = item
         })
+
+        console.log(datas.uniDetail, 'datas.uniDetail')
       } catch (e) {
         console.log(e)
       }
@@ -241,10 +244,18 @@ export default defineComponent({
                 <NewspaperItem item={datas.uniDetail[1]}></NewspaperItem>
               </Tab>
               <Tab name="two" title="双团学员">
-                <NewspaperItem item={datas.uniDetail[2]}></NewspaperItem>
+                {datas.uniDetail[2]?.unitExaminationId ? (
+                  <NewspaperItem item={datas.uniDetail[2]} />
+                ) : (
+                  <OEmpty tips="暂无测验" />
+                )}
               </Tab>
               <Tab name="three" title="多团学员">
-                <NewspaperItem item={datas.uniDetail[3]}></NewspaperItem>
+                {datas.uniDetail[3]?.unitExaminationId ? (
+                  <NewspaperItem item={datas.uniDetail[3]} />
+                ) : (
+                  <OEmpty tips="暂无测验" />
+                )}
               </Tab>
             </Tabs>
           </div>

+ 115 - 0
src/views/unit-test/unit-create/unit-edit-test/index.module.less

@@ -0,0 +1,115 @@
+.itemWrap {
+  margin: 12px 13px;
+  background: #ffffff;
+  border-radius: 10px;
+  padding-bottom: 26px;
+
+  .titleWrap {
+    padding: 0 12px;
+    height: 22px;
+    font-size: 16px;
+    font-weight: 500;
+    color: #333333;
+    line-height: 22px;
+  }
+
+  .itemBottom {
+    margin-top: 15px;
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    justify-content: space-around;
+    text-align: center;
+    padding: 0 12px;
+
+    .itemBottomDot {
+      flex-basis: 33.33%;
+      position: relative;
+
+      .dotMain {
+        font-size: 24px;
+        color: #333333;
+        line-height: 30px;
+        margin-bottom: 4px;
+        font-family: 'DINA' !important;
+
+        span {
+          margin-left: 1px;
+          font-size: 12px;
+          font-weight: 400;
+          color: #333333;
+          line-height: 17px;
+        }
+      }
+
+      .dotSub {
+        font-size: 12px;
+        font-weight: 400;
+        color: #777777;
+        line-height: 17px;
+      }
+    }
+  }
+
+  .uniTimeWrap {
+    padding: 12px;
+    margin-bottom: 20px;
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    justify-content: space-between;
+    border-bottom: 1px solid #f2f2f2;
+
+    .uniTimeWrapLeft {
+      display: flex;
+      flex-direction: row;
+      align-items: center;
+      font-size: 14px;
+      line-height: 20px;
+
+      .clockIcon {
+        margin-top: -2px;
+        font-size: 18px;
+        margin-right: 4px;
+      }
+    }
+  }
+}
+
+.editBtn {
+  color: #F67146;
+  background-color: #FFF5F2;
+  border-color: #FFB39B;
+
+  font-size: 13px;
+  height: 26px;
+  padding-top: 2px;
+  line-height: 25px;
+}
+
+.tableSection {
+  background: #FFFFFF;
+  border-radius: 10px;
+  margin: 0 13px 13px;
+
+  :global {
+
+    .van-col--6,
+    .van-col--4 {
+      text-align: center;
+    }
+  }
+
+  .title {
+    font-size: 14px;
+    color: #777777;
+    padding: 13px 12px;
+  }
+
+  .content {
+    padding: 13px 12px;
+    font-weight: 500;
+    color: #333333;
+    font-size: 13px;
+  }
+}

+ 69 - 0
src/views/unit-test/unit-create/unit-edit-test/index.tsx

@@ -0,0 +1,69 @@
+import { defineComponent } from 'vue'
+import styles from './index.module.less'
+import { Button, Col, Icon, Row } from 'vant'
+import iconMenu from '../image/icon-menu.png'
+import iconDelte from '../image/icon-delete.png'
+import iconEdit from '../image/icon-edit.png'
+
+export default defineComponent({
+  name: 'unit-edit-test',
+  setup() {
+    return () => (
+      <div class={styles.unitTest}>
+        <div class={styles.itemWrap}>
+          <div class={styles.uniTimeWrap}>
+            <div class={styles.uniTimeWrapLeft}>
+              <Icon name={iconMenu} class={styles.clockIcon}></Icon> 第一次单元测验
+            </div>
+
+            <Button plain round class={styles.editBtn}>
+              修改
+            </Button>
+          </div>
+          <div class={styles.itemBottom}>
+            <div class={[styles.itemBottomDot, 'gridBorderRight']}>
+              <p class={styles.dotMain}>{0}</p>
+              <p class={styles.dotSub}> 总分</p>
+            </div>
+            <div class={[styles.itemBottomDot, 'gridBorderRight']}>
+              <p class={styles.dotMain} style={{ color: '#999999' }}>
+                {0}
+              </p>
+              <p class={styles.dotSub}>题目数 </p>
+            </div>
+            <div class={[styles.itemBottomDot, 'gridBorderRight']}>
+              <p class={styles.dotMain}>{0}</p>
+              <p class={styles.dotSub}>合格分 </p>
+            </div>
+            <div class={styles.itemBottomDot}>
+              <p class={styles.dotMain}>{0}</p>
+              <p class={styles.dotSub}>测验时长/min </p>
+            </div>
+          </div>
+        </div>
+
+        <div class={styles.tableSection}>
+          <Row class={[styles.title, 'van-hairline--bottom']}>
+            <Col span={10}>题目名称</Col>
+            <Col span={6}>题目类型</Col>
+            <Col span={4}>分值</Col>
+            <Col span={4}>操作</Col>
+          </Row>
+          <Row class={styles.content}>
+            <Col span={10} class="van-ellipsis">
+              长笛的正确使用方式长笛的正确使用方式
+            </Col>
+            <Col span={6}>单选题</Col>
+            <Col span={4}>12</Col>
+            <Col span={4}>
+              <div class={styles.btnGroup}>
+                <Icon name={iconEdit} />
+                <Icon name={iconDelte} />
+              </div>
+            </Col>
+          </Row>
+        </div>
+      </div>
+    )
+  }
+})

+ 1 - 1
vite.config.ts

@@ -13,7 +13,7 @@ function resolve(dir: string) {
 // https://github.com/vitejs/vite/issues/1930 .env
 // const proxyUrl = 'https://online.lexiaoya.cn/'
 // const proxyUrl = 'https://test.lexiaoya.cn/'
-const proxyUrl = 'https://dev.lexiaoya.cn/'
+const proxyUrl = 'https://test.lexiaoya.cn/'
 // const proxyUrl = 'http://47.98.131.38:8989/'
 // const proxyUrl = 'http://192.168.3.20:8989/' // 邹旋
 // const proxyUrl = 'http://192.168.3.143:8989/' // 尚科