dusenyao 3 роки тому
батько
коміт
0ddb80a573

+ 68 - 68
package-lock.json

@@ -11,8 +11,8 @@
         "ailp-book-question-ui": "file:../ailp-book-question-ui-0.1.1.tgz",
         "awe-dnd": "^0.3.4",
         "axios": "^0.24.0",
-        "book-ui": "file:../book-ui-0.2.3.tgz",
-        "core-js": "^3.19.1",
+        "book-ui": "file:../book-ui-0.2.4.tgz",
+        "core-js": "^3.19.2",
         "dayjs": "^1.10.7",
         "element-ui": "^2.15.6",
         "gcls-book-question-ui": "file:../gcls-book-question-ui-0.1.0.tgz",
@@ -39,7 +39,7 @@
         "@vue/cli-plugin-vuex": "~4.5.15",
         "@vue/cli-service": "~4.5.15",
         "@vue/test-utils": "^1.3.0",
-        "babel-jest": "^27.4.0",
+        "babel-jest": "^27.4.2",
         "babel-loader": "^8.2.3",
         "babel-plugin-dynamic-import-node": "^2.3.3",
         "compression-webpack-plugin": "^6.1.1",
@@ -4959,13 +4959,13 @@
       "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
     },
     "node_modules/babel-jest": {
-      "version": "27.4.0",
-      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.0.tgz",
-      "integrity": "sha512-4855S+YT4Hx0OiXFDBOWhrMj1Y9zYE7StlchuZtr1vbo1LEDBIkt8U6+7cse8jkpJSV98w3nBVDrPgol5Ab/cQ==",
+      "version": "27.4.2",
+      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.2.tgz",
+      "integrity": "sha512-MADrjb3KBO2eyZCAc6QaJg6RT5u+6oEdDyHO5HEalnpwQ6LrhTsQF2Kj1Wnz2t6UPXIXPk18dSXXOT0wF5yTxA==",
       "dev": true,
       "dependencies": {
-        "@jest/transform": "^27.4.0",
-        "@jest/types": "^27.4.0",
+        "@jest/transform": "^27.4.2",
+        "@jest/types": "^27.4.2",
         "@types/babel__core": "^7.1.14",
         "babel-plugin-istanbul": "^6.0.0",
         "babel-preset-jest": "^27.4.0",
@@ -4981,21 +4981,21 @@
       }
     },
     "node_modules/babel-jest/node_modules/@jest/transform": {
-      "version": "27.4.0",
-      "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.0.tgz",
-      "integrity": "sha512-/8Cb8kEoCtXN/Co5lvv+jG0zv4Uj3ruIvffYUzxNGRGmM7qqaHtOBZ3WbH0T1Nvjya5utTA4YtwbInZVS6Zt9A==",
+      "version": "27.4.2",
+      "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.2.tgz",
+      "integrity": "sha512-RTKcPZllfcmLfnlxBya7aypofhdz05+E6QITe55Ex0rxyerkgjmmpMlvVn11V0cP719Ps6WcDYCnDzxnnJUwKg==",
       "dev": true,
       "dependencies": {
         "@babel/core": "^7.1.0",
-        "@jest/types": "^27.4.0",
+        "@jest/types": "^27.4.2",
         "babel-plugin-istanbul": "^6.0.0",
         "chalk": "^4.0.0",
         "convert-source-map": "^1.4.0",
         "fast-json-stable-stringify": "^2.0.0",
         "graceful-fs": "^4.2.4",
-        "jest-haste-map": "^27.4.0",
+        "jest-haste-map": "^27.4.2",
         "jest-regex-util": "^27.4.0",
-        "jest-util": "^27.4.0",
+        "jest-util": "^27.4.2",
         "micromatch": "^4.0.4",
         "pirates": "^4.0.1",
         "slash": "^3.0.0",
@@ -5007,9 +5007,9 @@
       }
     },
     "node_modules/babel-jest/node_modules/@jest/types": {
-      "version": "27.4.0",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.0.tgz",
-      "integrity": "sha512-jIsLdASXMf8GS7P7oGFGwobNse/6Ewq3GBPHoo0i6XRmja+NrUoDqJm4a1ffF2bHGleKJizxokcp1sCqSktP3g==",
+      "version": "27.4.2",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz",
+      "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==",
       "dev": true,
       "dependencies": {
         "@types/istanbul-lib-coverage": "^2.0.0",
@@ -5210,12 +5210,12 @@
       }
     },
     "node_modules/babel-jest/node_modules/jest-haste-map": {
-      "version": "27.4.0",
-      "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.0.tgz",
-      "integrity": "sha512-xTXw1/JBJvdvTEsnTlRj9u9AAg2t23r5GHbtc5eC6AuEIRPfGWV02Y67U0p4K1KpEWLsk9Pb3b6Kfde/5a3C5A==",
+      "version": "27.4.2",
+      "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.2.tgz",
+      "integrity": "sha512-foiyAEePORUN2eeJnOtcM1y8qW0ShEd9kTjWVL4sVaMcuCJM6gtHegvYPBRT0mpI/bs4ueThM90+Eoj2ncoNsA==",
       "dev": true,
       "dependencies": {
-        "@jest/types": "^27.4.0",
+        "@jest/types": "^27.4.2",
         "@types/graceful-fs": "^4.1.2",
         "@types/node": "*",
         "anymatch": "^3.0.3",
@@ -5223,8 +5223,8 @@
         "graceful-fs": "^4.2.4",
         "jest-regex-util": "^27.4.0",
         "jest-serializer": "^27.4.0",
-        "jest-util": "^27.4.0",
-        "jest-worker": "^27.4.0",
+        "jest-util": "^27.4.2",
+        "jest-worker": "^27.4.2",
         "micromatch": "^4.0.4",
         "walker": "^1.0.7"
       },
@@ -5258,12 +5258,12 @@
       }
     },
     "node_modules/babel-jest/node_modules/jest-util": {
-      "version": "27.4.0",
-      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.0.tgz",
-      "integrity": "sha512-9HL5h/IWeg2u2dt0UIiseVRCnadh7CMPD4B9AeoEO23/NofaEfcPzIfl8dw45CpGHjP+xenw1viQYMd25DWquA==",
+      "version": "27.4.2",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz",
+      "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==",
       "dev": true,
       "dependencies": {
-        "@jest/types": "^27.4.0",
+        "@jest/types": "^27.4.2",
         "@types/node": "*",
         "chalk": "^4.0.0",
         "ci-info": "^3.2.0",
@@ -5275,9 +5275,9 @@
       }
     },
     "node_modules/babel-jest/node_modules/jest-worker": {
-      "version": "27.4.0",
-      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.0.tgz",
-      "integrity": "sha512-4WuKcUxtzxBoKOUFbt1MtTY9fJwPVD4aN/4Cgxee7OLetPZn5as2bjfZz98XSf2Zq1JFfhqPZpS+43BmWXKgCA==",
+      "version": "27.4.2",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz",
+      "integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==",
       "dev": true,
       "dependencies": {
         "@types/node": "*",
@@ -5928,9 +5928,9 @@
       "dev": true
     },
     "node_modules/book-ui": {
-      "version": "0.2.3",
-      "resolved": "file:../book-ui-0.2.3.tgz",
-      "integrity": "sha512-dfBwL3LyOebDYfmx0WjGSvIW58IW+JMFvKKf2cQlwizAm70KrgOBO5zZoLRZ9Syg9rPNJeL5/OXYyTQWVHsR9g==",
+      "version": "0.2.4",
+      "resolved": "file:../book-ui-0.2.4.tgz",
+      "integrity": "sha512-96aRvxzIppddanklgVd3LzpX+yfbT5Iwh9DC8jUkUHJAdhKs6zmrjhzKDJ7YlzRT1ma8OmZM0a2OWuoZMTwtWg==",
       "dependencies": {
         "awe-dnd": "^0.3.4",
         "axios": "^0.21.1",
@@ -7789,9 +7789,9 @@
       }
     },
     "node_modules/core-js": {
-      "version": "3.19.1",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.1.tgz",
-      "integrity": "sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg==",
+      "version": "3.19.2",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz",
+      "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==",
       "hasInstallScript": true,
       "funding": {
         "type": "opencollective",
@@ -28943,13 +28943,13 @@
       "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
     },
     "babel-jest": {
-      "version": "27.4.0",
-      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.0.tgz",
-      "integrity": "sha512-4855S+YT4Hx0OiXFDBOWhrMj1Y9zYE7StlchuZtr1vbo1LEDBIkt8U6+7cse8jkpJSV98w3nBVDrPgol5Ab/cQ==",
+      "version": "27.4.2",
+      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.2.tgz",
+      "integrity": "sha512-MADrjb3KBO2eyZCAc6QaJg6RT5u+6oEdDyHO5HEalnpwQ6LrhTsQF2Kj1Wnz2t6UPXIXPk18dSXXOT0wF5yTxA==",
       "dev": true,
       "requires": {
-        "@jest/transform": "^27.4.0",
-        "@jest/types": "^27.4.0",
+        "@jest/transform": "^27.4.2",
+        "@jest/types": "^27.4.2",
         "@types/babel__core": "^7.1.14",
         "babel-plugin-istanbul": "^6.0.0",
         "babel-preset-jest": "^27.4.0",
@@ -28959,21 +28959,21 @@
       },
       "dependencies": {
         "@jest/transform": {
-          "version": "27.4.0",
-          "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.0.tgz",
-          "integrity": "sha512-/8Cb8kEoCtXN/Co5lvv+jG0zv4Uj3ruIvffYUzxNGRGmM7qqaHtOBZ3WbH0T1Nvjya5utTA4YtwbInZVS6Zt9A==",
+          "version": "27.4.2",
+          "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.2.tgz",
+          "integrity": "sha512-RTKcPZllfcmLfnlxBya7aypofhdz05+E6QITe55Ex0rxyerkgjmmpMlvVn11V0cP719Ps6WcDYCnDzxnnJUwKg==",
           "dev": true,
           "requires": {
             "@babel/core": "^7.1.0",
-            "@jest/types": "^27.4.0",
+            "@jest/types": "^27.4.2",
             "babel-plugin-istanbul": "^6.0.0",
             "chalk": "^4.0.0",
             "convert-source-map": "^1.4.0",
             "fast-json-stable-stringify": "^2.0.0",
             "graceful-fs": "^4.2.4",
-            "jest-haste-map": "^27.4.0",
+            "jest-haste-map": "^27.4.2",
             "jest-regex-util": "^27.4.0",
-            "jest-util": "^27.4.0",
+            "jest-util": "^27.4.2",
             "micromatch": "^4.0.4",
             "pirates": "^4.0.1",
             "slash": "^3.0.0",
@@ -28982,9 +28982,9 @@
           }
         },
         "@jest/types": {
-          "version": "27.4.0",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.0.tgz",
-          "integrity": "sha512-jIsLdASXMf8GS7P7oGFGwobNse/6Ewq3GBPHoo0i6XRmja+NrUoDqJm4a1ffF2bHGleKJizxokcp1sCqSktP3g==",
+          "version": "27.4.2",
+          "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz",
+          "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==",
           "dev": true,
           "requires": {
             "@types/istanbul-lib-coverage": "^2.0.0",
@@ -29137,12 +29137,12 @@
           }
         },
         "jest-haste-map": {
-          "version": "27.4.0",
-          "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.0.tgz",
-          "integrity": "sha512-xTXw1/JBJvdvTEsnTlRj9u9AAg2t23r5GHbtc5eC6AuEIRPfGWV02Y67U0p4K1KpEWLsk9Pb3b6Kfde/5a3C5A==",
+          "version": "27.4.2",
+          "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.2.tgz",
+          "integrity": "sha512-foiyAEePORUN2eeJnOtcM1y8qW0ShEd9kTjWVL4sVaMcuCJM6gtHegvYPBRT0mpI/bs4ueThM90+Eoj2ncoNsA==",
           "dev": true,
           "requires": {
-            "@jest/types": "^27.4.0",
+            "@jest/types": "^27.4.2",
             "@types/graceful-fs": "^4.1.2",
             "@types/node": "*",
             "anymatch": "^3.0.3",
@@ -29151,8 +29151,8 @@
             "graceful-fs": "^4.2.4",
             "jest-regex-util": "^27.4.0",
             "jest-serializer": "^27.4.0",
-            "jest-util": "^27.4.0",
-            "jest-worker": "^27.4.0",
+            "jest-util": "^27.4.2",
+            "jest-worker": "^27.4.2",
             "micromatch": "^4.0.4",
             "walker": "^1.0.7"
           }
@@ -29174,12 +29174,12 @@
           }
         },
         "jest-util": {
-          "version": "27.4.0",
-          "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.0.tgz",
-          "integrity": "sha512-9HL5h/IWeg2u2dt0UIiseVRCnadh7CMPD4B9AeoEO23/NofaEfcPzIfl8dw45CpGHjP+xenw1viQYMd25DWquA==",
+          "version": "27.4.2",
+          "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz",
+          "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==",
           "dev": true,
           "requires": {
-            "@jest/types": "^27.4.0",
+            "@jest/types": "^27.4.2",
             "@types/node": "*",
             "chalk": "^4.0.0",
             "ci-info": "^3.2.0",
@@ -29188,9 +29188,9 @@
           }
         },
         "jest-worker": {
-          "version": "27.4.0",
-          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.0.tgz",
-          "integrity": "sha512-4WuKcUxtzxBoKOUFbt1MtTY9fJwPVD4aN/4Cgxee7OLetPZn5as2bjfZz98XSf2Zq1JFfhqPZpS+43BmWXKgCA==",
+          "version": "27.4.2",
+          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz",
+          "integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==",
           "dev": true,
           "requires": {
             "@types/node": "*",
@@ -29731,8 +29731,8 @@
       }
     },
     "book-ui": {
-      "version": "file:..\\book-ui-0.2.3.tgz",
-      "integrity": "sha512-dfBwL3LyOebDYfmx0WjGSvIW58IW+JMFvKKf2cQlwizAm70KrgOBO5zZoLRZ9Syg9rPNJeL5/OXYyTQWVHsR9g==",
+      "version": "file:..\\book-ui-0.2.4.tgz",
+      "integrity": "sha512-96aRvxzIppddanklgVd3LzpX+yfbT5Iwh9DC8jUkUHJAdhKs6zmrjhzKDJ7YlzRT1ma8OmZM0a2OWuoZMTwtWg==",
       "requires": {
         "awe-dnd": "^0.3.4",
         "axios": "^0.21.1",
@@ -31229,9 +31229,9 @@
       }
     },
     "core-js": {
-      "version": "3.19.1",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.1.tgz",
-      "integrity": "sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg=="
+      "version": "3.19.2",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz",
+      "integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g=="
     },
     "core-js-compat": {
       "version": "3.19.1",

+ 4 - 4
package.json

@@ -16,8 +16,8 @@
     "ailp-book-question-ui": "file:../ailp-book-question-ui-0.1.1.tgz",
     "awe-dnd": "^0.3.4",
     "axios": "^0.24.0",
-    "book-ui": "file:../book-ui-0.2.3.tgz",
-    "core-js": "^3.19.1",
+    "book-ui": "file:../book-ui-0.2.4.tgz",
+    "core-js": "^3.19.2",
     "dayjs": "^1.10.7",
     "element-ui": "^2.15.6",
     "gcls-book-question-ui": "file:../gcls-book-question-ui-0.1.0.tgz",
@@ -44,7 +44,7 @@
     "@vue/cli-plugin-vuex": "~4.5.15",
     "@vue/cli-service": "~4.5.15",
     "@vue/test-utils": "^1.3.0",
-    "babel-jest": "^27.4.0",
+    "babel-jest": "^27.4.2",
     "babel-loader": "^8.2.3",
     "babel-plugin-dynamic-import-node": "^2.3.3",
     "compression-webpack-plugin": "^6.1.1",
@@ -54,7 +54,7 @@
     "html-webpack-plugin": "^5.3.1",
     "postcss": "^8.4.4",
     "postcss-html": "^1.3.0",
-    "prettier": "2.5.0",
+    "prettier": "2.5.1",
     "sass": "^1.44.0",
     "sass-loader": "^10.2.0",
     "script-ext-html-webpack-plugin": "^2.1.5",

+ 0 - 14
src/api/table.js

@@ -29,20 +29,6 @@ export function GetMyTaskList(data) {
     data
   });
 }
-/**
- * 得到课次详情(信息集合)
- * @param {Object} data {id}
- */
-export function getCSItemInfoBox(data) {
-  let params = getRequestParams('teaching-cs_item_manager-GetCSItemInfoBox');
-
-  return request({
-    method: 'post',
-    url: process.env.VUE_APP_LearnWebSI,
-    params,
-    data
-  });
-}
 
 /**
  * 分页查询我的课程列表

+ 2 - 2
src/styles/index.scss

@@ -41,8 +41,8 @@ ul {
 }
 
 *,
-*::before,
-*::after {
+::before,
+::after {
   box-sizing: inherit;
 }
 

+ 20 - 45
src/views/main/TaskList.vue

@@ -2,18 +2,7 @@
   <div class="tasks">
     <div class="tasks-left">
       <!-- 菜单 -->
-      <div class="menu">
-        <template v-for="{ tab, name, isShow } in menuList">
-          <span
-            v-if="isShow"
-            :key="tab"
-            :class="['menu-item', tab === 'TaskList' ? 'active' : '']"
-            @click="changeTab(tab)"
-          >
-            {{ name }}
-          </span>
-        </template>
-      </div>
+      <main-menu cur-tab="TaskList" />
       <!-- 日历 -->
       <monthly-calendar ref="calendar" @changeTimeUnit="changeTimeUnit" @changeDate="changeDate" />
       <!-- 通知 -->
@@ -58,7 +47,7 @@
         <span class="select-prefix">
           <svg-icon icon-class="schedule" class-name="svg-normal" />
         </span>
-        <el-select v-model="course_id" @change="changeCourse">
+        <el-select v-model="course_id" class="select-course" @change="changeCourse">
           <el-option label="全部" value="" />
           <el-option v-for="{ id, name } in course_list" :key="id" :label="name" :value="id" />
         </el-select>
@@ -107,6 +96,7 @@
 </template>
 
 <script>
+import MainMenu from './components/MainMenu.vue';
 import { PageQueryMyMessageList, GetMyTaskList } from '@/api/table';
 import { CreateEnterLiveRoomSession } from '@/api/live';
 import { ReadMyMessage } from '@/api/user';
@@ -118,7 +108,8 @@ import MonthlyCalendar from './components/MonthlyCalendar.vue';
 export default {
   name: 'TaskList',
   components: {
-    MonthlyCalendar
+    MonthlyCalendar,
+    MainMenu
   },
   data() {
     return {
@@ -238,10 +229,6 @@ export default {
 
     goPersonal() {
       window.location.href = `/GCLS-Personal/#/EnterSys`;
-    },
-
-    changeTab(tab) {
-      this.$emit('changeTab', tab);
     }
   }
 };
@@ -255,42 +242,18 @@ export default {
     width: 392px;
     margin-right: 16px;
 
-    .menu {
-      display: flex;
-      height: 56px;
-      font-size: 20px;
-      font-weight: 500;
-      line-height: 56px;
-      text-align: center;
-      background-color: #ebebeb;
-      border: 1px solid $border-color;
-      border-radius: 8px;
-
-      &-item {
-        flex: 1;
-        color: rgba(0, 0, 0, 45%);
-        cursor: pointer;
-        border-radius: 8px;
-
-        &.active {
-          color: #000;
-          background-color: #fff;
-          box-shadow: 0 2px 4px $border-color;
-        }
-      }
-    }
-
     // 日历
     .monthly-calendar {
       min-height: 498px;
       padding: 32px;
-      margin: 16px 0;
+      margin-bottom: 16px;
       background-color: #fff;
       border-radius: 8px;
     }
 
     .notice {
       height: calc(100vh - 705px);
+      min-height: 210px;
       padding: 32px;
       background: #fff;
       border-radius: 8px;
@@ -373,7 +336,7 @@ export default {
         &-item {
           height: 100%;
           padding: 8px;
-          line-height: 26px;
+          line-height: 24px;
           cursor: pointer;
 
           &.active {
@@ -386,6 +349,7 @@ export default {
       }
 
       .select-prefix {
+        height: 40px;
         padding: 6px;
         margin-right: -1px;
         border: 1px solid $border-color;
@@ -444,3 +408,14 @@ export default {
   }
 }
 </style>
+
+<style lang="scss">
+.tasks {
+  .el-select.select-course {
+    .el-input__inner {
+      border-top-left-radius: 0;
+      border-bottom-left-radius: 0;
+    }
+  }
+}
+</style>

+ 6 - 20
src/views/main/TemplateList.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="template">
+    <main-menu cur-tab="TemplateList" />
     <!-- 查询条件 -->
     <div class="template-search">
       <div>
@@ -21,18 +22,6 @@
     <!-- 模板列表 -->
     <div class="template-container">
       <div class="template-container-title">
-        <span class="menu-list">
-          <template v-for="{ name, tab, isShow } in menuList">
-            <span
-              v-if="isShow"
-              :key="tab"
-              :class="[tab === 'TemplateList' ? 'active' : '', 'menu-list-item']"
-              @click="changeTab(tab)"
-            >
-              {{ name }}
-            </span>
-          </template>
-        </span>
         <el-button class="create" @click="$router.push('/create_course_step_table/course_info?is_template=true')">
           <div><svg-icon icon-class="create" /><span>创建模板</span></div>
         </el-button>
@@ -95,11 +84,14 @@
 </template>
 
 <script>
-import { getMenuList } from './data';
+import MainMenu from './components/MainMenu.vue';
 import { PageQueryCourseList } from '@/api/table';
 import { ReleaseCourse, DeleteCourse, IsHasEditDestCoursePopedom } from '@/api/course';
 
 export default {
+  components: {
+    MainMenu
+  },
   data() {
     return {
       // 查询条件
@@ -108,7 +100,6 @@ export default {
       cur_page: 0,
       total_count: 0,
       release_status: -1,
-      menuList: getMenuList(),
       releaseStatusList: [
         {
           name: '全部',
@@ -184,7 +175,6 @@ export default {
 
 <style lang="scss">
 @import '~@/styles/mixin';
-@import './common';
 
 .template {
   @include pagination;
@@ -205,7 +195,7 @@ export default {
 
   &-container {
     width: 100%;
-    min-height: calc(100vh - 235px);
+    min-height: calc(100vh - 300px);
     margin-top: 16px;
     background-color: #fff;
     border-radius: 8px;
@@ -218,10 +208,6 @@ export default {
       font-size: 20px;
       font-weight: bold;
 
-      .menu-list {
-        @include menu-list;
-      }
-
       .create {
         width: 138px;
 

+ 0 - 22
src/views/main/common.scss

@@ -1,22 +0,0 @@
-@mixin menu-list {
-  font-size: 16px;
-  font-weight: normal;
-  color: #8c8c8c;
-  text-align: center;
-  background-color: #ebebeb;
-  border: 1px solid $border-color;
-  border-radius: 8px;
-
-  &-item {
-    display: inline-block;
-    padding: 8px 12px;
-    cursor: pointer;
-
-    &.active {
-      color: #000;
-      background-color: #fff;
-      border-radius: 8px;
-      box-shadow: 0 2px 4px $border-color;
-    }
-  }
-}

+ 62 - 0
src/views/main/components/MainMenu.vue

@@ -0,0 +1,62 @@
+<template>
+  <div class="main-menu">
+    <template v-for="{ tab, name, isShow } in menuList">
+      <span
+        v-if="isShow"
+        :key="tab"
+        :class="['main-menu-item', tab === curTab ? 'active' : '']"
+        @click="changeTab(tab)"
+      >
+        {{ name }}
+      </span>
+    </template>
+  </div>
+</template>
+
+<script>
+import { getMenuList } from '../data';
+
+export default {
+  inject: ['changeTab'],
+  props: {
+    curTab: {
+      default: 'TaskList',
+      type: String
+    }
+  },
+  data() {
+    return {
+      menuList: getMenuList()
+    };
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+.main-menu {
+  display: flex;
+  width: 392px;
+  height: 56px;
+  margin-bottom: 16px;
+  font-size: 20px;
+  font-weight: 500;
+  line-height: 56px;
+  text-align: center;
+  background-color: #ebebeb;
+  border: 1px solid $border-color;
+  border-radius: 8px;
+
+  &-item {
+    flex: 1;
+    color: rgba(0, 0, 0, 45%);
+    cursor: pointer;
+    border-radius: 8px;
+
+    &.active {
+      color: #000;
+      background-color: #fff;
+      box-shadow: 0 2px 4px $border-color;
+    }
+  }
+}
+</style>

+ 3 - 2
src/views/main/components/MonthlyCalendar.vue

@@ -239,8 +239,8 @@ export default {
 
     .today-dot {
       display: inline-block;
-      width: 4px;
-      height: 4px;
+      width: 6px;
+      height: 6px;
       margin: 0 16px;
       background-color: #595959;
       border-radius: 50%;
@@ -338,6 +338,7 @@ export default {
     color: #878787;
     cursor: pointer;
     background-color: $bac-color;
+    border: 1px solid $border-color;
     border-radius: 8px;
 
     .item {

+ 5 - 23
src/views/main/curricula_list/student.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="curricula-student">
+    <main-menu cur-tab="CurriculaList" />
     <!-- 查询条件 -->
     <div class="curricula-student-search">
       <div class="curricula-student-search-condition">
@@ -41,18 +42,6 @@
     <div class="curricula-student-container">
       <div class="curricula-student-container-title">
         <div>
-          <span class="menu-list">
-            <template v-for="{ name, tab, isShow } in menuList">
-              <span
-                v-if="isShow"
-                :key="tab"
-                :class="[tab === 'CurriculaList' ? 'active' : '', 'menu-list-item']"
-                @click="changeTab(tab)"
-              >
-                {{ name }}
-              </span>
-            </template>
-          </span>
           <span class="tip"> 你也可以去 <a @click="goLearningCenter">学习中心</a> 选择更多的课程。 </span>
         </div>
       </div>
@@ -104,9 +93,10 @@ import {
   GetMyJoinCourseTeacherList_Student,
   GetStudentCourseBuyStatusList
 } from '@/api/select';
-import { getMenuList } from '../data';
+import MainMenu from '../components/MainMenu.vue';
 
 export default {
+  components: { MainMenu },
   data() {
     return {
       search: '',
@@ -121,8 +111,7 @@ export default {
       page_capacity: 10,
       cur_page: 1,
       total_count: 0,
-      courseList: [],
-      menuList: getMenuList()
+      courseList: []
     };
   },
   created() {
@@ -186,7 +175,6 @@ export default {
 
 <style lang="scss">
 @import '~@/styles/mixin';
-@import '../common';
 
 .curricula-student {
   @include pagination;
@@ -215,7 +203,7 @@ export default {
 
   &-container {
     width: 100%;
-    min-height: calc(100vh - 235px);
+    min-height: calc(100vh - 300px);
     margin-top: 16px;
     background-color: #fff;
     border-radius: 8px;
@@ -227,12 +215,6 @@ export default {
       height: 88px;
       padding: 24px 32px;
 
-      .menu-list {
-        @include menu-list;
-
-        display: inline-block;
-      }
-
       .title {
         margin-right: 36px;
         font: {

+ 7 - 21
src/views/main/curricula_list/teacher.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="curricula-teacher">
+    <main-menu cur-tab="CurriculaList" />
     <!-- 查询条件 -->
     <div class="curricula-teacher-search">
       <div class="curricula-teacher-search-condition">
@@ -27,18 +28,6 @@
     <!-- 课程列表 -->
     <div class="curricula-teacher-container">
       <div class="curricula-teacher-container-title">
-        <span class="menu-list">
-          <template v-for="{ name, tab, isShow } in menuList">
-            <span
-              v-if="isShow"
-              :key="tab"
-              :class="[tab === 'CurriculaList' ? 'active' : '', 'menu-list-item']"
-              @click="changeTab(tab)"
-            >
-              {{ name }}
-            </span>
-          </template>
-        </span>
         <div>
           <el-button class="create" @click="$router.push('/create_course')">
             <div><svg-icon icon-class="create" /><span>创建课程</span></div>
@@ -108,13 +97,16 @@
 </template>
 
 <script>
+import MainMenu from '../components/MainMenu.vue';
 import { updateWordPack } from '@/utils/i18n';
 import { PageQueryMyCourseList } from '@/api/table';
 import { GetFinishStatusList_Course } from '@/api/select';
 import { ReleaseCourse, DeleteCourse } from '@/api/course';
-import { getMenuList } from '../data';
 
 export default {
+  components: {
+    MainMenu
+  },
   data() {
     return {
       search: '',
@@ -124,8 +116,7 @@ export default {
       page_capacity: 10,
       cur_page: 1,
       total_count: 0,
-      courseList: [],
-      menuList: getMenuList()
+      courseList: []
     };
   },
   created() {
@@ -207,7 +198,6 @@ export default {
 
 <style lang="scss">
 @import '~@/styles/mixin';
-@import '../common';
 
 .curricula-teacher {
   @include pagination;
@@ -236,7 +226,7 @@ export default {
 
   &-container {
     width: 100%;
-    min-height: calc(100vh - 235px);
+    min-height: calc(100vh - 300px);
     margin-top: 16px;
     background-color: #fff;
     border-radius: 8px;
@@ -248,10 +238,6 @@ export default {
       height: 88px;
       padding: 24px 32px;
 
-      .menu-list {
-        @include menu-list;
-      }
-
       .title {
         margin-right: 36px;
         font-size: 20px;

+ 6 - 1
src/views/main/index.vue

@@ -1,7 +1,7 @@
 <template>
   <main class="main-container">
     <keep-alive>
-      <component :is="currentTabComponent" @changeTab="changeTab" />
+      <component :is="currentTabComponent" />
     </keep-alive>
   </main>
 </template>
@@ -20,6 +20,11 @@ export default {
     CurriculaListStudent,
     CurriculaListTeacher
   },
+  provide() {
+    return {
+      changeTab: this.changeTab
+    };
+  },
   data() {
     const state = this.$store.state;
     let popedom_code_list = state.user.popedom_code_list;

+ 21 - 43
src/views/teacher/create_course/step_table/AddItem.vue

@@ -4,7 +4,7 @@
     class="add-item"
     :visible="dialogVisible"
     title="课节信息"
-    width="780px"
+    width="600px"
     top="25vh"
     :close-on-click-modal="false"
     :show-close="false"
@@ -15,23 +15,11 @@
         <el-input v-model="itemForm.name" class="item-name" />
       </el-form-item>
       <el-form-item label="课节周期" prop="date">
-        <el-date-picker v-model="itemForm.begin_date" type="date" value-format="yyyy-MM-dd" />&nbsp;
-        <el-select v-model="itemForm.begin_date_hour" class="date-hour">
-          <el-option v-for="item in hourArr" :key="item" :label="item" :value="item" />
-        </el-select>
-        <span> : </span>
-        <el-select v-model="itemForm.begin_date_minute" class="date-minute">
-          <el-option v-for="item in minuteArr" :key="item" :label="item" :value="item" />
-        </el-select>
-        <span> ~ </span>
-        <el-date-picker v-model="itemForm.end_date" type="date" value-format="yyyy-MM-dd" />&nbsp;
-        <el-select v-model="itemForm.end_date_hour" class="date-hour">
-          <el-option v-for="item in hourArr" :key="item" :label="item" :value="item" />
-        </el-select>
-        <span> : </span>
-        <el-select v-model="itemForm.end_date_minute" class="date-minute">
-          <el-option v-for="item in minuteArr" :key="item" :label="item" :value="item" />
-        </el-select>
+        <div class="cs-cycle">
+          <el-date-picker v-model="itemForm.begin_date" type="date" value-format="yyyy-MM-dd" />
+          <span>&nbsp;~&nbsp;</span>
+          <el-date-picker v-model="itemForm.end_date" type="date" value-format="yyyy-MM-dd" />
+        </div>
       </el-form-item>
     </el-form>
 
@@ -74,14 +62,8 @@ export default {
       itemForm: {
         name: '',
         begin_date: '',
-        begin_date_hour: '00',
-        begin_date_minute: '00',
-        end_date: '',
-        end_date_hour: '00',
-        end_date_minute: '00'
+        end_date: ''
       },
-      hourArr: [],
-      minuteArr: [],
       itemRules: {
         name: { required: true, message: '课节名称不能为空', trigger: 'blur' }
       }
@@ -96,14 +78,6 @@ export default {
       }
     }
   },
-  created() {
-    for (let i = 0; i < 60; i++) {
-      let item = String(i);
-      if (i < 10) item = `0${item}`;
-      if (i < 24) this.hourArr.push(item);
-      this.minuteArr.push(item);
-    }
-  },
   methods: {
     addCSItem() {
       this.$refs.itemForm.validate(valid => {
@@ -111,8 +85,8 @@ export default {
 
         let data = {
           name: this.itemForm.name,
-          begin_time: `${this.itemForm.begin_date} ${this.itemForm.begin_date_hour}:${this.itemForm.begin_date_minute}`,
-          end_time: `${this.itemForm.end_date} ${this.itemForm.end_date_hour}:${this.itemForm.end_date_minute}`
+          begin_time: `${this.itemForm.begin_date} 00:00:00`,
+          end_time: `${this.itemForm.end_date} 23:59:59`
         };
         this.loading = true;
 
@@ -147,16 +121,10 @@ export default {
         if (begin_time.length > 0) {
           let begin = begin_time.split(' ');
           this.itemForm.begin_date = begin[0];
-          let bTime = begin[1].split(':');
-          this.itemForm.begin_date_hour = bTime[0];
-          this.itemForm.begin_date_minute = bTime[1];
         }
         if (end_time.length > 0) {
           let end = end_time.split(' ');
           this.itemForm.end_date = end[0];
-          let eTime = end[1].split(':');
-          this.itemForm.end_date_hour = eTime[0];
-          this.itemForm.end_date_minute = eTime[1];
         }
         this.itemForm.name = name;
       });
@@ -188,8 +156,18 @@ export default {
         }
       }
 
-      .el-date-editor.el-input {
-        width: 140px;
+      .el-form-item {
+        .cs-cycle {
+          display: flex;
+
+          .el-date-editor.el-input {
+            width: 100%;
+          }
+
+          .el-date-picker {
+            flex: 1;
+          }
+        }
       }
     }
   }

+ 94 - 91
src/views/teacher/create_course/step_table/CreateTask.vue

@@ -523,7 +523,7 @@ export default {
 };
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
 @import '~@/styles/mixin';
 
 .task {
@@ -700,96 +700,6 @@ export default {
           .number-tag {
             padding: 10px 7px;
           }
-
-          .item-task-list {
-            .el-card {
-              margin-bottom: 16px;
-              border-radius: 8px;
-
-              .card-title {
-                display: flex;
-                justify-content: space-between;
-                width: 100%;
-
-                .name {
-                  font-weight: 600;
-                }
-
-                .info {
-                  color: #929292;
-
-                  .el-dropdown {
-                    margin-left: 16px;
-                  }
-                }
-              }
-            }
-
-            .el-card,
-            .el-collapse-item__wrap {
-              background-color: #f7f7f7;
-
-              .el-collapse-item__content {
-                padding: 15px 24px 9px;
-                color: #000;
-                background-color: #fff;
-
-                .task-info > div {
-                  display: flex;
-                  align-items: center;
-                  padding: 8px 0;
-
-                  span.label {
-                    width: 80px;
-                    min-width: 80px;
-                    margin-right: 16px;
-                  }
-
-                  .el-tag {
-                    max-width: 275px;
-                    margin-right: 16px;
-                    overflow: hidden;
-                    color: #000;
-                    text-overflow: ellipsis;
-                    white-space: nowrap;
-                    border-color: #dbdbdb;
-                  }
-                }
-              }
-            }
-
-            .el-card.is-always-shadow,
-            .el-card.is-hover-shadow:focus,
-            .el-card.is-hover-shadow:hover {
-              box-shadow: 0 0;
-            }
-
-            .el-card__body {
-              padding: 0;
-              background-color: #f7f7f7;
-
-              .el-collapse-item__header {
-                height: 22px;
-                line-height: 22px;
-                background-color: #f9f9f9;
-                border-bottom-width: 0;
-
-                .el-collapse-item__arrow {
-                  display: none;
-                }
-
-                &.focusing:focus:not(:hover) {
-                  color: #000;
-                }
-              }
-
-              .el-collapse-item > div:first-child {
-                padding: 10px 20px;
-                background-color: #f9f9f9;
-                border-bottom: 1px solid #e7e7e7;
-              }
-            }
-          }
         }
 
         // 课前任务
@@ -840,6 +750,99 @@ export default {
     }
   }
 }
+</style>
+
+<style lang="scss">
+// 任务列表
+.item-task-list {
+  .el-card {
+    margin-bottom: 16px;
+    border-radius: 8px;
+
+    .card-title {
+      display: flex;
+      justify-content: space-between;
+      width: 100%;
+
+      .name {
+        font-weight: 600;
+      }
+
+      .info {
+        color: #929292;
+
+        .el-dropdown {
+          margin-left: 16px;
+        }
+      }
+    }
+  }
+
+  .el-card,
+  .el-collapse-item__wrap {
+    background-color: #f7f7f7;
+
+    .el-collapse-item__content {
+      padding: 15px 24px 9px;
+      color: #000;
+      background-color: #fff;
+
+      .task-info > div {
+        display: flex;
+        align-items: center;
+        padding: 8px 0;
+
+        span.label {
+          width: 80px;
+          min-width: 80px;
+          margin-right: 16px;
+        }
+
+        .el-tag {
+          max-width: 275px;
+          margin-right: 16px;
+          overflow: hidden;
+          color: #000;
+          text-overflow: ellipsis;
+          white-space: nowrap;
+          border-color: #dbdbdb;
+        }
+      }
+    }
+  }
+
+  .el-card.is-always-shadow,
+  .el-card.is-hover-shadow:focus,
+  .el-card.is-hover-shadow:hover {
+    box-shadow: 0 0;
+  }
+
+  .el-card__body {
+    padding: 0;
+    background-color: #f7f7f7;
+
+    .el-collapse-item__header {
+      height: 22px;
+      line-height: 22px;
+      background-color: #f9f9f9;
+      border-bottom-width: 0;
+
+      .el-collapse-item__arrow {
+        display: none;
+      }
+
+      &.focusing:focus:not(:hover) {
+        color: #000;
+      }
+    }
+
+    .el-collapse-item > div:first-child {
+      padding: 10px 20px;
+      background-color: #f9f9f9;
+      border-bottom: 1px solid #e7e7e7;
+    }
+  }
+}
 
 .el-dropdown-menu {
   padding: 1px;

+ 77 - 66
src/views/teacher/create_course/step_table/NewTask.vue

@@ -136,12 +136,7 @@
               </el-form-item>
 
               <el-form-item label="任务模式">
-                <el-radio
-                  v-for="item in mode_list"
-                  :key="item.code"
-                  v-model="courseForm.task_mode"
-                  :label="item.code"
-                >
+                <el-radio v-for="item in mode_list" :key="item.code" v-model="courseForm.task_mode" :label="item.code">
                   {{ item.name }}
                 </el-radio>
               </el-form-item>
@@ -217,7 +212,7 @@
 <script>
 import SelectCourse from '@/components/select/SelectCourse.vue';
 import { GetTaskTeachingTypeList, GetTaskModeList, GetTeacherListByCourseID } from '@/api/select';
-import { AddTaskToCSItem, GetTreeNodeInfo_BookChapterStruct, GetTaskInfo, UpdateTask } from '@/api/course';
+import { AddTaskToCSItem, GetTreeNodeInfo_BookChapterStruct, GetTaskInfo, UpdateTask, GetCSItem } from '@/api/course';
 import { fileUpload } from '@/api/app';
 
 export default {
@@ -239,6 +234,8 @@ export default {
       cs_item_id: this.$route.params.cs_item_id,
       is_template: 'is_template' in this.$route.query ? JSON.parse(this.$route.query.is_template) : false,
       dialogVisible: false,
+      cs_item_begin_time: '',
+      cs_item_end_time: '',
       type_list: [],
       teacher_list: [],
       mode_list: [],
@@ -286,13 +283,13 @@ export default {
       this.minuteArr.push(item);
     }
 
-    this.getPageNeedPage();
+    this.init();
     if (this.task_id) {
       this.getTaskInfo();
     }
   },
   methods: {
-    getPageNeedPage() {
+    init() {
       GetTaskTeachingTypeList().then(({ type_list }) => {
         this.type_list = type_list;
       });
@@ -304,70 +301,80 @@ export default {
       GetTaskModeList().then(({ mode_list }) => {
         this.mode_list = mode_list;
       });
+      GetCSItem({ id: this.cs_item_id }).then(({ begin_time, end_time }) => {
+        this.cs_item_begin_time = begin_time;
+        this.cs_item_end_time = end_time;
+      });
     },
 
     addTaskToCSItem() {
       this.$refs.newTaskForm.validate(valid => {
-        if (valid) {
-          let teaching_type = this.form.teaching_type;
-
-          let data = {
-            cs_item_id: this.cs_item_id,
-            name: this.form.name,
-            time_type: Number(this.time_type),
-            teaching_type,
-            begin_time: `${this.form.begin_date} ${this.form.begin_date_hour}:${this.form.begin_date_minute}`,
-            end_time: `${this.form.end_date} ${this.form.end_date_hour}:${this.form.end_date_minute}`,
-            teacher_id: this.form.teacher_id,
-            content: this.form.content
-          };
+        if (!valid) {
+          return false;
+        }
 
-          if (teaching_type === 10) {
-            let courseware_id_list = [];
-            this.liveForm.coursewareInfo.forEach(item => {
-              courseware_id_list.push(item.courseware_id);
-            });
-            data['courseware_id_list'] = courseware_id_list;
-            let file_info_list = [];
-            this.liveForm.file_info_list.forEach(item => {
-              file_info_list.push(item.file_id);
-            });
-            data['file_id_list'] = file_info_list;
-            data['courseware_visible_mode'] = this.liveForm.courseware_visible_mode;
-            data['zhibo_record_mode'] = this.liveForm.zhibo_record_mode;
-          }
+        let teaching_type = this.form.teaching_type;
+        let data = {
+          cs_item_id: this.cs_item_id,
+          name: this.form.name,
+          time_type: Number(this.time_type),
+          teaching_type,
+          begin_time:
+            this.form.begin_date.length > 0
+              ? `${this.form.begin_date} ${this.form.begin_date_hour}:${this.form.begin_date_minute}`
+              : this.cs_item_begin_time,
+          end_time:
+            this.form.end_date.length > 0
+              ? `${this.form.end_date} ${this.form.end_date_hour}:${this.form.end_date_minute}`
+              : this.cs_item_end_time,
+          teacher_id: this.form.teacher_id,
+          content: this.form.content
+        };
+
+        if (teaching_type === 10) {
+          let courseware_id_list = [];
+          this.liveForm.coursewareInfo.forEach(item => {
+            courseware_id_list.push(item.courseware_id);
+          });
+          data['courseware_id_list'] = courseware_id_list;
+          let file_info_list = [];
+          this.liveForm.file_info_list.forEach(item => {
+            file_info_list.push(item.file_id);
+          });
+          data['file_id_list'] = file_info_list;
+          data['courseware_visible_mode'] = this.liveForm.courseware_visible_mode;
+          data['zhibo_record_mode'] = this.liveForm.zhibo_record_mode;
+        }
 
-          if (teaching_type === 11) {
-            let courseware_id_list = [];
-            this.courseForm.coursewareInfo.forEach(item => {
-              courseware_id_list.push(item.courseware_id);
-            });
-            data['courseware_id_list'] = courseware_id_list;
-            data['task_mode'] = this.courseForm.task_mode;
-            data['is_enable_message'] = this.courseForm.is_enable_message;
-          }
+        if (teaching_type === 11) {
+          let courseware_id_list = [];
+          this.courseForm.coursewareInfo.forEach(item => {
+            courseware_id_list.push(item.courseware_id);
+          });
+          data['courseware_id_list'] = courseware_id_list;
+          data['task_mode'] = this.courseForm.task_mode;
+          data['is_enable_message'] = this.courseForm.is_enable_message;
+        }
 
-          if (teaching_type === 12) {
-            let file_info_list = [];
-            this.basicForm.file_info_list.forEach(item => {
-              file_info_list.push(item.file_id);
-            });
-            data['file_id_list'] = file_info_list;
-            data['is_enable_homework'] = this.basicForm.is_enable_homework;
-            data['is_enable_message'] = this.basicForm.is_enable_message;
-          }
-          if (this.task_id) {
-            data['id'] = this.task_id;
-            UpdateTask(data).then(() => {
-              this.goBack();
-            });
-          } else {
-            AddTaskToCSItem(data).then(() => {
-              this.goBack();
-            });
-          }
+        if (teaching_type === 12) {
+          let file_info_list = [];
+          this.basicForm.file_info_list.forEach(item => {
+            file_info_list.push(item.file_id);
+          });
+          data['file_id_list'] = file_info_list;
+          data['is_enable_homework'] = this.basicForm.is_enable_homework;
+          data['is_enable_message'] = this.basicForm.is_enable_message;
+        }
+
+        if (this.task_id) {
+          data['id'] = this.task_id;
+          UpdateTask(data).then(() => {
+            this.goBack();
+          });
         } else {
-          return false;
+          AddTaskToCSItem(data).then(() => {
+            this.goBack();
+          });
         }
       });
     },
@@ -449,7 +456,9 @@ export default {
           is_enable_homework,
           is_enable_message,
           courseware_visible_mode,
-          zhibo_record_mode
+          zhibo_record_mode,
+          cs_item_begin_time,
+          cs_item_end_time
         }) => {
           if (begin_time.length > 0) {
             let begin = begin_time.split(' ');
@@ -466,6 +475,8 @@ export default {
             this.form.end_date_minute = eTime[1];
           }
 
+          this.cs_item_begin_time = cs_item_begin_time;
+          this.cs_item_end_time = cs_item_end_time;
           this.time_type = time_type;
           this.form.teaching_type = teaching_type;
           this.form.name = name;