Browse Source

更新判断

lex 2 years ago
parent
commit
3c84213b63

+ 11 - 5
src/teacher/live-class/create-components/course-start.tsx

@@ -38,13 +38,17 @@ export default defineComponent({
       maxDate: new Date()
     }
   },
+  computed: {
+    disabled() {
+      return createState.live.courseGroupId ? true : false
+    }
+  },
   mounted() {
     if (createState.selectCourseList[0]?.startTime) {
       this.maxDate = dayjs(createState.selectCourseList[0].startTime)
-      .subtract(1, 'day')
-      .toDate()
+        .subtract(1, 'day')
+        .toDate()
     }
-    
 
     createState.live.salesStartDate =
       createState.live.salesStartDate ||
@@ -90,7 +94,6 @@ export default defineComponent({
         class={styles.courseStart}
         onSubmit={() => (createState.active = 5)}
         scrollToError
-        disabled={createState.live.courseGroupId ? true : false}
       >
         <ColFieldGroup>
           <ColField title="开售日期" required>
@@ -100,6 +103,7 @@ export default defineComponent({
               readonly
               isLink
               placeholder="请选择开售日期"
+              disabled={this.disabled}
               onClick={() => {
                 if (createState.live.courseGroupId) {
                   return
@@ -120,6 +124,7 @@ export default defineComponent({
               name="salesEndDate"
               readonly
               isLink
+              disabled={this.disabled}
               onClick={() => {
                 if (createState.live.courseGroupId) {
                   return
@@ -149,6 +154,7 @@ export default defineComponent({
               placeholder="请输入最低开课人数"
               type="number"
               maxlength={8}
+              disabled={this.disabled}
               formatter={this.onFormatterInt}
               rules={[{ required: true, message: '请输入最低开课人数' }]}
               v-slots={{
@@ -287,7 +293,7 @@ export default defineComponent({
               plain
               onClick={() => {
                 createState.active = 3
-                if(!createState.live.courseGroupId){
+                if (!createState.live.courseGroupId) {
                   createState.live.salesStartDate = ''
                   createState.live.salesEndDate = ''
                   createState.live.backgroundPic = ''

+ 13 - 1
src/teacher/live-class/create-components/course.tsx

@@ -11,6 +11,16 @@ import {
   verifyNumberIntegerAndFloat
 } from '@/helpers/toolsValidate'
 
+// 校验函数返回 true 表示校验通过,false 表示不通过
+export const validator = val => {
+  console.log(val)
+  if (Number(val) <= 0) {
+    return '课程组售价必须大于0'
+  } else {
+    return true
+  }
+}
+
 export default defineComponent({
   name: 'course',
   data() {
@@ -172,7 +182,9 @@ export default defineComponent({
               type="number"
               maxlength={8}
               disabled={this.disabled}
-              rules={[{ required: true, message: '请输入您的课程组售价' }]}
+              rules={[
+                { required: true, validator, message: '请输入您的课程组售价' }
+              ]}
               v-slots={{
                 button: () => <span>元</span>
               }}

+ 33 - 0
src/teacher/video-class/video-detail.tsx

@@ -11,6 +11,7 @@ import ColShare from '@/components/col-share'
 import ColSticky from '@/components/col-sticky'
 import LiveItem from '@/views/live-class/live-item'
 import { state } from '@/state'
+import { postMessage } from '@/helpers/native-message'
 export default defineComponent({
   name: 'VideoDetail',
   data() {
@@ -106,6 +107,24 @@ export default defineComponent({
           classId: detail.id
         }
       })
+    },
+    async updateShelves() {
+      try {
+        // 下架
+        await request.post('/api-teacher/videoLessonGroup/updateShelves', {
+          data: {
+            id: this.userInfo.lessonId,
+            shelvesFlag: 0
+          }
+        })
+
+        Toast('下架成功')
+        setTimeout(() => {
+          postMessage({ api: 'back' })
+        }, 800)
+      } catch {
+        //
+      }
     }
   },
   render() {
@@ -203,6 +222,20 @@ export default defineComponent({
                 </div>
               </ColSticky>
             )}
+            {this.share != '1' && this.detailList.length > 0 && (
+              <ColSticky position="bottom">
+                <div class={['btnGroup']} style={{ paddingTop: '12px' }}>
+                  <Button
+                    block
+                    round
+                    type="primary"
+                    onClick={this.updateShelves}
+                  >
+                    下架
+                  </Button>
+                </div>
+              </ColSticky>
+            )}
           </>
         )}