فهرست منبع

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

luoxiaoli@foxmail.com 6 سال پیش
والد
کامیت
861d92ad6f
31فایلهای تغییر یافته به همراه236 افزوده شده و 177 حذف شده
  1. BIN
      TEAMModelOS.SmartClass/ClientApp/assets/image/e_logo3.png
  2. 1 1
      TEAMModelOS.SmartClass/ClientApp/components/smart-class/headers.vue
  3. 24 4
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/CommentVideo.vue
  4. 73 65
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/LiveBroadcast.vue
  5. 17 26
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/Video.vue
  6. 6 2
      TEAMModelOS.SmartClass/ClientApp/view/smart-class/index.vue
  7. 5 3
      TEAMModelOS.SmartClass/package.json
  8. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/arrow.png
  9. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/bottom.png
  10. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/center01.png
  11. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people01.jpg
  12. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people02.jpg
  13. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people03.jpg
  14. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people04.jpg
  15. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people05.jpg
  16. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people06.jpg
  17. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people07.jpg
  18. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people08.jpg
  19. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people09.jpg
  20. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people10.jpg
  21. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people11.jpg
  22. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people12.jpg
  23. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people13.jpg
  24. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people14.jpg
  25. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people15.jpg
  26. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who01.png
  27. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who02.png
  28. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who03.png
  29. BIN
      TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/who04.png
  30. 91 54
      TEAMModelOS.SmartTeach/ClientApp/components/resource/home.vue
  31. 19 22
      TEAMModelOS.SmartTeach/ClientApp/components/resource/teacherMap.vue

BIN
TEAMModelOS.SmartClass/ClientApp/assets/image/e_logo3.png


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

@@ -1,7 +1,7 @@
 <template>
   <div class="headerContainer">
     <div class="header center-row">
-      <img src="../../assets/image/e_logo.png" style="width:150px" />
+      <img src="../../assets/image/e_logo3.png" style="width:150px" />
       <ul>
         <li :class="this.$route.path ==  '/main/index' || activeIndex == 0 ? 'li-active':''" @click="handleMenuClick(0,'index')">首页</li>
         <li :class="this.$route.path ==  '/main/notice' || activeIndex == 1? 'li-active':''" @click="handleMenuClick(1,'notice')">通知公告</li>

+ 24 - 4
TEAMModelOS.SmartClass/ClientApp/view/smart-class/CommentVideo.vue

@@ -9,10 +9,11 @@
         <div>
           <p style=" font-size: 14px; margin-bottom: 20px;"><span class="title-header">标题 : <span class="title-content">创新实验室(学科教室)课例20190508直播</span></span> <span class="title-header">主讲人 : 林燕<span class="title-content"></span></span> <span class="liveStatus">播放成功</span></p>
         </div>
-        <video controls="controls" width="780" style="display:block;"
-               src="https://teammodelstorage.blob.core.chinacloudapi.cn/teammodelcontest/20190516/acalssOne%E7%BD%91%E9%A1%B5%E7%99%BB%E5%BD%95%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95.mp4">
-          您的浏览器不支持 video 标签。
-        </video>
+        <video-player class="video-player-box" style="width:800px;"
+                      ref="videoPlayer"
+                      :options="playerOptions"
+                      :playsinline="true">
+        </video-player>
         <p class="average-score">作品当前平均分 : <span>未评</span></p>
       </div>
 
@@ -46,9 +47,28 @@
 <script>
   import rewardList from '@/static/rewardList.json'
   import CList from '@/static/commentList.json'
+  import"videojs-contrib-hls.js/src/videojs.hlsjs"
   export default {
     data() {
       return {
+        playerOptions: {
+          playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
+          autoplay: false, //如果true,浏览器准备好时开始回放。
+          controls: true, //控制条
+          preload: 'auto', //视频预加载
+          muted: false, //默认情况下将会消除任何音频。
+          loop: false, //导致视频一结束就重新开始。
+          language: 'zh-CN',
+          aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
+          fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
+          sources: [{
+            type: 'application/x-mpegURL',
+            src: 'https://teammodelstorage.blob.core.chinacloudapi.cn/teammodelcontest/20190517/demo/2019.m3u8'
+          }],
+          poster: "http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg", //你的封面地址
+          width: document.documentElement.clientWidth,
+          notSupportedMessage: '此视频暂无法播放,请稍后再试' //允许覆盖Video.js无法播放媒体源时显示的默认信息。
+        },
         routerData: {},
         rewardDatas: [],
         commmentList:[],

+ 73 - 65
TEAMModelOS.SmartClass/ClientApp/view/smart-class/LiveBroadcast.vue

@@ -3,9 +3,13 @@
     <div class="review-main">
       <div class="condition-wrap">
         <!--<div class="condition-wrap-left">
-          <Button type="primary">新媒体新技术</Button>
-          <Button type="success">创新实验室</Button>
-        </div>-->
+    <Button type="primary">新媒体新技术</Button>
+    <Button type="success">创新实验室</Button>
+  </div>-->
+
+        <Select v-model="selectSchool" style="width:200px" @on-change="chooseSchool">
+          <Option v-for="(item,index) in schoolList" :value="item" :key="index">{{ item }}</Option>
+        </Select>
         <div class="condition-wrap-right" style="display:none;">
           <Select v-model="yearDefault" size="large" style="width:100px">
             <Option v-for="item in years" :value="item" :key="item">{{ item }}</Option>
@@ -21,8 +25,7 @@
       <Tooltip :content="eventContent" placement="right" transfer max-width="300px">
         <full-calendar :config="config"
                        :events="fcEvents"
-                       ref="calendar"
-                       @dayClick="getDay">
+                       ref="calendar">
         </full-calendar>
       </Tooltip>
       <br><br>
@@ -92,82 +95,82 @@
             console.log(day);
             console.log(jsEvent);
           },
-          eventClick: (day, jsEvent) => {
+          eventClick: () => {
             this.$router.push({ path: 'lessonDetails' });
           },
           eventMouseover: function (event, jsEvent, view) {
             self.eventContent = event.title;
           },
         },
-        lessonList: []
+        lessonList: [],
+        schoolList: [],
+        allList:[],
+        selectSchool:""
       }
     },
 
-    methods: {
-      getDay(event, jsEvent, view) {
-      },
-    },
-    mounted() {
-      this._this = this;
+    created() {
+      this.allList = require("@/static/lessonList.json");
       this.lessonList = require("@/static/lessonList.json");
-      for (let i = 0; i < this.lessonList.length; i++) {
 
-        var sdate = new Date(this.lessonList[i].startTime.time);
-        let sY = sdate.getFullYear() + '-';
-        let sM = (sdate.getMonth() + 1 < 10 ? '0' + (sdate.getMonth() + 1) : sdate.getMonth() + 1) + '-';
-        let sD = sdate.getDate() + ' ';
-        var edate = new Date(this.lessonList[i].endTime.time);
-        let eY = edate.getFullYear() + '-';
-        let eM = (edate.getMonth() + 1 < 10 ? '0' + (edate.getMonth() + 1) : edate.getMonth() + 1) + '-';
-        let eD = edate.getDate() + ' ';
-
-        let dateArr = this.fcEvents.map(item => item.start);
+    },
 
-        //如果已存在
-        if (dateArr.indexOf(sY + sM + sD) == -1) {
-          this.fcEvents.push({
-            title: '名称:' + this.lessonList[i].name
-              + ' \n 学校:' + this.lessonList[i].schoolName
-              + ' \n 主讲人:' + this.lessonList[i].employeeName
-              + ' \n 学科:' + this.lessonList[i].parentCategoryName
-              + ' \n 课题:' + this.lessonList[i].parentProjectName
-              + ' \n 时间:' + this.lessonList[i].timeRangeTipHHmm
-              + ' \n ',
-            start: sY + sM + sD,
-            end: eY + eM + eD
-          });
+    methods: {
+      chooseSchool(val) {
+        if (val == "全部课程") {
+          this.initCalendar(this.allList);
         } else {
-          let index = dateArr.indexOf(sY + sM + sD);
-          let newEvent = {
-            title: this.lessonList[i].name + ' \n\n 等多个活动',
-            start: sY + sM + sD,
-            end: eY + eM + eD,
-            renderHeader: (h, params) => {
-              return h('div', [
-                h('span', params.column.title),
-                h('Tooltip', {
-                  props: {
-                    content: '您希望展示的提示语',
-                    transfer: true,
-                    maxWidth: '220',
-                    theme: 'light'
-                  }
-                }, [
-                    h('Icon', {
-                      props: {
-                        type: 'md-help-circle',
-                        color: "#c8c8c8",
-                        size: "20"
-                      },
-                      class: { iconClass: true }
-                    })
-                  ]),
-              ])
+          this.$nextTick(() => {
+            this.initCalendar(this.allList.filter(item => item.schoolName == val));
+          })
+        }
+
+      },
+      initCalendar(arr) {
+        this.fcEvents = [];
+        this._this = this;
+        for (let i = 0; i < arr.length; i++) {
+          var sdate = new Date(arr[i].startTime.time);
+          let sY = sdate.getFullYear() + '-';
+          let sM = (sdate.getMonth() + 1 < 10 ? '0' + (sdate.getMonth() + 1) : sdate.getMonth() + 1) + '-';
+          let sD = sdate.getDate() + ' ';
+          var edate = new Date(arr[i].endTime.time);
+          let eY = edate.getFullYear() + '-';
+          let eM = (edate.getMonth() + 1 < 10 ? '0' + (edate.getMonth() + 1) : edate.getMonth() + 1) + '-';
+          let eD = edate.getDate() + ' ';
+          let dateArr = this.fcEvents.map(item => item.start);
+
+          //如果已存在
+          if (dateArr.indexOf(sY + sM + sD) == -1) {
+            this.fcEvents.push({
+              title: '名称:' + arr[i].name
+                + ' \n 学校:' + arr[i].schoolName
+                + ' \n 主讲人:' + arr[i].employeeName
+                + ' \n 学科:' + arr[i].parentCategoryName
+                + ' \n 课题:' + arr[i].parentProjectName
+                + ' \n 时间:' + arr[i].timeRangeTipHHmm
+                + ' \n ',
+              start: sY + sM + sD,
+              end: eY + eM + eD
+            });
+          } else {
+            let index = dateArr.indexOf(sY + sM + sD);
+            let newEvent = {
+              title: arr[i].name + ' \n\n 等多个活动',
+              start: sY + sM + sD,
+              end: eY + eM + eD,
             }
+            this.fcEvents.splice(index, 1, newEvent);
           }
-          this.fcEvents.splice(index, 1, newEvent);
         }
-      }
+        }
+      },
+    mounted() {
+        this.schoolList = [...new Set(this.allList.map(item => item.schoolName))];
+        this.lessonList = this.allList;
+        this.schoolList.unshift("全部课程");
+        this.selectSchool = this.schoolList[0];
+        this.initCalendar(this.lessonList);
     }
   }
 </script>
@@ -249,6 +252,11 @@
       background: none;
     }
 
+    .review-main .fc-week {
+      min-height:120px;
+      height:120px !important;
+    }
+
     .review-main  .fc-event {
       border: none;
     }

+ 17 - 26
TEAMModelOS.SmartClass/ClientApp/view/smart-class/Video.vue

@@ -6,27 +6,12 @@
     <div class="video-info">
 
       <div class="video-src">
-        <!--<video controls="controls" width="800" style="display:block;"
-         src="https://teammodelstorage.blob.core.chinacloudapi.cn/teammodelcontest/20190516/acalssOne%E7%BD%91%E9%A1%B5%E7%99%BB%E5%BD%95%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95.mp4">
-    您的浏览器不支持 video 标签。
-  </video>-->
         <video-player class="video-player-box" style="width:800px;"
                       ref="videoPlayer"
                       :options="playerOptions"
-                      :playsinline="true"
-                      customEventName="customstatechangedeventname"
-                      @play="onPlayerPlay($event)"
-                      @pause="onPlayerPause($event)"
-                      @ended="onPlayerEnded($event)"
-                      @waiting="onPlayerWaiting($event)"
-                      @playing="onPlayerPlaying($event)"
-                      @loadeddata="onPlayerLoadeddata($event)"
-                      @timeupdate="onPlayerTimeupdate($event)"
-                      @canplay="onPlayerCanplay($event)"
-                      @canplaythrough="onPlayerCanplaythrough($event)"
-                      @statechanged="playerStateChanged($event)"
-                      @ready="playerReadied">
+                      :playsinline="true">
         </video-player>
+
       </div>
 
       <div class="video-detail-info">
@@ -75,21 +60,27 @@
 </template>
 <script>
   import rewardList from '@/static/rewardList.json'
+  import"videojs-contrib-hls.js/src/videojs.hlsjs"
   export default {
     data() {
       return {
         playerOptions: {
-          // videojs options
-          muted: true,
-          language: 'en',
-          preload: 'auto',
-          playbackRates: [0.7, 1.0, 1.5, 2.0],
+          playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
+          autoplay: false, //如果true,浏览器准备好时开始回放。
+          controls: true, //控制条
+          preload: 'auto', //视频预加载
+          muted: false, //默认情况下将会消除任何音频。
+          loop: false, //导致视频一结束就重新开始。
+          language: 'zh-CN',
+          aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
+          fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
           sources: [{
-            type: "video/mp4",
-            src: "https://teammodelstorage.blob.core.chinacloudapi.cn/teammodelcontest/20190517/%E5%B0%8F%E5%AD%A6%E8%8B%B1%E8%AF%AD301%E8%83%A1%E9%A2%96--2019.mp4"
-            //src: "https://teammodelstorage.blob.core.chinacloudapi.cn/teammodelcontest/20190517/%E5%B0%8F%E5%AD%A6%E8%8B%B1%E8%AF%AD301%E8%83%A1%E9%A2%96--20180419.MP4"
+            type: 'application/x-mpegURL',
+            src: 'https://teammodelstorage.blob.core.chinacloudapi.cn/teammodelcontest/20190517/demo/2019.m3u8'
           }],
-          poster: "/static/images/author.jpg",
+          poster: "http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg", //你的封面地址
+          width: document.documentElement.clientWidth,
+          notSupportedMessage: '此视频暂无法播放,请稍后再试' //允许覆盖Video.js无法播放媒体源时显示的默认信息。
         },
         routerData: {},
         rewardDatas: [],

+ 6 - 2
TEAMModelOS.SmartClass/ClientApp/view/smart-class/index.vue

@@ -54,7 +54,8 @@
     <div class="home-activity">
       <div class="activity-container">
         <div class="header-line">
-          <h3>往届回顾</h3> <span>REVIEW</span> <div class="more">
+          <h3>往届回顾</h3> <span>REVIEW</span>
+          <div class="more">
             <a href="./activity.html" class="view-more">查看更多</a>
           <span class="count">
               <b style="color: rgb(83, 199, 102);">18</b>个活动
@@ -65,7 +66,10 @@
           <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">
+              <p></p>
+              <p class="actName">{{item.name}}</p>
+              <p></p>
+              <p class="actOrganizer">
                   <span class="organizer">
                     {{item.organizer}}
                   </span>

+ 5 - 3
TEAMModelOS.SmartClass/package.json

@@ -27,18 +27,20 @@
     "jwt-decode": "^2.2.0",
     "less": "^3.9.0",
     "moment": "^2.23.0",
+    "videojs-contrib-hls": "^5.15.0",
+    "videojs-contrib-hls.js": "^3.2.0",
     "vue": "^2.6.9",
     "vue-calendar-component": "^2.7.4",
     "vue-full-calendar": "^2.7.0",
     "vue-fullcalendar": "^1.0.9",
     "vue-infinite-loading": "^2.4.3",
+    "vue-jlunar-datepicker": "^2.3.0",
+    "vue-lunar-full-calendar": "^1.2.2",
     "vue-router": "^3.0.2",
     "vue-scroll": "^2.1.9",
     "vue-video-player": "^5.0.2",
     "vuex": "^3.1.0",
-    "vuex-router-sync": "^5.0.0",
-    "vue-jlunar-datepicker": "^2.3.0",
-    "vue-lunar-full-calendar": "^1.2.2"
+    "vuex-router-sync": "^5.0.0"
   },
   "devDependencies": {
     "@babel/core": "^7.2.2",

BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/arrow.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/people01.jpg


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


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


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


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


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


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


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


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


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


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


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


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


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


BIN
TEAMModelOS.SmartTeach/ClientApp/assets/image/resource/people15.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


+ 91 - 54
TEAMModelOS.SmartTeach/ClientApp/components/resource/home.vue

@@ -1,44 +1,60 @@
 
 <template>
   <div class="home">
-        <div class="title">
-          <!--顶部轮播图-->
-          <div >
-            <Carousel >
-              <CarouselItem v-for="(homeImagesList,index) in homeCarouselImg" :key="index">
-                <div class="demo-carousel">
-                  <img class="carousel-img" :src="homeImagesList.images" >
-                </div>
-              </CarouselItem>
-            </Carousel>
-          </div>
-        </div>
-        <div class="who-is">
-          <ul class="people-list">
-            <li class=" show animated slideInLeft delay-1s">
-              <img src="../../assets/image/resource/who01.png">
-              <span>我是管理者</span>
-            </li>
-            <li class=" show animated slideInLeft ">
-              <img src="../../assets/image/resource/who02.png">
-              <span>我是教师</span>
-            </li>
-            <li class="show animated slideInRight">
-              <img src="../../assets/image/resource/who03.png">
-              <span>我是学生</span>
-            </li>
-            <li class="show animated slideInRight delay-1s">
-              <img src="../../assets/image/resource/who04.png">
-              <span>我是家长</span>
-            </li>
-          </ul>
-        </div>
-        <div class="center-info">
-          <h1>已超过<span>1000</span>所学校开通了我们的服务</h1>
-          <img  src="../../assets/image/resource/center01.png" >
-          <img  src="../../assets/image/resource/bottom.png" >
-        </div>
-     </div>
+    <div class="title">
+      <!--顶部轮播图-->
+      <div>
+        <Carousel>
+          <CarouselItem v-for="(homeImagesList,index) in homeCarouselImg" :key="index">
+            <div class="demo-carousel">
+              <img class="carousel-img" :src="homeImagesList.images">
+            </div>
+          </CarouselItem>
+        </Carousel>
+      </div>
+    </div>
+    <div class="who-is">
+      <ul class="people-list">
+        <li class=" show animated slideInLeft delay-1s">
+          <img src="../../assets/image/resource/who01.png">
+          <span>我是管理者</span>
+        </li>
+        <li class=" show animated slideInLeft ">
+          <img src="../../assets/image/resource/who02.png">
+          <span>我是教师</span>
+        </li>
+        <li class="show animated slideInRight">
+          <img src="../../assets/image/resource/who03.png">
+          <span>我是学生</span>
+        </li>
+        <li class="show animated slideInRight delay-1s">
+          <img src="../../assets/image/resource/who04.png">
+          <span>我是家长</span>
+        </li>
+      </ul>
+    </div>
+    <div class="arrow">
+      <img src="../../assets/image/resource/arrow.png">
+      <h1>开通智慧学校</h1>
+      <div class="box"></div>
+    </div>
+    <img src="../../assets/image/resource/center01.png">
+    <div class="arrow">
+      <img src="../../assets/image/resource/arrow.png">
+      <h1>开通智慧云平台</h1>
+      <div class="box"></div>
+    </div>
+    <img src="../../assets/image/resource/bottom.png">
+    <div class="arrow">
+      <img src="../../assets/image/resource/arrow.png">
+      <h1>联系我们</h1>
+      <div class="box"></div>
+    </div>
+    <div class="center-info">
+      <!--<h1>已超过<span>1000</span>所学校开通了我们的服务</h1>
+    <img  src="../../assets/image/resource/center01.png" >-->
+    </div>
+  </div>
 </template>
 <script>
   export default {
@@ -87,13 +103,13 @@
   }
 
   .who-is {
-    height: 240px;
-    margin-top: -70px;
+    height: 260px;
+    margin-top: -20px;
     position: relative;
-    z-index: 21;
-    width: 64%;
-    /*overflow: hidden;*/
-    margin-left: 19%;
+    z-index: 20;
+    width: 56.5%;
+    overflow: hidden;
+    margin-left: 21.5%;
   }
 
   .people-list {
@@ -105,16 +121,18 @@
   }
 
     .who-is ul li span {
-      padding-top: 20px;
+      padding-top: 10px;
+      display: block;
       font-size: 24px;
-      font-weight:800;
+      /* margin-top: 35px; */
+      font-weight: 800;
       color: #141414;
     }
 
     .who-is ul li {
       float: left;
-      width: 266px;
-      height: 230px;
+      width: 255px;
+      height: 235px;
       text-align: center;
       position: relative;
       box-shadow: 1px 1px 1px 1px #808080;
@@ -129,13 +147,32 @@
     cursor:pointer;
   }
 
-      .who-is ul li img {
-        border: 0;
-        vertical-align: middle;
-        margin-top: 30%;
-      }
-  .center-info{
+  .who-is ul li img {
+    border: 0;
+    /* vertical-align: middle; */
+    margin-top: 10%;
+  }
+  .arrow{
     width:100%;
+    text-align:center;
+  }
+    .arrow h1 {
+      margin-top:15px;
+      font-weight: 800;
+      font-size: 26px;
+      color: #0099FF;
+      margin-bottom:20px;
+    }
+  .box {
+    width: 120px;
+    height: 5px;
+    background-color: #0099FF;
+    margin: auto;
+    margin-bottom:20px;
+    /*text-align:center;*/
+  }
+  .center-info {
+    width: 100%;
   }
   .center-info h1{
     font-size:40px;

+ 19 - 22
TEAMModelOS.SmartTeach/ClientApp/components/resource/teacherMap.vue

@@ -38,7 +38,7 @@
             <span>{{item.title}}</span>
           </div>
           <div class="img-content">
-            <img src="http://www.wuhaneduyun.cn/uploads/snsPhotos/snscover/2019/0330/262/5c9f1ffb2b06c.png_00494494_200x200.jpg" class="th_pto">
+            <img :src="item.img" class="th_pto">
           </div>
           <div class="teacher-info">
             <p class="name">{{item.name}}</p>
@@ -171,21 +171,21 @@
           },
         ],
         teacherList: [
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500'},
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
-          { provice: '四川', subject: '语文', title: '省级名师', name: '周一', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people01.jpg'), title: '省级名师', name: '周莉', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500'},
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people02.jpg'), title: '省级名师', name: '李俊峰', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people04.jpg'),title: '省级名师', name: '王志明', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people03.jpg'),title: '省级名师', name: '李国强', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people05.jpg'), title: '省级名师', name: '黄明亮', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people08.jpg'), title: '省级名师', name: '李章杰', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people06.jpg'), title: '省级名师', name: '周湾', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people07.jpg'), title: '省级名师', name: '徐建生', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people09.jpg'), title: '省级名师', name: '王福生', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people10.jpg'), title: '省级名师', name: '张凯丽', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people13.jpg'), title: '省级名师', name: '吴世杰', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people12.jpg'), title: '省级名师', name: '王先森', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people11.jpg'), title: '省级名师', name: '李德华', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people15.jpg'), title: '省级名师', name: '李登辉', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
+          { provice: '四川', subject: '语文', img: require('../../assets/image/resource/people14.jpg'), title: '省级名师', name: '张梦迪', period: '小学', text1: '成员', number1: '1000', text2: '资源', number2: '2000', text3: '热度', number3: '1500' },
         ],
         teacherData: [
           {
@@ -515,8 +515,8 @@
     display: flex;
   }
   .th_pto {
-    width: 100px;
-    height: 100px;
+    width: 110px;
+    height: 105px;
     border-radius: 50%;
     margin-left: -20px;
     margin-top: -25px;
@@ -539,10 +539,7 @@
       margin: 0 auto;
       -webkit-border-radius: 20px;
       border-radius: 20px;
-      background: -webkit-gradient(linear, left top, right top, from(#29cff7), to(#4ae3c7));
-      background: -webkit-linear-gradient(left, #29cff7, #4ae3c7);
-      background: -o-linear-gradient(left, #29cff7, #4ae3c7);
-      background: linear-gradient(to right, #29cff7, #4ae3c7);
+      background: -webkit-linear-gradient(left, #a1c4fd, #c2e9fb);
     }
       .teacher-info .subject p span {
         display: inline-block;