Browse Source

Merge branch 'develop' of http://52.130.252.100:10000/TEAMMODEL/TEAMModelOS into develop

zhouj1203@hotmail.com 2 years ago
parent
commit
897692a18d

+ 8 - 8
TEAMModelBI/ClientApp/src/view/common/aside.vue

@@ -168,14 +168,14 @@ export default {
           //   isShow: true,
           //   sort: 10,
           // },
-          // {
-          //   name: '第三方管理',
-          //   router: '/home/thirdparty',
-          //   icon: '#icon-collaboration-system',
-          //   permission: [],
-          //   isShow: true,
-          //   sort: 11,
-          // },
+          {
+            name: '第三方管理',
+            router: '/home/thirdparty',
+            icon: '#icon-collaboration-system',
+            permission: [],
+            isShow: true,
+            sort: 11,
+          },
         ],
       },
       // {

+ 5 - 3
TEAMModelBI/Controllers/BICommon/BINoticeController.cs

@@ -128,7 +128,8 @@ namespace TEAMModelBI.Controllers.BICommon
 
                 jsonElement.TryGetProperty("type", out JsonElement type);
                 jsonElement.TryGetProperty("jumpUrl", out JsonElement jumpUrl);
-                jsonElement.TryGetProperty("callbackUrl", out JsonElement callbackUrl);
+                jsonElement.TryGetProperty("callbackName", out JsonElement callbackName);
+                jsonElement.TryGetProperty("refuseName", out JsonElement refuseName);
                 if (!jsonElement.TryGetProperty("theme", out JsonElement theme)) return BadRequest();
                 if (!jsonElement.TryGetProperty("content", out JsonElement content)) return BadRequest();
                 jsonElement.TryGetProperty("tmdIds", out JsonElement _tmdIds);
@@ -219,11 +220,12 @@ namespace TEAMModelBI.Controllers.BICommon
                     code = "BINotice",
                     type = !string.IsNullOrEmpty($"{type}") ? type.GetInt32() : 0,
                     jumpUrl = !string.IsNullOrEmpty($"{jumpUrl}") ? $"{jumpUrl}" : "",
-                    callbackUrl = !string.IsNullOrEmpty($"{callbackUrl}") ? $"{callbackUrl}" : "",
+                    callbackName = !string.IsNullOrEmpty($"{callbackName}") ? $"{callbackName}" : "",
+                    refuseName = !string.IsNullOrEmpty($"{refuseName}") ? $"{refuseName}" : "",
                     theme = $"{theme}",
                     content = $"{content}",
                     crowd = crowd,
-                    crowdIds = idNameCodes.Select(s => s.id).ToList(),
+                    crowdIds = idNameCodes.Select(s => $"{s.id}_{_crowdType}").ToList(),
                     createId = _tmdId,
                     sendTime = sendTime.GetInt64(),//发布时间待解决
                     createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),

+ 4 - 1
TEAMModelBI/LogLang/en-us.json

@@ -1,3 +1,6 @@
 {
-  "update-log-date": "Apply to join school"
+  "update-log-date": "Apply to join school",
+  "BI-NoticeHave": [ "{title}", "{content}", "{agree}", "refuse" ],
+  "BI-NoticeNothing": [ "{title}", "{content}" ],
+  "BI-NoticeSee": [ "{title}", "{content}", "see" ]
 }

+ 4 - 1
TEAMModelBI/LogLang/zh-cn.json

@@ -1,3 +1,6 @@
 {
-  "update-log-date": "修改"
+  "update-log-date": "修改",
+  "BI-NoticeHave": [ "{title}", "{content}", "{agree}", "refuse" ],
+  "BI-NoticeNothing": [ "{title}", "{content}" ],
+  "BI-NoticeSee": [ "{title}", "{content}","see" ]
 }

+ 4 - 1
TEAMModelBI/LogLang/zh-tw.json

@@ -1,3 +1,6 @@
 {
-  "update-log-date": "申請加入學校通知"
+  "update-log-date": "申請加入學校通知",
+  "BI-NoticeHave": [ "{title}", "{content}", "{agree}", "refuse" ],
+  "BI-NoticeNothing": [ "{title}", "{content}" ],
+  "BI-NoticeSee": [ "{title}", "{content}", "see" ]
 }

+ 4 - 6
TEAMModelBI/TEAMModelBI.csproj

@@ -68,9 +68,9 @@
 		<SpaRoot>ClientApp\</SpaRoot>
 		<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
 		<UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
-		<Version>1.2301.04</Version>
-		<AssemblyVersion>1.2301.04.1</AssemblyVersion>
-		<FileVersion>1.2301.04.1</FileVersion>
+		<Version>1.2301.18</Version>
+		<AssemblyVersion>1.2301.18.1</AssemblyVersion>
+		<FileVersion>1.2301.18.1</FileVersion>
 		<Description>TEAMModelBI(BI)</Description>
 		<PackageReleaseNotes>BI版本说明版本切换标记2022000908</PackageReleaseNotes>
 		<PackageId>TEAMModelBI</PackageId>
@@ -122,9 +122,7 @@
 	</Target>
 
 	<ProjectExtensions>
-		<VisualStudio>
-			<UserProperties appsettings_1json__JsonSchema="" clientapp_4package_1json__JsonSchema="" />
-		</VisualStudio>
+		<VisualStudio><UserProperties appsettings_1json__JsonSchema="" clientapp_4package_1json__JsonSchema="" loglang_4zh-cn_1json__JsonSchema="https://appliedengdesign.github.io/cnccodes-json-schema/draft/2022-07/schema" /></VisualStudio>
 	</ProjectExtensions>
 </Project>
 

+ 45 - 8
TEAMModelOS.SDK/DI/CoreAPI/CoreAPIHttpService.cs

@@ -1,3 +1,4 @@
+using DocumentFormat.OpenXml.Wordprocessing;
 using HTEXLib.COMM.Helpers;
 using HTEXLib.Helpers.ShapeHelpers;
 using Microsoft.AspNetCore.Hosting;
@@ -351,7 +352,7 @@ namespace TEAMModelOS.SDK
         /// <param name="location"></param>
         /// <param name="_configuration"></param>
         /// <param name="_dingDing"></param>
-        public void BIPushNotify(BINotice bINotice, Dictionary<string, object> replaceData,string location, IConfiguration _configuration, DI.DingDing _dingDing)
+        public void BIPushNotify(BINotice bINotice, Dictionary<string, object> replaceData,string location, IConfiguration _configuration, DingDing _dingDing)
         {
 
             try
@@ -360,16 +361,47 @@ namespace TEAMModelOS.SDK
                 var clientSecret = _configuration.GetValue<string>("HaBookAuth:CoreService:clientSecret");
                 var url = _configuration.GetValue<string>("HaBookAuth:CoreAPI");
                 string site = location;
-                if (location.Contains("China"))
+                string sendSite = "";
+                //处理action
+                string urlAction = "";
+                List<dynamic> actions = new List<dynamic>();
+                if (site.Equals("Global"))
                 {
-                    location = "China";
+                    sendSite = "Global";
+                    urlAction = "https://www.teammodel.net/core/process-notify";
                 }
-                else if (location.Contains("Global"))
+                if (site.Equals("Global-Test") || site.Equals("Global-Dep"))
                 {
-                    location = "Global";
+                    sendSite = "Global";
+                    urlAction = "https://test.teammodel.net/core/process-notify";
+                }
+                if (site.Equals("China"))
+                {
+                    sendSite = "China";
+                    urlAction = "https://www.teammodel.cn/core/process-notify";
+                }
+                if (site.Equals("China-Test") || site.Equals("China-Dep"))
+                {
+                    sendSite = "China";
+                    urlAction = "https://test.teammodel.cn/core/process-notify";
+                }
+
+                if (bINotice.callbackName != null && bINotice.refuseName != null)
+                {
+                    string urlA = $"{urlAction}&notifyEvent=1&ticket=";
+                    string urlB = $"{urlAction}&notifyEvent=2&ticket=";
+                    actions.Add(new { type = "click", label = bINotice.callbackName, url = urlA, tokenbindtype = 1 });
+                    actions.Add(new { type = "click", label = bINotice.refuseName, url = urlB, tokenbindtype = 1 });
+
+                }
+                else if (bINotice.callbackName != null && bINotice.refuseName == null)
+                {
+                    string urlA = $"{urlAction}&notifyEvent=1&ticket=";
+                    actions.Add(new { type = "click", label = bINotice.callbackName, url = urlA, tokenbindtype = 1 });
                 }
+
                 var client = _httpClient;
-                var token = CoreTokenExtensions.CreateAccessToken(clientID, clientSecret, location).Result;
+                var token = CoreTokenExtensions.CreateAccessToken(clientID, clientSecret, sendSite).Result;
                 if (client.DefaultRequestHeaders.Contains("Authorization"))
                 {
                     client.DefaultRequestHeaders.Remove("Authorization");
@@ -380,7 +412,12 @@ namespace TEAMModelOS.SDK
                     client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token.AccessToken}");
                 }
 
-                NotifyData notifyData = new NotifyData
+                string data = new { value = replaceData }.ToJsonString();
+                if (actions.Any())
+                {
+                    data = new { value = replaceData, action = actions }.ToJsonString();
+                }
+                NotifyData notifyData = new()
                 {
                     hubName = string.Join(",", bINotice.crowd.types),
                     sender = bINotice.source,
@@ -389,7 +426,7 @@ namespace TEAMModelOS.SDK
                     body = bINotice.content,
                     eventId = $"BI-send",
                     eventName = $"BI_SendNotice",
-                    data = bINotice.ToString()
+                    data = data
                 };
 
                 string result = "";

+ 10 - 2
TEAMModelOS.SDK/Models/Cosmos/BI/BICommon/Notice.cs

@@ -19,14 +19,22 @@ namespace TEAMModelOS.SDK.Models.Cosmos.BI
         /// 消息类型  0系统  1普通类型  2提示类型   3 特殊类型  
         /// </summary>
         public int type { get; set; } = 0;
+
         /// <summary>
         /// 跳转地址
         /// </summary>
         public string jumpUrl { get; set; }
+
+        /// <summary>
+        /// 回调名称拒绝 查看
+        /// </summary>
+        public string callbackName { get; set; }
+
         /// <summary>
-        /// 回调方法
+        /// 拒绝
         /// </summary>
-        public string callbackUrl { get; set; }
+        public string refuseName { get; set; }
+
         /// <summary>
         /// 消息标题
         /// </summary>

+ 14 - 9
TEAMModelOS.SDK/Models/Cosmos/BI/BICommon/StatsNotice.cs

@@ -27,29 +27,34 @@ namespace TEAMModelOS.SDK.Models.Cosmos.BI.BICommon
         /// </summary>
         public string rangeId { get; set; }
 
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        public long createTime { get; set; }
+
+        /// <summary>
+        /// 发送时间
+        /// </summary>
+        public long sendTime { get; set; }
+
         /// <summary>
         /// 学生名单数量
         /// </summary>
-        public List<double> stuCnt{ get; set; }
+        public int stuDayCnt{ get; set; }
 
         /// <summary>
         /// 课堂记录
         /// </summary>
-        public List<double> classroomCnt { get; set; }
+        public int classroomDayCnt { get; set; }
 
         /// <summary>
         /// 评量活动
         /// </summary>
-        public List<double> weighCnt { get; set; }
+        public int weighDayCnt { get; set; }
 
         /// <summary>
         /// 作业活动
         /// </summary>
-        public List<double> homeworkCnt { get; set; }
-
-        /// <summary>
-        /// 更新时间
-        /// </summary>
-        public long upTime { get; set; }
+        public int homeworkDayCnt { get; set; }
     }
 }

+ 4 - 8
TEAMModelOS.SDK/Models/Service/BI/BIStatsNotice.cs

@@ -49,25 +49,21 @@ namespace TEAMModelOS.SDK.Models.Service.BI
                     statsNotice.id = $"{dateOff.Year}-{id}";
                     statsNotice.type = idType;
                     statsNotice.rangeId = id;
-                    statsNotice.stuCnt = new double[366].ToList();
-                    statsNotice.classroomCnt = new double[366].ToList();
-                    statsNotice.weighCnt = new double[366].ToList();
-                    statsNotice.homeworkCnt = new double[366].ToList();
                 }
 
                 switch (type)
                 {
                     case "Student":
-                        statsNotice.stuCnt[dateOff.DayOfYear - 1] = count;
+                        statsNotice.stuDayCnt += count;
                         break;
                     case "Classroom":
-                        statsNotice.classroomCnt[dateOff.DayOfYear - 1] = count;
+                        statsNotice.classroomDayCnt += count;
                         break;
                     case "Weigh":
-                        statsNotice.weighCnt[dateOff.DayOfYear - 1] = count;
+                        statsNotice.weighDayCnt += count;
                         break;
                     case "Homework":
-                        statsNotice.homeworkCnt[dateOff.DayOfYear - 1] = count;
+                        statsNotice.homeworkDayCnt = count;
                         break;
                 }
                 if (resStsInfo.Status == 200)

+ 4 - 2
TEAMModelOS.SDK/Models/Service/BIStatsWay/ActivityStatsWay.cs

@@ -164,8 +164,10 @@ namespace TEAMModelOS.SDK.Models.Service.BIStatsWay
                 if (actYear.Count < 366)
                     actYear.Add(0);
             }
-
-            actStats.year = actYear;
+            if (actYear.Count > 0)
+            {
+                actStats.year = actYear;
+            }
 
             //string lastDaySql = $"c.createTime >= {lastDayS} and c.createTime <= {lastdayE}";
             //string daySql = $"c.createTime >= {dayS} and c.createTime <= {dayE}";

+ 13 - 2
TEAMModelOS.SDK/Models/Service/BIStatsWay/LessonRecordStatsWay.cs

@@ -77,8 +77,14 @@ namespace TEAMModelOS.SDK.Models.Service.BIStatsWay
                 Inters.Add((double)lessRelStats.FindAll(f => (f.startTime >= everyDay[i].start && f.startTime <= everyDay[i].end)).Select(s => s.clientInteractionCount).Sum());
             }
             if (Inters.Count < 366)
+            {
                 Inters.Add(0);
-            lessStats.yearInters = Inters;
+            }
+
+            if (Inters.Count > 0)
+            {
+                lessStats.yearInters = Inters;
+            }
 
             List<double> lessYear = new();
             for (int i = 0; i < everyDay.Count; i++)
@@ -86,9 +92,14 @@ namespace TEAMModelOS.SDK.Models.Service.BIStatsWay
                 lessYear.Add(lessRelStats.FindAll(f => (f.startTime >= everyDay[i].start && f.startTime <= everyDay[i].end)).Count);
             }
             if (lessYear.Count < 366)
+            {
                 lessYear.Add(0);
-            lessStats.year = lessYear;
+            }
 
+            if (Inters.Count > 0)
+            {
+                lessStats.year = lessYear;
+            }
             lessStats.upTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); 
 
             return lessStats;

+ 95 - 1
TEAMModelOS/ClientApp/public/lang/en-US.js

@@ -4766,6 +4766,7 @@ const LANG_EN_US = {
             table2: "Upload time",
             table3: "File Type",
             table4: "Operate",
+            tips3: "No courses found to initiate this activity",
         },
         classmatesComment: {
             title: "Classmates' homework observation and mutual evaluation",
@@ -7189,5 +7190,98 @@ const LANG_EN_US = {
         ae42: 'Exam file unavailable',
         ae43: 'Art assessment Exam file can only contain objective questions (single-answer, multiple-answers, true-false), please re-select the file or go to the Exam library to modify. ',
         ae44: 'The Exam file data is abnormal',
-    }
+    },
+    areaStatistics: {
+        tag: {
+            basics: 'Basic data',
+            classData: 'Classroom data',
+            classActive: 'Classroom active status',
+            training: 'Training progress',
+            size: 'Space usage',
+            list: 'School List'
+        },
+        header: {
+            areaTilte: 'Schools in the district',
+            areaTeach: 'Teachers in the district',
+            areaStudent: 'Students in the district',
+            areaData: 'Total ouput data',
+            areaSize: 'Total space',
+            weekAdd: 'Weekly increment',
+            monthAdd: 'Monthly increment',
+        },
+        basics: {
+            weekClass: 'Lesson records this week',
+            semesterClass: 'Lesson records this semester',
+            weekActivity: 'Activities this week',
+            semesterActivity: 'Activities this semester',
+            accumulatedClass: 'Accumulated lessons',
+            accumulatedExample: 'Accumulated lesson records',
+            accumulatedResource: 'Accumulated resources',
+            accumulatedActivity: 'Accumulated activities',
+            evaluating: 'Assesment',
+            vote: 'Polling',
+            questionnaire: 'Questionnaire',
+            work: 'Homework activity',
+            basicsV: 'Basic edition',
+            standardV: 'Standard edition',
+            marjorV: 'Pro edition',
+        },
+        class: {
+            total: 'Total data this year',
+            lastWeek: 'Last week',
+            nowMonth: 'This month',
+            vitality: 'Active status',
+        },
+        research: {
+            accomplish: 'Completed',
+            underneath: 'In progress',
+            unfinished: 'Unfinished',
+            classroom: 'Lesson record',
+            online: 'Online training',
+            attestation: 'Certification material',
+            researchTraining: 'School-based training',
+        },
+        size: {
+            use: 'Space usage',
+            documents: 'Docuemnt',
+            image: 'Image',
+            other: 'Other',
+            video: 'Video',
+            thumbnail: 'Thumbnail',
+            material: 'Material',
+            audio: 'Audio',
+            hiteachs: 'HiTeach upload data',
+            moralEducation: 'Moral education collections'
+        },
+        list: {
+            badge: 'School badge',
+            name: 'Name',
+            code: 'School code',
+        }
+    },
+    schoolStatistics: {
+        header: {
+            teachNum: 'Number of teachers',
+            studentNum: 'Number of students',
+            roomNum: 'Numbers of Smart Classroom',
+            class: 'Number of lesson records',
+        },
+        year: {
+            class: 'Total lesson records this year',
+            activity: 'Total activities this year',
+            interaction: 'Total interactions this year',
+        },
+        class: {
+            lessonTitle: 'Lesson record',
+            activityTitle: 'Activity',
+            interactionTitle: 'Interaction',
+            totalTitle: 'Total data',
+            todayData: 'Today data',
+            contrastYesterday: 'Compare with yesterday',
+            contrastLastmonth: 'Compare with last month',
+            contrastLastyear: 'Compare with last year',
+        },
+        gradeTitle: 'Grades distribution',
+        subjectTitle: 'Subjects distribution',
+    },
 }

+ 97 - 1
TEAMModelOS/ClientApp/public/lang/zh-CN.js

@@ -4769,6 +4769,7 @@ const LANG_ZH_CN = {
             table2: "上传时间",
             table3: "文件类型",
             table4: "操作",
+            tips3: "未找到发布该活动的课程",
         },
         classmatesComment: {
             title: '同学作业观摩与互评',
@@ -7180,5 +7181,100 @@ const LANG_ZH_CN = {
         ae42: '试卷不可用',
         ae43: '艺术评测试卷只能包含客观题(单选、多选、判断),请重新挑选试卷或前往试卷库修改当前试卷。',
         ae44: '试卷数据异常',
-    }
+    },
+    //区级数据统计
+    areaStatistics: {
+        tag: {
+            basics: '基础数据',
+            classData: '课例数据',
+            classActive: '课例活跃度',
+            training: '研修进度',
+            size: '空间使用情况',
+            list: '学校列表'
+        },
+        header: {
+            areaTilte: '区内学校',
+            areaTeach: '区内老师',
+            areaStudent: '区内学生',
+            areaData: '产出总数据',
+            areaSize: '空间总容量',
+            weekAdd: '周新增',
+            monthAdd: '月新增',
+        },
+        basics: {
+            weekClass: '本周课例数',
+            semesterClass: '学期课例数',
+            weekActivity: '本周活动数',
+            semesterActivity: '学期活动数',
+            accumulatedClass: '累计开课',
+            accumulatedExample: '累计课例',
+            accumulatedResource: '累计资源',
+            accumulatedActivity: '累计活动',
+            evaluating: '评量测验',
+            vote: '投票活动',
+            questionnaire: '问卷调查',
+            work: '作业活动',
+            basicsV: '基础版',
+            standardV: '标准版',
+            marjorV: '专业版',
+        },
+        class: {
+            total: '今年总数据',
+            lastWeek: '上周',
+            nowMonth: '本月',
+            vitality: '活跃度',
+        },
+        research: {
+            accomplish: '已完成',
+            underway: '进行中',
+            unfinished: '未完成',
+            classroom: '课堂实录',
+            online: '线上研修',
+            attestation: '认证材料',
+            researchTraining: '校本研修',
+        },
+        size: {
+            use: '空间使用率',
+            documents: '文档',
+            image: '图片',
+            other: '其他',
+            video: '视频',
+            thumbnail: '缩略图',
+            material: '教材',
+            audio: '音频',
+            hiteachs: 'HiTeach上传数据',
+            moralEducation:'德育风采'
+        },
+        list: {
+            badge: '校徽',
+            name: '名称',
+            code:'简码',
+        }
+    },
+    //学校数据统计
+    schoolStatistics: {
+        header: {
+            teachNum: '教师数',
+            studentNum: '学生数',
+            roomNum: '智慧教室',
+            class:'课例数',
+        },
+        year: {
+            class: '今年课例总计',
+            activity: '今年活动总计',
+            interaction:'今年互动总计',
+        },
+        class: {
+            lessonTitle: '课例',
+            activityTitle: '活动',
+            interactionTitle: '互动',
+            totalTitle: '总数据',
+            todayData: '今日数据',
+            contrastYesterday: '昨日对比',
+            contrastLastmonth: '上月对比',
+            contrastLastyear:'去年对比',
+        },
+        gradeTitle: '年级占比',
+        subjectTitle: '科目占比',
+    },
 }

+ 95 - 1
TEAMModelOS/ClientApp/public/lang/zh-TW.js

@@ -4770,6 +4770,7 @@ const LANG_ZH_TW = {
             table2: "上傳時間",
             table3: "檔案類型",
             table4: "操作",
+            tips3: "未找到發佈該活動的課程",
         },
         classmatesComment: {
             title: '同學作業觀摩與互評',
@@ -7180,5 +7181,98 @@ const LANG_ZH_TW = {
         ae42: '試卷不可用',
         ae43: '藝術評量試卷只能包含客觀類題型(單選、複選、是非),請重新挑選試卷或前往試卷庫修改當前試卷。 ',
         ae44: '試卷資料異常',
-    }
+    },
+    areaStatistics: {
+        tag: {
+            basics: '基礎數據',
+            classData: '課堂數據',
+            classActive: '課堂活躍度',
+            training: '研修進度',
+            size: '空間使用情況',
+            list: '學校列表'
+        },
+        header: {
+            areaTilte: '區內學校',
+            areaTeach: '區內老師',
+            areaStudent: '區內學生',
+            areaData: '產出總數據',
+            areaSize: '空間總容量',
+            weekAdd: '週新增',
+            monthAdd: '月新增',
+        },
+        basics: {
+            weekClass: '本週課堂數',
+            semesterClass: '學期課堂數',
+            weekActivity: '本週活動數',
+            semesterActivity: '學期活動數',
+            accumulatedClass: '累計開課',
+            accumulatedExample: '累計課堂',
+            accumulatedResource: '累計資源',
+            accumulatedActivity: '累計活動',
+            evaluating: '評量測驗',
+            vote: '投票活動',
+            questionnaire: '問卷調查',
+            work: '作業活動',
+            basicsV: '基礎版',
+            standardV: '標準版',
+            marjorV: '專業版',
+        },
+        class: {
+            total: '今年總數據',
+            lastWeek: '上週',
+            nowMonth: '本月',
+            vitality: '活躍度',
+        },
+        research: {
+            accomplish: '已完成',
+            underway: '進行中',
+            unfinished: '未完成',
+            classroom: '課堂實錄',
+            online: '線上研修',
+            attestation: '認證材料',
+            researchTraining: '校本研修',
+        },
+        size: {
+            use: '空間使用率',
+            documents: '檔案',
+            image: '圖片',
+            other: '其他',
+            video: '影片',
+            thumbnail: '縮圖',
+            material: '教材',
+            audio: '音訊',
+            hiteachs: 'HiTeach上傳數據',
+            moralEducation: '德育風采'
+        },
+        list: {
+            badge: '校徽',
+            name: '名稱',
+            code: '簡碼',
+        }
+    },
+    schoolStatistics: {
+        header: {
+            teachNum: '教師數',
+            studentNum: '學生數',
+            roomNum: '智慧教室',
+            class: '課堂數',
+        },
+        year: {
+            class: '今年課堂總計',
+            activity: '今年活動總計',
+            interaction: '今年互動總計',
+        },
+        class: {
+            lessonTitle: '課堂',
+            activityTitle: '活動',
+            interactionTitle: '互動',
+            totalTitle: '總數據',
+            todayData: '今日數據',
+            contrastYesterday: '昨日對比',
+            contrastLastmonth: '上月對比',
+            contrastLastyear: '去年對比',
+        },
+        gradeTitle: '年級佔比',
+        subjectTitle: '科目佔比',
+    },
 }

+ 2 - 2
TEAMModelOS/ClientApp/src/components/student-web/HomeView/newHomeView.vue

@@ -649,7 +649,7 @@ export default {
             if(item.type === "Exam" || item.type === "Homework" || item.type === "Atr") {
                 let index =  this.getCourseIndex(item.owner === 'school' ? item.creatorId : item.subjects, item.classIds, item.owner === 'school')
                 if(index === -1) {
-                    this.$Message.error("未找到发布该活动的课程")
+                    this.$Message.error(this.$t('studentWeb.homework.tips3'))
                 } else {
                     this.$EventBus.$emit('classIndex', index + 1)
                     let path = item.type === 'Homework' ? '/studentWeb/homeworkView' : '/studentWeb/examView'
@@ -668,7 +668,7 @@ export default {
         toRecord(item) {
             let index =  this.getCourseIndex([item.courseId], item.groupIds)
             if(index === -1) {
-                this.$Message.error("未找到发布该活动的课程")
+                this.$Message.error(this.$t('studentWeb.homework.tips3'))
             } else {
                 this.$EventBus.$emit('classIndex', index + 1)
                 this.$router.push({

+ 7 - 7
TEAMModelOS/ClientApp/src/view/areaMgmt/AreaEcharts/gradePie.vue

@@ -107,13 +107,13 @@ class InitChart {
     this.state.chart && this.destory()
     this.state.chart = echarts.init(this.myEcharts)
     this.state.chart.setOption({
-      title: {
-        text: '年级占比',
-        textStyle: {
-          fontSize: '12',
-          color: '#b2bec3',
-        },
-      },
+      //title: {
+      //  text: '年级占比',
+      //  textStyle: {
+      //    fontSize: '12',
+      //    color: '#b2bec3',
+      //  },
+      //},
       color: color,
       tooltip: {
         show: true,

+ 74 - 76
TEAMModelOS/ClientApp/src/view/areaMgmt/AreaIndex.vue

@@ -17,15 +17,15 @@
                             <p class="right-top-title">{{item.title}}</p>
                         </div>
                         <div class="right-top-bottombox-comparison" v-if="item.classname ==='school' || item.classname ==='teach' || item.classname ==='datas' || item.classname ==='student'">
-                            <p>周新增:<span class="week-comparison">{{item.addweek}}</span></p>
-                            <p>月新增:<span class="months-comparison">{{item.addmonth}}</span></p>
+                            <p>{{$t('areaStatistics.header.weekAdd')}}:<span class="week-comparison">{{item.addweek}}</span></p>
+                            <p>{{$t('areaStatistics.header.monthAdd')}}:<span class="months-comparison">{{item.addmonth}}</span></p>
                         </div>
                     </div>
                 </div>
             </div>
             <div class="leftbox">
                 <div class="tagbox">
-                    <p class="tags basics"><span>基础数据</span></p>
+                    <p class="tags basics"><span>{{$t('areaStatistics.tag.basics')}}</span></p>
                 </div>
                 <div :class="[items.type==='month' ? 'alonebox' :'totalalonebox']" v-for="(items,indexs) in activityData.oneself" :key="indexs">
                     <p :class="[items.type ==='month' ? 'alonebox-title':'total-alonebox-title']">{{items.title}}</p>
@@ -34,7 +34,7 @@
             </div>
             <div class="rightbox">
                 <div class="tagbox">
-                    <p class="tags basics"><span>基础数据</span></p>
+                    <p class="tags basics"><span>{{$t('areaStatistics.tag.basics')}}</span></p>
                 </div>
                 <!--<div class="rightbox-pie">
                <CommonPie :proportionData="areaData.alonePie"></CommonPie>
@@ -51,19 +51,19 @@
         <div class="center-resource">
             <div class="center-resource-left">
                 <div class="tagbox ">
-                    <p class="tags source"><span>课例数据</span></p>
+                    <p class="tags source"><span>{{$t('areaStatistics.tag.classData')}}</span></p>
                 </div>
                 <div class="center-resource-left-leftEcharts">
-                    <div class="echarts-title">今年总数据:</div>
+                    <div class="echarts-title">{{$t('areaStatistics.class.total')}}:</div>
                     <ConventionPie :pieData="areaData.class"></ConventionPie>
                 </div>
                 <div class="center-resource-left-rightbox">
                     <div class="week-echart">
-                        <div class="echarts-title-pie">上周:</div>
+                        <div class="echarts-title-pie">{{$t('areaStatistics.class.lastWeek')}}:</div>
                         <ConventionPie :pieData="areaData.lastweek"></ConventionPie>
                     </div>
                     <div class="month-echart">
-                        <div class="echarts-title-pie">本月:</div>
+                        <div class="echarts-title-pie">{{$t('areaStatistics.class.nowMonth')}}:</div>
                         <ConventionPie :pieData="areaData.monthsContrast"></ConventionPie>
                     </div>
                 </div>
@@ -71,7 +71,7 @@
             </div>
             <div class="center-resource-right">
                 <div class="tagbox">
-                    <p class="tags dynamic"><span>课例活跃度</span></p>
+                    <p class="tags dynamic"><span>{{$t('areaStatistics.tag.classActive')}}</span></p>
                 </div>
                 <CommonLine :lineData="areaData.dynamic"></CommonLine>
             </div>
@@ -79,13 +79,13 @@
         <div class="bottom-resource">
             <div class="bottom-leftbox">
                 <div class="tagbox">
-                    <p class="tags types"><span>研修进度</span></p>
+                    <p class="tags types"><span>{{$t('areaStatistics.tag.training')}}</span></p>
                 </div>
                 <DoublePie :doublePieData="areaData.schedule"></DoublePie>
             </div>
             <div class="bottom-rightbox">
                 <div class="tagbox">
-                    <p class="tags interspace"><span>空间使用情况</span></p>
+                    <p class="tags interspace"><span>{{$t('areaStatistics.tag.size')}}</span></p>
                 </div>
                 <div class="bottom-rightbox-left">
                     <Liquidfill :liquidfillData="areaData.size"></Liquidfill>
@@ -97,7 +97,7 @@
         </div>
         <div class="school-Listinfo">
             <div class="tagbox">
-                <p class="tags schoolLists"><span>学校列表</span></p>
+                <p class="tags schoolLists"><span>{{$t('areaStatistics.tag.list')}}</span></p>
             </div>
             <div class="listbox">
                 <Table :columns="columns" :data="data">
@@ -129,11 +129,11 @@
            states:'develop',
            showPattern:'all',
            aspectsData:[
-               { id: 1, title: '区内学校', num: 0, icon: 'iconfont icon-24gl-school', classname: 'months', addweek: 0, addmonth: 0, },
-               { id: 2, title: '区内老师', num: 0, icon: 'iconfont icon-laoshi', classname: 'teach', addweek: 0, addmonth: 0, },
-               { id: 3, title: '区内学生', num: 0, icon: 'iconfont icon-w_xuesheng-', classname: 'school', addweek: 0, addmonth: 0, },
-               { id: 4, title: '产出总数据', num: 0, icon: 'iconfont icon-shujutongji', classname: 'datas', addweek: 0, addmonth: 0, },
-               { id: 5, title: '空间总容量', num: 0, icon: 'iconfont icon-kongjian', classname: 'size' },
+               { id: 1, title: this.$t('areaStatistics.header.areaTilte'), num: 0, icon: 'iconfont icon-24gl-school', classname: 'months', addweek: 0, addmonth: 0, },
+               { id: 2, title: this.$t('areaStatistics.header.areaTeach'), num: 0, icon: 'iconfont icon-laoshi', classname: 'teach', addweek: 0, addmonth: 0, },
+               { id: 3, title: this.$t('areaStatistics.header.areaStudent'), num: 0, icon: 'iconfont icon-w_xuesheng-', classname: 'school', addweek: 0, addmonth: 0, },
+               { id: 4, title: this.$t('areaStatistics.header.areaData'), num: 0, icon: 'iconfont icon-shujutongji', classname: 'datas', addweek: 0, addmonth: 0, },
+               { id: 5, title: this.$t('areaStatistics.header.areaSize'), num: 0, icon: 'iconfont icon-kongjian', classname: 'size' },
             ],
             aspectsLoading:{
                 counselorData: true,
@@ -146,25 +146,25 @@
                 schoolList: true,
             },
             activityData:{
-                total: [
-                    { id: 1, title: '本周课例数', num: 0, type: 'month' },
-                    { id: 2, title: '学期课例数', num: 0, type: 'month' },
-                    { id: 3, title: '本周活动数', num: 0, type: 'month' },
-                    { id: 4, title: '学期活动数', num: 0, type: 'month' },
-                    { id: 5, title: '智慧教室', num: 0, type: 'total' },
-                    { id: 6, title: '累计课例', num: 0, type: 'total' },
-                    { id: 7, title: '累计资源', num: 0, type: 'total' },
-                    { id: 8, title: '累计活动', num: 0, type: 'total' },
-                ],
+                //total: [
+                //    { id: 1, title: '本周课例数', num: 0, type: 'month' },
+                //    { id: 2, title: '学期课例数', num: 0, type: 'month' },
+                //    { id: 3, title: '本周活动数', num: 0, type: 'month' },
+                //    { id: 4, title: '学期活动数', num: 0, type: 'month' },
+                //    { id: 5, title: '智慧教室', num: 0, type: 'total' },
+                //    { id: 6, title: '累计课例', num: 0, type: 'total' },
+                //    { id: 7, title: '累计资源', num: 0, type: 'total' },
+                //    { id: 8, title: '累计活动', num: 0, type: 'total' },
+                //],
                 oneself: [
-                    { id: 1, title: '本周课例数', num: 0, type: 'month' },
-                    { id: 2, title: '学期课例数', num: 0, type: 'month' },
-                    { id: 3, title: '本周活动数', num: 0, type: 'month' },
-                    { id: 4, title: '学期活动数', num: 0, type: 'month' },
-                    { id: 5, title: '累计开课', num: 0, type: 'total' },
-                    { id: 6, title: '累计课例', num: 0, type: 'total' },
-                    { id: 7, title: '累计资源', num: 0, type: 'total' },
-                    { id: 8, title: '累计活动', num: 0, type: 'total' },
+                    { id: 1, title: this.$t('areaStatistics.basics.weekClass'), num: 0, type: 'month' },
+                    { id: 2, title: this.$t('areaStatistics.basics.semesterClass'), num: 0, type: 'month' },
+                    { id: 3, title: this.$t('areaStatistics.basics.weekActivity'), num: 0, type: 'month' },
+                    { id: 4, title: this.$t('areaStatistics.basics.semesterActivity'), num: 0, type: 'month' },
+                    { id: 5, title: this.$t('areaStatistics.basics.accumulatedClass'), num: 0, type: 'total' },
+                    { id: 6, title: this.$t('areaStatistics.basics.accumulatedExample'), num: 0, type: 'total' },
+                    { id: 7, title: this.$t('areaStatistics.basics.accumulatedResource'), num: 0, type: 'total' },
+                    { id: 8, title: this.$t('areaStatistics.basics.accumulatedActivity'), num: 0, type: 'total' },
                 ],
             },
             unit:{
@@ -205,11 +205,9 @@
         searchAreasv:'',
         searchOriginal: [],
         columns:[
-            {
-                title: '校徽', slot: 'badge', align: 'center',
-            },
-            { title: '名称', key: 'name', align: 'center'},
-            { title: '简码', key: 'id', align: 'center'},
+            { title: this.$t('areaStatistics.list.badge'), slot: 'badge', align: 'center',},
+            { title: this.$t('areaStatistics.list.name'), key: 'name', align: 'center'},
+            { title: this.$t('areaStatistics.list.code'), key: 'id', align: 'center'},
            /* { title: '空间', solt: 'size', align: 'center' },*/
            /* { title: '操作', solt: 'operate', align: 'center' },*/
             {
@@ -335,10 +333,10 @@
                                     },
                                 },
                                 data: [
-                                    { value: 0, name: '评量测验' },
-                                    { value: 0, name: '投票活动' },
-                                    { value: 0, name: '问卷调查' },
-                                    { value: 0, name: '作业活动' },
+                                    { value: 0, name: this.$t('areaStatistics.basics.evaluating') },
+                                    { value: 0, name: this.$t('areaStatistics.basics.vote') },
+                                    { value: 0, name: this.$t('areaStatistics.basics.questionnaire') },
+                                    { value: 0, name: this.$t('areaStatistics.basics.work') },
                                 ],
                             },
                         ],
@@ -373,9 +371,9 @@
                                     },
                                 },
                                 data: [
-                                    { value: 0, name: '基础版' },
-                                    { value: 0, name: '标准版' },
-                                    { value: 0, name: '专业版' },
+                                    { value: 0, name: this.$t('areaStatistics.basics.basicsV') },
+                                    { value: 0, name: this.$t('areaStatistics.basics.standardV') },
+                                    { value: 0, name: this.$t('areaStatistics.basics.marjorV') },
                                 ],
                             },
                         ],
@@ -572,7 +570,7 @@
                             end: 35
                         }],
                         series: [{
-                            name: "活跃度",
+                            name: this.$t('areaStatistics.class.vitality'),
                             type: "line",
                             symbolSize: 10,
                             symbol: 'circle',
@@ -603,9 +601,9 @@
                     schedule: {
                         color: ['#3fb1e3', '#6be6c1', '#626c91', '#a0a7e6', '#c4ebad', '#96dee8'],
                         data: [
-                            { value: 0, name: '已完成' },
-                            { value: 0, name: '进行中' },
-                            { value: 0, name: '未完成' },
+                            //{ value: 0, name: '已完成' },
+                            //{ value: 0, name: '进行中' },
+                            //{ value: 0, name: '未完成' },
                         ],
                         tooltip: {
                             trigger: 'item',
@@ -622,10 +620,10 @@
                                 fontSize: 12,
                             },
                             data: [
-                                { value: 0, name: '线上研修' },
-                                { value: 0, name: '校本研修' },
-                                { value: 0, name: '认证材料' },
-                                { value: 0, name: '课堂实录' },
+                                //{ value: 0, name: '线上研修' },
+                                //{ value: 0, name: '校本研修' },
+                                //{ value: 0, name: '认证材料' },
+                                //{ value: 0, name: '课堂实录' },
                             ],
                         },
                         series: [
@@ -657,10 +655,10 @@
                                 type: 'pie',
                                 radius: ['65%', '90%'],
                                 data: [
-                                    { value: 0, name: '线上研修' },
-                                    { value: 0, name: '校本研修' },
-                                    { value: 0, name: '认证材料' },
-                                    { value: 0, name: '课堂实录' },
+                                    //{ value: 0, name: '线上研修' },
+                                    //{ value: 0, name: '校本研修' },
+                                    //{ value: 0, name: '认证材料' },
+                                    //{ value: 0, name: '课堂实录' },
                                 ],
                             },
                         ],
@@ -788,15 +786,15 @@
                         /*this.areaData.dynamic.series[1].data = res.weekLess*/
                         //处理研修进度
                         let outer = [
-                            { value: 0, name: '线上研修' },
-                            { value: 0, name: '校本研修' },
-                            { value: 0, name: '认证材料' },
-                            { value: 0, name: '课堂实录' },
+                            { value: 0, name: this.$t('areaStatistics.research.online') },  //线上研修
+                            { value: 0, name: this.$t('areaStatistics.research.researchTraining') },  //校本研修
+                            { value: 0, name: this.$t('areaStatistics.research.attestation') },  //认证材料
+                            { value: 0, name: this.$t('areaStatistics.research.classroom') },  //课堂实录
                         ]
                         let within = [
-                            { value: 0, name: '已完成' },
-                            { value: 0, name: '进行中' },
-                            { value: 0, name: '未完成' },
+                            { value: 0, name: this.$t('areaStatistics.research.accomplish') },   //已完成
+                            { value: 0, name: this.$t('areaStatistics.research.underway') },   //进行中
+                            { value: 0, name: this.$t('areaStatistics.research.unfinished') },   //未完成
                         ]
                         outer[0].value = res.areaScStats.srStats.online
                         outer[1].value = res.areaScStats.srStats.offline
@@ -847,7 +845,7 @@
                 console.log(this.sizeNums, '空间使用率')
                 let pies = {
                     title: {
-                        text: '{a|' + this.sizeNums + '}{c|%}' + '\n' + '空间使用率',
+                        text: '{a|' + this.sizeNums + '}{c|%}' + '\n' + this.$t('areaStatistics.size.use'),
                         x: 'center',
                         y: 'center',
                         textStyle: {
@@ -931,15 +929,15 @@
                 this.areaData.size=pies
                 //处理空间占比
                 let namedata = [
-                    { name: '文档', title: 'doc', value: 0 },
-                    { name: '图片', title: 'image', value: 0 },
-                    { name: '其他', title: 'other', value: 0 },
-                    { name: '视频', title: 'video', value: 0 },
-                    { name: '缩略图', title: 'thum', value: 0 },
-                    { name: '教材', title: 'res', value: 0 },
-                    { name: '音频', title: 'audio', value: 0 },
-                    { name: 'HiTeach上传的数据', title: 'records', value: 0 },
-                    { name: '德育风采', title: 'elegant', value: 0 },
+                    { name: this.$t('areaStatistics.size.documents'), title: 'doc', value: 0 },
+                    { name: this.$t('areaStatistics.size.image'), title: 'image', value: 0 },
+                    { name: this.$t('areaStatistics.size.other'), title: 'other', value: 0 },
+                    { name: this.$t('areaStatistics.size.video'), title: 'video', value: 0 },
+                    { name: this.$t('areaStatistics.size.thumbnail'), title: 'thum', value: 0 },
+                    { name: this.$t('areaStatistics.size.material'), title: 'res', value: 0 },
+                    { name: this.$t('areaStatistics.size.audio'), title: 'audio', value: 0 },
+                    { name: this.$t('areaStatistics.size.hiteachs'), title: 'records', value: 0 },
+                    { name: this.$t('areaStatistics.size.moralEducation'), title: 'elegant', value: 0 },
                 ]
                 for (let i in namedata) {
                     let names = namedata[i].name

+ 47 - 32
TEAMModelOS/ClientApp/src/view/areaMgmt/AreaSchool.vue

@@ -9,19 +9,19 @@
                 </div>
                 <div class="school-analyse-headersbox-basics">
                     <div class="items-basics">
-                        <p class="items-basics-title">教师数:</p>
+                        <p class="items-basics-title">{{$t('schoolStatistics.header.teachNum')}}:</p>
                         <p class="items-basics-num">{{anSchool.teachNum}}</p>
                     </div>
                     <div class="items-basics">
-                        <p class="items-basics-title">学生数:</p>
+                        <p class="items-basics-title">{{$t('schoolStatistics.header.studentNum')}}:</p>
                         <p class="items-basics-num">{{anSchool.studentNum}}</p>
                     </div>
                     <div class="items-basics">
-                        <p class="items-basics-title">智慧教室:</p>
+                        <p class="items-basics-title">{{$t('schoolStatistics.header.roomNum')}}:</p>
                         <p class="items-basics-num">{{anSchool.classNum}}</p>
                     </div>
                     <div class="items-basics">
-                        <p class="items-basics-title">课例数:</p>
+                        <p class="items-basics-title">{{$t('schoolStatistics.header.class')}}:</p>
                         <p class="items-basics-num">{{anSchool.classInfoNum}}</p>
                     </div>
                 </div>
@@ -34,17 +34,17 @@
         </div>
         <div class="school-analyse-top">
             <div class="school-analyse-top-left">
-                <div class="echarts-titles"><span>今年课例总计:{{anSchool.class}}</span></div>
+                <div class="echarts-titles"><span>{{$t('schoolStatistics.year.class')}}:{{anSchool.class}}</span></div>
                 <div class="notdatas" v-if="detailsEchart.bar1.series[0].data.length ===0 || (detailsEchart.bar1.series[0].data.length <=1 && detailsEchart.bar1.series[0].data[0]===0)">暂无数据</div>
                 <Bar :barData="detailsEchart.bar1" v-else></Bar>
             </div>
             <div class="school-analyse-top-center">
-                <div class="echarts-titles activitys"><span>今年活动总计:{{anSchool.activity}}</span></div>
+                <div class="echarts-titles activitys"><span>{{$t('schoolStatistics.year.activity')}}:{{anSchool.activity}}</span></div>
                 <div class="notdatas" v-if="detailsEchart.bar2.series[0].data.length ===0 || (detailsEchart.bar2.series[0].data.length <=1 && detailsEchart.bar2.series[0].data[0]===0)">暂无数据</div>
                 <Bar :barData="detailsEchart.bar2" v-else></Bar>
             </div>
             <div class="school-analyse-top-right">
-                <div class="echarts-titles interact"><span>今年互动总计:{{anSchool.interact}}</span></div>
+                <div class="echarts-titles interact"><span>{{$t('schoolStatistics.year.interaction')}}:{{anSchool.interact}}</span></div>
                 <div class="notdatas" v-if="detailsEchart.bar3.series[0].data.length ===0 || (detailsEchart.bar3.series[0].data.length <=1 && detailsEchart.bar3.series[0].data[0]===0)">暂无数据</div>
                 <Bar :barData="detailsEchart.bar3" v-else></Bar>
             </div>
@@ -91,9 +91,11 @@
         </div>
         <div class="school-analyse-bottom">
             <div class="school-analyse-bottom-left">
+                <div class="gradetitle">{{$t('schoolStatistics.gradeTitle')}}</div>
                 <Gradepie :mapData="detailsGrade"></Gradepie>
             </div>
             <div class="school-analyse-bottom-right">
+                <div class="gradetitle">{{$t('schoolStatistics.subjectTitle')}}</div>
                 <ConventionPie :pieData="detailsEchart.subject"></ConventionPie>
             </div>
         </div>
@@ -406,14 +408,13 @@
                     subject: {
                         // color: ['#ef5777', '#0fbcf9', '#0be881', '#575fcf', '#ffd32a', '#55E6C1', '#3742fa', '#B33771', '#F8EFBA'],
                         color: ['#3fb1e3', '#6be6c1', '#626c91', '#a0a7e6', '#c4ebad', '#96dee8'],
-                        title: {
-                            text: '科目占比',
-                            textStyle: {
-                                fontSize: '12',
-                                color: '#b2bec3',
-                            },
-                        },
-
+                        //title: {
+                        //    text: this.$t('schoolStatistics.subjectTitle'),
+                        //    textStyle: {
+                        //        fontSize: '12',
+                        //        color: '#b2bec3',
+                        //    },
+                        //},
                         legend: {
                             right: '10%',
                             orient: 'vertical',
@@ -426,7 +427,7 @@
                         },
                         series: [
                             {
-                                name: '科目占比',
+                                name: this.$t('schoolStatistics.subjectTitle'),
                                 type: 'pie',
                                 radius: '80%',
                                 center: ['45%', '50%'],
@@ -451,62 +452,62 @@
                 detailsbasics:[
                     {
                         id: 1,
-                        title: '课例',
+                        title: this.$t('schoolStatistics.class.lessonTitle'),
                         num: 0,
                         icon: 'iconfont icon-kechengguanli',
-                        subheading: '昨日对比',
+                        subheading: this.$t('schoolStatistics.class.contrastYesterday'),
                         subheadingNum: '0%',
                         subheadingState: '',
-                        subhead: '上月对比',
+                        subhead: this.$t('schoolStatistics.class.contrastLastmonth'),
                         subheadNum: '0%',
                         subheadState: '',
                         classname: 'purples',
-                        today: '今日数据',
+                        today: this.$t('schoolStatistics.class.todayData'),
                         todayNum: 0,
                     },
                     {
                         id: 2,
-                        title: '活动',
+                        title: this.$t('schoolStatistics.class.activityTitle'),
                         num: 0,
                         icon: 'iconfont icon-huodongzhihang',
-                        subheading: '昨日对比',
+                        subheading: this.$t('schoolStatistics.class.contrastYesterday'),
                         subheadingNum: '0%',
                         subheadingState: '',
-                        subhead: '上月对比',
+                        subhead: this.$t('schoolStatistics.class.contrastLastmonth'),
                         subheadNum: '0%',
                         subheadState: '',
                         classname: 'oranges',
-                        today: '今日数据',
+                        today: this.$t('schoolStatistics.class.todayData'),
                         todayNum: 0,
                     },
                     {
                         id: 3,
-                        title: '互动',
+                        title: this.$t('schoolStatistics.class.interactionTitle'),
                         num: 0,
                         icon: 'iconfont icon-hudong1',
-                        subheading: '昨日对比',
+                        subheading: this.$t('schoolStatistics.class.contrastYesterday'),
                         subheadingNum: '0%',
                         subheadingState: '',
-                        subhead: '上月对比',
+                        subhead: this.$t('schoolStatistics.class.contrastLastmonth'),
                         subheadNum: '0%',
                         subheadState: '',
                         classname: 'blues',
-                        today: '今日数据',
+                        today: this.$t('schoolStatistics.class.todayData'),
                         todayNum: 0,
                     },
                     {
                         id: 3,
-                        title: '总数据',
+                        title: this.$t('schoolStatistics.class.totalTitle'),
                         num: 0,
                         icon: 'iconfont icon-shuju',
-                        subheading: '上月对比',
+                        subheading: this.$t('schoolStatistics.class.contrastLastmonth'),
                         subheadingNum: '0%',
                         subheadingState: '',
-                        subhead: '去年对比',
+                        subhead: this.$t('schoolStatistics.class.contrastLastyear'),
                         subheadNum: '0%',
                         subheadState: '',
                         classname: 'total',
-                        today: '今日数据',
+                        today: this.$t('schoolStatistics.class.todayData'),
                         todayNum: 0,
                     },
                 ],
@@ -736,6 +737,12 @@
                                     }
                                 }
                             }
+                            //Xdata.title = {
+                            //    text: this.$t('schoolStatistics.gradeTitle'),
+                            //    textStyle: {
+                            //        fontSize: '12',
+                            //        color: '#b2bec3',
+                            //    },}
                             this.detailsGrade = Xdata
                             console.log(Xdata, '处理的结果')
                         } else {
@@ -949,6 +956,7 @@
         width: 48%;
         height: 28vh;
         background-color: #fff;
+        position:relative;
     }
 
     .school-list {
@@ -1313,4 +1321,11 @@
         font-weight: bold;
         color: #bdc3c7;
     }
+    .gradetitle {
+        position: absolute;
+        left: 0.5%;
+        top: 0.5%;
+        font-size: 14px;
+        color: #bdc3c7;
+    }
 </style>

+ 4 - 4
TEAMModelOS/TEAMModelOS.csproj

@@ -69,11 +69,11 @@
     <SpaRoot>ClientApp\</SpaRoot>
     <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
     <UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
-    <Version>5.2301.4</Version>
-    <AssemblyVersion>5.2301.4.1</AssemblyVersion>
-    <FileVersion>5.2301.4.1</FileVersion>
+    <Version>5.2301.11</Version>
+    <AssemblyVersion>5.2301.11.1</AssemblyVersion>
+    <FileVersion>5.2301.11.1</FileVersion>
     <Description>TEAMModelOS(IES5)</Description>
-    <PackageReleaseNotes>IES版本说明版本切换标记5.2301.4.1</PackageReleaseNotes>
+    <PackageReleaseNotes>IES版本说明版本切换标记5.2301.11.1</PackageReleaseNotes>
     <PackageId>TEAMModelOS</PackageId>
     <Authors>teammodel</Authors>
     <Company>醍摩豆(成都)信息技术有限公司</Company>