psycho 6 년 전
부모
커밋
f5098188c5
30개의 변경된 파일528개의 추가작업 그리고 262개의 파일을 삭제
  1. 1 1
      TEAMModelOS.Model/Common/Models/JwtBlackRecord.cs
  2. 1 1
      TEAMModelOS.Model/Common/Models/LoginInfo.cs
  3. 30 0
      TEAMModelOS.Model/Common/Models/Region.cs
  4. 17 0
      TEAMModelOS.Model/Common/Models/Role.cs
  5. 1 1
      TEAMModelOS.Model/Common/Models/RoleUser.cs
  6. 30 0
      TEAMModelOS.Model/Common/Models/School.cs
  7. 1 1
      TEAMModelOS.Model/Common/Models/TeamModelUser.cs
  8. 1 1
      TEAMModelOS.Model/Syllabus/Models/Period.cs
  9. 1 1
      TEAMModelOS.Model/Syllabus/Models/PeriodSubject.cs
  10. 1 1
      TEAMModelOS.Model/Syllabus/Models/PeriodSubjectEdition.cs
  11. 1 1
      TEAMModelOS.Model/Syllabus/Models/PeriodSubjectEditionTerm.cs
  12. 1 1
      TEAMModelOS.Model/Syllabus/Models/StandardTextbook.cs
  13. 1 1
      TEAMModelOS.Model/Syllabus/Models/TeacherTextbook.cs
  14. 109 51
      TEAMModelOS.SDK/Module/AzureTable/Implements/AzureTableDBRepository.cs
  15. 3 3
      TEAMModelOS.SDK/Module/AzureTable/Interfaces/IAzureTableDBRepository.cs
  16. 0 1
      TEAMModelOS/ClientApp/components/SAbargraph.vue
  17. 8 1
      TEAMModelOS/ClientApp/components/SAchooseattention.vue
  18. 48 4
      TEAMModelOS/ClientApp/components/SAlinechart.vue
  19. 0 1
      TEAMModelOS/ClientApp/components/SAradargraph.vue
  20. 12 13
      TEAMModelOS/ClientApp/components/SAsubjectsmanifestation.vue
  21. 2 2
      TEAMModelOS/ClientApp/store/api.js
  22. 3 0
      TEAMModelOS/ClientApp/store/index.js
  23. 2 2
      TEAMModelOS/ClientApp/utils/http.js
  24. 14 3
      TEAMModelOS/Controllers/Common/LoginController.cs
  25. 86 58
      TEAMModelOS/JsonFile/Changeexam.json
  26. 54 38
      TEAMModelOS/JsonFile/Changescience.json
  27. 82 75
      TEAMModelOS/JsonFile/Changeterm.json
  28. 1 0
      TEAMModelOS/JsonFile/area.json
  29. 16 0
      TEAMModelOS/SeedData/SeedDataService.cs
  30. 1 0
      TEAMModelOS/TEAMModelOS.csproj

+ 1 - 1
TEAMModelOS.Model/Common/Models/JwtBlackRecord.cs

@@ -6,7 +6,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Common.Models
 {
-    [TableSpaceAttribute(Name = "Common")]
+    [TableSpace(Name = "Common")]
     public class JwtBlackRecord :TableEntity
     {
         public string Jti { get; set; } 

+ 1 - 1
TEAMModelOS.Model/Common/Models/LoginInfo.cs

@@ -9,7 +9,7 @@ namespace TEAMModelOS.Model.Common.Models
     /// <summary>
     /// 登录信息
     /// </summary>
-    [TableSpaceAttribute(Name = "Common")]
+    [TableSpace(Name = "Common")]
     public class LoginInfo : TableEntity
     {
         public string TeamModelId { get; set; }

+ 30 - 0
TEAMModelOS.Model/Common/Models/Region.cs

@@ -0,0 +1,30 @@
+using MessagePack;
+using Microsoft.WindowsAzure.Storage.Table;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
+
+namespace TEAMModelOS.Model.Common.Models
+{
+    [TableSpace(Name = "Common")]
+    [MessagePackObject(keyAsPropertyName: true)]
+    public class Region :TableEntity
+    {
+        [JsonProperty(PropertyName = "sysAddID")]
+        public int SysAddID { get; set; }
+        public string CountryId { get; set; }
+        public string CountryName { get; set; }
+        public string ProvinceId { get; set; }
+        public string ProvinceName { get; set; }
+        public string CityId { get; set; }
+        public string CityName { get; set; }
+        public string DistrictId { get; set; }
+        public string DistrictName { get; set; }
+        public string AreaType { get; set; }
+        public string Lang { get; set; }
+        public double Lng { get; set; }
+        public double Lat { get; set; }
+    }
+}

+ 17 - 0
TEAMModelOS.Model/Common/Models/Role.cs

@@ -0,0 +1,17 @@
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
+
+namespace TEAMModelOS.Model.Common.Models
+{
+    [TableSpace(Name = "Common")]
+    public class Role : TableEntity
+    {
+        public string Name { get; set; }
+        public string Code { get; set; }
+        public int Level { get; set; }
+        public int Status { get; set; }
+    }
+}

+ 1 - 1
TEAMModelOS.Model/Common/Models/RoleUser.cs

@@ -7,7 +7,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 namespace TEAMModelOS.Model.Common.Models
 {
 
-    [TableSpaceAttribute(Name = "Common")]
+    [TableSpace(Name = "Common")]
     public class RoleUser : TableEntity
     {
         public string Name { get; set; }

+ 30 - 0
TEAMModelOS.Model/Common/Models/School.cs

@@ -0,0 +1,30 @@
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
+
+namespace TEAMModelOS.Model.Common.Models
+{
+    [TableSpace(Name = "Common")]
+    public class School :TableEntity
+    {
+        public string Code { get; set; }
+        public string Name { get; set; }
+        public string CountryId { get; set; }
+        public string CountryName { get; set; }
+        public string ProvinceId { get; set; }
+        public string ProvinceName { get; set; }
+        public string CityId { get; set; }
+        public string CityName { get; set; }
+        public string Address { get; set; }
+        public string TypeId { get; set; }
+        public string TypeName { get; set; }
+        public string Source { get; set; }
+        public string DistId { get; set; }
+        public string DistName { get; set; }
+        public string SchoolDist { get; set; }
+        public string AliasName { get; set; }
+        public string ShortCode { get; set; }
+    }
+}

+ 1 - 1
TEAMModelOS.Model/Common/Models/TeamModelUser.cs

@@ -6,7 +6,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Common.Models
 {
-    [TableSpaceAttribute(Name = "Common")]
+    [TableSpace(Name = "Common")]
     public class TeamModelUser : TableEntity
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/Period.cs

@@ -6,7 +6,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Syllabus.Models
 {
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public  class Period : TableEntity
     {
 

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/PeriodSubject.cs

@@ -6,7 +6,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Syllabus.Models
 {
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public  class PeriodSubject : Period
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/PeriodSubjectEdition.cs

@@ -5,7 +5,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Syllabus.Models
 {
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public class PeriodSubjectEdition : PeriodSubject
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/PeriodSubjectEditionTerm.cs

@@ -9,7 +9,7 @@ namespace TEAMModelOS.Model.Syllabus.Models
     /// <summary>
     /// 学段册别表
     /// </summary>
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public class PeriodSubjectEditionTerm : PeriodSubjectEdition
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/StandardTextbook.cs

@@ -10,7 +10,7 @@ namespace TEAMModelOS.Model.Syllabus.Models
     /// <summary>
     /// 标准教材
     /// </summary>
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public class StandardTextbook : TableEntity
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/TeacherTextbook.cs

@@ -5,7 +5,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Syllabus.Models
 {
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public class TeacherTextbook : StandardTextbook
     {
         /// <summary>

+ 109 - 51
TEAMModelOS.SDK/Module/AzureTable/Implements/AzureTableDBRepository.cs

@@ -148,26 +148,28 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
             return entitys.Count;
         }
 
-        public async Task<T> FindById<T>(string id) where T : TableEntity, new()
+        public async Task<T> FindByRowKey<T>(string RowKey) where T : TableEntity, new()
         {
             string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
-            if (!string.IsNullOrEmpty(id))
+            if (!string.IsNullOrEmpty(RowKey))
             {
-                exQuery.Where(TableQuery.GenerateFilterCondition("Id", QueryComparisons.Equal, id));
-                return await QueryObject<T>(exQuery , TableName);
+                string typeStr = SwitchType(RowKey, "RowKey");
+                exQuery.Where(typeStr);
+                // exQuery.Where(TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, id));
+                return await QueryObject<T>(exQuery, TableName);
             }
             else
             {
-                return null; 
+                return null;
             }
-           
+
 
         }
 
         public async Task<List<T>> FindListByDict<T>(Dictionary<string, object> dict) where T : TableEntity, new()
         {
-            string TableName=  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
             StringBuilder builder = new StringBuilder();
             if (null != dict && dict.Count > 0)
@@ -178,13 +180,19 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 {
                     if (dict[key] != null && !string.IsNullOrEmpty(dict[key].ToString()))
                     {
+                        string typeStr = SwitchType(dict[key], key);
+
                         if (index == 1)
                         {
-                            builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            //builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append(typeStr);
+
                         }
                         else
                         {
-                            builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            //builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append("  " + TableOperators.And + "  " + typeStr);
+
                         }
                         index++;
                     }
@@ -193,30 +201,35 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 exQuery.Where(builder.ToString());
                 return await QueryList<T>(exQuery, TableName);
             }
-            else {
-                return null; 
+            else
+            {
+                return null;
             }
         }
 
-        public async Task<List<T>> FindListByKey<T>(string key, string value) where T : TableEntity, new()
+        public async Task<List<T>> FindListByKey<T>(string key, object value) where T : TableEntity, new()
         {
             string TableName = await InitializeTable<T>();
 
             var exQuery = new TableQuery<T>();
-            if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
+            if (!string.IsNullOrEmpty(key) &&null!= value && !string.IsNullOrEmpty(value.ToString()))
             {
-                exQuery.Where(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, value));
+
+                string typeStr = SwitchType(value, key);
+                exQuery.Where(typeStr);
+                //exQuery.Where(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, value));
                 return await QueryList<T>(exQuery, TableName);
             }
-            else {
-                return null; 
+            else
+            {
+                return null;
             }
-            
+
         }
 
         public async Task<T> FindOneByDict<T>(IDictionary<string, object> dict) where T : TableEntity, new()
         {
-            string TableName =  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
             StringBuilder builder = new StringBuilder();
             if (null != dict && dict.Count > 0)
@@ -227,47 +240,78 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 {
                     if (dict[key] != null && !string.IsNullOrEmpty(dict[key].ToString()))
                     {
+
+
+                        string typeStr = SwitchType(dict[key], key);
+
                         if (index == 1)
                         {
-                            builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            //builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append(typeStr);
                         }
                         else
                         {
-                            builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            // builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append("  " + TableOperators.And + "  " + typeStr);
                         }
                         index++;
                     }
                 }
                 exQuery.Where(builder.ToString());
-                return await QueryObject<T>(exQuery ,TableName);
+                return await QueryObject<T>(exQuery, TableName);
             }
             else
             {
-                return null; 
+                return null;
             }
-            
+
         }
 
-        public async Task<T> FindOneByKey<T>(string key, string value) where T : TableEntity, new()
+        private static string SwitchType(object obj, string key)
+        {
+            Type s = obj.GetType();
+            TypeCode typeCode = Type.GetTypeCode(s);
+
+            switch (typeCode)
+            {
+
+                case TypeCode.String: return TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, obj.ToString());
+                case TypeCode.Int32: return TableQuery.GenerateFilterConditionForInt(key, QueryComparisons.Equal, (int)obj);
+                case TypeCode.Double: return TableQuery.GenerateFilterConditionForDouble(key, QueryComparisons.Equal, (double)obj);
+                case TypeCode.Byte: return TableQuery.GenerateFilterConditionForBinary(key, QueryComparisons.Equal, (byte[])obj);
+                case TypeCode.Boolean: return TableQuery.GenerateFilterConditionForBool(key, QueryComparisons.Equal, (bool)obj);
+                case TypeCode.DateTime: return TableQuery.GenerateFilterConditionForDate(key, QueryComparisons.Equal, (DateTimeOffset)obj);
+                case TypeCode.Int64: return TableQuery.GenerateFilterConditionForLong(key, QueryComparisons.Equal, (long)obj);
+
+                default: return null;
+            }
+        }
+
+        public async Task<T> FindOneByKey<T>(string key, object value) where T : TableEntity, new()
         {
             string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
-            if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
+            if (!string.IsNullOrEmpty(key) && null != value && !string.IsNullOrEmpty(value.ToString()))
             {
-                exQuery.Where(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal,
-                                                                          value));
-                return await QueryObject<T>(exQuery ,TableName );
+
+                string typeStr = SwitchType(value, key);
+                exQuery.Where(typeStr);
+                //exQuery.Where(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal,
+                //                                                          value));
+
+
+                return await QueryObject<T>(exQuery, TableName);
             }
             else
             {
                 return null;
             }
-            
+
         }
 
         public async Task<List<T>> GetEntities<T>(IDictionary<string, object> dict) where T : TableEntity, new()
         {
-           string TableName=  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
             StringBuilder builder = new StringBuilder();
             if (null != dict && dict.Count > 0)
@@ -278,22 +322,29 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 {
                     if (dict[key] != null && !string.IsNullOrEmpty(dict[key].ToString()))
                     {
+                        string typeStr = SwitchType(dict, key);
+
                         if (index == 1)
                         {
-                            builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            //builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append(typeStr);
+
                         }
                         else
                         {
-                            builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            // builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append("  " + TableOperators.And + "  " + typeStr);
+
                         }
                         index++;
                     }
                 }
                 exQuery.Where(builder.ToString());
-                return await QueryList<T>(exQuery,  TableName);
+                return await QueryList<T>(exQuery, TableName);
             }
-            else {
-                return null; 
+            else
+            {
+                return null;
             }
         }
 
@@ -316,7 +367,7 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
 
         public async Task<List<T>> UpdateAll<T>(List<T> entitys) where T : TableEntity, new()
         {
-            string TableName =  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             IList<TableResult> result = null;
             Parallel.ForEach(Partitioner.Create(0, entitys.Count, 100),
                   async range =>
@@ -329,7 +380,8 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
             return entitys;
         }
 
-        public async Task<List<T>> SaveOrUpdateAll<T>(List<T> entitys) where T : TableEntity, new() {
+        public async Task<List<T>> SaveOrUpdateAll<T>(List<T> entitys) where T : TableEntity, new()
+        {
             string TableName = await InitializeTable<T>();
             IList<TableResult> result = null;
             Parallel.ForEach(Partitioner.Create(0, entitys.Count, 100),
@@ -352,7 +404,7 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                       TableBatchOperation batchOperation = new TableBatchOperation();
                       for (Int32 i = range.Item1; i < range.Item2; i++)
                           batchOperation.Delete(entitys[i]);
-                      
+
                       result = await tableClient.GetTableReference(TableName).ExecuteBatchAsync(batchOperation);
                   });
             return (List<T>)result;
@@ -360,14 +412,14 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
 
         public async Task<T> Save<T>(TableEntity entity) where T : TableEntity, new()
         {
-            string TableName= await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             TableOperation operation = TableOperation.Insert(entity);
             TableResult result = await tableClient.GetTableReference(TableName).ExecuteAsync(operation);
             return (T)result.Result;
         }
         public async Task<T> SaveOrUpdate<T>(TableEntity entity) where T : TableEntity, new()
         {
-            string TableName =  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             TableOperation operation = TableOperation.InsertOrReplace(entity);
             TableResult result = await tableClient.GetTableReference(TableName).ExecuteAsync(operation);
             return (T)result.Result;
@@ -384,7 +436,7 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
         public async Task<T> Delete<T>(TableEntity entity) where T : TableEntity, new()
         {
 
-            string TableName =  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             TableOperation operation = TableOperation.Delete(entity);
             TableResult result = await tableClient.GetTableReference(TableName).ExecuteAsync(operation);
             return (T)result.Result;
@@ -405,8 +457,9 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
         //{
         //    throw new NotImplementedException();
         //}
-        
-        public async Task<AzurePagination<T>> FindListByDict<T>(Dictionary<string, object> dict, AzureTableToken azureTableToken) where T : TableEntity, new() {
+
+        public async Task<AzurePagination<T>> FindListByDict<T>(Dictionary<string, object> dict, AzureTableToken azureTableToken) where T : TableEntity, new()
+        {
             string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
             StringBuilder builder = new StringBuilder();
@@ -418,30 +471,35 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 {
                     if (dict[key] != null && !string.IsNullOrEmpty(dict[key].ToString()))
                     {
+                        string typeStr = SwitchType(dict, key);
                         if (index == 1)
                         {
-                            builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            // builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append(typeStr);
+
                         }
                         else
                         {
-                            builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append("  " + TableOperators.And + "  " + typeStr);
+                            //builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
                         }
                         index++;
                     }
                 }
                 exQuery.Where(builder.ToString());
-                return await QueryList<T>(azureTableToken, exQuery , TableName);
+                return await QueryList<T>(azureTableToken, exQuery, TableName);
             }
-            else {
-                return null; 
+            else
+            {
+                return null;
             }
-            
+
         }
-        private async Task<AzurePagination<T>> QueryList<T>(AzureTableToken azureTableToken, TableQuery<T> exQuery,string TableName) where T : TableEntity, new()
+        private async Task<AzurePagination<T>> QueryList<T>(AzureTableToken azureTableToken, TableQuery<T> exQuery, string TableName) where T : TableEntity, new()
         {
             TableContinuationToken tableToken = new HaBookTableContinuationToken(azureTableToken).GetContinuationToken();
             List<T> entitys = new List<T>();
-            
+
             var result = await tableClient.GetTableReference(TableName).ExecuteQuerySegmentedAsync(exQuery, tableToken);
             if (result.Results.Count > 0)
             {

+ 3 - 3
TEAMModelOS.SDK/Module/AzureTable/Interfaces/IAzureTableDBRepository.cs

@@ -10,13 +10,13 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Interfaces
     {
         Task<List<T>> GetEntities<T>(IDictionary<string, object> dict) where T : TableEntity, new();
         Task<T> FindOneByDict<T>(IDictionary<string, object> dict) where T : TableEntity, new();
-        Task<T> FindById<T>(string id) where T : TableEntity, new();
+        Task<T> FindByRowKey<T>(string RowKey) where T : TableEntity, new();
         Task<T> Save<T>(TableEntity entity) where T : TableEntity, new();
         Task<T> Update<T>(TableEntity entity) where T : TableEntity, new();
         Task<T> Delete<T>(TableEntity entity) where T : TableEntity, new();
-        Task<T> FindOneByKey<T>(string key, string value) where T : TableEntity, new();
+        Task<T> FindOneByKey<T>(string key, object value) where T : TableEntity, new();
         Task<List<T>> FindListByDict<T>(Dictionary<string, object> dict) where T : TableEntity, new();
-        Task<List<T>> FindListByKey<T>(string key, string value) where T : TableEntity, new();
+        Task<List<T>> FindListByKey<T>(string key, object value) where T : TableEntity, new();
         Task<List<T>> FindAll<T>() where T : TableEntity, new();
         Task<List<T>> DeleteAll<T>(List<T> entitys) where T : TableEntity, new();
         Task<List<T>> UpdateAll<T>(List<T> entitys) where T : TableEntity, new();

+ 0 - 1
TEAMModelOS/ClientApp/components/SAbargraph.vue

@@ -26,7 +26,6 @@
        },
       methods:{
         drawLine(obj) {
-          console.log(obj,444443)
           this.$store.state.zhuxhuang.mode = false;
           let myChart = this.$echarts.init(document.getElementById('myChart'));
           myChart.setOption({

+ 8 - 1
TEAMModelOS/ClientApp/components/SAchooseattention.vue

@@ -83,7 +83,14 @@
           })
       },
       //获取关注年级值
-      listchange(value, selectedData){
+      listchange(value, selectedData) {
+        let xueduan = value[0];
+        let nianjinum = value[1];
+        if (xueduan == 'gaozhong' && nianjinum != 1) {
+          this.$store.state.wenli_show = true;
+        } else {
+          this.$store.state.wenli_show = false;
+        }
         //console.log(value,33333);
         this.$api.FindSelectGrade({})
           .then((response) => {

+ 48 - 4
TEAMModelOS/ClientApp/components/SAlinechart.vue

@@ -7,8 +7,8 @@
         </Select>
       </div>
       <div class="select">
-        <li class="wenke" @click="arts_btn">显示文科</li>
-        <li class="like" @click="science_btn">显示理科</li>
+        <li class="wenke" @click="arts_btn"   v-if="wenli_show">显示文科</li>
+        <li class="like" @click="science_btn"  v-if="wenli_show">显示理科</li>
       </div>
     </Col>
     <Col span="24">
@@ -40,6 +40,9 @@
       linechart() {
         return this.$store.state.examtype
       },
+      wenli_show() {
+        return this.$store.state.wenli_show
+      }
     },
     methods: {
       drawLine(obj) {
@@ -298,12 +301,53 @@
       },
       //显示文科 
       arts_btn() {
-        this.$api.getChangeArts({})
+        this.$api.FindSelectArts({})
           .then((response) => {
-            //console.log(response.result.data, 5555555);
+           // console.log(response.result.data, 5555555);
+            this.$store.state.selectgrade = response.result.data.selectgrade
+            //获取新的学年期
+            this.$store.state.selectterm = response.result.data.term
+            //获取新的考试次数情况
+            this.$store.state.selectexam = response.result.data.exam[0].data;
+            //获取新的基础信息
+            this.$store.state.basicsdata = response.result.data.base;
+            //获取新的各校成绩排名
+            this.$store.state.zhuxhuang = response.result.data.barecharts;
+            //获取新的各项科目表现
+            this.$store.state.leida = response.result.data.leida;
+            //获取新的科目表现对比
+            this.$store.state.pie = response.result.data.pie
+            //获取新的考试类型
+            this.$store.state.examtype = response.result.data.examtype;
+            //获取新的各校历次总分统计图
+            this.$store.state.linechart = response.result.data.linechart;
                 })
       },
       //显示理科
+      science_btn() {
+        this.$api.FindSelectScience({})
+          .then((response) => {
+            //console.log(response.result.data,77899)
+            this.$store.state.selectgrade = response.result.data.selectgrade
+            //获取新的学年期
+            this.$store.state.selectterm = response.result.data.term
+            //获取新的考试次数情况
+            this.$store.state.selectexam = response.result.data.exam[0].data;
+            //获取新的基础信息
+            this.$store.state.basicsdata = response.result.data.base;
+            //获取新的各校成绩排名
+            this.$store.state.zhuxhuang = response.result.data.barecharts;
+            //获取新的各项科目表现
+            this.$store.state.leida = response.result.data.leida;
+            //获取新的科目表现对比
+            this.$store.state.pie = response.result.data.pie
+            //获取新的考试类型
+            this.$store.state.examtype = response.result.data.examtype;
+            //获取新的各校历次总分统计图
+            this.$store.state.linechart = response.result.data.linechart;
+          })
+
+      }
     },
     watch: {
 // 		监听指令

+ 0 - 1
TEAMModelOS/ClientApp/components/SAradargraph.vue

@@ -27,7 +27,6 @@
       },
       methods:{
         drawLine(obj) {
-          console.log(obj, 6666666);
           this.$store.state.leida.mode = false;
           let myChart_lei = this.$echarts.init(document.getElementById('myChart_lei'));
           myChart_lei.setOption({

+ 12 - 13
TEAMModelOS/ClientApp/components/SAsubjectsmanifestation.vue

@@ -4,79 +4,79 @@
       <li class="subjects_listbox">
         <div class="top">
           <p class="num">{{list_data[0].score}}</p>
-          <p class="title">全校平均</p>
+          <p class="title">{{list_data[0].title}}</p>
         </div>
         <div class="center">
           <div id="myChart_one" :style="{width: '100%', height: '150px'}"></div>
         </div>
         <div class="bottom">
           <p class="num"><Icon :type="list_data[0].icon_type" :class="list_data[0].icon_color" />{{list_data[0].belowscore}}</p>
-            <p class="title">全区平均</p>
+          <p class="title">{{list_data[0].below_title}}</p>
         </div>
       </li>
     <li class="subjects_listbox">
       <div class="top">
         <p class="num">{{list_data[1].score}}</p>
-        <p class="title">全校平均</p>
+        <p class="title">{{list_data[1].title}}</p>
       </div>
       <div class="center">
         <div id="myChart_two" :style="{width: '100%', height: '150px'}"></div>
       </div>
       <div class="bottom">
         <p class="num"><Icon :type="list_data[1].icon_type"  :class="list_data[1].icon_color" />{{list_data[1].belowscore}}</p>
-        <p class="title">全区平均</p>
+        <p class="title">{{list_data[1].below_title}}</p>
       </div>
     </li>
     <li class="subjects_listbox">
       <div class="top">
         <p class="num">{{list_data[2].score}}</p>
-        <p class="title">全校平均</p>
+        <p class="title">{{list_data[2].title}}</p>
       </div>
       <div class="center">
         <div id="myChart_three" :style="{width: '100%', height: '150px'}"></div>
       </div>
       <div class="bottom">
         <p class="num"><Icon :type="list_data[2].icon_type" :class="list_data[2].icon_color" />{{list_data[2].belowscore}}</p>
-        <p class="title">全区平均</p>
+        <p class="title">{{list_data[2].below_title}}</p>
       </div>
     </li>
     <li class="subjects_listbox">
       <div class="top">
         <p class="num">{{list_data[3].score}}</p>
-        <p class="title">全校平均</p>
+        <p class="title">{{list_data[3].title}}</p>
       </div>
       <div class="center">
         <div id="myChart_four" :style="{width: '100%', height: '150px'}"></div>
       </div>
       <div class="bottom">
         <p class="num"><Icon :type="list_data[3].icon_type" :class="list_data[3].icon_color" />{{list_data[3].belowscore}}</p>
-        <p class="title">全区平均</p>
+        <p class="title">{{list_data[3].below_title}}</p>
       </div>
     </li>
     <li class="subjects_listbox">
       <div class="top">
         <p class="num">{{list_data[4].score}}</p>
-        <p class="title">全校平均</p>
+        <p class="title">{{list_data[4].title}}</p>
       </div>
       <div class="center">
         <div id="myChart_five" :style="{width: '100%', height: '150px'}"></div>
       </div>
       <div class="bottom">
         <p class="num"><Icon :type="list_data[4].icon_type" :class="list_data[4].icon_color" />{{list_data[4].belowscore}}</p>
-        <p class="title">全区平均</p>
+        <p class="title">{{list_data[4].below_title}}</p>
       </div>
     </li>
     <li class="subjects_listbox">
       <div class="top">
         <p class="num">{{list_data[5].score}}</p>
-        <p class="title">全校平均</p>
+        <p class="title">{{list_data[5].title}}</p>
       </div>
       <div class="center">
         <div id="myChart_six" :style="{width: '100%', height: '150px'}"></div>
       </div>
       <div class="bottom">
         <p class="num"><Icon :type="list_data[5].icon_type" :class="list_data[5].icon_color" />{{list_data[5].belowscore}}</p>
-        <p class="title">全区平均</p>
+        <p class="title">{{list_data[5].below_title}}</p>
       </div>
     </li>
   </div>
@@ -108,7 +108,6 @@
           //图形一
         
         One(obj) {
-          console.log(obj,5656565656)
           //this.$store.state.pie.mode = false;
           let myChart = this.$echarts.init(document.getElementById('myChart_one'));
           myChart.setOption({

+ 2 - 2
TEAMModelOS/ClientApp/store/api.js

@@ -89,10 +89,10 @@ export default {
   },
   //显示文科数据  变化数据
   FindSelectArts: function () {
-    return fetch('/api.class/getChangeArts?identity=Changarts');
+    return fetch('/api/class/getChangeArts?identity=Changarts');
   },
   //显示理科数据  变化数据
   FindSelectScience: function () {
-    return fetch('/api.class/getChangeArts?identity=Changscience')
+    return fetch('/api/class/getChangeScience?identity=Changscience');
   }
 }

+ 3 - 0
TEAMModelOS/ClientApp/store/index.js

@@ -61,6 +61,9 @@ export default new Vuex.Store({
     //考试类型选择
     examtype: {},
 
+    //文理科展现
+    wenli_show:true,
+
     periodList: [{
       value: '1',
       label: '1',

+ 2 - 2
TEAMModelOS/ClientApp/utils/http.js

@@ -9,10 +9,10 @@ axios.interceptors.request.use(
     config.data = JSON.stringify(config.data);
 
     if (localStorage.getItem('token')) {
+      config.params = { 'token': localStorage.getItem('token') };
       config.headers = {
         'Content-Type': 'application/json',
-        'Authorization': "Bearer " + localStorage.getItem('token'),
-        'token': localStorage.getItem('token') 
+        'Authorization': "Bearer " + localStorage.getItem('token')
       }
     } else {
       config.headers = {

+ 14 - 3
TEAMModelOS/Controllers/Common/LoginController.cs

@@ -74,10 +74,21 @@ namespace TEAMModelOS.Controllers.Common
         [AllowAnonymous]
         public async Task<BaseJosnRPCResponse> Login(JosnRPCRequest<Dictionary<string,object>> request)
         {
-            //string id = HttpContextHelper.GetLoginUser(_httpContextAccessor);
             JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
-            responseBuilder.Data(BaseConfigModel.Configuration["HaBookAuth:TeamModelLoginUrl"]);
-            return await Task.Factory.StartNew(() => { return responseBuilder.build(); });
+            if (request.@params.TryGetValue("type", out var type))
+            {
+                if (type.Equals("regist"))
+                {
+                    responseBuilder.Data(BaseConfigModel.Configuration["HaBookAuth:TeamModelRegistUrl"]);
+                    return await Task.Factory.StartNew(() => { return responseBuilder.build(); });
+                }
+                else if (type.Equals("login"))
+                {
+                    responseBuilder.Data(BaseConfigModel.Configuration["HaBookAuth:TeamModelLoginUrl"]);
+                    return await Task.Factory.StartNew(() => { return responseBuilder.build(); });
+                }
+            }
+            return await Task.Factory.StartNew(() => { return responseBuilder.Error("type error!").build(); });
         }
 
         

+ 86 - 58
TEAMModelOS/JsonFile/Changeexam.json

@@ -1,8 +1,36 @@
 {
-  "grade": "2",
+  "grade": "1",
   "value": "gaozhong",
   "label": "高中",
   "term": [
+    {
+      "value": "2016",
+      "label": "2016年",
+      "children": [
+        {
+          "value": "shang",
+          "label": "上学期"
+        },
+        {
+          "value": "xia",
+          "label": "下学期"
+        }
+      ]
+    },
+    {
+      "value": "2017",
+      "label": "2017年",
+      "children": [
+        {
+          "value": "shang",
+          "label": "上学期"
+        },
+        {
+          "value": "xia",
+          "label": "下学期"
+        }
+      ]
+    },
     {
       "value": "2018",
       "label": "2018年",
@@ -40,14 +68,6 @@
         {
           "value": "1",
           "label": "一年级"
-        },
-        {
-          "value": "2",
-          "label": "二年级"
-        },
-        {
-          "value": "3",
-          "label": "三年级"
         }
       ]
     }
@@ -59,6 +79,14 @@
       "data": [
         {
           "id": "1",
+          "title": "2018年第6次考试学情诊断",
+          "type": "校考",
+          "time": "2018-11-05",
+          "typename": "校级联考",
+          "num": "1563"
+        },
+        {
+          "id": "2",
           "title": "2018年第5次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
@@ -66,7 +94,7 @@
           "num": "1563"
         },
         {
-          "id": "2",
+          "id": "3",
           "title": "2018年第4次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
@@ -74,7 +102,7 @@
           "num": "1563"
         },
         {
-          "id": "3",
+          "id": "4",
           "title": "2018年第3次考试学情诊断",
           "type": "测试",
           "time": "2018-10-05",
@@ -82,7 +110,7 @@
           "num": "1563"
         },
         {
-          "id": "4",
+          "id": "5",
           "title": "2018年第2次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
@@ -90,7 +118,7 @@
           "num": "1563"
         },
         {
-          "id": "5",
+          "id": "6",
           "title": "2018年第1次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
@@ -135,13 +163,13 @@
   ],
   "barecharts": {
     "titledata": [ "语文", "数学", "英语", "物理", "化学", "生物" ],
-    "object_name": [ "高二.一班", "高二.二班", "高二.三班", "高二.四班", "高二.五班", "高二.六班", "高二.七班" ],
-  "one_data": {"name": "语文","data": [ "107", "115", "108", "99", "103", "110", "120" ]},
-  "two_data": {"name": "数学","data": [ "98", "100", "105", "109", "85", "90", "103" ]},
-  "three_data": {"name": "英语","data": [ "105", "102", "103", "100", "99", "93", "83" ]},
-  "four_data": {"name": "物理","data": [ "68", "70", "72", "78", "74", "76", "79" ]},
-  "five_data": {"name": "化学","data": [ "63", "75", "78", "81", "90", "72", "75" ]},
-  "six_data": {"name": "生物","data": [ "69", "60", "62", "78", "74", "76", "79" ]},
+    "object_name": [ "高一.一班", "高一.二班", "高一.三班", "高一.四班", "高一.五班", "高一.六班", "高一.七班" ],
+  "one_data": {"name": "语文","data": [ "98", "105", "118", "109", "103", "110", "120" ]},
+  "two_data": {"name": "数学","data": [ "98", "103", "105", "109", "85", "90", "103" ]},
+  "three_data": {"name": "英语","data": [ "105", "102", "103", "102", "99", "93", "83" ]},
+  "four_data": {"name": "物理","data": [ "68", "70", "82", "78", "74", "76", "79" ]},
+  "five_data": {"name": "化学","data": [ "73", "75", "88", "81", "90", "72", "75" ]},
+  "six_data": {"name": "生物","data": [ "69", "65", "82", "78", "84", "76", "79" ]},
   "last_data": {"name": "区域总分","data": [ "526", "526", "526", "526", "526", "526", "526" ]}
 
   },
@@ -149,8 +177,8 @@
     "titledata": [ "年级数据", "区级数据" ],
     "title_one": "年级数据" ,
     "title_two": "区级数据",
-  "data1": [ "120", "109", "105","67","82","92"],
-    "data2": [ "108", "102", "92","78","82","88"],
+  "data1": [ "118", "99", "105","70","72","92"],
+    "data2": [ "102", "105", "98","80","78","85"],
     "indicator": [
       {
       "name": "语文",
@@ -181,12 +209,12 @@
   "pie": [
     {
       "id": "1",
-      "title": "全校平均",
-      "belowscore": "82",
-      "score": "65",
+      "title": "年级平均",
+      "belowscore": "76.5",
+      "score": "82",
       "subject": "语文",
-      "occupy": "75",
-      "surplus": "25",
+      "occupy": "85",
+      "surplus": "15",
       "below_title": "全区平均",
       "icon_type": "md-arrow-dropdown",
       "icon_color": "icon_top",
@@ -196,43 +224,43 @@
     {
 
       "id": "2",
-      "title": "全校平均",
-      "score": "88",
+      "title": "年级平均",
+      "score": "83.4",
       "subject": "数学",
-      "occupy": "65",
-      "surplus": "35",
+      "occupy": "70",
+      "surplus": "30",
       "below_title": "全区平均",
-      "belowscore": "72",
+      "belowscore": "71.6",
       "icon_type": "md-arrow-dropdown",
       "icon_color": "icon_down",
-      "color": "#ff6b6b",
+      "color": "rgb(253,201,89,.7)",
       "state": 0
     },
     {
 
       "id": "3",
-      "title": "全校平均",
-      "score": "68",
+      "title": "年级平均",
+      "score": "75.5",
       "subject": "英语",
-      "occupy": "85",
-      "surplus": "15",
+      "occupy": "65",
+      "surplus": "35",
       "below_title": "全区平均",
-      "belowscore": "72",
+      "belowscore": "79",
       "icon_type": "md-arrow-dropup",
       "icon_color": "icon_top",
-      "color": "#1cd0a1",
+      "color": "rgb(253,201,89,.7)",
       "state": 1
     },
     {
 
       "id": "4",
-      "title": "全校平均",
-      "score": "68",
+      "title": "年级平均",
+      "score": "68.3",
       "subject": "物理",
       "occupy": "60",
       "surplus": "40",
       "below_title": "全区平均",
-      "belowscore": "80",
+      "belowscore": "80.5",
       "icon_type": "md-arrow-dropdown",
       "icon_color": "icon_down",
       "color": "#ff6b6b",
@@ -241,31 +269,31 @@
     {
 
       "id": "5",
-      "title": "全校平均",
-      "score": "72",
+      "title": "年级平均",
+      "score": "72.8",
       "subject": "化学",
-      "occupy": "78",
-      "surplus": "22",
+      "occupy": "60",
+      "surplus": "40",
       "below_title": "全区平均",
-      "belowscore": "83",
+      "belowscore": "83.4",
       "icon_type": "md-arrow-dropdown",
       "icon_color": "icon_down",
-      "color": "rgb(253,201,89,.7)",
+      "color": "#ff6b6b",
       "state": 1
     },
     {
 
       "id": "6",
-      "title": "全校平均",
-      "score": "68",
+      "title": "年级平均",
+      "score": "79",
       "subject": "生物",
       "occupy": "85",
       "surplus": "15",
       "below_title": "全区平均",
-      "belowscore": "66",
+      "belowscore": "76.7",
       "icon_type": "md-arrow-dropdown",
       "icon_color": "icon_top",
-      "color": "#1cd0a1",
+      "color": "rgb(253,201,89,.7)",
       "state": 0
     }
   ],
@@ -297,28 +325,28 @@
   ],
   "linechart": {
     "model": true,
-    "obj_name": [ "高二.一班", "高二.二班", "高二.三班", "高二.四班", "高二.五班" ],
+    "obj_name": [ "高一.一班", "高一.二班", "高一.三班", "高一.四班", "高一.五班" ],
     "obj_data": [ "2019第一次区级联考", "2019第二次区级联考", "2019第三次区级联考", "2019第四次区级联考", "2019第五次区级联考" ],
     "obj_series": [
       {
         "name": "高三.一班",
-        "data": [ "230", "280", "250", "290", "288" ]
+        "data": [ "210", "280", "260", "290", "288" ]
       },
       {
         "name": "高二.二班",
-        "data": [ "220", "240", "250", "250", "220" ]
+        "data": [ "225", "240", "280", "275", "268" ]
       },
       {
         "name": "高二.三班",
-        "data": [ "260", "230", "240", "230", "210" ]
+        "data": [ "200", "230", "240", "230", "210" ]
       },
       {
         "name": "高二.四班",
-        "data": [ "245", "280", "230", "210", "220" ]
+        "data": [ "215", "280", "270", "215", "220" ]
       },
       {
         "name": "高二.五班",
-        "data": [ "268", "235", "248", "215", "240" ]
+        "data": [ "228", "235", "248", "215", "240" ]
       }
     ]
   }

+ 54 - 38
TEAMModelOS/JsonFile/Changescience.json

@@ -87,7 +87,7 @@
       "data": [
         {
           "id": "1",
-          "title": "2018年第6次考试学情诊断",
+          "title": "2018年第8次考试学情诊断",
           "type": "校考",
           "time": "2018-11-05",
           "typename": "校级联考",
@@ -95,6 +95,22 @@
         },
         {
           "id": "2",
+          "title": "2018年第7次考试学情诊断",
+          "type": "校考",
+          "time": "2018-11-05",
+          "typename": "校级联考",
+          "num": "1563"
+        },
+        {
+          "id": "3",
+          "title": "2018年第6次考试学情诊断",
+          "type": "校考",
+          "time": "2018-11-05",
+          "typename": "校级联考",
+          "num": "1563"
+        },
+        {
+          "id": "4",
           "title": "2018年第5次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
@@ -102,7 +118,7 @@
           "num": "1563"
         },
         {
-          "id": "3",
+          "id": "5",
           "title": "2018年第4次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
@@ -110,7 +126,7 @@
           "num": "1563"
         },
         {
-          "id": "4",
+          "id": "6",
           "title": "2018年第3次考试学情诊断",
           "type": "测试",
           "time": "2018-10-05",
@@ -118,7 +134,7 @@
           "num": "1563"
         },
         {
-          "id": "5",
+          "id": "7",
           "title": "2018年第2次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
@@ -126,7 +142,7 @@
           "num": "1563"
         },
         {
-          "id": "6",
+          "id": "8",
           "title": "2018年第1次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
@@ -172,17 +188,17 @@
   "barecharts": {
     "titledata": [ "语文", "数学", "英语", "地理", "历史", "政治" ],
     "object_name": [ "高三.一班", "高三.二班", "高三.三班", "高三.四班", "高三.五班", "高三.六班", "高三.七班" ],
-    "one_data": { "name":"语文","data":[ "122", "115", "108", "99", "103", "110", "120" ] },
+    "one_data": { "name":"语文","data":[ "112", "115", "118", "99", "103", "110", "120" ] },
 
     "two_data": { "name":"数学","data":[ "108", "100", "105", "109", "85", "90", "103" ] },
 
-    "three_data": {"name":"英语", "data":[ "115", "102", "103", "100", "99", "93", "83" ] },
+    "three_data": {"name":"英语", "data":[ "115", "102", "113", "100", "99", "93", "83" ] },
 
-    "four_data": {"name":"地理" ,"data":[ "88", "70", "72", "78", "74", "76", "79" ] },
+    "four_data": {"name":"地理" ,"data":[ "88", "70", "72", "88", "74", "76", "79" ] },
 
-    "five_data": { "name":"历史","data":[ "73", "75", "78", "81", "90", "72", "75" ] },
+    "five_data": { "name":"历史","data":[ "63", "75", "78", "81", "90", "72", "75" ] },
 
-    "six_data": {"name": "政治","data":[ "78", "60", "62", "78", "74", "76", "79" ] },
+    "six_data": {"name": "政治","data":[ "68", "60", "62", "78", "74", "76", "79" ] },
 
     "last_data": {"name": "区域总分","data":[ "526", "526", "526", "526", "526", "526", "526" ]}
   },
@@ -190,8 +206,8 @@
     "titledata": [ "年级数据", "区级数据" ],
     "title_one": "年级数据" ,
     "title_two": "区级数据",
-  "data1": [ "105", "89", "105","67","82","92"],
-    "data2": [ "99", "100", "92","72","80","85"],
+  "data1": [ "95", "108", "110","62","85","85"],
+    "data2": [ "108", "97", "95","78","80","70"],
     "indicator": [
       {
       "name": "语文",
@@ -206,15 +222,15 @@
       "max": 150
     },
       {
-        "name": "理",
+        "name": "理",
         "max": 100
       },
     {
-      "name": "历史",
+      "name": "化学",
       "max": 100
     },
     {
-      "name": "政治",
+      "name": "生物",
       "max": 100
     }
     ]
@@ -223,15 +239,15 @@
     {
       "id": "1",
       "title": "全校平均",
-      "belowscore": "82",
+      "belowscore": "72",
       "score": "65",
       "subject": "语文",
-      "occupy": "75",
-      "surplus": "25",
+      "occupy": "65",
+      "surplus": "35",
       "below_title": "全区平均",
       "icon_type": "md-arrow-dropdown",
-      "icon_color": "icon_top",
-      "color": "#1cd0a1",
+      "icon_color": "icon_down",
+      "color": "rgb(253,201,89,.7)",
       "state": 1
     },
     {
@@ -268,15 +284,15 @@
 
       "id": "4",
       "title": "全校平均",
-      "score": "68",
-      "subject": "理",
-      "occupy": "60",
-      "surplus": "40",
+      "score": "78",
+      "subject": "理",
+      "occupy": "75",
+      "surplus": "25",
       "below_title": "全区平均",
       "belowscore": "80",
-      "icon_type": "md-arrow-dropdown",
-      "icon_color": "icon_down",
-      "color": "#ff6b6b",
+      "icon_type": "md-arrow-dropup",
+      "icon_color": "icon_top",
+      "color": "#1cd0a1",
       "state": 0
     },
     {
@@ -284,7 +300,7 @@
       "id": "5",
       "title": "全校平均",
       "score": "72",
-      "subject": "历史",
+      "subject": "化学",
       "occupy": "78",
       "surplus": "22",
       "below_title": "全区平均",
@@ -298,15 +314,15 @@
 
       "id": "6",
       "title": "全校平均",
-      "score": "68",
-      "subject": "政治",
-      "occupy": "85",
-      "surplus": "15",
+      "score": "60",
+      "subject": "生物",
+      "occupy": "50",
+      "surplus": "50",
       "below_title": "全区平均",
-      "belowscore": "66",
+      "belowscore": "68",
       "icon_type": "md-arrow-dropdown",
-      "icon_color": "icon_top",
-      "color": "#1cd0a1",
+      "icon_color": "icon_down",
+      "color": "#ff6b6b",
       "state": 0
     }
   ],
@@ -347,11 +363,11 @@
       },
       {
         "name": "高三.二班",
-        "data": [ "220", "240", "250", "250", "220" ]
+        "data": [ "220", "260", "250", "250", "220" ]
       },
       {
         "name": "高三.三班",
-        "data": [ "260", "230", "240", "230", "210" ]
+        "data": [ "260", "255", "240", "230", "210" ]
       },
       {
         "name": "高三.四班",
@@ -359,7 +375,7 @@
       },
       {
         "name": "高三.五班",
-        "data": [ "268", "235", "248", "215", "240" ]
+        "data": [ "268", "245", "248", "215", "240" ]
       }
     ]
   }

+ 82 - 75
TEAMModelOS/JsonFile/Changeterm.json

@@ -1,5 +1,5 @@
 {
-  "grade": "3",
+  "grade": "1",
   "value": "gaozhong",
   "label": "高中",
   "term": [
@@ -68,14 +68,6 @@
         {
           "value": "1",
           "label": "一年级"
-        },
-        {
-          "value": "2",
-          "label": "二年级"
-        },
-        {
-          "value": "3",
-          "label": "三年级"
         }
       ]
     }
@@ -87,7 +79,7 @@
       "data": [
         {
           "id": "1",
-          "title": "2018年第6次考试学情诊断",
+          "title": "2019年第6次考试学情诊断",
           "type": "校考",
           "time": "2018-11-05",
           "typename": "校级联考",
@@ -95,7 +87,7 @@
         },
         {
           "id": "2",
-          "title": "2018年第5次考试学情诊断",
+          "title": "2019年第5次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
           "typename": "校级联考",
@@ -103,7 +95,7 @@
         },
         {
           "id": "3",
-          "title": "2018年第4次考试学情诊断",
+          "title": "2019年第4次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
           "typename": "校级联考",
@@ -111,7 +103,7 @@
         },
         {
           "id": "4",
-          "title": "2018年第3次考试学情诊断",
+          "title": "2019年第3次考试学情诊断",
           "type": "测试",
           "time": "2018-10-05",
           "typename": "测验",
@@ -119,7 +111,7 @@
         },
         {
           "id": "5",
-          "title": "2018年第2次考试学情诊断",
+          "title": "2019年第2次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
           "typename": "校级联考",
@@ -127,7 +119,7 @@
         },
         {
           "id": "6",
-          "title": "2018年第1次考试学情诊断",
+          "title": "2019年第1次考试学情诊断",
           "type": "校考",
           "time": "2018-10-05",
           "typename": "校级联考",
@@ -170,28 +162,43 @@
     }
   ],
   "barecharts": {
-    "titledata": [ "语文", "数学", "英语", "地理", "历史", "政治" ],
-    "object_name": [ "高三.一班", "高三.二班", "高三.三班", "高三.四班", "高三.五班", "高三.六班", "高三.七班" ],
-    "one_data": { "name":"语文","data":[ "122", "115", "108", "99", "103", "110", "120" ] },
-
-    "two_data": { "name":"数学","data":[ "108", "100", "105", "109", "85", "90", "103" ] },
-
-    "three_data": {"name":"英语", "data":[ "115", "102", "103", "100", "99", "93", "83" ] },
-
-    "four_data": {"name":"地理" ,"data":[ "88", "70", "72", "78", "74", "76", "79" ] },
-
-    "five_data": { "name":"历史","data":[ "73", "75", "78", "81", "90", "72", "75" ] },
-
-    "six_data": {"name": "政治","data":[ "78", "60", "62", "78", "74", "76", "79" ] },
-
-    "last_data": {"name": "区域总分","data":[ "526", "526", "526", "526", "526", "526", "526" ]}
+    "titledata": [ "语文", "数学", "英语", "物理", "化学", "生物" ],
+    "object_name": [ "高一.一班", "高一.二班", "高一.三班", "高一.四班", "高一.五班", "高一.六班", "高一.七班" ],
+    "one_data": {
+      "name": "语文",
+      "data": [ "105", "108", "95", "96", "99", "100", "110" ]
+    },
+    "two_data": {
+      "name": "数学",
+      "data": [ "98", "105", "107", "115", "85", "95", "103" ]
+    },
+    "three_data": {
+      "name": "英语",
+      "data": [ "115", "102", "103", "100", "99", "93", "83" ]
+    },
+    "four_data": {
+      "name": "物理",
+      "data": [ "88", "70", "72", "78", "74", "76", "79" ]
+    },
+    "five_data": {
+      "name": "化学",
+      "data": [ "73", "75", "78", "81", "90", "72", "75" ]
+    },
+    "six_data": {
+      "name": "生物",
+      "data": [ "78", "60", "62", "78", "74", "76", "79" ]
+    },
+    "last_data": {
+      "name": "区域总分",
+      "data": [ "526", "526", "526", "526", "526", "526", "526" ]
+    }
   },
   "leida": {
     "titledata": [ "年级数据", "区级数据" ],
     "title_one": "年级数据" ,
     "title_two": "区级数据",
-  "data1": [ "105", "89", "105","67","82","92"],
-    "data2": [ "99", "100", "92","72","80","85"],
+  "data1": [ "99", "102", "108","76","82","92"],
+    "data2": [ "105", "110", "103","68","75","80"],
     "indicator": [
       {
       "name": "语文",
@@ -206,15 +213,15 @@
       "max": 150
     },
       {
-        "name": "理",
+        "name": "理",
         "max": 100
       },
     {
-      "name": "历史",
+      "name": "化学",
       "max": 100
     },
     {
-      "name": "政治",
+      "name": "生物",
       "max": 100
     }
     ]
@@ -222,43 +229,43 @@
   "pie": [
     {
       "id": "1",
-      "title": "全校平均",
-      "belowscore": "82",
-      "score": "65",
+      "title": "年级平均",
+      "belowscore": "78",
+      "score": "75",
       "subject": "语文",
-      "occupy": "75",
-      "surplus": "25",
+      "occupy": "60",
+      "surplus": "40",
       "below_title": "全区平均",
       "icon_type": "md-arrow-dropdown",
-      "icon_color": "icon_top",
-      "color": "#1cd0a1",
+      "icon_color": "icon_down",
+      "color": "rgb(253,201,89,.7)",
       "state": 1
     },
     {
 
       "id": "2",
-      "title": "全校平均",
-      "score": "88",
+      "title": "年级平均",
+      "score": "85",
       "subject": "数学",
-      "occupy": "65",
-      "surplus": "35",
+      "occupy": "75",
+      "surplus": "25",
       "below_title": "全区平均",
-      "belowscore": "72",
+      "belowscore": "70",
       "icon_type": "md-arrow-dropdown",
       "icon_color": "icon_down",
-      "color": "#ff6b6b",
+      "color": "#1cd0a1",
       "state": 0
     },
     {
 
       "id": "3",
-      "title": "全校平均",
-      "score": "68",
+      "title": "年级平均",
+      "score": "88",
       "subject": "英语",
-      "occupy": "85",
-      "surplus": "15",
+      "occupy": "80",
+      "surplus": "20",
       "below_title": "全区平均",
-      "belowscore": "72",
+      "belowscore": "86",
       "icon_type": "md-arrow-dropup",
       "icon_color": "icon_top",
       "color": "#1cd0a1",
@@ -267,9 +274,9 @@
     {
 
       "id": "4",
-      "title": "全校平均",
+      "title": "年级平均",
       "score": "68",
-      "subject": "理",
+      "subject": "理",
       "occupy": "60",
       "surplus": "40",
       "below_title": "全区平均",
@@ -282,9 +289,9 @@
     {
 
       "id": "5",
-      "title": "全校平均",
+      "title": "年级平均",
       "score": "72",
-      "subject": "历史",
+      "subject": "化学",
       "occupy": "78",
       "surplus": "22",
       "below_title": "全区平均",
@@ -297,16 +304,16 @@
     {
 
       "id": "6",
-      "title": "全校平均",
-      "score": "68",
-      "subject": "政治",
-      "occupy": "85",
-      "surplus": "15",
+      "title": "年级平均",
+      "score": "62",
+      "subject": "生物",
+      "occupy": "55",
+      "surplus": "45",
       "below_title": "全区平均",
-      "belowscore": "66",
+      "belowscore": "65",
       "icon_type": "md-arrow-dropdown",
       "icon_color": "icon_top",
-      "color": "#1cd0a1",
+      "color": "#ff6b6b",
       "state": 0
     }
   ],
@@ -338,28 +345,28 @@
   ],
   "linechart": {
     "model": true,
-    "obj_name": [ "高三.一班", "高三.二班", "高三.三班", "高三.四班", "高三.五班" ],
+    "obj_name": [ "高一.一班", "高一.二班", "高一.三班", "高一.四班", "高一.五班" ],
     "obj_data": [ "2019第一次区级联考", "2019第二次区级联考", "2019第三次区级联考", "2019第四次区级联考", "2019第五次区级联考" ],
     "obj_series": [
       {
-        "name": "高.一班",
-        "data": [ "230", "280", "250", "290", "288" ]
+        "name": "高.一班",
+        "data": [ "200", "280", "260", "290", "288" ]
       },
       {
-        "name": "高.二班",
-        "data": [ "220", "240", "250", "250", "220" ]
+        "name": "高.二班",
+        "data": [ "190", "255", "260", "260", "220" ]
       },
       {
-        "name": "高.三班",
-        "data": [ "260", "230", "240", "230", "210" ]
+        "name": "高.三班",
+        "data": [ "240", "220", "260", "255", "230" ]
       },
       {
-        "name": "高.四班",
-        "data": [ "245", "280", "230", "210", "220" ]
+        "name": "高.四班",
+        "data": [ "275", "260", "270", "280", "265" ]
       },
       {
-        "name": "高.五班",
-        "data": [ "268", "235", "248", "215", "240" ]
+        "name": "高.五班",
+        "data": [ "268", "245", "258", "235", "240" ]
       }
     ]
   }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
TEAMModelOS/JsonFile/area.json


+ 16 - 0
TEAMModelOS/SeedData/SeedDataService.cs

@@ -3,7 +3,11 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
+using TEAMModelOS.Model.Common.Models;
 using TEAMModelOS.Model.Syllabus.Models;
+using TEAMModelOS.SDK.Context.Configuration;
+using TEAMModelOS.SDK.Helper.Common.FileHelper;
+using TEAMModelOS.SDK.Helper.Common.JsonHelper;
 using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
 
 namespace TEAMModelOS.SeedData
@@ -16,12 +20,24 @@ namespace TEAMModelOS.SeedData
             _azureTableDBRepository = azureTableDBRepository;
         }
 
+        public void SeedArea()
+        {
+
+            string path =  BaseConfigModel.ContentRootPath+ "/JsonFile/area.json" ;
+            string areaString =   FileHelper.FileToString(path);
+            List<Region> regions = MessagePackHelper.JsonToObject<List<Region>>(areaString);
+            regions.ForEach(m=> {
+                m.RowKey = m.SysAddID + "";
+            });
+        }
+
         public void SeedRootAdmin() {
 
         }
 
         public  void SeedData()
         {
+            SeedArea();
             string Lang = "zh-cn";
             List<Period> periods = new List<Period> {
                 new Period { PartitionKey= Lang , Name="小学",RowKey="Period_21",Type="Period",Lang=Lang },

+ 1 - 0
TEAMModelOS/TEAMModelOS.csproj

@@ -1,6 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
   <PropertyGroup>
     <TargetFramework>netcoreapp2.2</TargetFramework>
+    <UserSecretsId>a25fbaf0-43f2-412e-a606-4a19c5766202</UserSecretsId>
   </PropertyGroup>
   <ItemGroup>
     <Compile Remove="Providers\**" />