|  | @@ -4,7 +4,8 @@ import styles from './index.module.less'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // import iconUserNum from '@common/images/icon_user_num.png'
 | 
	
		
			
				|  |  |  import defaultIcon from '@common/images/icon_teacher.png'
 | 
	
		
			
				|  |  | -import iconTimer from '@common/images/icon_timer2.png'
 | 
	
		
			
				|  |  | +import iconTimer from '@common/images/icon_timer4.png'
 | 
	
		
			
				|  |  | +import iconCourse from './images/icon-course.png'
 | 
	
		
			
				|  |  |  // import IconXueli from '@common/images/icon-xueli.png'
 | 
	
		
			
				|  |  |  // import IconJiaozi from '@common/images/icon-jiaozi.png'
 | 
	
		
			
				|  |  |  // import item from '@/views/coupons/item'
 | 
	
	
		
			
				|  | @@ -16,12 +17,15 @@ import iconTimer from '@common/images/icon_timer2.png'
 | 
	
		
			
				|  |  |   * @param {type} buyNum 购买用户数
 | 
	
		
			
				|  |  |   * @param {type} payType 收费方式
 | 
	
		
			
				|  |  |   * @param {type} type 课程类型
 | 
	
		
			
				|  |  | + * @param {type} subjectName 科目名称
 | 
	
		
			
				|  |  |   * @param {type} lessonPrice 价格
 | 
	
		
			
				|  |  |   * @param {type} lessonCoverUrl 视频封面
 | 
	
		
			
				|  |  |   * @param {type} lessonDesc 课程描述
 | 
	
		
			
				|  |  |   * @param {type} lessonNum 课程数
 | 
	
		
			
				|  |  |   * @param {type} lessonName 课程名称
 | 
	
		
			
				|  |  |   * @param {type} relationType 赠送类型
 | 
	
		
			
				|  |  | + * @param {type} completeCourseNum 已上课时
 | 
	
		
			
				|  |  | + * @param {type} isShowCourse 是否显示课程
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  interface UserType {
 | 
	
		
			
				|  |  |    headUrl: string
 | 
	
	
		
			
				|  | @@ -31,6 +35,7 @@ interface UserType {
 | 
	
		
			
				|  |  |    buyNum?: number
 | 
	
		
			
				|  |  |    payType?: string
 | 
	
		
			
				|  |  |    type?: string
 | 
	
		
			
				|  |  | +  subjectName?: string
 | 
	
		
			
				|  |  |    lessonPrice: number
 | 
	
		
			
				|  |  |    lessonNum?: number
 | 
	
		
			
				|  |  |    lessonDesc?: string
 | 
	
	
		
			
				|  | @@ -39,6 +44,8 @@ interface UserType {
 | 
	
		
			
				|  |  |    lessonName: string
 | 
	
		
			
				|  |  |    auditVersion: number
 | 
	
		
			
				|  |  |    relationType?: string
 | 
	
		
			
				|  |  | +  completeCourseNum?: number
 | 
	
		
			
				|  |  | +  isShowCourse?: boolean
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
	
		
			
				|  | @@ -69,6 +76,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |    render() {
 | 
	
		
			
				|  |  |      return (
 | 
	
		
			
				|  |  |        <div class={styles.userDetail}>
 | 
	
		
			
				|  |  | +        {this.userInfo.subjectName ? <span class={styles.subjectName}>{this.userInfo.subjectName}</span> : ""}
 | 
	
		
			
				|  |  |          <Image
 | 
	
		
			
				|  |  |            class={[styles.banner]}
 | 
	
		
			
				|  |  |            src={this.userInfo.lessonCoverUrl}
 | 
	
	
		
			
				|  | @@ -78,24 +86,38 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            <Cell
 | 
	
		
			
				|  |  |              title={this.userInfo.lessonName}
 | 
	
		
			
				|  |  |              titleClass={styles.userTitle}
 | 
	
		
			
				|  |  | +            labelClass={styles.userLabel}
 | 
	
		
			
				|  |  |              v-slots={{
 | 
	
		
			
				|  |  |                label: () =>
 | 
	
		
			
				|  |  |                  this.userInfo.startTime && (
 | 
	
		
			
				|  |  |                    <span
 | 
	
		
			
				|  |  | -                    style={{
 | 
	
		
			
				|  |  | -                      display: 'flex',
 | 
	
		
			
				|  |  | -                      alignItems: 'center',
 | 
	
		
			
				|  |  | -                      fontSize: '13px',
 | 
	
		
			
				|  |  | -                      paddingTop: 'var(--van-cell-label-margin-top)'
 | 
	
		
			
				|  |  | -                    }}
 | 
	
		
			
				|  |  | +                    class={styles.timers}
 | 
	
		
			
				|  |  |                    >
 | 
	
		
			
				|  |  | -                    <Icon
 | 
	
		
			
				|  |  | -                      name={iconTimer}
 | 
	
		
			
				|  |  | -                      size="16"
 | 
	
		
			
				|  |  | -                      style={{ marginRight: '5px' }}
 | 
	
		
			
				|  |  | -                    />
 | 
	
		
			
				|  |  | -                    开课时间:
 | 
	
		
			
				|  |  | -                    {this.userInfo.startTime}
 | 
	
		
			
				|  |  | +                    <div class={styles.timerSpan}>
 | 
	
		
			
				|  |  | +                      <Icon
 | 
	
		
			
				|  |  | +                        name={iconTimer}
 | 
	
		
			
				|  |  | +                        size="16"
 | 
	
		
			
				|  |  | +                        style={{ marginRight: '5px' }}
 | 
	
		
			
				|  |  | +                      />
 | 
	
		
			
				|  |  | +                      开课时间:
 | 
	
		
			
				|  |  | +                      {this.userInfo.startTime}
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    {this.showBuy && ['live', 'group'].includes(this.userInfo.type || '') && (
 | 
	
		
			
				|  |  | +                      <div class={[styles.buyNum, styles.buyNumOther]}>
 | 
	
		
			
				|  |  | +                        {this.userInfo.type === 'live' ? (
 | 
	
		
			
				|  |  | +                          <span>
 | 
	
		
			
				|  |  | +                            {this.userInfo.buyNum}人已
 | 
	
		
			
				|  |  | +                            {this.userInfo.lessonPrice <= 0 &&
 | 
	
		
			
				|  |  | +                            this.userInfo.auditVersion === 0
 | 
	
		
			
				|  |  | +                              ? '领取'
 | 
	
		
			
				|  |  | +                              : '购买'}
 | 
	
		
			
				|  |  | +                          </span>
 | 
	
		
			
				|  |  | +                        ) : this.userInfo.type === "group" ?
 | 
	
		
			
				|  |  | +                          ((this.userInfo.mixStudentNum || 0 > 0) ? <>剩余{this.userInfo.mixStudentNum}个名额</> : '')
 | 
	
		
			
				|  |  | +                        : ''}
 | 
	
		
			
				|  |  | +                      </div>
 | 
	
		
			
				|  |  | +                    )}
 | 
	
		
			
				|  |  |                    </span>
 | 
	
		
			
				|  |  |                  )
 | 
	
		
			
				|  |  |              }}
 | 
	
	
		
			
				|  | @@ -113,23 +135,27 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  />
 | 
	
		
			
				|  |  |                ),
 | 
	
		
			
				|  |  |                title: () => (
 | 
	
		
			
				|  |  | -                <div
 | 
	
		
			
				|  |  | -                  class={styles.name}
 | 
	
		
			
				|  |  | -                  onClick={() => {
 | 
	
		
			
				|  |  | -                    this.onUserDetail(this.userInfo)
 | 
	
		
			
				|  |  | -                  }}
 | 
	
		
			
				|  |  | -                >
 | 
	
		
			
				|  |  | -                  <div class={styles.username}>
 | 
	
		
			
				|  |  | -                    {this.userInfo.username || `游客${this.userInfo.id || ''}`}
 | 
	
		
			
				|  |  | -                    {/* <div>
 | 
	
		
			
				|  |  | -                      {(this.userInfo as any).isDegree && (
 | 
	
		
			
				|  |  | -                        <img class={styles.iconTeacher} src={IconXueli} />
 | 
	
		
			
				|  |  | -                      )}
 | 
	
		
			
				|  |  | -                      {(this.userInfo as any).isTeacher && (
 | 
	
		
			
				|  |  | -                        <img class={styles.iconTeacher} src={IconJiaozi} />
 | 
	
		
			
				|  |  | -                      )}
 | 
	
		
			
				|  |  | -                    </div> */}
 | 
	
		
			
				|  |  | +                <div>
 | 
	
		
			
				|  |  | +                  <div
 | 
	
		
			
				|  |  | +                    class={styles.name}
 | 
	
		
			
				|  |  | +                    onClick={() => {
 | 
	
		
			
				|  |  | +                      this.onUserDetail(this.userInfo)
 | 
	
		
			
				|  |  | +                    }}
 | 
	
		
			
				|  |  | +                  >
 | 
	
		
			
				|  |  | +                    <div class={styles.username}>
 | 
	
		
			
				|  |  | +                      {this.userInfo.username || `游客${this.userInfo.id || ''}`}
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                    {this.showBuy && this.userInfo.type === 'video' && (
 | 
	
		
			
				|  |  | +                      <div class={[styles.buyNum, styles.buyNumVideo]}>
 | 
	
		
			
				|  |  | +                        {this.userInfo.buyNum}人学习
 | 
	
		
			
				|  |  | +                      </div>
 | 
	
		
			
				|  |  | +                    )}
 | 
	
		
			
				|  |  |                    </div>
 | 
	
		
			
				|  |  | +                  {this.userInfo.isShowCourse ? <div class={styles.classInfo}>
 | 
	
		
			
				|  |  | +                    <img src={iconCourse} class={styles.iconCourse} />
 | 
	
		
			
				|  |  | +                    已上课时<span>{this.userInfo.completeCourseNum || 0}</span>/总课时 <span>{this.userInfo.lessonNum || 0}</span>
 | 
	
		
			
				|  |  | +                  </div> : ''}
 | 
	
		
			
				|  |  | +                  
 | 
	
		
			
				|  |  |                  </div>
 | 
	
		
			
				|  |  |                ),
 | 
	
		
			
				|  |  |                value: () => (
 | 
	
	
		
			
				|  | @@ -140,7 +166,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                    ) : (
 | 
	
		
			
				|  |  |                      <>
 | 
	
		
			
				|  |  |                        {this.userInfo.lessonPrice > 0 && (
 | 
	
		
			
				|  |  | -                        <>¥{this.userInfo.lessonPrice}</>
 | 
	
		
			
				|  |  | +                        <span class={styles.prices}><span class={styles.fix}>¥</span>{this.userInfo.lessonPrice}</span>
 | 
	
		
			
				|  |  |                        )}
 | 
	
		
			
				|  |  |                        {this.userInfo.lessonPrice <= 0 &&
 | 
	
		
			
				|  |  |                          this.userInfo.auditVersion !== 0 && <>¥{0}</>}
 | 
	
	
		
			
				|  | @@ -151,27 +177,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                      </>
 | 
	
		
			
				|  |  |                    )}
 | 
	
		
			
				|  |  |                    <span
 | 
	
		
			
				|  |  | -                    style={{ color: '#999', fontSize: '14px', fontWeight: 400 }}
 | 
	
		
			
				|  |  | +                    class={styles.classNum}
 | 
	
		
			
				|  |  |                    >
 | 
	
		
			
				|  |  |                      /{this.userInfo.lessonNum}课时
 | 
	
		
			
				|  |  |                    </span>
 | 
	
		
			
				|  |  | -                  {this.showBuy && (
 | 
	
		
			
				|  |  | -                    <div class={styles.buyNum}>
 | 
	
		
			
				|  |  | -                      {this.userInfo.type === 'live' ? (
 | 
	
		
			
				|  |  | -                        <>
 | 
	
		
			
				|  |  | -                          {this.userInfo.buyNum}人已
 | 
	
		
			
				|  |  | -                          {this.userInfo.lessonPrice <= 0 &&
 | 
	
		
			
				|  |  | -                          this.userInfo.auditVersion === 0
 | 
	
		
			
				|  |  | -                            ? '领取'
 | 
	
		
			
				|  |  | -                            : '购买'}
 | 
	
		
			
				|  |  | -                        </>
 | 
	
		
			
				|  |  | -                      ) : this.userInfo.type === "group" ?
 | 
	
		
			
				|  |  | -                        ((this.userInfo.mixStudentNum || 0 > 0) ? <>剩余{this.userInfo.mixStudentNum}个名额</> : '')
 | 
	
		
			
				|  |  | -                       : (
 | 
	
		
			
				|  |  | -                        <>{this.userInfo.buyNum}人学习</>
 | 
	
		
			
				|  |  | -                      )}
 | 
	
		
			
				|  |  | -                    </div>
 | 
	
		
			
				|  |  | -                  )}
 | 
	
		
			
				|  |  |                  </div>
 | 
	
		
			
				|  |  |                )
 | 
	
		
			
				|  |  |              }}
 |