Browse Source

删除无用图片、文件与看板报错

11wqe1 3 days ago
parent
commit
d145a1d951
44 changed files with 9 additions and 1305 deletions
  1. BIN
      src/assets/allView.active.png
  2. BIN
      src/assets/img/BaseData1.png
  3. BIN
      src/assets/img/BaseData2.png
  4. BIN
      src/assets/img/BaseData3.png
  5. BIN
      src/assets/img/BaseData4.png
  6. BIN
      src/assets/img/BaseData5.png
  7. BIN
      src/assets/img/BaseData6.png
  8. BIN
      src/assets/img/BaseData7.png
  9. BIN
      src/assets/img/BaseData8.png
  10. BIN
      src/assets/img/BaseData9.png
  11. BIN
      src/assets/img/PieLayer.png
  12. 0 11
      src/assets/img/chart1.svg
  13. 0 3
      src/assets/img/chart10.svg
  14. 0 3
      src/assets/img/chart11.svg
  15. 0 3
      src/assets/img/chart12.svg
  16. 0 3
      src/assets/img/chart13.svg
  17. 0 3
      src/assets/img/chart14.svg
  18. 0 3
      src/assets/img/chart2.svg
  19. 0 3
      src/assets/img/chart3.svg
  20. 0 4
      src/assets/img/chart4.svg
  21. 0 3
      src/assets/img/chart5.svg
  22. 0 3
      src/assets/img/chart6.svg
  23. 0 3
      src/assets/img/chart7.svg
  24. 0 3
      src/assets/img/chart8.svg
  25. 0 4
      src/assets/img/chart9.svg
  26. 0 21
      src/assets/img/cs1.svg
  27. BIN
      src/assets/img/cs11.png
  28. 0 3
      src/assets/img/cs2.svg
  29. 0 3
      src/assets/img/cs3.svg
  30. 0 3
      src/assets/img/cs4.svg
  31. 0 11
      src/assets/img/uuu4 copy.svg
  32. 0 11
      src/assets/img/uuu4.svg
  33. 0 4
      src/assets/img/uuu5.svg
  34. 0 86
      src/views/kanBan/components/AIApplications.vue
  35. 0 189
      src/views/kanBan/components/AdataKanban.vue
  36. 0 188
      src/views/kanBan/components/BasicData.vue
  37. 0 282
      src/views/kanBan/components/RegularTeaching.vue
  38. 0 66
      src/views/kanBan/components/TeacherManagement.vue
  39. 0 212
      src/views/kanBan/components/addCampusDialog.vue
  40. 0 82
      src/views/kanBan/components/countPercentage.vue
  41. 1 1
      src/views/kanBan/components/dataBoardNew/index.vue
  42. 3 3
      src/views/kanBan/components/dataBoardNew/teaMange/chartList/solid.vue
  43. 5 5
      src/views/kanBan/components/dataBoardNew/teaing/chartList/appUseAss.vue
  44. 0 83
      src/views/kanBan/components/ranking.vue

BIN
src/assets/allView.active.png


BIN
src/assets/img/BaseData1.png


BIN
src/assets/img/BaseData2.png


BIN
src/assets/img/BaseData3.png


BIN
src/assets/img/BaseData4.png


BIN
src/assets/img/BaseData5.png


BIN
src/assets/img/BaseData6.png


BIN
src/assets/img/BaseData7.png


BIN
src/assets/img/BaseData8.png


BIN
src/assets/img/BaseData9.png


BIN
src/assets/img/PieLayer.png


File diff suppressed because it is too large
+ 0 - 11
src/assets/img/chart1.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart10.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart11.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart12.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart13.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart14.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart2.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart3.svg


File diff suppressed because it is too large
+ 0 - 4
src/assets/img/chart4.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart5.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart6.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart7.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/chart8.svg


File diff suppressed because it is too large
+ 0 - 4
src/assets/img/chart9.svg


+ 0 - 21
src/assets/img/cs1.svg

@@ -1,21 +0,0 @@
-<svg width="183" height="44" viewBox="0 0 183 44" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g filter="url(#filter0_d_800_9016)">
-<rect x="10" y="6" width="163" height="24" rx="12" fill="white" fill-opacity="0.7" shape-rendering="crispEdges"/>
-<rect x="11.5" y="7.5" width="49" height="21" rx="10.5" fill="black" stroke="black"/>
-<path d="M41.69 11.94V24.4H40.22V23.434H34.046V24.414H32.576V11.94H41.69ZM34.046 22.006H40.22V18.24H34.046V22.006ZM34.046 16.812H40.22V13.368H34.046V16.812Z" fill="white"/>
-<path d="M92.454 13.578H93.868V14.474H96.164V15.678H93.868V16.714H96.584V17.974H89.71V16.714H92.454V15.678H90.088V14.474H92.454V13.578ZM98.614 11.94V23.126C98.614 23.98 98.096 24.414 97.088 24.414H95.338L94.96 23.014C95.562 23.056 96.122 23.084 96.654 23.084C96.99 23.084 97.158 22.916 97.158 22.608V13.284H89.15V17.484C89.122 20.354 88.618 22.692 87.638 24.484L86.518 23.476C87.274 21.936 87.666 19.976 87.694 17.596V11.94H98.614ZM90.088 18.716H96.066V22.426H90.088V18.716ZM94.666 21.166V19.934H91.488V21.166H94.666Z" fill="black"/>
-<path d="M146.606 16.686V18.758H152.136V16.686H146.606ZM152.136 15.328V13.368H146.606V15.328H152.136ZM146.522 20.116C146.326 21.88 145.794 23.364 144.926 24.554L143.806 23.532C144.674 22.314 145.108 20.746 145.136 18.842V11.968H153.62V22.944C153.62 23.868 153.144 24.33 152.192 24.33H150.4L150.008 22.902C150.624 22.944 151.198 22.972 151.716 22.972C151.996 22.972 152.136 22.776 152.136 22.412V20.116H146.522Z" fill="black"/>
-</g>
-<defs>
-<filter id="filter0_d_800_9016" x="0" y="0" width="183" height="44" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
-<feFlood flood-opacity="0" result="BackgroundImageFix"/>
-<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
-<feOffset dy="4"/>
-<feGaussianBlur stdDeviation="5"/>
-<feComposite in2="hardAlpha" operator="out"/>
-<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
-<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_800_9016"/>
-<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_800_9016" result="shape"/>
-</filter>
-</defs>
-</svg>

BIN
src/assets/img/cs11.png


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/cs2.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/cs3.svg


File diff suppressed because it is too large
+ 0 - 3
src/assets/img/cs4.svg


File diff suppressed because it is too large
+ 0 - 11
src/assets/img/uuu4 copy.svg


File diff suppressed because it is too large
+ 0 - 11
src/assets/img/uuu4.svg


File diff suppressed because it is too large
+ 0 - 4
src/assets/img/uuu5.svg


+ 0 - 86
src/views/kanBan/components/AIApplications.vue

@@ -1,86 +0,0 @@
-<template>
-    <div class="aiApp">
-        <div class="aiTopArea">
-            <ranking />
-            <countPercentage />
-            <countPercentage />
-        </div>
-        <div class="aiMidArea">
-            <ranking :title="'创作者排名TOP5'" />
-            <div class="DataDiv">
-                <div class="DataTitle">活跃度环比增长率</div>
-                <div class="imgArea">
-                    <img src="../../../assets/img/BaseData2.png">
-                </div>
-            </div>
-        </div>
-
-        <div class="rankingArea">
-            <ranking />
-            <ranking />
-            <ranking />
-        </div>
-    </div>
-</template>
-<script>
-import ranking from './ranking.vue';
-import countPercentage from './countPercentage.vue';
-export default {
-    name: 'AIApplications',
-    components: {
-        ranking,
-        countPercentage
-    }
-}
-</script>
-<style scoped>
-.aiApp {
-    display: flex;
-    flex-wrap: wrap;
-    gap: 41px;
-}
-
-.aiTopArea {
-    display: grid;
-    gap: 20px;
-    grid-template-columns: 326px auto auto;
-    width: 100%;
-}
-.aiMidArea {
-    display: grid;
-    grid-template-columns: 326px auto;
-    width: 100%;
-    gap: 20px;
-}
-.DataDiv {
-    background-color: #fff;
-    border-radius: 20px;
-    padding: 20px;
-    box-shadow: 0px 4px 29px rgba(0, 0, 0, 0.1);
-}
-
-.DataDiv img {
-    width: 100%;
-    height: 100%;
-}
-
-.DataTitle {
-    font-weight: bold;
-    font-size: 17px;
-}
-
-.imgArea {
-    padding: 41px;
-}
-
-.rankingArea {
-    display: grid;
-    gap: 26px;
-    background-color: #ededed;
-    padding: 20px;
-    border-radius: 20px;
-    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
-    width: 100%;
-}
-
-</style>

+ 0 - 189
src/views/kanBan/components/AdataKanban.vue

@@ -1,189 +0,0 @@
-<template>
-    <div class="datakanban">
-        <div class="barList">
-            <div @click="cutPage(index)" :class="[pageEnd == index ? 'Selected' : '']" v-for="(i, index) in barList"
-                :key="index">
-                {{ i.name }}
-            </div>
-        </div>
-
-        <div class="dataExponent">
-            <div class="dataExponentCon" v-for="(i, index) in dataExponentList[pageEnd]" :key="index + 'p'">
-                <div class="dataExponentConTit">
-                    {{ i.name }}
-                </div>
-                <div class="dataExponentConNum">
-                    {{ i.num }}
-                </div>
-            </div>
-        </div>
-
-        <div v-if="pageEnd == 0">
-            <BasicData/>
-            <!-- <img style="width: 100%;" src="../../../assets/img/uuu4.svg" alt=""> -->
-
-
-        </div>
-        <div style="display: flex;flex-direction: column;justify-content: center;" v-if="pageEnd == 1">
-            <AIApplications/>
-            
-            <!-- <div style="display: flex;width: 100%;">
-                <img style="transform: scale(1.05);" src="../../../assets/img/chart2.svg" alt="">
-                <div>
-                    <img src="../../../assets/img/chart3.svg" alt="">
-                    <img src="../../../assets/img/chart5.svg" alt="">
-                </div>
-            </div>
-            <img style="width: 100%;" src="../../../assets/img/uuu5.svg" alt=""> -->
-        </div>
-        <div v-if="pageEnd == 2">
-           <RegularTeaching/>
-
-            <!-- <div style="display: flex;width: 100%;">
-                <img style="transform: scale(1.05);" src="../../../assets/img/chart6.svg" alt="">
-                <div>
-                    <img src="../../../assets/img/chart10.svg" alt="">
-                    <img src="../../../assets/img/chart8.svg" alt="">
-                </div>
-            </div>
-            <img style="width: 100%;" src="../../../assets/img/chart7.svg" alt="">
-            <img style="width: 100%;" src="../../../assets/img/chart9.svg" alt=""> -->
-        </div>
-        <div v-if="pageEnd == 3">
-           <TeacherManagement/>
-            <!-- <img style="width: 100%;" src="../../../assets/img/chart11.svg" alt="">
-            <div style="display: flex;width: 100%;">
-                <div>
-                    <img style="object-view-box: inset(4% 16% 3% 0%);" src="../../../assets/img/chart12.svg" alt="">
-                    <img style="object-view-box: inset(3% 0% 6% 0%);" src="../../../assets/img/chart13.svg" alt="">
-                </div>
-                <img style="object-view-box: inset(5% 4% 4% 4%);" src="../../../assets/img/chart14.svg" alt="">
-            </div> -->
-        </div>
-
-
-    </div>
-</template>
-
-<script>
-import BasicData from './BasicData.vue';
-import AIApplications from './AIApplications.vue';
-import RegularTeaching from './RegularTeaching.vue';
-import TeacherManagement from './TeacherManagement.vue';
-export default {
-    name: 'AdataKanban',
-    components: {
-        BasicData,
-        AIApplications,
-        RegularTeaching,
-        TeacherManagement,
-    },
-    data() {
-        return {
-            barList: [
-                { name: '基础数据', ind: 1 },
-                { name: 'AI应用', ind: 2 },
-                { name: '常规教学', ind: 3 },
-                { name: '教师管理', ind: 4 },
-            ],
-            dataExponentList: [
-                [
-                    { name: '教师总量', num: 1254 },
-                    { name: '教师总量', num: 3721 },
-                    { name: '月登录总数', num: 4579 },
-                    { name: '月登录环比', num: '+15%' },
-                ], [
-                    { name: 'AI应用数量', num: 1254 },
-                    { name: '今日用户数量', num: 3721 },
-                    { name: '知识库数量', num: 4579 },
-                    { name: '文件数量', num: '+15%' },
-                ], [
-                    { name: '课程总量', num: 1254 },
-                    { name: '本月新增课程', num: 3721 },
-                    { name: '新增课程环比', num: 4579 },
-                    { name: 'AI应用嵌入数量', num: '272' },
-                ], [
-                    { name: '表单总量', num: 1254 },
-                    { name: '表单回收率', num: 3721 },
-                    { name: '表单平均处理时长', num: 4579 },
-                    { name: '智能问答次数', num: '272' },
-                ],
-            ],
-            pageEnd: 0
-        }
-    },
-    methods: {
-        cutPage(val) {
-            this.pageEnd = val
-        }
-    }
-}
-</script>
-
-<style scoped>
-.datakanban {
-    width: 100%;
-}
-
-.barList {
-    display: flex;
-    gap: 42px;
-    font-family: PingFang SC;
-    font-weight: 500;
-    font-size: 16px;
-    line-height: 22px;
-    color: #969BA3;
-    margin-bottom: 15px;
-}
-
-.barList>div {
-    cursor: pointer;
-    height: 23px;
-    line-height: 23px;
-}
-
-.Selected {
-    color: #0663FE;
-    border-bottom: 2px solid #0663FE;
-}
-
-.dataExponent {
-    width: 100%;
-    height: 120px;
-    display: grid;
-    background: #fff;
-    border-radius: 20px;
-    grid-template-columns: repeat(4, 1fr);
-    margin-bottom: 15px;
-    align-items: center;
-    /* grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); */
-}
-
-.dataExponentCon {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
-    height: 50%;
-    border-right: 1px solid #D9D9D9;
-}
-
-.dataExponentCon:nth-child(4) {
-    border: none;
-}
-
-.dataExponentConTit {
-    font-family: PingFang SC;
-    font-size: 14px;
-    line-height: 100%;
-    color: #969BA3;
-}
-
-.dataExponentConNum {
-    height: 45px;
-    font-family: PingFang SC;
-    font-weight: 600;
-    font-size: 32px;
-    line-height: 45px
-}
-</style>

+ 0 - 188
src/views/kanBan/components/BasicData.vue

@@ -1,188 +0,0 @@
-<template>
-    <div class="chartArea">
-        <div class="selectDateArea">
-            <div class="selectDate">
-                <div class='dateDiv' v-for="(i, index) in DateList" :key="index"
-                    :class="{ 'active': selectedDate === index }" @click="selectDate(index)">{{ i.date }}</div>
-            </div>
-        </div>
-        <div class="BaseData">
-            <div class="BaseDataArea1">
-                <div class="DataDiv">
-                    <div class="DataTitle">教师活跃度</div>
-                    <div class="imgArea">
-                        <img src="../../../assets/img/BaseData1.png" alt="">
-                    </div>
-
-                </div>
-
-                <div class="DataDiv">
-                    <div class="DataTitle">活跃度环比增长率</div>
-                    <div class="imgArea">
-                        <img src="../../../assets/img/BaseData2.png" alt="">
-                    </div>
-                </div>
-            </div>
-            <div class="BaseDataArea2">
-                <div class="DataDiv">
-                    <div class="DataTitle">应用使用分类</div>
-                    <div class="useCount">
-                        <div class="useItem">
-                            <div class="useColor" style="background-color: #3681fc;"></div>
-                            <div>高频</div>
-                            <div>45%</div>
-                            <div>(40-80人)</div>
-                        </div>
-                        <div class="useItem">
-                            <div class="useColor" style="background-color:#1f94ff;"></div>
-                            <div>中高频</div>
-                            <div>30%</div>
-                            <div>(0-25人)</div>
-                        </div>
-                        <div class="useItem">
-                            <div class="useColor" style="background-color:#8979ff;"></div>
-                            <div>中频</div>
-                            <div>45%</div>
-                            <div>(0-25人)</div>
-                        </div>
-                        <div class="useItem">
-                            <div class="useColor" style="background-color:#f4cf3b;"></div>
-                            <div>低频</div>
-                            <div>45%</div>
-                            <div>(0-25人)</div>
-                        </div>
-
-                    </div>
-                    <div class="imgArea" style="padding: 41px 82px;">
-                        <img src="../../../assets/img/BaseData3.png" alt="">
-                    </div>
-                </div>
-                <div class="DataDiv">
-                    <div class="DataTitle">使用时长</div>
-                    <div class="imgArea">
-                        <img src="../../../assets/img/BaseData4.png" alt="">
-                    </div>
-                </div>
-            </div>
-        </div>
-
-    </div>
-</template>
-<script>
-export default {
-    name: 'BasicData',
-    data() {
-        return {
-            DateList: [
-                { date: '年' },
-                { date: '月' },
-                { date: '日' },
-            ],
-            selectedDate: 0
-        }
-    },
-    methods: {
-        selectDate(index) {
-            this.selectedDate = index;
-        }
-    }
-}
-</script>
-<style scoped>
-.chartArea {
-    background-color: #eaeaea;
-    border-radius: 20px;
-}
-
-
-.selectDateArea {
-    display: flex;
-    justify-content: flex-end;
-    padding: 30px 35px;
-}
-
-.selectDate {
-    display: flex;
-    justify-content: center;
-    height: 30px;
-    background-color: #fff;
-    border-radius: 20px;
-    gap: 17px;
-    box-shadow: 0px 4px 29px rgba(0, 0, 0, 0.1);
-}
-
-.dateDiv {
-    width: 63px;
-    line-height: 30px;
-    text-align: center;
-    border-radius: 15px;
-    cursor: pointer;
-    font-weight: bold;
-    font-size: 17px;
-}
-
-.dateDiv.active {
-    background-color: black;
-    color: #fff;
-}
-
-.BaseData {
-    display: flex;
-    flex-wrap: wrap;
-    padding-bottom: 30px;
-    margin: 10px 38px;
-    gap: 29px;
-}
-.BaseDataArea1{
-    display: grid;
-    gap: 20px;
-    /* grid-template-columns: repeat(2, 1fr); */
-    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
-    width: 100%;
-}
-.BaseDataArea2{
-    display: grid;
-    gap: 20px;
-    grid-template-columns: 470px auto;
-    width: 100%;
-}
-.DataDiv {
-    background-color: #fff;
-    border-radius: 20px;
-    padding: 20px;
-    box-shadow: 0px 4px 29px rgba(0, 0, 0, 0.1);
-}
-
-.DataDiv img {
-    width: 100%;
-    height: 100%;
-}
-
-.DataTitle {
-    font-weight: bold;
-    font-size: 17px;
-}
-
-.imgArea {
-    padding: 41px;
-}
-
-.useCount {
-    display: grid;
-    justify-content: end;
-    gap: 5px;
-}
-
-.useItem {
-    display: flex;
-    align-items: center;
-    gap: 8px;
-    font-size: 12px;
-}
-
-.useColor {
-    width: 11px;
-    border-radius: 10px;
-    height: 11px;
-}
-</style>

+ 0 - 282
src/views/kanBan/components/RegularTeaching.vue

@@ -1,282 +0,0 @@
-<template>
-    <div class="tradTea">
-        <div class="tradTeaArea1">
-            <ranking />
-            <div class="DataDiv">
-                <div class="DataTitle">课程分布</div>
-                <div class="imgArea">
-                    <img src="../../../assets/img/BaseData5.png" alt="">
-                </div>
-            </div>
-        </div>
-        <div class="tradTeaArea2">
-            <ranking />
-            <countPercentage :title="'AI辅助设计分析'" />
-            <div class="DataDiv">
-                <div class="DataTitle"> 使用分析</div>
-                <div class="aiUseCount">
-                    <div class="aiUseArea">
-                        <div class="aiUseItem">
-                            <div class="useColor" style="background-color: #3681fc;"></div>
-                            <div>高频</div>
-                            <div>45%</div>
-                            <div>(40-80人)</div>
-                        </div>
-                        <div class="aiUseItem">
-                            <div class="useColor" style="background-color:#1f94ff;"></div>
-                            <div>中高频</div>
-                            <div>30%</div>
-                            <div>(0-25人)</div>
-                        </div>
-                    </div>
-                    <div class="aiUseArea">
-                        <div class="aiUseItem">
-                            <div class="useColor" style="background-color:#8979ff;"></div>
-                            <div>中频</div>
-                            <div>45%</div>
-                            <div>(0-25人)</div>
-                        </div>
-                        <div class="aiUseItem">
-                            <div class="useColor" style="background-color:#f4cf3b;"></div>
-                            <div>低频</div>
-                            <div>45%</div>
-                            <div>(0-25人)</div>
-                        </div>
-                    </div>
-
-
-                </div>
-                <div class="imgArea">
-                    <img src="../../../assets/img/BaseData6.png" alt="">
-                </div>
-            </div>
-        </div>
-        <div class="DataDiv" style="width: 100%;">
-            <div class="DataTitle">AI与教学融合度</div>
-
-            <div class="imgArea" style="display: flex;align-items: center;">
-                <img src="../../../assets/img/BaseData7.png">
-                <img src="../../../assets/img/BaseData8.png">
-            </div>
-        </div>
-        <div class="classArea">
-            <div class="DataDiv">
-                <div class="DataTitle">课堂模块占分析</div>
-                <div class="classDiv">
-                    <div class="imgArea" style="padding: 41px 68px;">
-                        <img src="../../../assets/img/BaseData3.png">
-                    </div>
-                    <div class="useCount">
-                        <div class="useItem">
-                            <div class="useColor" style="background-color: #3681fc;"></div>
-                            <div>高频</div>
-                            <div>45%</div>
-                            <div>(40-80人)</div>
-                        </div>
-                        <div class="useItem">
-                            <div class="useColor" style="background-color:#1f94ff;"></div>
-                            <div>中高频</div>
-                            <div>30%</div>
-                            <div>(0-25人)</div>
-                        </div>
-                        <div class="useItem">
-                            <div class="useColor" style="background-color:#8979ff;"></div>
-                            <div>中频</div>
-                            <div>45%</div>
-                            <div>(0-25人)</div>
-                        </div>
-                        <div class="useItem">
-                            <div class="useColor" style="background-color:#f4cf3b;"></div>
-                            <div>低频</div>
-                            <div>45%</div>
-                            <div>(0-25人)</div>
-                        </div>
-
-                    </div>
-                </div>
-
-            </div>
-            <div class="DataDiv">
-                <div class="DataTitle">课堂观察综合结果</div>
-                <div class="classView">
-                    <div class="imgArea">
-                        <img src="../../../assets/img/BaseData9.png">
-                    </div>
-                    <div class="useCountArea">
-                        <div class="useCount">
-                            <div class="useItem">
-                                <div class="useColor" style="background-color: #3681fc;"></div>
-                                <div>高频</div>
-                                <div>45%</div>
-                                <div>(40-80人)</div>
-                            </div>
-                            <div class="useItem">
-                                <div class="useColor" style="background-color:#1f94ff;"></div>
-                                <div>中高频</div>
-                                <div>30%</div>
-                                <div>(0-25人)</div>
-                            </div>
-                            <div class="useItem">
-                                <div class="useColor" style="background-color:#8979ff;"></div>
-                                <div>中频</div>
-                                <div>45%</div>
-                                <div>(0-25人)</div>
-                            </div>
-                            <div class="useItem">
-                                <div class="useColor" style="background-color:#f4cf3b;"></div>
-                                <div>低频</div>
-                                <div>45%</div>
-                                <div>(0-25人)</div>
-                            </div>
-
-                        </div>
-                        <div class="allRating">
-                            <div class="ratingText1">总体评价</div>
-                            <div class="ratingText2">综合得分:7.7</div>
-                            <div class="ratingText2">状态:良好</div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-
-    </div>
-</template>
-<script>
-import ranking from './ranking.vue'
-import countPercentage from './countPercentage.vue'
-export default {
-    name: 'RegularTeaching',
-    components: {
-        ranking,
-        countPercentage
-    },
-}
-</script>
-<style scoped>
-.tradTea {
-    display: flex;
-    flex-wrap: wrap;
-    gap: 41px;
-}
-
-.tradTeaArea1 {
-    display: grid;
-    grid-template-columns: 326px auto;
-    width: 100%;
-    gap: 20px;
-}
-.tradTeaArea2 {
-    display: grid;
-    grid-template-columns: 326px auto auto;
-    width: 100%;
-    gap: 20px;
-}
-.DataDiv {
-    background-color: #fff;
-    border-radius: 20px;
-    padding: 20px;
-    box-shadow: 0px 4px 29px rgba(0, 0, 0, 0.1);
-}
-
-.DataDiv img {
-    width: 100%;
-    height: 100%;
-}
-
-.DataTitle {
-    font-weight: bold;
-    font-size: 17px;
-}
-
-.imgArea {
-    padding: 41px;
-}
-
-.aiUseCount {
-    display: flex;
-    gap: 28px;
-}
-
-.aiUseArea {
-    margin-top: 10px;
-}
-
-.aiUseItem {
-    display: flex;
-    align-items: center;
-    gap: 8px;
-    font-size: 12px;
-    margin-top: 5px;
-}
-
-.useColor {
-    width: 11px;
-    border-radius: 10px;
-    height: 11px;
-}
-
-.classDiv {
-    display: flex;
-    align-items: center;
-}
-
-.useCountArea {
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between;
-    margin: 26px;
-}
-
-.useCount {
-    display: grid;
-    justify-content: end;
-    gap: 5px;
-}
-
-.useItem {
-    display: flex;
-    align-items: center;
-    gap: 8px;
-    font-size: 12px;
-}
-
-.useColor {
-    width: 11px;
-    border-radius: 10px;
-    height: 11px;
-}
-
-.allRating {
-    background-color: #fff;
-    border-radius: 20px;
-    padding: 20px;
-    box-shadow: 0px 4px 29px rgba(0, 0, 0, 0.1);
-    display: flex;
-    flex-direction: column;
-    gap: 10px;
-}
-
-.ratingText1 {
-    color: #0663fe;
-}
-
-.ratingText2 {
-    font-size: 14px;
-    color: #969ba3;
-}
-
-.classArea {
-    display: grid;
-    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
-    width: 100%;
-    gap: 26px;
-    background-color: #ededed;
-    padding: 30px;
-    border-radius: 20px;
-}
-
-.classView {
-    display: flex;
-}
-</style>

+ 0 - 66
src/views/kanBan/components/TeacherManagement.vue

@@ -1,66 +0,0 @@
-<template>
-    <div class="teaManage">
-        <div class="DataDiv" style="width: 100%;">
-            <div class="DataTitle">AI与教学融合度</div>
-
-            <div class="imgArea" style="display: flex;align-items: center;">
-                <img src="../../../assets/img/BaseData7.png">
-                <img src="../../../assets/img/BaseData8.png">
-            </div>
-        </div>
-        <div class="teaManageArea">
-            <countPercentage :title="'流程自定义分类'" />
-            <ranking :title="'流程自定义分析'" />
-
-            <div class="DataDiv">
-                <div class="DataTitle">智能问答词云</div>
-            </div>
-        </div>
-
-    </div>
-</template>
-<script>
-import ranking from './ranking.vue'
-import countPercentage from './countPercentage.vue'
-export default {
-    name: 'TeacherManagement',
-    components: {
-        ranking,
-        countPercentage
-    },
-}
-</script>
-<style scoped>
-.teaManage {
-    display: flex;
-    flex-wrap: wrap;
-    gap: 41px;
-}
-
-.DataDiv {
-    background-color: #fff;
-    border-radius: 20px;
-    padding: 20px;
-    box-shadow: 0px 4px 29px rgba(0, 0, 0, 0.1);
-}
-
-.DataTitle {
-    font-weight: bold;
-    font-size: 17px;
-}
-
-.imgArea {
-    padding: 41px;
-}
-
-.DataDiv img {
-    width: 100%;
-    height: 100%;
-}
-.teaManageArea {
-    display: grid;
-    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
-    width: 100%;
-    gap: 20px;
-}
-</style>

+ 0 - 212
src/views/kanBan/components/addCampusDialog.vue

@@ -1,212 +0,0 @@
-<template>
-	<div>
-		<el-dialog :title="dialogTitle" class="table" :visible.sync="show" :close-on-click-modal="false" width="800px"
-			top="8vh">
-			<div v-loading="loading">
-				<el-image style="
-						width: 50px;
-						height: 50px;
-						cursor: pointer;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-					" :src="form.icon" fit="cover" v-if="this.type === 2" @click="addUrlIcon()">
-					<div slot="error" class="image-slot" @click="addUrlIcon()">
-						<i class="el-icon-picture-outline"></i>
-					</div>
-				</el-image>
-
-				<el-image style="
-						width: 50px;
-						height: 50px;
-						cursor: pointer;
-						display: flex;
-						align-items: center;
-						justify-content: center;
-					" :src="form.icon" fit="cover" v-if="this.type === 0" @click="addUrlIcon()">
-					<div slot="error" class="image-slot" @click="addUrlIcon()">
-						<i class="el-icon-picture-outline"></i>
-					</div>
-				</el-image>
-
-				<div v-if="this.type != 2">
-					<div class="Tit">标题</div>
-					<div>
-						<el-input v-model="form.name" placeholder="请输入内容"></el-input>
-					</div>
-				</div>
-
-				<div v-if="this.type != 2">
-					<div class="Tit">描述</div>
-					<div>
-						<el-input type="textarea" :rows="3" resize="none" placeholder="请输入描述" v-model="form.bri">
-						</el-input>
-					</div>
-				</div>
-			</div>
-			<!-- 按钮区域 -->
-			<div slot="footer" class="el-dialog__footer">
-				<el-button @click="close()">取 消</el-button>
-				<el-button type="primary" @click="submit()">确认</el-button>
-			</div>
-		</el-dialog>
-	</div>
-</template>
-
-<script>
-import "@/common/aws-sdk-2.235.1.min.js";
-export default {
-	data() {
-		return {
-			show: false,
-			loading: false,
-			form: {
-				name: "",
-				icon: "",
-				bri: "",
-			},
-			form2:{},
-			type: null,
-			title: "",
-		};
-	},
-	computed: {
-		dialogTitle() {
-			return this.title || (this.type === 0
-            ? "修改办学特色"
-            : this.type === 1
-            ? "修改师资力量"
-            : this.type === 2
-            ? "修改特色应用"
-            : "");
-		},
-	},
-	methods: {
-		open(data, type, title = "") {
-			this.type = type;
-			this.title = title;
-
-			// 根据 type 处理图片字段
-			if (type === 2) {
-				this.form2 = JSON.parse(JSON.stringify(data));
-
-				// 如果是特色应用,图片在 form.json.icon
-				this.form.icon = data.setIcon ?  data.setIcon : data.json.icon; // 确保 json 存在,避免报错
-			}else{
-				this.form = JSON.parse(JSON.stringify(data));
-			}
-			this.show = true;
-		},
-		close() {
-			this.show = false;
-			this.init();
-		},
-		init() {
-			this.form = {
-				name: "",
-				icon: "",
-				bri: "",
-			};
-			this.title = "";
-		},
-		submit() {
-			if (this.type == 0) {
-				if (!this.form.name || !this.form.icon || !this.form.bri)
-					return this.$message.error("请完善表单");
-			} else if (this.type == 1) {
-				if (!this.form.name || !this.form.bri)
-					return this.$message.error("请完善表单");
-			} else if (this.type == 2) {
-				if (!this.form.icon) {
-					return this.$message.error("请完善表单");
-				}
-				let data = JSON.parse(JSON.stringify(this.form.icon))
-				this.form2.setIcon = data 
-				this.form = this.form2
-			}
-			this.$emit("success", { item: this.form });
-			this.close()
-		},
-		async addUrlIcon() {
-			let _url = await this.uploadFile("image/*");
-			console.log("addUrlIcon", _url);
-
-			if (_url) {
-				this.form.icon = _url;	
-			} else {
-				return console.log("无图片");
-			}
-		},
-		uploadFile(accept = "*") {
-			return new Promise((resolve) => {
-				const input = document.createElement("input");
-				input.type = "file";
-				input.accept = accept;
-				input.onchange = (event) => {
-					const file = event.target.files[0];
-					if (file) {
-						let credentials = {
-							accessKeyId: "AKIATLPEDU37QV5CHLMH",
-							secretAccessKey: "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",
-						}; //秘钥形式的登录上传
-						window.AWS.config.update(credentials);
-						window.AWS.config.region = "cn-northwest-1"; //设置区域
-						let bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
-						// let _name = file.name;
-						// let size = file.size;
-						let params = {
-							Key:
-								file.name.split(".")[0] +
-								new Date().getTime() +
-								"." +
-								file.name.split(".")[file.name.split(".").length - 1],
-							ContentType: file.type,
-							Body: file,
-							"Access-Control-Allow-Credentials": "*",
-							ACL: "public-read",
-						}; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
-						let options = {
-							partSize: 2048 * 1024 * 1024,
-							queueSize: 2,
-							leavePartsOnError: true,
-						};
-
-						bucket
-							.upload(params, options)
-							.on("httpUploadProgress", (evt) => {
-								console.log(evt);
-							})
-							.send((err, data) => {
-								if (err) {
-									this.$message.error("上传失败");
-									return resolve("");
-								} else {
-									return resolve(data.Location);
-								}
-							});
-					} else {
-						resolve("");
-					}
-				};
-				input.click();
-			});
-		},
-	},
-};
-</script>
-
-<style scoped>
-.table>>>.el-dialog__header {
-	padding: 15px 20px;
-	background: #454545;
-}
-
-.table>>>.el-dialog__title {
-	color: #fff;
-}
-
-.Tit {
-	padding: 15px 0;
-	font-size: 14px;
-}
-</style>

+ 0 - 82
src/views/kanBan/components/countPercentage.vue

@@ -1,82 +0,0 @@
-<template>
-    <div class="DataDiv">
-        <div class="DataTitle">{{ title }}</div>
-        <div class="aiUseCount">
-            <div class="aiUseArea" v-for="(area, areaIndex) in useData" :key="areaIndex">
-                <div class="aiUseItem" v-for="(item, itemIndex) in area" :key="itemIndex">
-                    <div class="useColor" :style="{ backgroundColor: item.color }"></div>
-                    <div>{{ item.label }}</div>
-                    <div>{{ item.percentage }}</div>
-                    <div>{{ item.range }}</div>
-                </div>
-            </div>
-        </div>
-        <div class="imgArea">
-            <img src="../../../assets/img/BaseData3.png" alt="">
-        </div>
-    </div>
-</template>
-<script>
-export default {
-  name: "countPercentage",
-  props: {
-    title: {
-      type: String,
-      default: "应用使用分类", // 默认标题
-    },
-    useData: {
-      type: Array,
-      default: () => [
-        [
-          { color: "#3681fc", label: "高频", percentage: "45%", range: "(40-80人)" },
-          { color: "#1f94ff", label: "中高频", percentage: "30%", range: "(0-25人)" },
-        ],
-        [
-          { color: "#8979ff", label: "中频", percentage: "45%", range: "(0-25人)" },
-          { color: "#f4cf3b", label: "低频", percentage: "45%", range: "(0-25人)" },
-        ],
-      ],
-    },
-  },
-};
-</script>
-<style scoped>
-.DataDiv {
-    background-color: #fff;
-    border-radius: 20px;
-    padding: 20px;
-    box-shadow: 0px 4px 29px rgba(0, 0, 0, 0.1);
-}
-.DataDiv img {
-    width: 100%;
-    height: 100%;
-}
-.DataTitle {
-    font-weight: bold;
-    font-size: 17px;
-}
-.aiUseCount {
-    display: flex;
-    gap: 28px;
-}
-
-.aiUseArea {
-    margin-top: 10px;
-}
-
-.aiUseItem {
-    display: flex;
-    align-items: center;
-    gap: 8px;
-    font-size: 12px;
-    margin-top: 5px;
-}
-.useColor {
-    width: 11px;
-    border-radius: 10px;
-    height: 11px;
-}
-.imgArea {
-    padding: 65px 92px;
-}
-</style>

+ 1 - 1
src/views/kanBan/components/dataBoardNew/index.vue

@@ -140,7 +140,7 @@ export default {
     font-size: 16px;
     padding: 0 30px;
     box-sizing: border-box;
-    height: 50px;
+    /* height: 50px; */
     color: #969BA3;
     flex-shrink: 0;
 }

+ 3 - 3
src/views/kanBan/components/dataBoardNew/teaMange/chartList/solid.vue

@@ -29,9 +29,9 @@ export default {
       immediate: true // 组件创建时立即执行
     }
   },
-    mounted() {
-      this.startCom(this.alldata);
-    },
+    // mounted() {
+    //   this.startCom(this.alldata);
+    // },
   methods: {
     startCom(val) {
       let data = JSON.parse(JSON.stringify(val));

+ 5 - 5
src/views/kanBan/components/dataBoardNew/teaing/chartList/appUseAss.vue

@@ -38,10 +38,10 @@ export default {
       chartData: []
     };
   },
-  mounted() {
-    this.startCom(this.alldata);
-    // window.addEventListener('resize', this.handleResize);
-  },
+  // mounted() {
+  //   this.startCom(this.alldata);
+  //   // window.addEventListener('resize', this.handleResize);
+  // },
   beforeDestroy() {
     window.removeEventListener("resize", this.handleResize);
     this.chart && this.chart.dispose();
@@ -49,7 +49,7 @@ export default {
   watch: {
     alldata: {
       handler(val) {
-        if (val.length) {
+        if (val && val.length) {
           this.startCom(val);
         }
       },

+ 0 - 83
src/views/kanBan/components/ranking.vue

@@ -1,83 +0,0 @@
-<template>
-    <div class="rankingDiv">
-        <div class="rankTitle">{{ title }}</div>
-        <div class="rankItem" v-for="(i, index) in useData" :key="index">
-            <div class="item_left">
-                <div class="rankNumber" :style="{
-                    backgroundColor: i.backgroundColor,
-                    border: i.hasBorder ? '1px solid gray' : 'none',
-                }">{{ i.rank }}</div>
-                <div class="rankText">{{ i.name }}</div>
-            </div>
-            <div class="rankCount">{{ i.count }}</div>
-        </div>
-
-    </div>
-</template>
-<script>
-export default {
-    name: "rankingDiv",
-    props: {
-        title: {
-            type: String,
-            default: "热门应用排名TOP5", // 默认标题
-        },
-        useData: {
-            type: Array,
-            default: () => [
-                { rank: 1, name: "应用1", count: "2213次", backgroundColor: "#f0b343" },
-                { rank: 2, name: "应用2", count: "2213次", backgroundColor: "#d9d9d9" },
-                { rank: 3, name: "应用3", count: "2213次", backgroundColor: "#ae938c" },
-                { rank: 4, name: "应用4", count: "2213次", backgroundColor: "#fff", hasBorder: true },
-                { rank: 5, name: "应用5", count: "2213次", backgroundColor: "#fff", hasBorder: true },
-            ],
-        },
-    },
-}
-</script>
-<style scoped>
-.rankingDiv {
-    background-color: #fff;
-    box-shadow: 0px 4px 29px rgba(0, 0, 0, 0.1);
-    padding: 20px;
-    border-radius: 20px;
-    display: flex;
-    flex-direction: column;
-}
-
-.rankTitle {
-    font-weight: bold;
-    font-size: 17px;
-}
-
-.rankItem {
-    display: flex;
-    justify-content: space-between;
-    border-bottom: 1px solid #e5e1e1;
-    padding-bottom: 7px;
-    margin: 25px 10px;
-}
-
-.item_left {
-    display: flex;
-}
-
-.rankNumber {
-    border-radius: 10px;
-    width: 17px;
-    height: 17px;
-    text-align: center;
-    font-size: 13px;
-    margin-right: 5px;
-}
-
-.rankText {
-    font-size: 13px;
-    font-weight: bold;
-}
-
-.rankCount {
-    font-size: 13px;
-    color: #2878fe;
-}
-</style>

Some files were not shown because too many files changed in this diff