Ver Fonte

Merge branch 'master' of http://106.12.23.251:10080/CDHABOOK/TEAMModelOS

liqk há 6 anos atrás
pai
commit
fd5c65a0db
100 ficheiros alterados com 2712 adições e 418 exclusões
  1. 5 2
      TEAMModelOS.SmartClass/ClientApp/components/smart-class/headers.vue
  2. 10 0
      TEAMModelOS.SmartClass/ClientApp/router/routes.js
  3. 107 0
      TEAMModelOS.SmartClass/ClientApp/static/activityDetails.json
  4. 153 0
      TEAMModelOS.SmartClass/ClientApp/static/attachmentsList.json
  5. 259 0
      TEAMModelOS.SmartClass/ClientApp/static/indexNoticeList.json
  6. 57 0
      TEAMModelOS.SmartClass/ClientApp/static/noticeDetails.json
  7. 388 0
      TEAMModelOS.SmartClass/ClientApp/static/reviewAcList.json
  8. 277 0
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/ActivityDetails.vue
  9. 106 0
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/NoticeDetails.vue
  10. 14 65
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/ReviewActivity.vue
  11. 32 92
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/index.vue
  12. 10 1
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/notice.vue
  13. 0 218
      TEAMModelOS.SmartTeach/ClientApp/assets/CSS/student-analysis/common.css
  14. 0 13
      TEAMModelOS.SmartTeach/ClientApp/assets/CSS/syllabus/common.css
  15. 0 0
      TEAMModelOS.SmartTeach/ClientApp/assets/css/resource/index.css
  16. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_book.png
  17. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_detection.png
  18. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_interact.png
  19. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_preview.png
  20. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_synchronization.png
  21. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_task.png
  22. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/html50.png
  23. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/icon_audio.png
  24. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/icon_img.png
  25. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/icon_text.png
  26. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/icon_video.png
  27. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/pdf50.png
  28. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/pic50.png
  29. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/ppt50.png
  30. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/prelearn50.png
  31. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/swf50.png
  32. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/txt50.png
  33. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/video50.png
  34. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/word50.png
  35. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/xls50.png
  36. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/icon/zip50.png
  37. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner.png
  38. 0 0
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner01.png
  39. 0 0
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner02.png
  40. 0 0
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner2.jpg
  41. 0 0
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner3.jpg
  42. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner5.png
  43. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/bottom.png
  44. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/center01.png
  45. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/exam_img_one.jpg
  46. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/exam_img_three.jpg
  47. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/exam_img_two.jpg
  48. 0 0
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/floorplan.png
  49. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/home_ico2.png
  50. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/list_icon.png
  51. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/play.png
  52. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img.jpg
  53. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img_four.jpg
  54. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img_one.jpg
  55. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img_three.jpg
  56. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img_two.jpg
  57. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who01.png
  58. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who02.png
  59. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who03.png
  60. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who04.png
  61. 4 3
      TEAMModelOS.SmartTeach/ClientApp/common/headers.vue
  62. 45 18
      TEAMModelOS.SmartTeach/ClientApp/components/HeaderPage.vue
  63. 138 0
      TEAMModelOS.SmartTeach/ClientApp/components/resource/exam.vue
  64. 248 0
      TEAMModelOS.SmartTeach/ClientApp/components/resource/list.vue
  65. 168 0
      TEAMModelOS.SmartTeach/ClientApp/components/resource/video.vue
  66. 1 3
      TEAMModelOS.SmartTeach/ClientApp/router/routes.js
  67. 37 0
      TEAMModelOS.SmartTeach/ClientApp/view/resource/index.vue
  68. 4 1
      TEAMModelOS.SmartTeach/ClientApp/view/index.vue
  69. 0 2
      TEAMModelOS.SmartTeach/TEAMModelOS.SmartTeach.csproj
  70. 24 0
      TEAMModelOS.TeachZone/.babelrc
  71. 14 0
      TEAMModelOS.TeachZone/.editorconfig
  72. 23 0
      TEAMModelOS.TeachZone/.eslintrc.js
  73. 35 0
      TEAMModelOS.TeachZone/.gitattributes
  74. 253 0
      TEAMModelOS.TeachZone/.gitignore
  75. 229 0
      TEAMModelOS.TeachZone/ClientApp/api/api.js
  76. 70 0
      TEAMModelOS.TeachZone/ClientApp/app.js
  77. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/bak_cloud.jpg
  78. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/bak_cloud_1.jpg
  79. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/banner.jpg
  80. 0 0
      TEAMModelOS.TeachZone/ClientApp/assets/css/resource/index.css
  81. 1 0
      TEAMModelOS.TeachZone/ClientApp/assets/greenpin.svg
  82. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner.png
  83. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner01.png
  84. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner02.png
  85. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner2.jpg
  86. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner3.jpg
  87. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner5.png
  88. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/bottom.png
  89. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/center01.png
  90. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/exam_img_one.jpg
  91. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/exam_img_three.jpg
  92. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/exam_img_two.jpg
  93. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/floorplan.png
  94. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/home_ico2.png
  95. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/list_icon.png
  96. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/video_img.jpg
  97. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/who01.png
  98. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/who02.png
  99. BIN
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/who03.png
  100. 0 0
      TEAMModelOS.TeachZone/ClientApp/assets/image/resource/who04.png

+ 5 - 2
TEAMModelOS.SmartClass/ClientApp/components/smart-class/headers.vue

@@ -21,7 +21,7 @@
     props: ['parentToChild', 'identityselect'],
     data() {
       return {
-        activeIndex:0
+        activeIndex: sessionStorage.getItem('_activeIndex') || 0
       }
     },
     created() {
@@ -30,17 +30,20 @@
     methods: {
       handleMenuClick(index, route) {
         this.activeIndex = index;
+        sessionStorage.setItem('_activeIndex', index);
         this.$router.push(route);
       }
     },
   }
 </script>
-<style>
+<style scoped>
 
   .headerContainer {
     background-color: #1f2d3d;
     height: 80px;
     position: absolute;
+    left:0;
+    top:0;
     min-width: 100%
   }
 

+ 10 - 0
TEAMModelOS.SmartClass/ClientApp/router/routes.js

@@ -38,6 +38,16 @@ export const routes = [
         name: 'Lessons',
         path: '/Lessons',
         component: resolve => require(['@/view/smart-class/Lessons'], resolve), //路由懒加载
+      },
+      {
+        name: 'activityDetails',
+        path: '/activityDetails',
+        component: resolve => require(['@/view/smart-class/ActivityDetails'], resolve), //路由懒加载
+      },
+      {
+        name: 'noticeDetails',
+        path: '/noticeDetails',
+        component: resolve => require(['@/view/smart-class/NoticeDetails'], resolve), //路由懒加载
       }
     ]
   }

Diff do ficheiro suprimidas por serem muito extensas
+ 107 - 0
TEAMModelOS.SmartClass/ClientApp/static/activityDetails.json


+ 153 - 0
TEAMModelOS.SmartClass/ClientApp/static/attachmentsList.json

@@ -0,0 +1,153 @@
+{
+  "data": {
+    "data": null,
+    "errorCode": null,
+    "html": null,
+    "key": null,
+    "list": [
+      {
+        "activityId": 40,
+        "activityName": "2019年柯桥区天天智慧课堂 5月份 优课评比",
+        "fileName": "柯桥区天天智慧课堂教学设计表.docx",
+        "fileNameHash": "73.docx",
+        "fileNameUri": "/upload/activity/attachment/73/73.docx?_=1557313944956",
+        "fileSize": 21981,
+        "fileSizeTip": "21.47KB",
+        "fileType": 2,
+        "htmName": "73.htm",
+        "htmRemark": "成功:2019-04-25 15:05:51",
+        "id": 73,
+        "pdfName": "73.pdf",
+        "pdfRemark": "成功:2019-04-25 15:05:50",
+        "swfName": "73.swf",
+        "swfRemark": "成功:2019-04-25 15:05:51"
+      },
+      {
+        "activityId": 40,
+        "activityName": "2019年柯桥区天天智慧课堂 5月份 优课评比",
+        "fileName": "柯桥区天天智慧课堂教学反思表.docx",
+        "fileNameHash": "74.docx",
+        "fileNameUri": "/upload/activity/attachment/74/74.docx?_=1557313944957",
+        "fileSize": 21772,
+        "fileSizeTip": "21.26KB",
+        "fileType": 2,
+        "htmName": "74.htm",
+        "htmRemark": "成功:2019-04-25 15:06:11",
+        "id": 74,
+        "pdfName": "74.pdf",
+        "pdfRemark": "成功:2019-04-25 15:06:10",
+        "swfName": "74.swf",
+        "swfRemark": "成功:2019-04-25 15:06:12"
+      },
+      {
+        "activityId": 40,
+        "activityName": "2019年柯桥区天天智慧课堂 5月份 优课评比",
+        "fileName": "天天智慧课堂课例封面(模版).ppt",
+        "fileNameHash": "75.ppt",
+        "fileNameUri": "/upload/activity/attachment/75/75.ppt?_=1557313944957",
+        "fileSize": 55808,
+        "fileSizeTip": "54.50KB",
+        "fileType": 2,
+        "htmName": "75.htm",
+        "htmRemark": "成功:2019-04-25 15:06:13",
+        "id": 75,
+        "pdfName": "75.pdf",
+        "pdfRemark": "成功:2019-04-25 15:06:13",
+        "swfName": "75.swf",
+        "swfRemark": "成功:2019-04-25 15:06:14"
+      },
+      {
+        "activityId": 40,
+        "activityName": "2019年柯桥区天天智慧课堂 5月份 优课评比",
+        "fileName": "天天智慧课堂评课封面(模版).ppt",
+        "fileNameHash": "76.ppt",
+        "fileNameUri": "/upload/activity/attachment/76/76.ppt?_=1557313944957",
+        "fileSize": 45568,
+        "fileSizeTip": "44.50KB",
+        "fileType": 2,
+        "htmName": "76.htm",
+        "htmRemark": "成功:2019-04-25 15:06:15",
+        "id": 76,
+        "pdfName": "76.pdf",
+        "pdfRemark": "成功:2019-04-25 15:06:14",
+        "swfName": "76.swf",
+        "swfRemark": "成功:2019-04-25 15:06:15"
+      },
+      {
+        "activityId": 40,
+        "activityName": "2019年柯桥区天天智慧课堂 5月份 优课评比",
+        "fileName": "柯桥区天天智慧课堂课例评选指标.xls",
+        "fileNameHash": "77.xls",
+        "fileNameUri": "/upload/activity/attachment/77/77.xls?_=1557313944957",
+        "fileSize": 27648,
+        "fileSizeTip": "27.00KB",
+        "fileType": 2,
+        "htmName": "77.htm",
+        "htmRemark": "成功:2019-04-25 15:06:32",
+        "id": 77,
+        "pdfName": "77.pdf",
+        "pdfRemark": "成功:2019-04-25 15:06:31",
+        "swfName": "77.swf",
+        "swfRemark": "成功:2019-04-25 15:06:32"
+      },
+      {
+        "activityId": 40,
+        "activityName": "2019年柯桥区天天智慧课堂 5月份 优课评比",
+        "fileName": "2019年柯桥区天天智慧课堂5月份排课安排表.docx",
+        "fileNameHash": "78.docx",
+        "fileNameUri": "/upload/activity/attachment/78/78.docx?_=1557313944957",
+        "fileSize": 25472,
+        "fileSizeTip": "24.88KB",
+        "fileType": 2,
+        "htmName": "78.htm",
+        "htmRemark": "成功:2019-04-28 15:46:32",
+        "id": 78,
+        "pdfName": "78.pdf",
+        "pdfRemark": "成功:2019-04-28 15:46:31",
+        "swfName": "78.swf",
+        "swfRemark": "成功:2019-04-28 15:46:32"
+      }
+    ],
+    "message": null,
+    "query": {
+      "fields": [],
+      "orders": [],
+      "pageCount": 0,
+      "pageIndex": 1,
+      "pageSize": 2147483647,
+      "recordCount": -1,
+      "recordEnd": 6,
+      "recordStart": 1
+    },
+    "success": true,
+    "systemTime": {
+      "date": 8,
+      "day": 3,
+      "hours": 19,
+      "minutes": 12,
+      "month": 4,
+      "seconds": 24,
+      "time": 1557313944956,
+      "timezoneOffset": -480,
+      "year": 119
+    },
+    "uri": null
+  },
+  "errorCode": null,
+  "html": null,
+  "key": null,
+  "message": null,
+  "success": true,
+  "systemTime": {
+    "date": 8,
+    "day": 3,
+    "hours": 19,
+    "minutes": 12,
+    "month": 4,
+    "seconds": 24,
+    "time": 1557313944956,
+    "timezoneOffset": -480,
+    "year": 119
+  },
+  "uri": null
+}

+ 259 - 0
TEAMModelOS.SmartClass/ClientApp/static/indexNoticeList.json

@@ -0,0 +1,259 @@
+{
+  "data": null,
+  "errorCode": null,
+  "html": null,
+  "key": null,
+  "list": [
+    {
+      "coverUri": "",
+      "createTime": {
+        "date": 28,
+        "day": 0,
+        "hours": 15,
+        "minutes": 43,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 7,
+        "time": 1556437387000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "endTime": null,
+      "id": 125,
+      "next": false,
+      "noticeTypeId": 1,
+      "noticeTypeName": "天天展示",
+      "prev": false,
+      "startTime": {
+        "date": 28,
+        "day": 0,
+        "hours": 0,
+        "minutes": 0,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 0,
+        "time": 1556380800000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "startTimeTip": "2019-04-28",
+      "status": 1,
+      "title": "2019年柯桥区天天智慧课堂5月份排课安排表",
+      "viewCount": 4
+    },
+    {
+      "coverUri": "",
+      "createTime": {
+        "date": 25,
+        "day": 4,
+        "hours": 8,
+        "minutes": 6,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 38,
+        "time": 1556150798000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "endTime": null,
+      "id": 124,
+      "next": false,
+      "noticeTypeId": 12,
+      "noticeTypeName": "获奖信息",
+      "prev": false,
+      "startTime": {
+        "date": 22,
+        "day": 1,
+        "hours": 0,
+        "minutes": 0,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 0,
+        "time": 1555862400000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "startTimeTip": "2019-04-22",
+      "status": 1,
+      "title": "柯桥区教师在2019年全国中小学互动课堂课例比赛中再创佳绩",
+      "viewCount": 1
+    },
+    {
+      "coverUri": "",
+      "createTime": {
+        "date": 18,
+        "day": 4,
+        "hours": 12,
+        "minutes": 6,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 16,
+        "time": 1555560376000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "endTime": null,
+      "id": 123,
+      "next": false,
+      "noticeTypeId": 1,
+      "noticeTypeName": "天天展示",
+      "prev": false,
+      "startTime": {
+        "date": 18,
+        "day": 4,
+        "hours": 0,
+        "minutes": 0,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 0,
+        "time": 1555516800000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "startTimeTip": "2019-04-18",
+      "status": 1,
+      "title": "关于公布2019年柯桥区天天智慧课堂3月份优课评比结果的通知",
+      "viewCount": 2
+    },
+    {
+      "coverUri": "",
+      "createTime": {
+        "date": 17,
+        "day": 3,
+        "hours": 14,
+        "minutes": 9,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 6,
+        "time": 1555481346000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "endTime": null,
+      "id": 122,
+      "next": false,
+      "noticeTypeId": 4,
+      "noticeTypeName": "月月研讨",
+      "prev": false,
+      "startTime": {
+        "date": 16,
+        "day": 2,
+        "hours": 0,
+        "minutes": 0,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 0,
+        "time": 1555344000000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "startTimeTip": "2019-04-16",
+      "status": 1,
+      "title": "2019年柯桥区智慧课堂第二次研讨活动在实验中学举行",
+      "viewCount": 1
+    },
+    {
+      "coverUri": "",
+      "createTime": {
+        "date": 15,
+        "day": 1,
+        "hours": 13,
+        "minutes": 46,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 18,
+        "time": 1555307178000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "endTime": null,
+      "id": 121,
+      "next": false,
+      "noticeTypeId": 4,
+      "noticeTypeName": "月月研讨",
+      "prev": false,
+      "startTime": {
+        "date": 11,
+        "day": 4,
+        "hours": 0,
+        "minutes": 0,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 0,
+        "time": 1554912000000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "startTimeTip": "2019-04-11",
+      "status": 1,
+      "title": "关于开展2019年柯桥区智慧课堂第二次研讨活动的通知",
+      "viewCount": 2
+    },
+    {
+      "coverUri": "",
+      "createTime": {
+        "date": 3,
+        "day": 3,
+        "hours": 15,
+        "minutes": 19,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 50,
+        "time": 1554275990000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "endTime": null,
+      "id": 120,
+      "next": false,
+      "noticeTypeId": 1,
+      "noticeTypeName": "天天展示",
+      "prev": false,
+      "startTime": {
+        "date": 1,
+        "day": 1,
+        "hours": 0,
+        "minutes": 0,
+        "month": 3,
+        "nanos": 0,
+        "seconds": 0,
+        "time": 1554048000000,
+        "timezoneOffset": -480,
+        "year": 119
+      },
+      "startTimeTip": "2019-04-01",
+      "status": 1,
+      "title": "2019年柯桥区天天智慧课堂4月份排课安排表",
+      "viewCount": 0
+    }
+  ],
+  "message": null,
+  "query": {
+    "fields": [],
+    "orders": [
+      {
+        "asc": false,
+        "property": "startTime"
+      }
+    ],
+    "pageCount": 20,
+    "pageIndex": 1,
+    "pageSize": 6,
+    "recordCount": 117,
+    "recordEnd": 6,
+    "recordStart": 1
+  },
+  "success": true,
+  "systemTime": {
+    "date": 8,
+    "day": 3,
+    "hours": 20,
+    "minutes": 12,
+    "month": 4,
+    "seconds": 36,
+    "time": 1557317556824,
+    "timezoneOffset": -480,
+    "year": 119
+  },
+  "uri": null
+}

Diff do ficheiro suprimidas por serem muito extensas
+ 57 - 0
TEAMModelOS.SmartClass/ClientApp/static/noticeDetails.json


+ 388 - 0
TEAMModelOS.SmartClass/ClientApp/static/reviewAcList.json

@@ -0,0 +1,388 @@
+{
+  "data": {
+    "data": null,
+    "errorCode": null,
+    "html": null,
+    "key": null,
+    "list": [
+      {
+        "activityCover": null,
+        "activityCoverHash": null,
+        "activityCoverUri": null,
+        "activityId": null,
+        "activityName": null,
+        "applyCount": 0,
+        "autoChangeStatus": false,
+        "banner": "优课评比banner.jpg",
+        "bannerHash": "40.jpg",
+        "bannerUri": "/upload/activity/banner/40/40.jpg?_=1557301765646",
+        "cover": "天天智慧课堂5月.jpg",
+        "coverHash": "40.jpg",
+        "coverUri": "/upload/activity/cover/40/40.jpg?_=1557301765646",
+        "employeeName": "楼宽",
+        "employeeNo": "31050",
+        "enjoinType": 3,
+        "hasDelNoGetAwardRes": false,
+        "hideAttachmentAfterEnd": false,
+        "hideAwardAfterEnd": false,
+        "id": 40,
+        "name": "2019年柯桥区天天智慧课堂 5月份 优课评比",
+        "nameMaxLength": null,
+        "numberOfProduction": 1,
+        "organizer": "柯桥区教师发展中心",
+        "publicity": false,
+        "reviewEndTime": {
+          "date": 8,
+          "day": 6,
+          "hours": 0,
+          "minutes": 0,
+          "month": 5,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1559923200000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "reviewTimeTip": "2019.05.31-06.08",
+        "showApplyScore": false,
+        "state": 1,
+        "stateTip": "有效 ",
+        "status": 1,
+        "statusTip": "筹备阶段",
+        "subActivityApplyCount": null,
+        "subActivityApplyPushCount": 0,
+        "subPushEndTime": null,
+        "subPushEndTimeLimitTip": "",
+        "subPushEndTimeTip": "",
+        "submitEndTime": {
+          "date": 31,
+          "day": 5,
+          "hours": 0,
+          "minutes": 0,
+          "month": 4,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1559232000000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "submitEndTimeTip": "2019.05.31",
+        "submitStartTime": {
+          "date": 1,
+          "day": 3,
+          "hours": 0,
+          "minutes": 0,
+          "month": 4,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1556640000000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "submitTimeTip": "2019.05.01-05.31",
+        "timeTip": "2019.05.01-06.08",
+        "videoMaxLength": null,
+        "videoMaxSize": 500,
+        "view": true,
+        "weikeMaxLength": null,
+        "weikeMaxSize": null
+      },
+      {
+        "activityCover": null,
+        "activityCoverHash": null,
+        "activityCoverUri": null,
+        "activityId": null,
+        "activityName": null,
+        "applyCount": 0,
+        "autoChangeStatus": false,
+        "banner": "优课评比banner.jpg",
+        "bannerHash": "39.jpg",
+        "bannerUri": "/upload/activity/banner/39/39.jpg?_=1557301765647",
+        "cover": "天天智慧课堂4月.jpg",
+        "coverHash": "39.jpg",
+        "coverUri": "/upload/activity/cover/39/39.jpg?_=1557301765647",
+        "employeeName": "楼宽",
+        "employeeNo": "31050",
+        "enjoinType": 3,
+        "hasDelNoGetAwardRes": false,
+        "hideAttachmentAfterEnd": false,
+        "hideAwardAfterEnd": false,
+        "id": 39,
+        "name": "2019年柯桥区天天智慧课堂 4月份 优课评比",
+        "nameMaxLength": null,
+        "numberOfProduction": 1,
+        "organizer": "柯桥区教师发展中心",
+        "publicity": false,
+        "reviewEndTime": {
+          "date": 10,
+          "day": 5,
+          "hours": 0,
+          "minutes": 0,
+          "month": 4,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1557417600000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "reviewTimeTip": "2019.04.30-05.10",
+        "showApplyScore": false,
+        "state": 1,
+        "stateTip": "有效 ",
+        "status": 2,
+        "statusTip": "报名阶段",
+        "subActivityApplyCount": null,
+        "subActivityApplyPushCount": 0,
+        "subPushEndTime": null,
+        "subPushEndTimeLimitTip": "",
+        "subPushEndTimeTip": "",
+        "submitEndTime": {
+          "date": 30,
+          "day": 2,
+          "hours": 0,
+          "minutes": 0,
+          "month": 3,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1556553600000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "submitEndTimeTip": "2019.04.30",
+        "submitStartTime": {
+          "date": 1,
+          "day": 1,
+          "hours": 0,
+          "minutes": 0,
+          "month": 3,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1554048000000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "submitTimeTip": "2019.04.01-04.30",
+        "timeTip": "2019.04.01-05.10",
+        "videoMaxLength": null,
+        "videoMaxSize": null,
+        "view": true,
+        "weikeMaxLength": null,
+        "weikeMaxSize": null
+      },
+      {
+        "activityCover": null,
+        "activityCoverHash": null,
+        "activityCoverUri": null,
+        "activityId": null,
+        "activityName": null,
+        "applyCount": 0,
+        "autoChangeStatus": false,
+        "banner": "优课评比banner.jpg",
+        "bannerHash": "39.jpg",
+        "bannerUri": "/upload/activity/banner/39/39.jpg?_=1557301765647",
+        "cover": "天天智慧课堂4月.jpg",
+        "coverHash": "39.jpg",
+        "coverUri": "/upload/activity/cover/39/39.jpg?_=1557301765647",
+        "employeeName": "楼宽",
+        "employeeNo": "31050",
+        "enjoinType": 3,
+        "hasDelNoGetAwardRes": false,
+        "hideAttachmentAfterEnd": false,
+        "hideAwardAfterEnd": false,
+        "id": 39,
+        "name": "2019年柯桥区天天智慧课堂 4月份 优课评比",
+        "nameMaxLength": null,
+        "numberOfProduction": 1,
+        "organizer": "柯桥区教师发展中心",
+        "publicity": false,
+        "reviewEndTime": {
+          "date": 10,
+          "day": 5,
+          "hours": 0,
+          "minutes": 0,
+          "month": 4,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1557417600000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "reviewTimeTip": "2019.04.30-05.10",
+        "showApplyScore": false,
+        "state": 1,
+        "stateTip": "有效 ",
+        "status": 2,
+        "statusTip": "报名阶段",
+        "subActivityApplyCount": null,
+        "subActivityApplyPushCount": 0,
+        "subPushEndTime": null,
+        "subPushEndTimeLimitTip": "",
+        "subPushEndTimeTip": "",
+        "submitEndTime": {
+          "date": 30,
+          "day": 2,
+          "hours": 0,
+          "minutes": 0,
+          "month": 3,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1556553600000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "submitEndTimeTip": "2019.04.30",
+        "submitStartTime": {
+          "date": 1,
+          "day": 1,
+          "hours": 0,
+          "minutes": 0,
+          "month": 3,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1554048000000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "submitTimeTip": "2019.04.01-04.30",
+        "timeTip": "2019.04.01-05.10",
+        "videoMaxLength": null,
+        "videoMaxSize": null,
+        "view": true,
+        "weikeMaxLength": null,
+        "weikeMaxSize": null
+      },
+      {
+        "activityCover": null,
+        "activityCoverHash": null,
+        "activityCoverUri": null,
+        "activityId": null,
+        "activityName": null,
+        "applyCount": 0,
+        "autoChangeStatus": false,
+        "banner": "优课评比banner.jpg",
+        "bannerHash": "39.jpg",
+        "bannerUri": "/upload/activity/banner/39/39.jpg?_=1557301765647",
+        "cover": "天天智慧课堂4月.jpg",
+        "coverHash": "39.jpg",
+        "coverUri": "/upload/activity/cover/39/39.jpg?_=1557301765647",
+        "employeeName": "楼宽",
+        "employeeNo": "31050",
+        "enjoinType": 3,
+        "hasDelNoGetAwardRes": false,
+        "hideAttachmentAfterEnd": false,
+        "hideAwardAfterEnd": false,
+        "id": 39,
+        "name": "2019年柯桥区天天智慧课堂 4月份 优课评比",
+        "nameMaxLength": null,
+        "numberOfProduction": 1,
+        "organizer": "柯桥区教师发展中心",
+        "publicity": false,
+        "reviewEndTime": {
+          "date": 10,
+          "day": 5,
+          "hours": 0,
+          "minutes": 0,
+          "month": 4,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1557417600000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "reviewTimeTip": "2019.04.30-05.10",
+        "showApplyScore": false,
+        "state": 1,
+        "stateTip": "有效 ",
+        "status": 2,
+        "statusTip": "报名阶段",
+        "subActivityApplyCount": null,
+        "subActivityApplyPushCount": 0,
+        "subPushEndTime": null,
+        "subPushEndTimeLimitTip": "",
+        "subPushEndTimeTip": "",
+        "submitEndTime": {
+          "date": 30,
+          "day": 2,
+          "hours": 0,
+          "minutes": 0,
+          "month": 3,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1556553600000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "submitEndTimeTip": "2019.04.30",
+        "submitStartTime": {
+          "date": 1,
+          "day": 1,
+          "hours": 0,
+          "minutes": 0,
+          "month": 3,
+          "nanos": 0,
+          "seconds": 0,
+          "time": 1554048000000,
+          "timezoneOffset": -480,
+          "year": 119
+        },
+        "submitTimeTip": "2019.04.01-04.30",
+        "timeTip": "2019.04.01-05.10",
+        "videoMaxLength": null,
+        "videoMaxSize": null,
+        "view": true,
+        "weikeMaxLength": null,
+        "weikeMaxSize": null
+      }
+    ],
+    "message": null,
+    "query": {
+      "fields": [],
+      "orders": [
+        {
+          "asc": false,
+          "property": "-1"
+        },
+        {
+          "asc": false,
+          "property": "submitStartTime"
+        }
+      ],
+      "pageCount": 1,
+      "pageIndex": 1,
+      "pageSize": 100,
+      "recordCount": 2,
+      "recordEnd": 2,
+      "recordStart": 1
+    },
+    "success": true,
+    "systemTime": {
+      "date": 8,
+      "day": 3,
+      "hours": 15,
+      "minutes": 49,
+      "month": 4,
+      "seconds": 25,
+      "time": 1557301765644,
+      "timezoneOffset": -480,
+      "year": 119
+    },
+    "uri": null
+  },
+  "errorCode": null,
+  "html": null,
+  "key": null,
+  "message": null,
+  "success": true,
+  "systemTime": {
+    "date": 8,
+    "day": 3,
+    "hours": 15,
+    "minutes": 49,
+    "month": 4,
+    "seconds": 25,
+    "time": 1557301765646,
+    "timezoneOffset": -480,
+    "year": 119
+  },
+  "uri": null
+}

+ 277 - 0
TEAMModelOS.SmartClass/ClientApp/view/smart-class/ActivityDetails.vue

@@ -0,0 +1,277 @@
+<template>
+  <div id="app">
+    <div class="banner">
+      <img src="http://ttkt.sxedu.org:70/upload/activity/banner/40/40.jpg?_=1557306525954" />
+    </div>
+    <div class="details-container">
+        <div class="activity-brief center-row">
+          <div class="activity-brief-left">
+            <img src="http://ttkt.sxedu.org:70/upload/activity/cover/40/40.jpg?_=1557306525954"/>
+          </div>
+          <div class="activity-brief-right">
+            <div class="activity-brief-title">
+              <span>2019年柯桥区天天智慧课堂 5月份 优课评比 </span>
+              <span class="status" style="background: rgb(19, 206, 102);">筹备阶段</span>
+              <Button type="primary" size="large">参加活动</Button>
+            </div>
+            <div class="activity-brief-info center-row">
+              <div class="brief-info-left">
+                <div class="items"><p class="item">2019.05.01-06.08</p> <span class="tips">活动时间</span></div>
+                <div class="items"><p class="item">征集中</p> <span class="tips">作品数量</span></div>
+              </div>
+              <div class="brief-info-left">
+                <div class="items"><p class="item">柯桥区教师发展中心</p> <span class="tips">主办方</span></div>
+                <div class="items"><p class="item2">0天 0小时 0分</p> <span class="tips">距离报名开始时间</span></div>
+              </div>
+
+            </div>
+          </div>
+        </div>
+        <div class="activity-details center-row">
+          <div class="details-left center-col">
+            <div class="title-tip">
+              <p class="title">上传要求<span>FORMAT</span></p>
+              <div class="content" v-html="activityInfo.requirement"></div>
+            </div>
+            <div class="review-attachment">
+            <p class="title">活动附件<span>ATTACHMENT</span></p>
+            <div class="content">
+              <div class="attach attachicon-2" v-for="(item,index) in attachmentsList" :key="index">
+                <a :href="item.fileNameUri" :download="item.fileName" :title="item.fileName">{{item.fileName}}</a>
+                <span style="float: right; font-size: 13px;">&nbsp;{{item.fileSizeTip}}</span>
+              </div>
+          </div>
+          </div>
+          </div>
+          <div class="details-right center-col">
+              <div class="description title-tip" style="margin-top:0">
+                <p class="title">
+                  活动介绍
+                  <span>INTRODUCE</span>
+                </p>
+                <div class="content" style="overflow: hidden;" v-html="activityInfo.description">
+                </div>
+              </div>
+              <div class="guide title-tip">
+                <p class="title">
+                  参赛指南
+                  <span>GUIDE</span>
+                </p>
+                <div class="content" v-html="activityInfo.guide"></div>
+              </div>
+              <div class="faq title-tip">
+                <p class="title">
+                  常见问题
+                  <span>FAQ</span>
+                </p>
+                <div class="content" v-html="activityInfo.faq"></div>
+            </div>
+          </div>
+        </div>
+    </div>
+  </div>
+</template>
+<script>
+    import attachmentsList from '@/static/attachmentsList.json'
+    import activityInfo from '@/static/activityDetails.json'
+  export default {
+    components: {
+    },
+    data() {
+      return {
+        reviewAcList: [],
+        attachmentsList: [],
+        activityInfo: {}
+      }
+    },
+
+    created() {
+      this.attachmentsList = attachmentsList.data.list;
+      this.activityInfo = activityInfo.data;
+    },
+    methods: {
+
+    },
+    mounted() {
+    }
+  }
+</script>
+<style scoped>
+  html, body, #app {
+    height: 100% !important;
+    user-select: none;
+  }
+
+  .main-content {
+    background: rgb(248,248,248) !important;
+  }
+
+  .center-row {
+    display:flex;
+    flex-direction:row;
+  }
+
+  .center-col {
+    display:flex;
+    flex-direction:column;
+  }
+
+  .banner {
+    width:100%;
+    margin-top:80px;
+  }
+
+    .banner img {
+        width: 100%;
+        min-width: 1280px;
+    }
+
+  .details-container {
+    position:relative;
+    width: 1200px;
+    margin: 280px auto;
+    margin-top:-50px;
+    z-index:999;
+    display: flex;
+    flex-direction: column;
+  }
+
+    .details-container .activity-brief {
+      width:100%;
+      background:#fff;
+      border-top-left-radius: 8px;
+      border-top-right-radius: 8px;
+    }
+    .details-container .activity-brief .activity-brief-left {
+      width:30%;
+      height:100%;
+      padding:20px;
+     }
+
+    .details-container .activity-brief .activity-brief-right {
+      width:70%;
+      height:100%;
+      padding:20px;
+     }
+
+    .details-container .activity-brief-title {
+      font-size:26px;
+      font-weight:bolder;
+      color:#333;
+      padding:5px 20px;
+      margin-left:10px;
+      border-bottom:1px solid #f6f6f6;
+    }
+
+    .details-container .activity-brief-title .status {
+      display: inline-block;
+      margin-left: 10px;
+      font-size: 14px;
+      color: #fff;
+      padding: 1px 6px;
+      vertical-align: top;
+      margin-top: 6px;
+      background-color: #53c766;
+      border-radius: 3px;
+    }
+    .details-container .activity-brief-title .ivu-btn {
+      width:120px;
+      height:38px;
+      margin-left:20px;
+      margin-bottom:10px;
+    }
+
+    .details-container .brief-info-left {
+      width:50%;
+    }
+
+      .details-container .brief-info-left .items {
+        margin:30px;
+      }
+
+      .details-container .brief-info-left .items .item {
+        font-size:20px;
+        color:#666;
+      }
+      .details-container .brief-info-left .items .item2 {
+        font-size:20px;
+        color:#ffa853;
+      }
+      .details-container .brief-info-left .items .tips {
+        font-size:14px;
+        color:#bbb;
+      }
+
+    .details-container .activity-details {
+      width:100%;
+      margin-top:20px;
+    }
+
+      .details-container .activity-details .details-left {
+        width:30%;
+        height:100%;
+      }
+
+      .details-container .activity-details .details-right {
+        width:70%;
+        height:100%;
+        margin-left:20px;
+      }
+
+      .details-container .activity-details .details-right .title-tip {
+        margin-top:20px;
+      }
+
+    .details-container .title-tip{
+        padding: 20px;
+        background: #fff;
+    }
+    .details-container  .review-attachment{
+        padding: 20px;
+        margin-top: 20px;
+        background: #fff;
+    }
+
+    .details-container  .title {
+        color: #33aafe;
+        font-size: 16px;
+        padding-bottom: 15px;
+        border-bottom: 1px solid #f6f6f6;
+    }
+    .details-container  .title span {
+        color: #ccc;
+        font-size: 14px;
+        margin-left: 8px;
+    }
+    .details-container  .title-tip .content {
+        color: #999;
+        font-size: 14px;
+        margin-top: 15px;
+    }
+
+    .details-container .details-left .review-attachment .attach {
+        height: 40px;
+        line-height: 40px;
+        padding-left: 40px;
+        margin-bottom: 14px;
+        margin-top:10px;
+    }
+    .details-container .details-left .review-attachment .attach a {
+        display: inline-block;
+        text-decoration: none;
+        font-size: 13px;
+        color: #555;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+        width: 160px;
+        text-decoration: underline;
+    }
+    .details-container .details-left .review-attachment .attachicon-2 {
+        background:url("http://hystkj-oss.oss-cn-shenzhen.aliyuncs.com/icon.png") no-repeat;
+    }
+
+
+
+
+</style>

+ 106 - 0
TEAMModelOS.SmartClass/ClientApp/view/smart-class/NoticeDetails.vue

@@ -0,0 +1,106 @@
+<template>
+  <div class="details-container">
+    <div class="notice-header">
+      <p class="title">
+      <span class="content-title">关于开展2019年柯桥区智慧课堂第二次研讨活动的通知</span></p>
+      <p class="sub">2019-04-11&nbsp;&nbsp;&nbsp;月月研讨&nbsp;&nbsp;&nbsp;点击量:0</p>
+    </div>
+    <div class="content" v-html="noticeContent">
+
+    </div>
+    <Button type="primary" @click="backList">返回列表</Button>
+  </div>
+</template>
+<script>
+    import noticeDetails from '@/static/noticeDetails.json'
+  export default {
+    components: {
+    },
+    data() {
+      return {
+        reviewAcList: [],
+        attachmentsList: [],
+        noticeContent: {}
+      }
+    },
+
+    created() {
+      //根据跳转参数获取通知详情
+      //let noticeId = this.$route.query.id;
+      //this.$get('http://ttkt.sxedu.org:70/webservice/bizNoticeItem.action?id=' + noticeId + '&nocache=1&_=1557315901157').then(res => {
+      //  console.log(res.data.noticeTypeName);
+      //})
+
+      this.noticeContent = noticeDetails.data.content;
+    },
+    methods: {
+      backList() {
+        this.$router.go(-1);
+      }
+
+    },
+    mounted() {
+    }
+  }
+</script>
+<style scoped>
+  html, body, #app {
+    height: 100% !important;
+    user-select: none;
+  }
+
+  .main-content {
+    background: rgb(248,248,248) !important;
+  }
+
+  .center-row {
+    display:flex;
+    flex-direction:row;
+  }
+
+  .center-col {
+    display:flex;
+    flex-direction:column;
+  }
+
+
+  .details-container {
+    position:relative;
+    width: 1200px;
+    margin: 100px auto;
+    padding:36px 30px 30px;
+    background:#fff;
+    display: flex;
+    flex-direction: column;
+  }
+
+  .notice-header {
+    text-align:center;
+  }
+
+    .notice-header .content-title {
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+      width: 600px;
+      display: inline-block;
+      font-size: 20px;
+      color: #222;
+    }
+
+    .notice-header .sub {
+      font-size: 14px;
+      color: #999;
+      padding-top: 12px;
+      padding-bottom: 10px;
+      margin-bottom: 24px;
+      border-bottom: 1px solid #f6f6f6;
+    }
+
+    .details-container .ivu-btn {
+      width:150px;
+      margin:10px auto;
+    }
+ 
+
+</style>

+ 14 - 65
TEAMModelOS.SmartClass/ClientApp/view/smart-class/ReviewActivity.vue

@@ -1,28 +1,7 @@
 <template>
   <div class="container">
-    <div class="activity-item">
-      <div class="activity-banner">
-        <img src="http://ttkt.sxedu.org:70/upload/activity/banner/40/40.jpg?_=1557231709373" />
-      </div>
-      <div class="activity-brief">
-        <div class="left">
-          <div class="line">
-            <span class="tips">活动:</span>
-            <span title="2019年柯桥区天天智慧课堂 5月份 优课评比" class="items">2019年柯桥区天天智慧课堂 5月份 优课评比</span>
-            <span class="status" style="background: rgb(19, 206, 102);">筹备阶段</span>
-          </div>
-          <div class="line"><span class="tips">时间:</span> <span class="items2">2019.05.01-06.08</span></div>
-          <div class="line"><span class="tips">主办:</span> <span class="items2">柯桥区教师发展中心</span></div>
-          <div class="line"><span class="tips">作品:</span> <span class="items2">征集中</span></div>
 
-        </div>
-        <div class="right">
-          <p class="time-count">距离报名开始还有<span class="count-down"> 0天 0小时 0分</span></p>
-          <Button type="primary" size="large">查看详情</Button>
-        </div>
-      </div>
-    </div>
-    <div class="activity-item">
+    <div class="activity-item" v-for="(item,index) in reviewAcList" :key="index">
       <div class="activity-banner">
         <img src="http://ttkt.sxedu.org:70/upload/activity/banner/40/40.jpg?_=1557231709373" />
       </div>
@@ -30,70 +9,36 @@
         <div class="left">
           <div class="line">
             <span class="tips">活动:</span>
-            <span title="2019年柯桥区天天智慧课堂 5月份 优课评比" class="items">2019年柯桥区天天智慧课堂 5月份 优课评比</span>
-            <span class="status" style="background: rgb(19, 206, 102);">筹备阶段</span>
+            <span class="items">{{item.name}}</span>
+            <span class="status" style="background: rgb(19, 206, 102);">{{item.statusTip}}</span>
           </div>
-          <div class="line"><span class="tips">时间:</span> <span class="items2">2019.05.01-06.08</span></div>
-          <div class="line"><span class="tips">主办:</span> <span class="items2">柯桥区教师发展中心</span></div>
-          <div class="line"><span class="tips">作品:</span> <span class="items2">征集中</span></div>
+          <div class="line"><span class="tips">时间:</span> <span class="items2">{{item.reviewTimeTip}}</span></div>
+          <div class="line"><span class="tips">主办:</span> <span class="items2">{{item.organizer}}</span></div>
+          <div class="line"><span class="tips">作品:</span> <span class="items2">{{item.reviewTimeTip}}</span></div>
 
         </div>
         <div class="right">
           <p class="time-count">距离报名开始还有<span class="count-down"> 0天 0小时 0分</span></p>
-          <Button type="primary" size="large">查看详情</Button>
+          <Button type="primary" size="large" @click="goDetails">查看详情</Button>
         </div>
       </div>
     </div>
 
-    <div class="activity-item">
-      <div class="activity-banner">
-        <img src="http://ttkt.sxedu.org:70/upload/activity/banner/40/40.jpg?_=1557231709373" />
-      </div>
-      <div class="activity-brief">
-        <div class="left">
-          <div class="line">
-            <span class="tips">活动:</span>
-            <span title="2019年柯桥区天天智慧课堂 5月份 优课评比" class="items">2019年柯桥区天天智慧课堂 5月份 优课评比</span>
-            <span class="status" style="background: rgb(19, 206, 102);">筹备阶段</span>
-          </div>
-          <div class="line"><span class="tips">时间:</span> <span class="items2">2019.05.01-06.08</span></div>
-          <div class="line"><span class="tips">主办:</span> <span class="items2">柯桥区教师发展中心</span></div>
-          <div class="line"><span class="tips">作品:</span> <span class="items2">征集中</span></div>
-
-        </div>
-        <div class="right">
-          <p class="time-count">距离报名开始还有<span class="count-down"> 0天 0小时 0分</span></p>
-          <Button type="primary" size="large">查看详情</Button>
-        </div>
-      </div>
-    </div>
   </div>
 </template>
 <script>
-
+    import acList from '@/static/reviewAcList.json'
   export default {
     components: {
     },
     data() {
       return {
-        activeIndex: 0,
-        typeName:"",
-        newColumns: [
-          {
-            title: '标题',
-            key: 'title'
-          },
-          {
-            title: '日期',
-            key: 'startTime'
-          }
-        ],
-        noticeList: []
+        reviewAcList: []
       }
     },
 
     created() {
-
+      this.reviewAcList = acList.data.list;
     },
     methods: {
       getList(type) {
@@ -108,6 +53,10 @@
         this.activeIndex = index;
         this.typeName = name;
         this.getList(typeId);
+      },
+
+      goDetails() {
+        this.$router.push('/activityDetails')
       }
 
 

+ 32 - 92
TEAMModelOS.SmartClass/ClientApp/view/smart-class/index.vue

@@ -16,15 +16,11 @@
           <div class="lastest-mark">
             TOP
           </div>
-          <p class="lastest-title">2019年柯桥区天天智慧课堂5月份排课安排表</p>
-          <p class="lastest-date">2019-04-28</p>
+          <p class="lastest-title" @click="handleNoticeClick()">{{noticeList[0].title}}</p>
+          <p class="lastest-date">{{noticeList[0].startTimeTip}}</p>
         </div>
         <ul class="notice-list">
-          <li><span class="title">柯桥区教师在2019年全国中小学互动课堂课例比赛中再创佳绩</span><span class="date">2019-04-22</span></li>
-          <li><span class="title">关于公布2019年柯桥区天天智慧课堂3月份优课评比结果的通知</span><span class="date">2019-04-18</span></li>
-          <li><span class="title">2019年柯桥区智慧课堂第二次研讨活动在实验中学举行</span><span class="date">2019-04-16</span></li>
-          <li><span class="title">关于开展2019年柯桥区智慧课堂第二次研讨活动的通知</span><span class="date">2019-04-11</span></li>
-          <li><span class="title">2019年柯桥区天天智慧课堂4月份排课安排表</span><span class="date">2019-04-01</span></li>
+          <li v-for="(item,index) in noticeList" @click="handleNoticeClick()"><span class="title">{{item.title}}</span><span class="date">{{item.startTimeTip}}</span></li>
         </ul>
       </div>
     </div>
@@ -37,54 +33,21 @@
               <b style="color: rgb(83, 199, 102);">2</b>个活动进行中
             </span>
           </div>
-        </div> <div class="activities">
-          <div class="activity">
-            <div>
-              <div class="img-box"><span class="state" style="background: rgb(19, 206, 102); visibility: visible;">筹备阶段</span> <img src="http://ttkt.sxedu.org:70/upload/activity/cover/40/40.jpg?_=1557199674221" alt=""></div> <div class="infos">
-                <p></p><p class="actName">2019年柯桥区天天智慧课堂 5月份 优课评比</p> <p></p> <p class="actOrganizer">
-                  <span class="organizer">
-                    柯桥区教师发展中心
-                  </span>
-                   <span>主办</span>
-                </p>
-              </div>
-            </div>
-          </div>
-        <div class="activity">
-            <div>
-              <div class="img-box">
-                  <span class="state" style="background: rgb(19, 206, 102); visibility: visible;">筹备阶段</span>
-                  <img src="http://ttkt.sxedu.org:70/upload/activity/cover/39/39.jpg?_=1557199674222" alt="">
-              </div>
-               <div class="infos">
-                  <p></p>
-                  <p class="actName">2019年柯桥区天天智慧课堂 4月份 优课评比</p>
-                  <p></p>
-                  <p class="actOrganizer">
-                    <span class="organizer">柯桥区教师发展中心</span>
+        </div>
+        <div class="activities">
+            <div class="activity" v-for="(item,index) in activityList" @click="handleActivityClick()">
+              <div>
+                <div class="img-box"><span class="state" style="background: rgb(19, 206, 102); visibility: visible;">{{item.statusTip}}</span> <img src="http://ttkt.sxedu.org:70/upload/activity/cover/40/40.jpg?_=1557199674221" alt=""></div> <div class="infos">
+                  <p></p><p class="actName">{{item.name}}</p> <p></p> <p class="actOrganizer">
+                    <span class="organizer">
+                      {{item.organizer}}
+                    </span>
                     <span>主办</span>
                   </p>
-               </div>
-            </div>
-          </div>
-        <div class="activity">
-            <div>
-              <div class="img-box">
-                  <span class="state" style="background: rgb(19, 206, 102); visibility: visible;">筹备阶段</span>
-                  <img src="http://ttkt.sxedu.org:70/upload/activity/cover/39/39.jpg?_=1557199674222" alt="">
+                </div>
               </div>
-               <div class="infos">
-                  <p></p>
-                  <p class="actName">2019年柯桥区天天智慧课堂 4月份 优课评比</p>
-                  <p></p>
-                  <p class="actOrganizer">
-                    <span class="organizer">柯桥区教师发展中心</span>
-                    <span>主办</span>
-                  </p>
-               </div>
             </div>
-          </div>
-        </div>
+</div>
       </div>
     </div>
 
@@ -99,53 +62,18 @@
           </div>
         </div>
         <div class="activities">
-          <div class="activity">
+          <div class="activity" v-for="(item,index) in activityList" @click="handleActivityClick()">
             <div>
-              <div class="img-box"><span class="state" style="background: rgb(19, 206, 102); visibility: visible;">筹备阶段</span> <img src="http://ttkt.sxedu.org:70/upload/activity/cover/40/40.jpg?_=1557199674221" alt=""></div> <div class="infos">
-                <p></p><p class="actName">2019年柯桥区天天智慧课堂 5月份 优课评比</p> <p></p> <p class="actOrganizer">
+              <div class="img-box"><span class="state" style="background: rgb(19, 206, 102); visibility: visible;">{{item.statusTip}}</span> <img src="http://ttkt.sxedu.org:70/upload/activity/cover/40/40.jpg?_=1557199674221" alt=""></div> <div class="infos">
+                <p></p><p class="actName">{{item.name}}</p> <p></p> <p class="actOrganizer">
                   <span class="organizer">
-                    柯桥区教师发展中心
+                    {{item.organizer}}
                   </span>
                    <span>主办</span>
                 </p>
               </div>
             </div>
           </div>
-        <div class="activity">
-            <div>
-              <div class="img-box">
-                  <span class="state" style="background: rgb(19, 206, 102); visibility: visible;">筹备阶段</span>
-                  <img src="http://ttkt.sxedu.org:70/upload/activity/cover/39/39.jpg?_=1557199674222" alt="">
-              </div>
-               <div class="infos">
-                  <p></p>
-                  <p class="actName">2019年柯桥区天天智慧课堂 4月份 优课评比</p>
-                  <p></p>
-                  <p class="actOrganizer">
-                    <span class="organizer">柯桥区教师发展中心</span>
-                    <span>主办</span>
-                  </p>
-               </div>
-            </div>
-          </div>
-
-          <div class="activity">
-            <div>
-              <div class="img-box">
-                  <span class="state" style="background: rgb(19, 206, 102); visibility: visible;">筹备阶段</span>
-                  <img src="http://ttkt.sxedu.org:70/upload/activity/cover/39/39.jpg?_=1557199674222" alt="">
-              </div>
-               <div class="infos">
-                  <p></p>
-                  <p class="actName">2019年柯桥区天天智慧课堂 4月份 优课评比</p>
-                  <p></p>
-                  <p class="actOrganizer">
-                    <span class="organizer">柯桥区教师发展中心</span>
-                    <span>主办</span>
-                  </p>
-               </div>
-            </div>
-          </div>
         </div>
       </div>
     </div>
@@ -154,17 +82,29 @@
 </template>
 <script>
   import headers from '@/components/smart-class/headers'
+  import indexNoticeList from '@/static/indexNoticeList.json'
+  import indexActivityList from '@/static/reviewAcList.json'
   export default {
     components: {
       headers
     },
     data() {
       return {
+        noticeList: [],
+        activityList:[]
       }
     },
+    created() {
+      this.noticeList = indexNoticeList.list;
+      this.activityList = indexActivityList.data.list;
+    },
     methods: {
-
-
+      handleNoticeClick() {
+        this.$router.push('/noticeDetails');
+      },
+      handleActivityClick() {
+        this.$router.push('/activityDetails');
+      }
 
     },
     mounted() {

+ 10 - 1
TEAMModelOS.SmartClass/ClientApp/view/smart-class/notice.vue

@@ -18,7 +18,7 @@
     </div>
     <div class="right-box center-col">
       <p class="title">{{typeName}}</p>
-      <Table :columns="newColumns" :data="noticeList"></Table>
+      <Table :columns="newColumns" :data="noticeList" @on-row-click="rowClick" no-data-text="暂无数据"></Table>
       <Page :total="50" show-elevator show-total/>
     </div>
   </div>
@@ -63,6 +63,15 @@
         this.activeIndex = index;
         this.typeName = name;
         this.getList(typeId);
+      },
+
+      rowClick(data) {
+        this.$router.push({
+          path:'/noticeDetails',
+          query:{
+            id:data.id
+          }
+        });
       }
 
 

+ 0 - 218
TEAMModelOS.SmartTeach/ClientApp/assets/CSS/student-analysis/common.css

@@ -1,218 +0,0 @@
-/*公共样式*/
-/*整体布局 start*/
-.index {
-    width: 100%;
-    height: auto;
-}
-
-.index_box {
-    background-color: #dee2e5;
-}
-
-.index_box_title {
-    width: 100%;
-    font-size: 1.2rem;
-    color: #898d90;
-    padding: 1% 2%;
-}
-
-.content {
-    width: 96%;
-    height: 980px;
-    /*border:1px solid blue;*/
-    margin-left: 2%;
-    margin-right: 2%;
-    margin-bottom: 3%;
-    background-color: #fdfdfd;
-    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
-}
-
-.left_echarts {
-    width: 32%;
-    height: auto;
-    float: left;
-    border-right: 1px solid #d9dadc;
-}
-
-.center_echarts {
-    width: 24%;
-    height: auto;
-    float: left;
-    /*border:1px solid blue;*/
-    border-right: 1px solid #d9dadc;
-}
-
-.right_echarts {
-    width: 44%;
-    height: auto;
-    float: left;
-    /*border:1px solid green;*/
-}
-
-.bargraph_box {
-    width: 100%;
-    font-size: 1.1rem;
-    font-weight: bold;
-}
-/*.left_box{*/
-/*border: 1px solid red;*/
-/*}*/
-.right_box {
-    /*padding-bottom: 1%;*/
-    border-bottom: 1px solid #d9dadc;
-}
-/*整体布局 end*/
-
-/*侧边栏选择器 start*/
-.choose_box_tilte {
-    font-size: 0.95rem;
-    color: #7d868d;
-    margin-top: 8%;
-    margin-bottom: 5%;
-}
-
-.select {
-    width: 100%;
-    padding: 1% 10% 15% 8%;
-}
-
-.ivu-layout-sider {
-    width: 100% !important;
-    min-width: 100% !important;
-}
-
-.ivu-menu-dark {
-    background-color: #b3bdc6 !important;
-    border-bottom: 1px solid #8d97a1;
-}
-
-.ivu-menu-item {
-    font-size: 1.1rem !important;
-    color: #4b555e !important;
-}
-
-.ivu-menu-item-active, .ivu-menu-item-selected {
-    color: #fff !important;
-}
-.ivu-menu-item:hover {
-    color: #fff !important;
-}
-.choose {
-    padding-top: 5%;
-    background-color: #cfd4da;
-}
-/*侧边栏选择器 end*/
-
-/*考试选择器 start*/
-@media (max-width: 1920px) {
-    .exam_box {
-        height: 492px;
-        overflow: auto;
-    }
-}
-@media (max-width: 1366px) {
-    .exam_box {
-        height: 524px;
-        overflow: auto;
-    }
-}
-.list_box {
-    width: 100%;
-    height: 140px;
-    background-color: #b3bdc6;
-    list-style: none;
-    padding: 3% 3% 3% 7%;
-    border-bottom: 1px solid #8d97a1;
-}
-
-    .list_box:first-child {
-        border-top: 1px solid #8d97a1;
-    }
-
-    .list_box:hover {
-        background-color: #fdfdfd;
-    }
-
-.box_title {
-    font-size: 1.1rem;
-    color: #4b555e;
-}
-
-.box_time {
-    font-size: 0.8rem;
-    color: #4b555e;
-    padding-top: 5px;
-}
-
-.box_type, .box_num {
-    font-size: 0.9rem;
-    color: #85929a;
-    padding-top: 5px;
-}
-/* 设置滚动条的样式 */
-::-webkit-scrollbar {
-    width: 7px;
-}
-/*滚动槽*/
-::-webkit-scrollbar-track {
-    -webkit-box-shadow: inset 0 0 6px #b3bdc6;
-    border-radius: 10px;
-}
-/* 滚动条滑块 */
-::-webkit-scrollbar-thumb {
-    border-radius: 10px;
-    background: rgba(0, 0, 0, 0.1);
-    -webkit-box-shadow: inset 0 0 6px #85929a;
-}
-
-    ::-webkit-scrollbar-thumb:window-inactive {
-        background: #85929a;
-    }
-/*考试选择器 end*/
-
-/*基础信息样式 start*/
-.basics_box {
-    width: 100%;
-    height: 155px;
-    border-bottom: 1px solid #b3b8be;
-}
-
-.basics {
-    width: 100%;
-    height: 155px;
-    /*border:1px solid red;*/
-    float: left;
-}
-
-.basicslist {
-    list-style-type: none;
-    width: 16.5%;
-    /*border:1px solid red;*/
-    padding: 0.5% 1% 0% 1%;
-    text-align: left;
-    float: left;
-    padding-left: 4%;
-}
-
-.basicslist_title {
-    font-size: 0.85rem;
-    color: #67747d;
-    font-weight: bold;
-}
-
-.basicslist_num {
-    font-size: 3.5rem;
-    color: #27353e;
-    font-weight: bold;
-}
-
-.basicslist_total {
-    font-size: 0.9rem;
-    color: #b2bcc5;
-}
-
-.basicslist_area {
-    font-size: 0.9rem;
-    color: #b2bcc5;
-}
-/*基础信息样式  end*/

+ 0 - 13
TEAMModelOS.SmartTeach/ClientApp/assets/CSS/syllabus/common.css

@@ -1,13 +0,0 @@
-.center {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;
-    align-items: center;
-}
-
-.centerCol {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
-}

+ 0 - 0
TEAMModelOS.SmartTeach/ClientApp/assets/css/resource/index.css


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_book.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_detection.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_interact.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_preview.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_synchronization.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/header_task.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/html50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/icon_audio.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/icon_img.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/icon_text.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/icon_video.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/pdf50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/pic50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/ppt50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/prelearn50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/swf50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/txt50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/video50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/word50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/xls50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/icon/zip50.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner.png


TEAMModelOS.SmartTeach/ClientApp/assets/image/banner01.png → TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner01.png


TEAMModelOS.SmartTeach/ClientApp/assets/image/banner02.png → TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner02.png


TEAMModelOS.SmartTeach/ClientApp/assets/image/banner2.jpg → TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner2.jpg


TEAMModelOS.SmartTeach/ClientApp/assets/image/banner3.jpg → TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner3.jpg


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/banner5.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/bottom.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/center01.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/exam_img_one.jpg


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/exam_img_three.jpg


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/exam_img_two.jpg


TEAMModelOS.SmartTeach/ClientApp/assets/image/floorplan.png → TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/floorplan.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/home_ico2.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/list_icon.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/play.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img.jpg


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img_four.jpg


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img_one.jpg


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img_three.jpg


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/video_img_two.jpg


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who01.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who02.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who03.png


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who04.png


+ 4 - 3
TEAMModelOS.SmartTeach/ClientApp/common/headers.vue

@@ -4,7 +4,7 @@
       <img src="https://css.huijiaoyun.com/tianyu_edu/area/888888/images/logo/logo.png?v=0818"  class="logo_img"/>
       <div class="header_list">
         <ul>
-          <li v-for="items in navlist" class="nav_name">{{items.name}}</li>
+          <a href=""><li v-for="items in navlist" class="nav_name">{{items.name}}</li></a>
         </ul>
       </div>
     </div>
@@ -33,16 +33,17 @@
     padding: 0.5% 8% 0.5% 8%;
     width: 100%;
     height: 85px;
+    background-color:#fff;
   }
   .header_left {
     width: 70%;
     float: left;
-    height: 85px;
+    height: 75px;
   }
   .header_right {
     width: 30%;
     float: left;
-    height: 85px;
+    height: 75px;
   }
   .logo_img {
     float: left;

+ 45 - 18
TEAMModelOS.SmartTeach/ClientApp/components/HeaderPage.vue

@@ -15,24 +15,29 @@
         </div>
         <div class="who-is">
           <ul class="people-list">
-            <li>
-              <img src="https://css.huijiaoyun.com/tianyu_edu/area/edu4.0/images/w_hjy/ami1.png">
+            <li class=" show animated slideInLeft delay-1s">
+              <img src="../assets/image/who01.png">
               <span>我是管理者</span>
             </li>
-            <li>
-              <img src="https://css.huijiaoyun.com/tianyu_edu/area/edu4.0/images/w_hjy/ami2.png">
+            <li class=" show animated slideInLeft ">
+              <img src="../assets/image/who02.png">
               <span>我是教师</span>
             </li>
-            <li>
-              <img src="https://css.huijiaoyun.com/tianyu_edu/area/edu4.0/images/w_hjy/ami3.png">
+            <li class="show animated slideInRight">
+              <img src="../assets/image/who03.png">
               <span>我是学生</span>
             </li>
-            <li>
-              <img src="https://css.huijiaoyun.com/tianyu_edu/area/edu4.0/images/w_hjy/ami4.png">
+            <li class="show animated slideInRight delay-1s">
+              <img src="../assets/image/who04.png">
               <span>我是家长</span>
             </li>
           </ul>
         </div>
+        <div class="center-info">
+          <h1>已超过<span>1000</span>所学校开通了我们的服务</h1>
+          <img  src="../assets/image/center01.png" >
+          <img  src="../assets/image/bottom.png" >
+        </div>
      </div>
 </template>
 <script>
@@ -40,15 +45,13 @@
     data() {
       return {
         homeCarouselImg: [
-          {
-            images: 'https://css.huijiaoyun.com/tianyu_edu/area/edu4.0/images/w_hjy/banner/banner4.jpg'
-          },
+
           {
             images: require('../assets/image/banner02.png')
           },
           {
             images: require('../assets/image/banner01.png')
-          }
+          },
         ]
       };
     },
@@ -63,7 +66,7 @@
 
   .title {
     width: 100%;
-    margin-top:5%;
+    margin-top: 5%;
   }
 
   .header {
@@ -80,25 +83,31 @@
     cursor: pointer;
     margin: auto;
   }
+
   .who-is {
-    height: 264px;
-    margin-top: -114px;
+    height: 240px;
+    margin-top: -70px;
     position: relative;
     z-index: 21;
+    width: 64%;
     overflow: hidden;
-    margin-left:18%;
+    margin-left: 19%;
   }
+
   .people-list {
     display: block;
   }
-  .who-is ul{
-    list-style:none;
+
+  .who-is ul {
+    list-style: none;
   }
+
     .who-is ul li span {
       padding-top: 20px;
       font-size: 24px;
       color: #fff;
     }
+
     .who-is ul li {
       float: left;
       width: 300px;
@@ -109,9 +118,27 @@
       opacity: 1\9;*/
       background-color: #289EFB;
     }
+
+  .show:hover {
+    transition: all 0.6s;
+    margin-top: -2%;
+    cursor:pointer;
+  }
+
       .who-is ul li img {
         border: 0;
         vertical-align: middle;
         margin-top: 30%;
       }
+  .center-info{
+    width:100%;
+  }
+  .center-info h1{
+    font-size:40px;
+    text-align:center;
+  }
+    .center-info span {
+      color: #289EFB;
+      font-size:60px;
+    }
 </style>

+ 138 - 0
TEAMModelOS.SmartTeach/ClientApp/components/resource/exam.vue

@@ -0,0 +1,138 @@
+<template>
+  <div class="exam">
+    <div class="exam_box" v-for="item in listdata">
+      <div class="exam_title"><div class="exam_name">{{item.title}}</div><i>{{item.num}}</i></div>
+      <div class="exam_img"><img :src="item.img" /></div>
+      <ul class="exam_list">
+        <li class="exam_list_data" v-for="items in item.data">
+          <div class="exam_list_title"><a href="">{{items.title}}</a></div>
+          <div class="look"><Icon type="ios-eye" size="16" />{{items.loocknum}}</div>
+        </li>
+      </ul>
+    </div>
+    <div class="clear"></div>
+  </div>
+</template>
+<script>
+  export default {
+    data() {
+      return {
+        listdata: [
+          {
+            "id": 1, "title": '中考专区', "num": '980', "img": require("../../assets/image/resource/exam_img_one.jpg"), data: [
+              { "type": '物理', "title": '2018年成都市中考物理试卷.doc', "loocknum": '750' },
+              { "type": '英语', "title": '2018年成都市中考英语试卷.doc', "loocknum": '920' },
+              { "type": '数学', "title": '2018年成都市中考数学试卷.doc', "loocknum": '1006' },
+              { "type": '化学', "title": '2018年成都市中考化学试卷.doc', "loocknum": '450' },
+            ]
+          },
+          {
+            "id": 2, "title": '高考专区', "num": '1080', "img": require("../../assets/image/resource/exam_img_two.jpg"), data: [
+              { "type": '语文', "title": '2018年成都市高考语文试卷.doc', "loocknum": '1750' },
+              { "type": '英语', "title": '2018年成都市高考英语试卷.doc', "loocknum": '1220' },
+              { "type": '数学', "title": '2018年成都市高考数学试卷.doc', "loocknum": '1606' },
+              { "type": '历史', "title": '2018年成都市高考历史试卷.doc', "loocknum": '1450' },
+            ]
+          },
+          {
+            "id": 3, "title": '优课专区', "num": '900', "img": require("../../assets/image/resource/exam_img_three.jpg"), data: [
+              { "type": '优课', "title": '等腰三角形的判定与反证法', "loocknum": '350' },
+              { "type": '优课', "title": '一元二次方程的应用', "loocknum": '620' },
+              { "type": '优课', "title": '万有引力定律的应用', "loocknum": '606' },
+              { "type": '优课', "title": '化学平衡的特征', "loocknum": '535' },
+            ]
+          },
+        ]
+      }
+    }
+  }
+</script>
+<style scoped>
+  .exam {
+    width: 100%;
+    padding: 0% 11% 0% 11%;
+    float: left;
+    background-color: #f3f3f3;
+  }
+  .exam_box {
+    width: 25.3%;
+    height: auto;
+    margin: 1%;
+    text-align: center;
+    float: left;
+    border: #ececec solid 1px;
+    padding: 1%;
+    box-shadow: 2px 2px 10px rgba(15,4,9,0.05);
+    background-color: #fff;
+  }
+    .exam_box:nth-child(1) {
+      margin: 1% 1% 1% 0%;
+    }
+    .exam_box:nth-child(2) {
+      margin: 1% 1% 1% 6%;
+    }
+    .exam_box:nth-child(3) {
+      margin: 1% 1% 1% 6%;
+    }
+
+  .exam_title {
+    width: 100%;
+    display: block;
+    float: left;
+  }
+
+  .exam_name {
+    font-size: 24px;
+    border-bottom: #288add solid 1px;
+    float: left;
+    margin-left: 20px;
+  }
+
+  .exam_title i {
+    float: left;
+    margin: 8px 0px 0px 8px;
+    height: 20px;
+    line-height: 20px;
+    border-radius: 10px;
+    background: #8ea9b9;
+    font-size: 14px;
+    padding: 0px 10px;
+    color: #fff;
+  }
+
+  .exam_img {
+    margin-top: 10px;
+    float: left;
+  }
+
+  .exam_list {
+    width: 100%;
+    height: auto;
+    padding: 1%;
+    list-style: none;
+    float: left;
+    text-align: left;
+  }
+
+  .exam_list_data {
+    width: 100%;
+    float: left;
+  }
+
+  .exam_list_title {
+    float: left;
+  }
+
+  .look {
+    float: right;
+  }
+
+  a {
+    text-decoration: none;
+    color: #333;
+  }
+
+  .clear {
+    clear: both
+  } 
+</style>

+ 248 - 0
TEAMModelOS.SmartTeach/ClientApp/components/resource/list.vue

@@ -0,0 +1,248 @@
+<template>
+  <div class="list_box">
+    <ul class="list_header">
+      <li class="list_data"><Icon type="ios-menu-outline" size="30" style="color:#fff;margin-bottom:10px;" /><span class="list_header_title">学科资源</span></li>
+      <li class="moreover_data_one">
+        <div class="top_title"><div class="icon_img"></div><span class="moreover_title">小学</span><Icon type="ios-arrow-forward" size="28" style="color:#fff;margin-left:25px;" /></div>
+        <div class="bottom_title">
+          <a href="">教案</a>
+          <a href="">素材</a>
+          <a href="">动画</a>
+          <a href="">课件</a>
+        </div>
+        <ul class="conceal">
+          <li class="conceal_list" v-for="item in xiaoxue">
+            <p class="conceal_list_title">{{item.title}}</p>
+            <span class="conceal_list_subhead" v-for="items in item.data">{{items.title}}</span>
+          </li>
+        </ul>
+      </li>
+      <li class="moreover_data_two">
+        <div class="top_title"><div class="icon_img_two"></div><span class="moreover_title">初中</span><Icon type="ios-arrow-forward" size="28" style="color:#fff;margin-left:25px;" /></div>
+        <div class="bottom_title">
+          <a href="">教案</a>
+          <a href="">试卷</a>
+          <a href="">素材</a>
+          <a href="">课件</a>
+        </div>
+        <ul class="conceal">
+          <li class="conceal_list" v-for="itemc in chuzhong">
+            <p class="conceal_list_title">{{itemc.title}}</p>
+            <span class="conceal_list_subhead" v-for="itemy in itemc.data">{{itemy.title}}</span>
+          </li>
+        </ul>
+      </li>
+      <li class="moreover_data_three">
+        <div class="top_title"><div class="icon_img_three"></div><span class="moreover_title">高中</span><Icon type="ios-arrow-forward" size="28" style="color:#fff;margin-left:25px;" /></div>
+        <div class="bottom_title">
+          <a href="">教案</a>
+          <a href="">真题</a>
+          <a href="">素材</a>
+          <a href="">课件</a>
+        </div>
+        <ul class="conceal">
+          <li class="conceal_list" v-for="itemy in gaozhong">
+            <p class="conceal_list_title">{{itemy.title}}</p>
+            <span class="conceal_list_subhead" v-for="itemf in itemy.data">{{itemf.title}}</span>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </div>
+</template>
+<script>
+  export default {
+    data() {
+      return {
+        xs:false,
+        xiaoxue: [
+          { "id": 1, "title": '语文', "data": [{ "id": 2, "pid": 1, "title": '同步资源' }, { "id": 3, "pid": 1, "title": '卷库' },] },
+          { "id": 4, "title": '数学', "data": [{ "id": 5, "pid": 4, "title": '同步资源' }, { "id": 6, "pid": 4, "title": '卷库' },] },
+          { "id": 7, "title": '英语', "data": [{ "id": 8, "pid": 7, "title": '同步资源' }, { "id": 9, "pid": 7, "title": '卷库' },] },
+          { "id": 10, "title": '体育', "data": [{ "id": 11, "pid": 10, "title": '同步资源' }, { "id": 12, "pid": 10, "title": '卷库' },] },
+          { "id": 13, "title": '美术', "data": [{ "id": 14, "pid": 13, "title": '同步资源' }, { "id": 15, "pid": 13, "title": '卷库' },] },
+          { "id": 16, "title": '音乐', "data": [{ "id": 17, "pid": 16, "title": '同步资源' }, { "id": 18, "pid": 16, "title": '卷库' },] },
+          { "id": 19, "title": '科学', "data": [{ "id": 20, "pid": 19, "title": '同步资源' }, { "id": 21, "pid": 19, "title": '卷库' },] },
+          { "id": 22, "title": '信息技术', "data": [{ "id": 23, "pid": 22, "title": '同步资源' }, { "id": 24, "pid": 22, "title": '卷库' },] },
+          { "id": 25, "title": '书法', "data": [{ "id": 26, "pid": 25, "title": '同步资源' }, { "id": 27, "pid": 25, "title": '卷库' },] },
+          { "id": 28, "title": '汉语', "data": [{ "id": 29, "pid": 28, "title": '同步资源' }, { "id": 30, "pid": 28, "title": '卷库' },] },
+          { "id": 31, "title": '品德与生活', "data": [{ "id": 32, "pid": 31, "title": '同步资源' }, { "id": 33, "pid": 31, "title": '卷库' },] },
+          { "id": 34, "title": '生活与科技', "data": [{ "id": 35, "pid": 34, "title": '同步资源' }, { "id": 36, "pid": 34, "title": '卷库' },] },
+          { "id": 37, "title": '体育与健康', "data": [{ "id": 38, "pid": 37, "title": '同步资源' }, { "id": 39, "pid": 37, "title": '卷库' },] },
+        ],
+        chuzhong: [
+          { "id": 1, "title": '语文', "data": [{ "id": 2, "pid": 1, "title": '同步资源' }, { "id": 3, "pid": 1, "title": '卷库' },] },
+          { "id": 4, "title": '数学', "data": [{ "id": 5, "pid": 4, "title": '同步资源' }, { "id": 6, "pid": 4, "title": '卷库' },] },
+          { "id": 7, "title": '英语', "data": [{ "id": 8, "pid": 7, "title": '同步资源' }, { "id": 9, "pid": 7, "title": '卷库' },] },
+          { "id": 10, "title": '体育', "data": [{ "id": 11, "pid": 10, "title": '同步资源' }, { "id": 12, "pid": 10, "title": '卷库' },] },
+          { "id": 13, "title": '地理', "data": [{ "id": 14, "pid": 13, "title": '同步资源' }, { "id": 15, "pid": 13, "title": '卷库' },] },
+          { "id": 16, "title": '历史', "data": [{ "id": 17, "pid": 16, "title": '同步资源' }, { "id": 18, "pid": 16, "title": '卷库' },] },
+          { "id": 19, "title": '生物', "data": [{ "id": 20, "pid": 19, "title": '同步资源' }, { "id": 21, "pid": 19, "title": '卷库' },] },
+          { "id": 22, "title": '化学', "data": [{ "id": 23, "pid": 22, "title": '同步资源' }, { "id": 24, "pid": 22, "title": '卷库' },] },
+          { "id": 25, "title": '物理', "data": [{ "id": 26, "pid": 25, "title": '同步资源' }, { "id": 27, "pid": 25, "title": '卷库' },] },
+          { "id": 28, "title": '汉语', "data": [{ "id": 29, "pid": 28, "title": '同步资源' }, { "id": 30, "pid": 28, "title": '卷库' },] },
+          { "id": 31, "title": '信息技术', "data": [{ "id": 32, "pid": 31, "title": '同步资源' }, { "id": 33, "pid": 31, "title": '卷库' },] },
+          { "id": 34, "title": '道德与法治', "data": [{ "id": 35, "pid": 34, "title": '同步资源' },] },
+          { "id": 37, "title": '思想品德', "data": [{ "id": 38, "pid": 37, "title": '同步资源' }, { "id": 39, "pid": 37, "title": '卷库' },] },
+        ],
+        gaozhong: [
+          { "id": 1, "title": '语文', "data": [{ "id": 2, "pid": 1, "title": '同步资源' }, { "id": 3, "pid": 1, "title": '卷库' },] },
+          { "id": 4, "title": '数学', "data": [{ "id": 5, "pid": 4, "title": '同步资源' }, { "id": 6, "pid": 4, "title": '卷库' },] },
+          { "id": 7, "title": '英语', "data": [{ "id": 8, "pid": 7, "title": '同步资源' }, { "id": 9, "pid": 7, "title": '卷库' },] },
+          { "id": 10, "title": '体育', "data": [{ "id": 11, "pid": 10, "title": '同步资源' }, { "id": 12, "pid": 10, "title": '卷库' },] },
+          { "id": 13, "title": '地理', "data": [{ "id": 14, "pid": 13, "title": '同步资源' }, { "id": 15, "pid": 13, "title": '卷库' },] },
+          { "id": 16, "title": '历史', "data": [{ "id": 17, "pid": 16, "title": '同步资源' }, { "id": 18, "pid": 16, "title": '卷库' },] },
+          { "id": 19, "title": '生物', "data": [{ "id": 20, "pid": 19, "title": '同步资源' }, { "id": 21, "pid": 19, "title": '卷库' },] },
+          { "id": 22, "title": '化学', "data": [{ "id": 23, "pid": 22, "title": '同步资源' }, { "id": 24, "pid": 22, "title": '卷库' },] },
+          { "id": 25, "title": '物理', "data": [{ "id": 26, "pid": 25, "title": '同步资源' }, { "id": 27, "pid": 25, "title": '卷库' },] },
+          { "id": 28, "title": '汉语', "data": [{ "id": 29, "pid": 28, "title": '同步资源' }, { "id": 30, "pid": 28, "title": '卷库' },] },
+          { "id": 31, "title": '信息技术', "data": [{ "id": 32, "pid": 31, "title": '同步资源' }, { "id": 33, "pid": 31, "title": '卷库' },] },
+          { "id": 34, "title": '道德与法治', "data": [{ "id": 35, "pid": 34, "title": '同步资源' },] },
+          { "id": 37, "title": '思想品德', "data": [{ "id": 38, "pid": 37, "title": '同步资源' }, { "id": 39, "pid": 37, "title": '卷库' },] },
+          { "id": 40, "title": '艺术', "data": [{ "id": 41, "pid": 40, "title": '同步资源' }, { "id": 42, "pid": 40, "title": '卷库' },] },
+          { "id": 43, "title": '研究性活动', "data": [{ "id": 44, "pid": 43, "title": '同步资源' }, { "id": 45, "pid": 43, "title": '卷库' },] },
+          { "id": 46, "title": '生命科学', "data": [{ "id": 47, "pid": 46, "title": '同步资源' },] },
+
+        ],
+      }
+    },
+    methods: {
+
+    }
+  }
+</script>
+<style>
+  .list_box {
+    width:100%;
+    background:url("../../assets/image/resource/banner.png") no-repeat;
+    background-size:100% 100%;
+    height:396px;
+    position:relative;
+  }
+  .list_header {
+    width:11%;
+    position:absolute;
+    left:210px;
+    height:400px;
+    text-align:center;
+  }
+  .list_data {
+    width: 100%;
+    height: 70px;
+    list-style: none;
+    background: #7abeee;
+    line-height: 70px;
+  }
+  .list_header_title {
+    font-size: 24px;
+    color:#fff;
+    margin-top:5px;
+  }
+  .moreover_data_three, .moreover_data_one, .moreover_data_two {
+    width: 100%;
+    height: 108.5px;
+    padding: 5%;
+    list-style: none;
+    background: #7abeee;
+    border-top: #7abeee solid 1px;
+    text-align: left;
+    position: relative;
+  }
+  .top_title {
+    width:100%;
+    height:40px;
+    display:block;
+  }
+  .icon_img {
+    width:35px;
+    height:28px;
+    background:url(../../assets/image/resource/list_icon.png) no-repeat 0px 0px ;
+    display:block;
+    float:left;
+  }
+  .icon_img_two {
+    width: 35px;
+    height: 28px;
+    background: url(../../assets/image/resource/list_icon.png) no-repeat 0px -70px;
+    display: block;
+    float: left;
+  }
+  .icon_img_three {
+    width: 35px;
+    height: 28px;
+    background: url(../../assets/image/resource/list_icon.png) no-repeat 0px -141px;
+    display: block;
+    float: left;
+  }
+  .moreover_title {
+    font-size: 20px;
+    color: #fff;
+    margin-left: 40px;
+    float: left;
+  }
+  .jt {
+    color:#fff;
+    font-size:30px;
+  }
+  .bottom_title {
+    width:100%;
+    height:40px;
+    padding-top:15px;
+  }
+    .bottom_title a {
+      font-size: 14px;
+      color: #fff;
+      margin: 0px 6px;
+    }
+  .moreover_data_one:hover {
+    background: #056eaf;
+  }
+  .moreover_data_two:hover {
+    background: #056eaf;
+  }
+  .moreover_data_three:hover {
+    background: #056eaf;
+  }
+  .conceal {
+    width:580px;
+    height:500px;
+    /*border:1px solid red;*/
+    position:absolute;
+    left:211px;
+    top:0px;
+    background:rgba(85,85,85,.95);
+    display:none;
+  }
+  .conceal_list {
+    float: left;
+    width: 175px;
+    padding-left: 19px;
+    padding-top:20px;
+    overflow: hidden;
+    zoom: 1;
+    margin-right: 15px;
+    height: 76px;
+    list-style:none;
+  }
+  .conceal_list_title{
+    font-size: 18px;
+    color: #5e90b1;
+  }
+  .conceal_list_subhead{
+    font-size:14px;
+    color:#fff;
+    margin-left:5px;
+  }
+  .moreover_data_one:hover .conceal {
+    display: block;
+    top:-71px;
+  }
+  .moreover_data_two:hover .conceal {
+    display: block;
+    top:-180px;
+  }
+  .moreover_data_three:hover .conceal {
+    display: block;
+    top: -288px;
+  }
+</style>

+ 168 - 0
TEAMModelOS.SmartTeach/ClientApp/components/resource/video.vue

@@ -0,0 +1,168 @@
+<template>
+  <div class="video">
+    <div class="video_box">
+      <div class="video_title"><div class="video_name">微课</div><i>2638</i></div>
+      <ul class="video_select">
+        <li class="select_name">语文</li>
+        <li class="select_name">数学</li>
+        <li class="select_name">英语</li>
+        <li class="select_name">物理</li>
+        <li class="select_name">化学</li>
+        <li class="select_name_more"><Icon type="ios-more" size="16" /></li>
+      </ul>
+      <div class="video_list">
+        <div class="video_left">
+          <img src="../../assets/image/resource/video_img.jpg" />
+          <a target="_blank" href="" class="playbtn1"></a>
+          <h4 class="name">
+            <a target="_blank" href="" style="color:#fff">人教五上第五单元_列方程解决实际问题</a>
+          </h4>
+        </div>
+        <ul class="video_right">
+          <li class="video_more_list" v-for="item in video_list">
+            <img :src="item.imgurl" />
+            <a target="_blank" href="" class="playbtn1"></a>
+            <h4 class="name_more">
+            <a target="_blank" href="" style="color:#fff">{{item.slogan}}</a>
+            </h4>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+  export default {
+    data() {
+      return {
+        video_list: [
+          { "id": 1, "imgurl": require("../../assets/image/resource/video_img_one.jpg"), "slogan": '人教三上第四单元_三位数减三位...', "url": '' },
+          { "id": 2, "imgurl": require("../../assets/image/resource/video_img_two.jpg"), "slogan": '五上第七单元_在一条线段上植树', "url": '' },
+          { "id": 3, "imgurl": require("../../assets/image/resource/video_img_three.jpg"), "slogan": '人教一上第五单元_6和7的写法', "url": '' },
+          { "id": 4, "imgurl": require("../../assets/image/resource/video_img_four.jpg"), "slogan": '人教二上第四单元_2,3的乘法口诀', "url": '' },
+        ],
+      }
+    }
+  }
+</script>
+<style scoped>
+  .video {
+    width: 100%;
+    padding: 0% 11% 0% 11%;
+    float: left;
+    background-color: #f3f3f3;
+  }
+  .video_box {
+    width:90%;
+    height:455px;
+    background-color:#fff;
+  }
+  .video_title {
+    width: 70%;
+    float: left;
+    padding-left: 30px;
+    border-bottom: #ececec solid 1px;
+  }
+  .video_name {
+    float: left;
+    line-height: 39px;
+    border-bottom: #288add solid 1px;
+    padding: 12px 5px 0px 5px;
+    font-size: 24px;
+    font-weight: normal;
+    color: #288add;
+  }
+  i {
+    float: left;
+    margin: 22px 0px 0px 8px;
+    height: 20px;
+    line-height: 20px;
+    border-radius: 10px;
+    background: #8ea9b9;
+    font-size: 14px;
+    padding: 0px 10px;
+    color: #fff;
+  }
+  .video_select {
+    width: 30%;
+    float: left;
+    list-style: none;
+    border-bottom: #ececec solid 1px;
+  }
+  .select_name {
+    float: left;
+    width: 15%;
+    line-height: 39px;
+    padding: 12px 5px 0px 5px;
+    font-size: 14px;
+    color: #6f8abb;
+  }
+  .select_name_more {
+    float: left;
+    width: 15%;
+    padding: 0px 5px 0px 5px;
+  }
+  .video_list {
+    width:100%;
+    height:400px;
+    float:left;
+    padding:1.5%;
+  }
+  .video_left {
+    width:50%;
+    float:left;
+    position:relative;
+  }
+    .video_left:hover .playbtn1 {
+      display:block;
+    }
+    .playbtn1 {
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      background: url(../../assets/image/resource/play.png) no-repeat;
+      width: 64px;
+      height: 64px;
+      margin-top: -32px;
+      margin-left: -32px;
+      display: none;
+    }
+  .name {
+    position: absolute;
+    bottom: 5px;
+    left: 0px;
+    width: 91.7%;
+    font-weight: normal;
+    line-height: 45px;
+    font-size: 16px;
+    background-color: rgba(52, 52, 52, .5);
+    color: #fff;
+  }
+  .name_more {
+    position: absolute;
+    bottom: 0px;
+    left: 0px;
+    width: 91.7%;
+    font-weight: normal;
+    line-height: 35px;
+    font-size: 14px;
+    background-color: rgba(52, 52, 52, .5);
+    color: #fff;
+  }
+  .video_right {
+    width: 50%;
+    float: left;
+    list-style: none;
+  }
+  .video_more_list {
+    width:50%;
+    float:left;
+    position:relative;
+    height:170px;
+    margin-top:12px;
+  }
+    .video_more_list img {
+      width:91.5%;
+      height:170px;
+    }
+</style>

+ 1 - 3
TEAMModelOS.SmartTeach/ClientApp/router/routes.js

@@ -1,11 +1,9 @@
 //import Login from '@/view/login'
 //import ServerSideLogin from '@/view/serverside/login'
 // import HTTP404 from '@/view/404'
-import Index from '@/view/index'
-import HeaderPage from '@/components/HeaderPage.vue'
+import Index from '@/view/resource/index'
 import { resolve } from 'url';
 
 export const routes = [  
   { name: 'index', path: '', component: Index },
-  { name: 'HeaderPage', path: '/HeaderPage', component: HeaderPage },
 ]

+ 37 - 0
TEAMModelOS.SmartTeach/ClientApp/view/resource/index.vue

@@ -0,0 +1,37 @@
+<template>
+  <div id="app">
+    <Header></Header>
+    <Banner></Banner>
+    <Exam></Exam>
+    <Video></Video>
+  </div>
+</template>
+<script>
+  import Header from '@/common/headers.vue'
+  import Banner from '@/components/resource/list.vue'
+  import Exam from '@/components/resource/exam.vue'
+  import Video from '@/components/resource/video.vue'
+  export default {
+    components: {
+      Header,
+      Banner,
+      Exam,
+      Video
+    },
+    data() {
+      return {
+       
+      }
+    },
+      mounted() {
+        
+      }
+    }
+</script>
+<style scoped>
+  #app {
+    width: 100%;
+    height: auto;
+    background-color:#f3f3f3;
+  }
+</style>

+ 4 - 1
TEAMModelOS.SmartTeach/ClientApp/view/index.vue

@@ -1,13 +1,16 @@
 <template>
   <div id="app">
       <Header></Header>
+    <Banner></Banner>
   </div>
 </template>
 <script>
   import Header from '@/common/headers.vue'
+  import Banner from '@/components/resource/list.vue'
   export default {
     components: {
-      Header
+      Header,
+      Banner
     },
     data() {
       return {

+ 0 - 2
TEAMModelOS.SmartTeach/TEAMModelOS.SmartTeach.csproj

@@ -23,8 +23,6 @@
   <ItemGroup>
     <Folder Include="JsonFile\Core\" />
     <Folder Include="Models\" />
-    <Folder Include="wwwroot\" />
-    <Folder Include="wwwroot\dist\" />
   </ItemGroup>
 
 

+ 24 - 0
TEAMModelOS.TeachZone/.babelrc

@@ -0,0 +1,24 @@
+{
+  "presets": [
+    "@babel/preset-env"
+  ],
+  "plugins": [
+    "@babel/plugin-transform-runtime",
+    "@babel/plugin-transform-async-to-generator",
+    "@babel/plugin-syntax-dynamic-import",
+    "@babel/plugin-syntax-import-meta",
+    "@babel/plugin-proposal-class-properties",
+    "@babel/plugin-proposal-json-strings",
+    [
+      "@babel/plugin-proposal-decorators",
+      {
+        "legacy": true
+      }
+    ],
+    "@babel/plugin-proposal-function-sent",
+    "@babel/plugin-proposal-export-namespace-from",
+    "@babel/plugin-proposal-numeric-separator",
+    "@babel/plugin-proposal-throw-expressions"
+  ],
+  "comments": false
+}

+ 14 - 0
TEAMModelOS.TeachZone/.editorconfig

@@ -0,0 +1,14 @@
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.cs]
+indent_size = 4
+
+[*.{js,json,vue}]
+indent_size = 2

+ 23 - 0
TEAMModelOS.TeachZone/.eslintrc.js

@@ -0,0 +1,23 @@
+module.exports = {
+  root: true,
+  parser: 'babel-eslint',
+  parserOptions: {
+    sourceType: 'module'
+  },
+  // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
+  extends: 'standard',
+  // We could also use the https://github.com/vuejs/eslint-plugin-vue
+  // required to lint *.vue files
+  plugins: [
+    'html'
+  ],
+  // add your custom rules here
+  'rules': {
+    // allow paren-less arrow functions
+    'arrow-parens': 0,
+    // allow async-await
+    'generator-star-spacing': 0,
+    // allow debugger during development
+    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
+  }
+}

+ 35 - 0
TEAMModelOS.TeachZone/.gitattributes

@@ -0,0 +1,35 @@
+###############################################################################
+# Auto detect text files and perform LF normalization
+###############################################################################
+* text=auto
+
+###############################################################################
+# Force text and use native line endings for configuration and plain text
+# files, for easier editing on any platform.
+###############################################################################
+*.cs     text
+*.cshtml text
+*.js     text
+*.vue    text
+*.json   text
+*.css    text
+*.md     text
+*.config text
+
+###############################################################################
+# Set default behavior for command prompt diff.
+###############################################################################
+*.cs        diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following 
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+*.sln       merge=binary
+*.csproj    merge=binary

+ 253 - 0
TEAMModelOS.TeachZone/.gitignore

@@ -0,0 +1,253 @@
+.DS_Store
+node_modules/
+npm-debug.log
+
+/Properties/launchSettings.json
+
+package-lock.json
+
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+build/
+bld/
+bin/
+Bin/
+obj/
+Obj/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+/wwwroot/dist/**
+
+# Workaround for https://github.com/aspnet/JavaScriptServices/issues/235
+!/wwwroot/dist/_placeholder.txt
+
+/yarn.lock
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# DNX
+project.lock.json
+artifacts/
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# TODO: Comment the next line if you want to checkin your web deploy settings
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Microsoft Azure ApplicationInsights config file
+ApplicationInsights.config
+
+# Windows Store app package directory
+AppPackages/
+BundleArtifacts/
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Workaround for https://github.com/aspnet/JavaScriptServices/issues/235
+/node_modules/**
+!/node_modules/_placeholder.txt
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+
+# FAKE - F# Make
+.fake/
+
+.vscode/

+ 229 - 0
TEAMModelOS.TeachZone/ClientApp/api/api.js

@@ -0,0 +1,229 @@
+import { fetch, post } from '@/filters/http'
+export default {
+  //获取登录跳转链接
+  getLoginLink: function (data) {
+     return post('api/login/login', data);
+  },
+  //验证登录
+  checkLogin: function (data) {
+     return post('api/login/CheckLogin', data);
+  },
+  //获取登录人员角色列表
+  getLoginRoles: function (data) {
+    return post('api/role/GetLoginRoles', data);
+  },
+  //查找地区对应学校列表
+  getSchoolList: function (data) {
+    return post('api/School/getSchool', data);
+  },
+  //根据当前登录用户获取已授权的AI智慧学校
+  getAuthSchool: function (data) {
+    return post('api/School/AuthorizedAISchool', data);
+  },
+  //获取全部科目
+  FindSubjectsByDict: function (data) {
+    return post('api/subject/FindSubjectsByDict', data);
+  },
+  //获取当前学校全部科目
+  FindSchoolSubjectsByDict: function (data) {
+    return post('api/subject/FindSchoolSubjectsByDict', data);
+  },
+  //获取当前学校全部册别
+  FindSchoolVolumesByDict: function (data) {
+    return post('api/volume/FindSchoolVolumesByDict', data);
+  },
+  //获取当前学校全部学段
+  FindSchoolPeriodsByDict: function (data) {
+    return post('api/period/FindSchoolPeriodsByDict', data);
+  },
+  //获取当前学校全部年级
+  FindSchoolGradesByDict: function (data) {
+    return post('api/grade/FindSchoolGradesByDict', data);
+  },
+  //获取当前学校全部学期
+  FindSchoolTermsByDict: function (data) {
+    return post('api/term/FindSchoolTermsByDict', data);
+  },
+  //保存或更新学校科目
+  SaveOrUpdateSchoolSubject: function (data) {
+    return post('api/subject/SaveOrUpdateSchoolSubject', data);
+  },
+  //保存或更新学校册别
+  SaveOrUpdateSchoolVolume: function (data) {
+    return post('api/volume/SaveOrUpdateSchoolVolume', data);
+  },
+  //根据册别及其他条件获取课纲树形结构
+  FindSyllabusByVolumeCode: function (data) {
+    return post('api/syllabus/FindSyllabusByVolumeCode', data);
+  },
+  //保存单个课纲节点
+  SaveOrUpdateSingleNode: function (data) {
+    return post('api/Syllabus/SaveOrUpdate', data);
+  },
+
+
+
+
+
+  //获取登录人员身份信息
+  getLoginClaim: function (data) {
+    return post('api/role/GetLoginClaim', data);
+  },
+
+
+
+
+
+
+
+
+
+
+
+  //学情分析API
+  //查询班年级数据
+  FindGrade: function () {
+    return fetch('/api/class/getGrade?identity=Grade');
+  },
+  //查询学年期数据
+  FindTerm: function () {
+    return fetch('/api/class/getTerm?identity=term');
+  },
+  //查询考试情况
+  FindExam: function () {
+    return fetch('/api/class/getExam?identity=Exam');
+  },
+  //查询基础数据
+  FindBasics: function () {
+    return fetch('/api/class/getBase?identity=Base');
+  },
+  //查询各校成绩排名(堆叠柱状图)
+  FindBargraph: function () {
+    return fetch('/api/class/getExam?identity=EcharsZ');
+  },
+  //查询各项科目表现(雷达图)
+  FindRadargraph: function () {
+    return fetch('/api/class/getExam?identity=EcharsL');
+  },
+  //查询科目表现对比(饼图)
+  FindSubjectsManifestation: function () {
+    return fetch('/api/class/getExam?identity=EcharsY');
+  },
+  //查询历次总分统计表(折线图)
+  FindLinechart: function () {
+    return fetch('/api/class/getExam?identity=EcharsZx');
+  },
+  //查询考试类型
+  FindExamtype: function () {
+    return fetch('/api/class/getExam?identity=ExamType');
+  },
+
+
+  //动态数据
+  //关注年级变化数据
+  FindSelectGrade:function() {
+    return fetch('/api/class/getChange?identity=Changegrade');
+  },
+ //关注学年期变化数据
+  FindSelectTerm: function () {
+    return fetch('/api/class/getChangeterm?identity=Changeterm');
+  },
+  //点击某次考试详情 变化数据
+   FindSelectExam: function () {
+     return fetch('/api/class/getChangeExam?identity=Changeexam');
+  },
+  //筛选考试类型 变化数据
+  FindSelectExamType: function () {
+    return fetch('/api/class/getChangeExamType?identity=Changeexamtype');
+  },
+  //显示文科数据  变化数据
+  FindSelectArts: function () {
+    return fetch('/api/class/getChangeArts?identity=Changarts');
+  },
+  //显示理科数据  变化数据
+  FindSelectScience: function () {
+    return fetch('/api/class/getChangeScience?identity=Changscience');
+  },
+  //点击柱状图 赋值到雷达图
+  //成都七中
+  Findcdqz: function () {
+    return fetch('/api/class/getExam?identity=cdqz');
+  },
+  //成都四中
+  Findcdsz: function () {
+    return fetch('/api/class/getExam?identity=cdsz');
+  },
+  //成都九中
+  Findcdjz: function () {
+    return fetch('/api/class/getExam?identity=cdjz')
+  },
+  //成都树德
+  Findcdsd: function () {
+    return fetch('/api/class/getExam?identity=cdsd')
+  },
+  //师大一中
+  Findsdyz: function () {
+    return fetch('/api/class/getExam?identity=sdyz')
+  },
+  //西川中学
+  Findxczx: function () {
+    return fetch('/api/class/getExam?identity=xczx');
+  },
+  //石室中学
+  Findsszx: function () {
+    return fetch('/api/class/getExam?identity=sszx');
+  },
+
+  //任教老师页面
+  //查询关注学年期
+  FindTeachTerm: function () {
+    return fetch('/api/class/getTerm?identity=Teachterm');
+  },
+  //查询数据对比
+  FindTeachContrast: function () {
+    return fetch('/api/class/getTerm?identity=Teachcontrast');
+  },
+  //查询考试信息
+  FindTeachExam: function () {
+    return fetch('/api/class/getExam?identity=TeachExam');
+  },
+  //查询基础数据
+  FindTeachBasics: function () {
+    return fetch('/api/class/getTerm?identity=TeachBase');
+  },
+  //查询各班平均分数排名(柱状图)
+  FindTeachbargraph: function () {
+    return fetch('/api/class/getExam?identity=TeachEcharsZ');
+  },
+  //查询及格率比较
+  FindTeachAnnulus: function () {
+    return fetch('/api/class/getExam?identity=TeachAnnulus');
+  },
+  //查询历次总分统计图
+  FindTeachHistory: function () {
+    return fetch('/api/class/getExam?identity=TeachEcharsZx');
+  },
+  //查询PR值
+  FindTeachPR: function () {
+    return fetch('/api/class/getExam?identity=TeachPie');
+  },
+
+
+  //动态数据
+  //选择关注学年期
+  FindDynamicTerm: function () {
+    return fetch('/api/class/getExam?identity=TeachChangeterm');
+  },
+  //选择数据比较
+  FindDatacompare: function () {
+    return fetch('/api/class/getExam?identity=TeachChangeDatacompare');
+  },
+  //选择考试数据
+  FindClickExam: function () {
+    return fetch('/api/class/getExam?identity=TeachChangeExam');
+  },
+  //点击班级 联动 RP值
+  FindClickPR: function () {
+    return fetch('/api/class/getExam?identity=TeachClickPR');
+  },
+}

+ 70 - 0
TEAMModelOS.TeachZone/ClientApp/app.js

@@ -0,0 +1,70 @@
+import Vue from 'vue'
+import i18n from '@/locale';
+import router from './router/index'
+import store from './store'
+import { sync } from 'vuex-router-sync'
+import App from 'components/app-root'
+import { FontAwesomeIcon } from './icons'
+import iView from 'iview';
+import 'iview/dist/styles/iview.css';
+import commons from "@/utils/public.js";
+import apiTools from '@/api/api.js';
+import { fetch, post } from '@/filters/http.js';
+import VideoPlayer from 'vue-video-player';
+import jwtDecode from 'jwt-decode';
+import animate from 'animate.css'
+require('video.js/dist/video-js.css');
+require('vue-video-player/src/custom-theme.css');
+Vue.use(VideoPlayer);
+
+//新添加的
+import vuescroll from 'vue-scroll'
+import echarts from 'echarts'
+
+//全局API请求
+Vue.prototype.$api = apiTools;
+Vue.prototype.$post = post;
+Vue.prototype.$get = fetch;
+
+
+Vue.prototype.$jwtDecode = jwtDecode;
+
+Vue.use(vuescroll)
+Vue.use(animate)
+Vue.prototype.$echarts = echarts
+
+//ZXJ
+Vue.prototype.common = commons;
+
+// Registration of global components
+Vue.component('icon', FontAwesomeIcon);
+
+//使用钩子函数对路由进行权限跳转
+//router.beforeEach((to, from, next) => {
+//const role = localStorage.getItem('token');
+//  if (!role && to.path !== '/') {
+//    next('/');
+//  } else {
+//    next();
+//  }
+//})
+//Vue.prototype.$http = axios
+
+Vue.use(iView, {
+  i18n: (key, value) => i18n.t(key, value)
+})
+
+sync(store, router)
+
+const app = new Vue({
+  store,
+  router,
+  i18n,
+  ...App
+})
+
+export {
+  app,
+  router,
+  store
+}

BIN
TEAMModelOS.TeachZone/ClientApp/assets/bak_cloud.jpg


BIN
TEAMModelOS.TeachZone/ClientApp/assets/bak_cloud_1.jpg


BIN
TEAMModelOS.TeachZone/ClientApp/assets/banner.jpg


+ 0 - 0
TEAMModelOS.TeachZone/ClientApp/assets/css/resource/index.css


+ 1 - 0
TEAMModelOS.TeachZone/ClientApp/assets/greenpin.svg

@@ -0,0 +1 @@
+<svg id="圖層_1" data-name="圖層 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58.3 60"><defs><style>.cls-1{fill:#1CD0A1;}</style></defs><title>pin</title><polygon class="cls-1" points="55.3 0 29.1 38.6 3 0 55.3 0"/><polygon class="cls-1" points="29.1 48.9 7.5 16.9 0 16.9 29.1 60 58.3 16.9 50.8 16.9 29.1 48.9"/></svg>

BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner01.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner02.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner2.jpg


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner3.jpg


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/banner5.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/bottom.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/center01.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/exam_img_one.jpg


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/exam_img_three.jpg


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/exam_img_two.jpg


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/floorplan.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/home_ico2.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/list_icon.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/video_img.jpg


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/who01.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/who02.png


BIN
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/who03.png


+ 0 - 0
TEAMModelOS.TeachZone/ClientApp/assets/image/resource/who04.png


Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff