diff --git a/DataSendApi.Program/App.config b/DataSendApi.Program/App.config
new file mode 100644
index 0000000..13c736e
--- /dev/null
+++ b/DataSendApi.Program/App.config
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DataSendApi.Program/BLL/BusinessProcess.cs b/DataSendApi.Program/BLL/BusinessProcess.cs
new file mode 100644
index 0000000..6be2024
--- /dev/null
+++ b/DataSendApi.Program/BLL/BusinessProcess.cs
@@ -0,0 +1,545 @@
+using DataSendApi.Program.BLL.Token;
+using DataSendApi.Program.CustomizeAttribute;
+using DataSendApi.Program.Model;
+using DataSendApi.Program.Oracle;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+namespace DataSendApi.Program.BLL
+{
+ class DataTableModel
+ {
+ ///
+ /// 当前类型
+ ///
+ public Type Type { get; set; }
+ ///
+ /// 当前表
+ ///
+ public CustomizeTableAttribute CustomizeTable { get; set; } = new CustomizeTableAttribute();
+ ///
+ /// 当前列集合
+ ///
+ public List CustomizeFieldLst { get; set; } = new List();
+ ///
+ /// 当前数据集合
+ ///
+ public List CustomizeData { get; set; } = new List();
+ }
+ public class BusinessProcess
+ {
+ ///
+ /// 通过excel地址, 处理数据到数据库
+ ///
+ public ReturnEntity HandleByDatabase(string path)
+ {
+ var retObj = new ReturnEntity();
+ //获取Excel的数据模型
+ var data = new HandleExcel().ReadFromExcelFile(path);
+ //表名
+ string TableName = string.Empty;
+ //列名
+ List ColoumnsName = new List();
+ //数据集合
+ List> DataLst = new List>();
+
+
+ #region 效验数据 并获取数据集合
+ //校验数据模型
+ if (data.Count <= 4)
+ {
+ retObj.Code = 1;
+ retObj.Message = "数据导入失败,表格行数异常或无数据";
+ return retObj;
+ }
+ if (!data[1][0].Contains("$"))
+ {
+ retObj.Code = 1;
+ retObj.Message = "数据导入失败,模板异常,请重新下载模板";
+ return retObj;
+ }
+ //获取表名
+ TableName = data[1][0].Split('$')[1].ToUpper();
+ if (!Common.AllTableName.Contains(TableName))
+ {
+ retObj.Code = 1;
+ retObj.Message = "数据导入失败,该表不存在,模板异常,请重新下载模板";
+ return retObj;
+ }
+ //获取列名
+ foreach (var item in data[2])
+ {
+ if (!item.Contains("$"))
+ {
+ retObj.Code = 1;
+ retObj.Message = "数据导入失败,模板异常,请重新下载模板";
+ return retObj;
+ }
+ string coloumnName = item.Split('$')[1].ToUpper();
+ if (!Common.AllColoumnName.Contains(TableName + "." + coloumnName))
+ {
+ retObj.Code = 1;
+ retObj.Message = "数据导入失败,模板异常,请重新下载模板";
+ return retObj;
+ }
+ ColoumnsName.Add(coloumnName);
+ }
+
+ for (int i = 4; i < data.Count; i++)
+ {
+ var _tempData = new List();
+ for (int j = 0; j < ColoumnsName.Count; j++)
+ {
+ if (j + 1 <= data[i].Count())
+ {
+ _tempData.Add(data[i][j]);
+ }
+ else
+ {
+ _tempData.Add("");
+ }
+ }
+ DataLst.Add(_tempData);
+ }
+ #endregion
+
+ #region 获取表 列属性
+ //获取表列属性
+ var curType = Type.GetType($"DataSendApi.Program.Model.{TableName}Entity");
+ List FieldAttrLst = new List();
+ CustomizeTableAttribute TableAttr = curType.GetCustomAttributes(typeof(CustomizeTableAttribute), false)[0] as CustomizeTableAttribute;
+ foreach (var item in ColoumnsName)
+ {
+ var curPType = curType.GetProperty(item).GetCustomAttributes(typeof(CustomizeFieldAttribute), false)[0] as CustomizeFieldAttribute;
+ FieldAttrLst.Add(curPType);
+ }
+ #endregion
+
+ #region 验证数据
+ //循环每行数据
+ for (int i = 0; i < DataLst.Count; i++)
+ {
+ var rowCount = i + 1;
+ var rowData = DataLst[i];
+ //循环每列数据
+ for (int j = 0; j < FieldAttrLst.Count; j++)
+ {
+ var rowAttr = FieldAttrLst[j];
+ //数据校验
+
+ //验证效验列
+ if (rowAttr.IsExcelVerify && rowData[j] == "")
+ {
+ retObj.Code = 2;
+ retObj.Message = $"数据导入失败,第[{rowCount}]行,[{rowAttr.ChineseColumnName}]列为必填项!";
+ return retObj;
+ }
+ //验证填写基础数据是否正确
+ if (rowAttr.IsJson)
+ {
+ if (rowAttr.TsVerify == "1" && rowData[j].Replace("|", "").Length > 0)
+ {
+ string _t = string.Empty;
+ foreach (var ts in rowData[j].Split('|'))
+ {
+ if (string.IsNullOrEmpty(ts)) continue;
+
+ var _temp = Common.GGSJZDLst.FirstOrDefault(P => P.ZDLX == rowAttr.JsonName && P.MC == ts);
+ if (_temp == null || string.IsNullOrEmpty(_temp.DM))
+ {
+ retObj.Code = 2;
+ retObj.Message = $"数据导入失败,第[{rowCount}]行,[{rowAttr.ChineseColumnName}]请参照对应的字段表填写名称!";
+ return retObj;
+ }
+ _t += _temp.DM + "||";
+ }
+ rowData[j] = _t.Substring(0, _t.Length - 2);
+ }
+ else
+ {
+ var _temp = Common.GGSJZDLst.FirstOrDefault(P => P.ZDLX == rowAttr.JsonName && P.MC == rowData[j]);
+ if (_temp == null || string.IsNullOrEmpty(_temp.DM))
+ {
+ retObj.Code = 2;
+ retObj.Message = $"数据导入失败,第[{rowCount}]行,[{rowAttr.ChineseColumnName}]请参照对应的字段表填写名称!";
+ return retObj;
+ }
+ rowData[j] = _temp.DM;
+ }
+ }
+ //验证值是否为数字
+ if (rowAttr.ColumnType == "decimal")
+ {
+ try
+ {
+ Convert.ToDecimal(rowData[j]);
+ }
+ catch
+ {
+ retObj.Code = 2;
+ retObj.Message = $"数据导入失败,第[{rowCount}]行,[{rowAttr.ChineseColumnName}]列只能填写数字!";
+ return retObj;
+ }
+ }
+ //数据格式验证
+ if (rowAttr.ColumnFormat != "" && rowAttr.ColumnFormat.Length > 0)
+ {
+ try
+ {
+ if (rowData[j] != null && rowData[j] != "")
+ {
+ if (rowData[j].Length == rowAttr.ColumnFormat.Length)
+ {
+ Convert.ToDateTime(rowData[j]);
+ }
+ else
+ {
+ retObj.Code = 2;
+ retObj.Message = $"数据导入失败,第[{rowCount}]行,[{rowAttr.ChineseColumnName}]列未按照格式填写,参考格式{rowAttr.ColumnFormat}!";
+ return retObj;
+ }
+ }
+ }
+ catch
+ {
+ retObj.Code = 2;
+ retObj.Message = $"数据导入失败,第[{rowCount}]行,[{rowAttr.ChineseColumnName}]列未按照格式填写,参考格式{rowAttr.ColumnFormat}!";
+ return retObj;
+ }
+ }
+ //数据长度验证
+ if (rowAttr.ColumnType == "string")
+ {
+ if (!rowAttr.IsJson && rowData[j].Length > rowAttr.ColumnLength)
+ {
+
+ retObj.Code = 2;
+ retObj.Message = $"数据导入失败,第[{rowCount}]行,[{rowAttr.ChineseColumnName}]列字符过多,不能超过{rowAttr.ColumnLength}个字符!";
+ return retObj;
+ }
+ }
+ //换行验证
+ if (rowData[j] != null && rowData[j] != "")
+ {
+ if (rowData[j].IndexOf('\n') >= 0)
+ {
+ retObj.Code = 2;
+ retObj.Message = $"数据导入失败,第[{rowCount}]行,[{rowAttr.ChineseColumnName}]列不允许换行!";
+ return retObj;
+ }
+ }
+
+
+ }
+ }
+ #endregion
+
+
+ #region 封装数据
+ //封装数据
+ DataTableModel dataTableModel = new DataTableModel();
+ dataTableModel.Type = curType;
+ dataTableModel.CustomizeTable = TableAttr;
+
+ foreach (var item in dataTableModel.Type.GetProperties())
+ {
+ var _temp = (item.GetCustomAttributes(typeof(CustomizeFieldAttribute), false)[0] as CustomizeFieldAttribute);
+ if (_temp.IsDatabase)
+ dataTableModel.CustomizeFieldLst.Add(_temp);
+ }
+ for (int i = 0; i < DataLst.Count; i++)
+ {
+ var _data = DataLst[i];
+ Hashtable _ht = new Hashtable();
+
+ foreach (var item in dataTableModel.CustomizeFieldLst)
+ {
+ if (item.IsPrimaryKey)
+ {
+ _ht.Add(item.DatabaseColumnName, Guid.NewGuid().ToString().Replace("-", ""));
+ continue;
+ }
+ if (item.DatabaseColumnName == "SJCJSJ")
+ {
+ _ht.Add("SJCJSJ", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
+ continue;
+ }
+ if (item.DatabaseColumnName == "IsPush")
+ {
+ _ht.Add("IsPush", "0");
+ continue;
+ }
+
+ for (int j = 0; j < FieldAttrLst.Count; j++)
+ {
+ if (FieldAttrLst[j].DatabaseColumnName == item.DatabaseColumnName)
+ {
+ _ht.Add(item.DatabaseColumnName, _data[j]);
+ }
+ }
+ }
+ dataTableModel.CustomizeData.Add(_ht);
+ }
+ #endregion
+
+
+
+ return ConnentionDataByDatabase(dataTableModel);
+ }
+ ///
+ /// 获取推送数据
+ ///
+ public ReturnEntity GetDataPush(string table)
+ {
+ var retObj = new ReturnEntity();
+
+ #region 获取表 列属性
+ //获取表列属性
+ var curType = Type.GetType($"DataSendApi.Program.Model.{table.ToUpper()}Entity");
+ List FieldAttrLst = new List();
+ CustomizeTableAttribute TableAttr = curType.GetCustomAttributes(typeof(CustomizeTableAttribute), false)[0] as CustomizeTableAttribute;
+ foreach (var item in curType.GetProperties())
+ {
+ var curPType = item.GetCustomAttributes(typeof(CustomizeFieldAttribute), false)[0] as CustomizeFieldAttribute;
+ FieldAttrLst.Add(curPType);
+ }
+ #endregion
+
+ #region 获取数据
+ string _sql = $"SELECT * FROM {table.ToUpper()} WHERE IsPush = '0' ";
+ var _tempLst = DbContext.Query(_sql);
+ if (_tempLst == null || _tempLst.Count() <= 0)
+ {
+ retObj.Code = 4;
+ retObj.Message = "该表无可推送数据";
+ return retObj;
+ }
+ string retrunJson = $@"
+{{
+ ""dataObjName"" : ""{table.ToLower()}"",
+ ""fileds"" : [";
+
+ foreach (var item in _tempLst)
+ {
+ var fields = item as IDictionary;
+ retrunJson += $@"
+ {{";
+ foreach (var val in FieldAttrLst)
+ {
+ if (val.IsExcel)
+ {
+ var value = string.Empty;
+ if (fields[val.DatabaseColumnName] != null)
+ value = fields[val.DatabaseColumnName].ToString();
+ //获取特殊数据库数据
+ if (val.TsVerify == "2")
+ {
+ value = DbContext.ExecuteScalar(" SELECT COUNT(*) FROM ods_dyfzqkjcsj");
+ }
+
+ var num = value.IndexOf('\n');
+ if ((num) >= 0)
+ {
+ value = value.Replace("\n", ",");
+ }
+
+
+ retrunJson += $"\"{val.DatabaseColumnName.ToLower()}\" : \"{value}\",";
+ }
+ }
+ retrunJson = retrunJson.Substring(0, retrunJson.Length - 1);
+ retrunJson += $@"
+ }},";
+ }
+ retrunJson = retrunJson.Substring(0, retrunJson.Length - 1);
+ retrunJson += @"
+ ]
+}";
+ retObj.Data = retrunJson;
+
+ return retObj;
+ #endregion
+ }
+
+ ///
+ /// 执行推送
+ ///
+ public ReturnEntity ExecDataPush(string tablename)
+ {
+ var ret = GetDataPush(tablename);
+
+ if (ret.Code != 0) return ret;
+
+
+
+ return new DataCollectionService().PushData(ret.Data as string);
+ }
+
+ ///
+ /// 数据增量查询
+ ///
+ /// 表名
+ /// 开始时间(yyyy-MM-dd hh:mm:ss)
+ /// 结束时间(yyyy-MM-dd hh:mm:ss)
+ /// 页码
+ /// 每页大小
+ ///
+ public ReturnEntity GetPushDataAddCount(
+ string tableName,
+ string startTime,
+ string endTime,
+ int page = 1,
+ int limit = 100
+ )
+ {
+ return new DataCollectionService().GetPushDataAddCount(tableName, startTime, endTime, page, limit);
+ }
+
+ public ReturnEntity GetTableCount(string tableName)
+ {
+ string _sql = "";
+ foreach (var item in tableName.Split(','))
+ {
+ if (string.IsNullOrEmpty(item)) continue;
+ _sql += $@"
+SELECT '{item}' as tablename ,COUNT(*) as count FROM {item.ToUpper()} WHERE IsPush = '0'
+";
+ _sql += " UNION ALL";
+ }
+ var retObj = new ReturnEntity();
+
+ _sql = _sql.Length > 0 ? _sql.Substring(0, _sql.Length - 10) : _sql;
+ if (!string.IsNullOrEmpty(_sql))
+ {
+
+ retObj.Data = DbContext.Query(_sql);
+
+ }
+
+
+ return retObj;
+ }
+
+ public ReturnEntity UpdatePushStatus(string tableName)
+ {
+
+ var retObj = new ReturnEntity();
+ string _sql = $"UPDATE {tableName.ToUpper()} SET IsPush = '1' WHERE IsPush = '0' ";
+
+ retObj.Data = DbContext.Execute(_sql);
+
+ return retObj;
+ }
+
+ ///
+ /// 将数据写入数据库
+ ///
+ private ReturnEntity ConnentionDataByDatabase(DataTableModel dm)
+ {
+ var retObj = new ReturnEntity();
+
+ var tran = DapperHelper.OpenCurrentDbConnection().BeginTransaction();
+ int row = 1;
+ int addCount = 0;
+ int updateCount = 0;
+ try
+ {
+ foreach (var item in dm.CustomizeData)
+ {
+ string _sqlJoinVerify = JoinVerify(dm.CustomizeTable, dm.CustomizeFieldLst, item);
+ var wyzj = DbContext.ExecuteScalar(_sqlJoinVerify, null, tran);
+ if (!string.IsNullOrEmpty(wyzj))
+ {
+ //更新
+ string _sqlJoinuUpdate = JoinuUpdate(dm.CustomizeTable, dm.CustomizeFieldLst, item, wyzj);
+ DbContext.Execute(_sqlJoinuUpdate, null, tran);
+ updateCount++;
+ }
+ else
+ {
+ //插入
+ string _sqlJoinInsert = JoinInsert(dm.CustomizeTable, dm.CustomizeFieldLst, item);
+ DbContext.Execute(_sqlJoinInsert, null, tran);
+ addCount++;
+ }
+ row++;
+ }
+ tran.Commit();
+ }
+ catch (Exception ex)
+ {
+ tran.Rollback();
+ retObj.Code = 2;
+ retObj.Message = $"第{row}行数据写入数据库时异常,数据已回滚,异常原因:" + ex.Message;
+ }
+ retObj.Data = new { addCount = addCount, updateCount = updateCount };
+ return retObj;
+ }
+
+ ///
+ /// 拼接查询验证SQL
+ ///
+ private string JoinVerify(CustomizeTableAttribute customizeTable, List fieldAttributes, Hashtable hashtable)
+ {
+ string _sql = string.Empty;
+
+ _sql = $" SELECT * FROM {customizeTable.DatabaseTableName} WHERE 1 = 1 ";
+ foreach (var item in fieldAttributes)
+ {
+ if (item.IsExcelVerify)
+ _sql += $" AND {item.DatabaseColumnName} = '{hashtable[item.DatabaseColumnName].ToString()}' ";
+ }
+ return _sql;
+ }
+
+ ///
+ /// 拼接插入SQL
+ ///
+ private string JoinInsert(CustomizeTableAttribute customizeTable, List fieldAttributes, Hashtable hashtable)
+ {
+ string _sql = string.Empty;
+ _sql = $" INSERT INTO {customizeTable.DatabaseTableName} (";
+
+ foreach (var item in fieldAttributes)
+ {
+ _sql += $"{item.DatabaseColumnName},";
+ }
+ _sql = _sql.Substring(0, _sql.Length - 1);
+ _sql += ") VALUES (";
+ foreach (var item in fieldAttributes)
+ {
+ _sql += $"'{hashtable[item.DatabaseColumnName]}',";
+ }
+
+ _sql = _sql.Substring(0, _sql.Length - 1);
+ return _sql += ")";
+ }
+
+ ///
+ /// 拼接更新SQL
+ ///
+ private string JoinuUpdate(CustomizeTableAttribute customizeTable, List fieldAttributes, Hashtable hashtable, string wyzj)
+ {
+ string _sql = string.Empty;
+ _sql = $" UPDATE {customizeTable.DatabaseTableName} SET ";
+ string _tempSql = string.Empty;
+ foreach (var item in fieldAttributes)
+ {
+
+ if (!item.IsPrimaryKey && !item.IsExcelVerify)
+ _sql += $"{item.DatabaseColumnName} = '{hashtable[item.DatabaseColumnName]}',";
+ if (item.IsPrimaryKey)
+ _tempSql += $" WHERE {item.DatabaseColumnName} = '{wyzj}'";
+ }
+ return _sql.Substring(0, _sql.Length - 1) + _tempSql;
+ }
+
+ }
+
+ public class TableNameModel
+ {
+ public string TABLENAME { get; set; }
+ public string COUNT { get; set; }
+ }
+}
diff --git a/DataSendApi.Program/BLL/Common.cs b/DataSendApi.Program/BLL/Common.cs
new file mode 100644
index 0000000..78819bf
--- /dev/null
+++ b/DataSendApi.Program/BLL/Common.cs
@@ -0,0 +1,493 @@
+using DataSendApi.Program.Model;
+using DataSendApi.Program.Oracle;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataSendApi.Program.BLL
+{
+ ///
+ /// 公共数据字典类
+ ///
+ public class Common
+ {
+ private static List _GGSJZDLst;
+ ///
+ /// 公共数据字典集合
+ ///
+ public static List GGSJZDLst
+ {
+ get
+ {
+ if (_GGSJZDLst == null)
+ {
+ _GGSJZDLst = DbContext.Query(@"SELECT * FROM ODS_GGZD").ToList();
+ }
+ return _GGSJZDLst;
+ }
+ }
+ ///
+ /// 数据库中全部表名
+ ///
+ public static List AllTableName { get; private set; } = new string[]
+ {
+ "ODS_CJSXHDSJ",
+ "ODS_DJHDDYDHSJ",
+ "ODS_DJHDDYGBXXSJ",
+ "ODS_DJHDDYRCSJ",
+ "ODS_DJHDDYZTDRSJ",
+ "ODS_DJHDSHYKSJ",
+ "ODS_DYFZQKJCSJ",
+ "ODS_DYHDSJ",
+ "ODS_DZZQKJCSJ",
+ "ODS_GZPJSJ",
+ "ODS_JCXYSJ",
+ "ODS_JXPXSJ",
+ "ODS_WFJCKCJSJ",
+ "ODS_XNSXJDSJ",
+ "ODS_XQJCSJ",
+ "ODS_XSZHCJPJSJ",
+ "ODS_XWSXJDSJ",
+ "ODS_ZZBYQXJYSJ",
+ "ODS_ZZBYQXSXSJ",
+ "ODS_ZZBYQXWJYSJ",
+ "ODS_ZZCJSTHDSJ",
+ "ODS_ZZKCXXSJ",
+ "ODS_ZZSXJCSJ",
+ "ODS_ZZXKPKSJ",
+ "ODS_ZZXXGKJCSJ",
+ "ODS_ZZZSSJ"
+
+
+ }.ToList();
+
+ ///
+ /// 数据库中全部列名
+ ///
+ public static List AllColoumnName { get; private set; } = new string[] {
+"ODS_CJSXHDSJ.GZZYQKSJID",
+"ODS_CJSXHDSJ.XXJGDM",
+"ODS_CJSXHDSJ.XXJGMC",
+"ODS_CJSXHDSJ.HDMC",
+"ODS_CJSXHDSJ.HDZT",
+"ODS_CJSXHDSJ.HDXS",
+"ODS_CJSXHDSJ.HDNR",
+"ODS_CJSXHDSJ.ZBDW",
+"ODS_CJSXHDSJ.ZBDWJB",
+"ODS_CJSXHDSJ.HDKSRQ",
+"ODS_CJSXHDSJ.HDJSRQ",
+"ODS_CJSXHDSJ.XFFZR",
+"ODS_CJSXHDSJ.CYJSS",
+"ODS_CJSXHDSJ.CYXSS",
+"ODS_CJSXHDSJ.SJCJSJ",
+"ODS_CJSXHDSJ.ISPUSH",
+"ODS_DJHDDYDHSJ.GZZYQKSJID",
+"ODS_DJHDDYDHSJ.XXJGDM",
+"ODS_DJHDDYDHSJ.XXJGMC",
+"ODS_DJHDDYDHSJ.DZZMC",
+"ODS_DJHDDYDHSJ.DZZBH",
+"ODS_DJHDDYDHSJ.HDDD",
+"ODS_DJHDDYDHSJ.HDNR",
+"ODS_DJHDDYDHSJ.HDKSSJ",
+"ODS_DJHDDYDHSJ.HDJSSJ",
+"ODS_DJHDDYDHSJ.CYRS",
+"ODS_DJHDDYDHSJ.SJCJSJ",
+"ODS_DJHDDYDHSJ.ISPUSH",
+"ODS_DJHDDYGBXXSJ.GZZYQKSJID",
+"ODS_DJHDDYGBXXSJ.XXJGDM",
+"ODS_DJHDDYGBXXSJ.XXJGMC",
+"ODS_DJHDDYGBXXSJ.DZZMC",
+"ODS_DJHDDYGBXXSJ.DZZBH",
+"ODS_DJHDDYGBXXSJ.DYGBXXPXZYTJZT",
+"ODS_DJHDDYGBXXSJ.DYGBXXPXNR",
+"ODS_DJHDDYGBXXSJ.HDKSSJ",
+"ODS_DJHDDYGBXXSJ.HDJSSJ",
+"ODS_DJHDDYGBXXSJ.CYRS",
+"ODS_DJHDDYGBXXSJ.SJCJSJ",
+"ODS_DJHDDYGBXXSJ.ISPUSH",
+"ODS_DJHDDYRCSJ.GZZYQKSJID",
+"ODS_DJHDDYRCSJ.XXJGDM",
+"ODS_DJHDDYRCSJ.XXJGMC",
+"ODS_DJHDDYRCSJ.DZZMC",
+"ODS_DJHDDYRCSJ.DZZBH",
+"ODS_DJHDDYRCSJ.HDDD",
+"ODS_DJHDDYRCSJ.HDNR",
+"ODS_DJHDDYRCSJ.HDKSSJ",
+"ODS_DJHDDYRCSJ.HDJSSJ",
+"ODS_DJHDDYRCSJ.CYRS",
+"ODS_DJHDDYRCSJ.SJCJSJ",
+"ODS_DJHDDYRCSJ.ISPUSH",
+"ODS_DJHDDYZTDRSJ.GZZYQKSJID",
+"ODS_DJHDDYZTDRSJ.XXJGDM",
+"ODS_DJHDDYZTDRSJ.XXJGMC",
+"ODS_DJHDDYZTDRSJ.DZZMC",
+"ODS_DJHDDYZTDRSJ.DZZBH",
+"ODS_DJHDDYZTDRSJ.HDDD",
+"ODS_DJHDDYZTDRSJ.HDNR",
+"ODS_DJHDDYZTDRSJ.HDKSSJ",
+"ODS_DJHDDYZTDRSJ.HDJSSJ",
+"ODS_DJHDDYZTDRSJ.CYRS",
+"ODS_DJHDDYZTDRSJ.SJCJSJ",
+"ODS_DJHDDYZTDRSJ.ISPUSH",
+"ODS_DJHDSHYKSJ.DKZJR",
+"ODS_DJHDSHYKSJ.HDNR",
+"ODS_DJHDSHYKSJ.HDKSSJ",
+"ODS_DJHDSHYKSJ.HDJSSJ",
+"ODS_DJHDSHYKSJ.CYRS",
+"ODS_DJHDSHYKSJ.SJCJSJ",
+"ODS_DJHDSHYKSJ.ISPUSH",
+"ODS_DJHDSHYKSJ.GZZYQKSJID",
+"ODS_DJHDSHYKSJ.XXJGDM",
+"ODS_DJHDSHYKSJ.XXJGMC",
+"ODS_DJHDSHYKSJ.DZZMC",
+"ODS_DJHDSHYKSJ.DZZBH",
+"ODS_DJHDSHYKSJ.HDXS",
+"ODS_DYFZQKJCSJ.GZZYQKSJID",
+"ODS_DYFZQKJCSJ.XXJGDM",
+"ODS_DYFZQKJCSJ.XXJGMC",
+"ODS_DYFZQKJCSJ.DZZLX",
+"ODS_DYFZQKJCSJ.DZZMC",
+"ODS_DYFZQKJCSJ.DZZBH",
+"ODS_DYFZQKJCSJ.XDYLX",
+"ODS_DYFZQKJCSJ.DYXM",
+"ODS_DYFZQKJCSJ.RYBH",
+"ODS_DYFZQKJCSJ.XDYFZZT",
+"ODS_DYFZQKJCSJ.CWJJFZRQ",
+"ODS_DYFZQKJCSJ.CWYBDYRQ",
+"ODS_DYFZQKJCSJ.ZZRQ",
+"ODS_DYFZQKJCSJ.SJCJSJ",
+"ODS_DYFZQKJCSJ.ISPUSH",
+"ODS_DYHDSJ.GZZYQKSJID",
+"ODS_DYHDSJ.XXJGDM",
+"ODS_DYHDSJ.XXJGMC",
+"ODS_DYHDSJ.HDMC",
+"ODS_DYHDSJ.SSZT",
+"ODS_DYHDSJ.HDBK",
+"ODS_DYHDSJ.HDZT",
+"ODS_DYHDSJ.HDLX",
+"ODS_DYHDSJ.HDNR",
+"ODS_DYHDSJ.ZBDW",
+"ODS_DYHDSJ.ZBDWJB",
+"ODS_DYHDSJ.HDKSRQ",
+"ODS_DYHDSJ.HDJSRQ",
+"ODS_DYHDSJ.XFFZR",
+"ODS_DYHDSJ.CYBJS",
+"ODS_DYHDSJ.CYJSS",
+"ODS_DYHDSJ.CYXSS",
+"ODS_DYHDSJ.SJCJSJ",
+"ODS_DYHDSJ.ISPUSH",
+"ODS_DZZQKJCSJ.GZZYQKSJID",
+"ODS_DZZQKJCSJ.XXJGDM",
+"ODS_DZZQKJCSJ.XXJGMC",
+"ODS_DZZQKJCSJ.DZZLX",
+"ODS_DZZQKJCSJ.DZZMC",
+"ODS_DZZQKJCSJ.DZZBH",
+"ODS_DZZQKJCSJ.SJDZZ",
+"ODS_DZZQKJCSJ.DNLDXM",
+"ODS_DZZQKJCSJ.DNLDJGH",
+"ODS_DZZQKJCSJ.DNLDZW",
+"ODS_DZZQKJCSJ.DZZDYRS",
+"ODS_DZZQKJCSJ.SJCJSJ",
+"ODS_DZZQKJCSJ.ISPUSH",
+"ODS_GGZD.ZDID",
+"ODS_GGZD.ZDLX",
+"ODS_GGZD.ZDLXMC",
+"ODS_GGZD.DM",
+"ODS_GGZD.MC",
+"ODS_GZPJSJ.GZZYQKSJID",
+"ODS_GZPJSJ.XXJGDM",
+"ODS_GZPJSJ.XXJGMC",
+"ODS_GZPJSJ.GZRZTJCS",
+"ODS_GZPJSJ.HPJSRS",
+"ODS_GZPJSJ.TSGWJSRS",
+"ODS_GZPJSJ.SJCJSJ",
+"ODS_GZPJSJ.ISPUSH",
+"ODS_JCXYSJ.GZZYQKSJID",
+"ODS_JCXYSJ.XXJGDM",
+"ODS_JCXYSJ.XXJGMC",
+"ODS_JCXYSJ.JCMC",
+"ODS_JCXYSJ.JCBH",
+"ODS_JCXYSJ.JCXZ",
+"ODS_JCXYSJ.ISBN",
+"ODS_JCXYSJ.ZZXM",
+"ODS_JCXYSJ.CBRQ",
+"ODS_JCXYSJ.CBS",
+"ODS_JCXYSJ.SYCC",
+"ODS_JCXYSJ.JG",
+"ODS_JCXYSJ.BC",
+"ODS_JCXYSJ.YC",
+"ODS_JCXYSJ.SFYLXC",
+"ODS_JCXYSJ.SFYJCJF",
+"ODS_JCXYSJ.HJQK",
+"ODS_JCXYSJ.SJCJSJ",
+"ODS_JCXYSJ.ISPUSH",
+"ODS_JXPXSJ.GZZYQKSJID",
+"ODS_JXPXSJ.XXJGDM",
+"ODS_JXPXSJ.XXJGMC",
+"ODS_JXPXSJ.JXPXHDBH",
+"ODS_JXPXSJ.JXPXHDMC",
+"ODS_JXPXSJ.JXPXHDZT",
+"ODS_JXPXSJ.JXPXHDNRJJ",
+"ODS_JXPXSJ.JXPXHDSJ",
+"ODS_JXPXSJ.ZJR",
+"ODS_JXPXSJ.DRPXHDCYJSS",
+"ODS_JXPXSJ.SJCJSJ",
+"ODS_JXPXSJ.ISPUSH",
+"ODS_WFJCKCJSJ.BJ",
+"ODS_WFJCKCJSJ.ZYMC",
+"ODS_WFJCKCJSJ.KCMC",
+"ODS_WFJCKCJSJ.KCFL",
+"ODS_WFJCKCJSJ.RKJS",
+"ODS_WFJCKCJSJ.KCCJ",
+"ODS_WFJCKCJSJ.SJCJSJ",
+"ODS_WFJCKCJSJ.ISPUSH",
+"ODS_WFJCKCJSJ.GZZYQKSJID",
+"ODS_WFJCKCJSJ.XXJGDM",
+"ODS_WFJCKCJSJ.XXJGMC",
+"ODS_WFJCKCJSJ.XN",
+"ODS_WFJCKCJSJ.XQ",
+"ODS_WFJCKCJSJ.NJ",
+"ODS_XNSXJDSJ.GZZYQKSJID",
+"ODS_XNSXJDSJ.XXJGDM",
+"ODS_XNSXJDSJ.XXJGMC",
+"ODS_XNSXJDSJ.SXJDH",
+"ODS_XNSXJDSJ.SXJDMC",
+"ODS_XNSXJDSJ.CLND",
+"ODS_XNSXJDSJ.MXZY",
+"ODS_XNSXJDSJ.ZCBM",
+"ODS_XNSXJDSJ.PZRQ",
+"ODS_XNSXJDSJ.SXSS",
+"ODS_XNSXJDSJ.SXXMZS",
+"ODS_XNSXJDSJ.JDLB",
+"ODS_XNSXJDSJ.JZMJ",
+"ODS_XNSXJDSJ.YQSBZS",
+"ODS_XNSXJDSJ.SJJXGWS",
+"ODS_XNSXJDSJ.GLRYZZ",
+"ODS_XNSXJDSJ.GLRYJZ",
+"ODS_XNSXJDSJ.SJCJSJ",
+"ODS_XNSXJDSJ.ISPUSH",
+"ODS_XQJCSJ.XYGKJCSJID",
+"ODS_XQJCSJ.PROVINCEJGBM",
+"ODS_XQJCSJ.PROVINCEJGMC",
+"ODS_XQJCSJ.CITYJGBM",
+"ODS_XQJCSJ.CITYJGMC",
+"ODS_XQJCSJ.COUNTYJGBM",
+"ODS_XQJCSJ.COUNTYJGMC",
+"ODS_XQJCSJ.XXJGDM",
+"ODS_XQJCSJ.XXJGMC",
+"ODS_XQJCSJ.XQBH",
+"ODS_XQJCSJ.XQMC",
+"ODS_XQJCSJ.XQJC",
+"ODS_XQJCSJ.XQSZDXZQH",
+"ODS_XQJCSJ.XQDZ",
+"ODS_XQJCSJ.XQYZBM",
+"ODS_XQJCSJ.XQLXDH",
+"ODS_XQJCSJ.XQFZR",
+"ODS_XQJCSJ.XQJZGZS",
+"ODS_XQJCSJ.XQXSZS",
+"ODS_XQJCSJ.XQCLRQ",
+"ODS_XQJCSJ.SJCJSJ",
+"ODS_XQJCSJ.ISPUSH",
+"ODS_XSZHCJPJSJ.GZZYQKSJID",
+"ODS_XSZHCJPJSJ.XXJGDM",
+"ODS_XSZHCJPJSJ.XXJGMC",
+"ODS_XSZHCJPJSJ.XN",
+"ODS_XSZHCJPJSJ.XQ",
+"ODS_XSZHCJPJSJ.ZYMC",
+"ODS_XSZHCJPJSJ.NJ",
+"ODS_XSZHCJPJSJ.BJ",
+"ODS_XSZHCJPJSJ.XJH",
+"ODS_XSZHCJPJSJ.XSXM",
+"ODS_XSZHCJPJSJ.SXZZCJ",
+"ODS_XSZHCJPJSJ.WHKCJ",
+"ODS_XSZHCJPJSJ.ZYJNKCCJ",
+"ODS_XSZHCJPJSJ.XSTZJKCJ",
+"ODS_XSZHCJPJSJ.ZHPJ",
+"ODS_XSZHCJPJSJ.SJCJSJ",
+"ODS_XSZHCJPJSJ.ISPUSH",
+"ODS_XWSXJDSJ.GZZYQKSJID",
+"ODS_XWSXJDSJ.XXJGDM",
+"ODS_XWSXJDSJ.XXJGMC",
+"ODS_XWSXJDSJ.SXSXJDH",
+"ODS_XWSXJDSJ.SXSXJDMC",
+"ODS_XWSXJDSJ.YTDWMC",
+"ODS_XWSXJDSJ.YTDWXZ",
+"ODS_XWSXJDSJ.DWZZJGDM",
+"ODS_XWSXJDSJ.ZGZGZS",
+"ODS_XWSXJDSJ.SZQY",
+"ODS_XWSXJDSJ.XXDZ",
+"ODS_XWSXJDSJ.JDLXRXM",
+"ODS_XWSXJDSJ.LXRDH",
+"ODS_XWSXJDSJ.LXRYX",
+"ODS_XWSXJDSJ.JDCLNY",
+"ODS_XWSXJDSJ.SSHY",
+"ODS_XWSXJDSJ.SSCY",
+"ODS_XWSXJDSJ.MXZY",
+"ODS_XWSXJDSJ.HZKSSJ",
+"ODS_XWSXJDSJ.HZJSSJ",
+"ODS_XWSXJDSJ.HZXYQSZT",
+"ODS_XWSXJDSJ.HZZT",
+"ODS_XWSXJDSJ.SJCJSJ",
+"ODS_XWSXJDSJ.ISPUSH",
+"ODS_ZZBYQXJYSJ.ZYMC",
+"ODS_ZZBYQXJYSJ.BJMC",
+"ODS_ZZBYQXJYSJ.SFZH",
+"ODS_ZZBYQXJYSJ.SFXQHZDW",
+"ODS_ZZBYQXJYSJ.JYDWMC",
+"ODS_ZZBYQXJYSJ.JYDWHY",
+"ODS_ZZBYQXJYSJ.JYDWXZ",
+"ODS_ZZBYQXJYSJ.JYDWGM",
+"ODS_ZZBYQXJYSJ.JYQD",
+"ODS_ZZBYQXJYSJ.HTQDQK",
+"ODS_ZZBYQXJYSJ.QXX",
+"ODS_ZZBYQXJYSJ.SFDK",
+"ODS_ZZBYQXJYSJ.JYRQ",
+"ODS_ZZBYQXJYSJ.ZZCY",
+"ODS_ZZBYQXJYSJ.CYXMMC",
+"ODS_ZZBYQXJYSJ.LHJY",
+"ODS_ZZBYQXJYSJ.GZNR",
+"ODS_ZZBYQXJYSJ.SJCJSJ",
+"ODS_ZZBYQXJYSJ.ISPUSH",
+"ODS_ZZBYQXJYSJ.ZZSXJYSJID",
+"ODS_ZZBYQXJYSJ.XXJGDM",
+"ODS_ZZBYQXJYSJ.XXJGMC",
+"ODS_ZZBYQXJYSJ.XH",
+"ODS_ZZBYQXJYSJ.XM",
+"ODS_ZZBYQXSXSJ.ZZSXJYSJID",
+"ODS_ZZBYQXSXSJ.XXJGDM",
+"ODS_ZZBYQXSXSJ.XXJGMC",
+"ODS_ZZBYQXSXSJ.XH",
+"ODS_ZZBYQXSXSJ.XM",
+"ODS_ZZBYQXSXSJ.ZYMC",
+"ODS_ZZBYQXSXSJ.BJMC",
+"ODS_ZZBYQXSXSJ.SFZH",
+"ODS_ZZBYQXSXSJ.SXQD",
+"ODS_ZZBYQXSXSJ.XXMC",
+"ODS_ZZBYQXSXSJ.LQZY",
+"ODS_ZZBYQXSXSJ.FS",
+"ODS_ZZBYQXSXSJ.SXCC",
+"ODS_ZZBYQXSXSJ.SJCJSJ",
+"ODS_ZZBYQXSXSJ.ISPUSH",
+"ODS_ZZBYQXWJYSJ.ZZSXJYSJID",
+"ODS_ZZBYQXWJYSJ.XXJGDM",
+"ODS_ZZBYQXWJYSJ.XXJGMC",
+"ODS_ZZBYQXWJYSJ.XH",
+"ODS_ZZBYQXWJYSJ.XM",
+"ODS_ZZBYQXWJYSJ.ZYMC",
+"ODS_ZZBYQXWJYSJ.BJMC",
+"ODS_ZZBYQXWJYSJ.SFZH",
+"ODS_ZZBYQXWJYSJ.WJYLX",
+"ODS_ZZBYQXWJYSJ.SJCJSJ",
+"ODS_ZZBYQXWJYSJ.ISPUSH",
+"ODS_ZZCJSTHDSJ.GZZYQKSJID",
+"ODS_ZZCJSTHDSJ.XXJGDM",
+"ODS_ZZCJSTHDSJ.XXJGMC",
+"ODS_ZZCJSTHDSJ.CYXSS",
+"ODS_ZZCJSTHDSJ.CJSTHDLX",
+"ODS_ZZCJSTHDSJ.CJSTHDKSSJ",
+"ODS_ZZCJSTHDSJ.CJSTHDJSSJ",
+"ODS_ZZCJSTHDSJ.SJCJSJ",
+"ODS_ZZCJSTHDSJ.ISPUSH",
+"ODS_ZZKCXXSJ.GZZYQKSJID",
+"ODS_ZZKCXXSJ.XXJGDM",
+"ODS_ZZKCXXSJ.XXJGMC",
+"ODS_ZZKCXXSJ.SSXQBH",
+"ODS_ZZKCXXSJ.KCMC",
+"ODS_ZZKCXXSJ.KCDM",
+"ODS_ZZKCXXSJ.KCLB",
+"ODS_ZZKCXXSJ.KCXZ",
+"ODS_ZZKCXXSJ.KCSX",
+"ODS_ZZKCXXSJ.KCFL",
+"ODS_ZZKCXXSJ.XKLB",
+"ODS_ZZKCXXSJ.SFZYHXKC",
+"ODS_ZZKCXXSJ.LVJXSS",
+"ODS_ZZKCXXSJ.SJJXSY",
+"ODS_ZZKCXXSJ.SJCJSJ",
+"ODS_ZZKCXXSJ.ISPUSH",
+"ODS_ZZSXJCSJ.GZSXJYSJID",
+"ODS_ZZSXJCSJ.XXJGDM",
+"ODS_ZZSXJCSJ.XXJGMC",
+"ODS_ZZSXJCSJ.XSXH",
+"ODS_ZZSXJCSJ.XSXM",
+"ODS_ZZSXJCSJ.ZYMC",
+"ODS_ZZSXJCSJ.XN",
+"ODS_ZZSXJCSJ.XQ",
+"ODS_ZZSXJCSJ.SXBJ",
+"ODS_ZZSXJCSJ.SXXMMC",
+"ODS_ZZSXJCSJ.SXLB",
+"ODS_ZZSXJCSJ.SXSFKS",
+"ODS_ZZSXJCSJ.SXSFJS",
+"ODS_ZZSXJCSJ.SXHY",
+"ODS_ZZSXJCSJ.SXKSSJ",
+"ODS_ZZSXJCSJ.SXJSSJ",
+"ODS_ZZSXJCSJ.SXQX",
+"ODS_ZZSXJCSJ.SXDWLY",
+"ODS_ZZSXJCSJ.SXCSLX",
+"ODS_ZZSXJCSJ.SXJDH",
+"ODS_ZZSXJCSJ.SXDWMC",
+"ODS_ZZSXJCSJ.SXDWDZ",
+"ODS_ZZSXJCSJ.SXGWMC",
+"ODS_ZZSXJCSJ.ZSAP",
+"ODS_ZZSXJCSJ.ZYDKCD",
+"ODS_ZZSXJCSJ.GMBXZL",
+"ODS_ZZSXJCSJ.BXGMF",
+"ODS_ZZSXJCSJ.SJCJSJ",
+"ODS_ZZSXJCSJ.ISPUSH",
+"ODS_ZZXKPKSJ.JSDKQK",
+"ODS_ZZXKPKSJ.XKR",
+"ODS_ZZXKPKSJ.SJCJSJ",
+"ODS_ZZXKPKSJ.ISPUSH",
+"ODS_ZZXKPKSJ.GZZYQKSJID",
+"ODS_ZZXKPKSJ.XXJGDM",
+"ODS_ZZXKPKSJ.XXJGMC",
+"ODS_ZZXKPKSJ.SSXQBH",
+"ODS_ZZXKPKSJ.NJ",
+"ODS_ZZXKPKSJ.BJ",
+"ODS_ZZXKPKSJ.XN",
+"ODS_ZZXKPKSJ.XQ",
+"ODS_ZZXKPKSJ.ZC",
+"ODS_ZZXKPKSJ.XQJ",
+"ODS_ZZXKPKSJ.SKJC",
+"ODS_ZZXKPKSJ.SKRQ",
+"ODS_ZZXKPKSJ.KCMC",
+"ODS_ZZXKPKSJ.KCDM",
+"ODS_ZZXKPKSJ.JGH",
+"ODS_ZZXKPKSJ.JXBRS",
+"ODS_ZZXKPKSJ.SKKSSJ",
+"ODS_ZZXKPKSJ.SKJSSJ",
+"ODS_ZZXKPKSJ.SDXSRS",
+"ODS_ZZXXGKJCSJ.XYGKJCSJID",
+"ODS_ZZXXGKJCSJ.PROVINCEJGBM",
+"ODS_ZZXXGKJCSJ.PROVINCEJGMC",
+"ODS_ZZXXGKJCSJ.CITYJGBM",
+"ODS_ZZXXGKJCSJ.CITYJGMC",
+"ODS_ZZXXGKJCSJ.COUNTYJGBM",
+"ODS_ZZXXGKJCSJ.COUNTYJGMC",
+"ODS_ZZXXGKJCSJ.XXJGDM",
+"ODS_ZZXXGKJCSJ.XXJGMC",
+"ODS_ZZXXGKJCSJ.XXLB",
+"ODS_ZZXXGKJCSJ.XXSSZGJYXZBM",
+"ODS_ZZXXGKJCSJ.XXJBZMC",
+"ODS_ZZXXGKJCSJ.XXJBZXZ",
+"ODS_ZZXXGKJCSJ.XXFZRXM",
+"ODS_ZZXXGKJCSJ.JXRQ",
+"ODS_ZZXXGKJCSJ.XYJSS",
+"ODS_ZZXXGKJCSJ.XYXSS",
+"ODS_ZZXXGKJCSJ.BXKSZYS",
+"ODS_ZZXXGKJCSJ.SYXX",
+"ODS_ZZXXGKJCSJ.SJCJSJ",
+"ODS_ZZXXGKJCSJ.ISPUSH",
+"ODS_ZZZSSJ.GZZYQKSJID",
+"ODS_ZZZSSJ.XXJGDM",
+"ODS_ZZZSSJ.XXJGMC",
+"ODS_ZZZSSJ.JSZGZRS",
+"ODS_ZZZSSJ.GJZCRS",
+"ODS_ZZZSSJ.ZJZCRS",
+"ODS_ZZZSSJ.CJZCRS",
+"ODS_ZZZSSJ.SJCJSJ",
+"ODS_ZZZSSJ.ISPUSH",
+ }.ToList();
+ }
+}
diff --git a/DataSendApi.Program/BLL/HandleExcel.cs b/DataSendApi.Program/BLL/HandleExcel.cs
new file mode 100644
index 0000000..af49231
--- /dev/null
+++ b/DataSendApi.Program/BLL/HandleExcel.cs
@@ -0,0 +1,67 @@
+using NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+using NPOI.XSSF.UserModel;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataSendApi.Program.BLL
+{
+ ///
+ /// Excel操作类
+ ///
+ public class HandleExcel
+ {
+ ///
+ /// 读取ExcelFile
+ ///
+ /// 文件地址
+ public List> ReadFromExcelFile(string filePath)
+ {
+ IWorkbook wk = null;
+ List> returnLst = new List>();
+ string extension = Path.GetExtension(filePath);
+
+ FileStream fs = File.OpenRead(filePath);
+ if (extension.Equals(".xls"))
+ {
+ //把xls文件中的数据写入wk中
+ wk = new HSSFWorkbook(fs);
+ }
+ else
+ {
+ //把xlsx文件中的数据写入wk中
+ wk = new XSSFWorkbook(fs);
+ }
+
+ fs.Close();
+ //读取当前表数据
+ ISheet sheet = wk.GetSheetAt(0);
+ IRow row = sheet.GetRow(0); //读取当前行数据
+ for (int i = 0; i <= sheet.LastRowNum; i++)
+ {
+ row = sheet.GetRow(i); //读取当前行数据
+ if (row != null)
+ {
+ List _temp = new List();
+ //LastCellNum 是当前行的总列数
+ for (int j = 0; j < row.LastCellNum; j++)
+ {
+ string value = string.Empty;
+ if (row.GetCell(j) != null)
+ //读取该行的第j列数据
+ value = row.GetCell(j).ToString();
+ _temp.Add(value);
+ }
+ returnLst.Add(_temp);
+ }
+ }
+ return returnLst;
+ }
+
+ }
+}
diff --git a/DataSendApi.Program/BLL/Token/DataCollectionService.cs b/DataSendApi.Program/BLL/Token/DataCollectionService.cs
new file mode 100644
index 0000000..78b2c4f
--- /dev/null
+++ b/DataSendApi.Program/BLL/Token/DataCollectionService.cs
@@ -0,0 +1,172 @@
+using DataSendApi.Program.Model;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Net.Http;
+using System.Web;
+
+namespace DataSendApi.Program.BLL.Token
+{
+ ///
+ /// 智慧大脑数据采集
+ ///
+ public class DataCollectionService
+ {
+ //接口地址
+ private static string InsUrl = ConfigurationManager.AppSettings["CYInsUrl"];
+ //客户标识
+ private static string client_id = ConfigurationManager.AppSettings["CYClient_id"];
+ //用户名
+ private static string username = ConfigurationManager.AppSettings["CYUsername"];
+ //密码
+ private static string password = ConfigurationManager.AppSettings["CYPassword"];
+ //数据采集接口地址
+ private static string saveIncrUrl = InsUrl + "/prod-api/api/web/collect/interface/saveIncrData";
+ //增量查询接口
+ private static string saveAddUrl = InsUrl + "/prod-api/api/web/collect/interface/getResultsBytime";
+ ///
+ /// 用户Token
+ ///
+ public string AccessToken { get; set; }
+
+ public DataCollectionService()
+ {
+
+ }
+ ///
+ /// 用户授权
+ ///
+ private void login()
+ {
+ var login_url = InsUrl + "/prod-api/api/web/collect/oauth2/login?grant_type=password&client_id=" + client_id + "&username=" + username + "&password=" + password;
+
+ // HttpClient client = new HttpClient();
+ // Task result response = await client.PostAsync(InsUrl);
+ // var responseString = await response.Content.ReadAsStringAsync();
+
+
+
+ var login_res_str = HttpMethods.HttpPost(login_url,"{}");
+ var login_res = JsonConvert.DeserializeObject(login_res_str);
+ var login_data = login_res.data;
+ AccessToken = ((dynamic)login_data)?.access_token;
+ }
+ ///
+ /// 数据推送
+ ///
+ public ReturnEntity PushData(string json)
+ {
+ ReturnEntity re = new ReturnEntity();
+ try
+ {
+
+ login();
+ re.Data = HttpMethods.HttpPostConnect(saveIncrUrl, json, AccessToken);
+
+
+ }
+ catch (Exception ex)
+ {
+ re.Code = 3;
+ re.Message = ex.Message;
+ }
+ return re;
+ }
+
+ ///
+ /// 数据增量查询
+ ///
+ /// 表名
+ /// 开始时间(yyyy-MM-dd hh:mm:ss)
+ /// 结束时间(yyyy-MM-dd hh:mm:ss)
+ /// 页码
+ /// 每页大小
+ ///
+ public ReturnEntity GetPushDataAddCount(
+ string tableName,
+ string startTime,
+ string endTime,
+ int page = 1,
+ int limit = 100
+ )
+ {
+ string json = $@"{{
+ ""startTime"" : ""{startTime}"",
+ ""endTime"" : ""{endTime}"",
+ ""page"" : ""{page}"",
+ ""limit"" : ""{limit}"",
+ ""tableName"" : ""{tableName.ToLower()}""
+}}";
+
+ ReturnEntity re = new ReturnEntity();
+ try
+ {
+
+ login();
+
+
+
+ var mfdc = new System.Net.Http.MultipartFormDataContent();
+ mfdc.Headers.Add("ContentType", "multipart/form-data");//声明头部
+ mfdc.Headers.Add("connect", AccessToken);
+ mfdc.Add(new System.Net.Http.StringContent(startTime), "startTime");//参数, 内容在前,参数名称在后
+ mfdc.Add(new System.Net.Http.StringContent(endTime), "endTime");
+ mfdc.Add(new System.Net.Http.StringContent(page.ToString()), "page");
+ mfdc.Add(new System.Net.Http.StringContent(limit.ToString()), "limit");
+ mfdc.Add(new System.Net.Http.StringContent(tableName.ToString()), "tableName");
+ var clientTask = new System.Net.Http.HttpClient().PostAsync(saveAddUrl, mfdc);//发起异步请求
+ clientTask.Wait();//等待请求结果
+ var resultStr = string.Empty;
+ if (clientTask.Result.IsSuccessStatusCode)
+ {
+ //请求正常
+ var resultTask = clientTask.Result.Content.ReadAsStringAsync();//异步读取返回内容
+ resultTask.Wait();//等读取返回内容
+
+ resultStr = resultTask.Result;//返回内容字符串
+ }
+ else
+ {
+ //请求异常
+ }
+
+
+
+
+ re.Data = resultStr;
+ }
+ catch (Exception ex)
+ {
+ re.Code = 3;
+ re.Message = ex.Message;
+ }
+
+
+ return re;
+ }
+ #region MyRegion
+
+ public class InsResult
+ {
+ public int code { get; set; }
+ public string msg { get; set; }
+ public object data { get; set; }
+ }
+
+
+ public class PushEntity
+ {
+
+ public string returnCode { get; set; }
+ public string returnMessage { get; set; }
+ public object returnData { get; set; }
+ public object returnCount { get; set; }
+
+ }
+
+ #endregion
+ }
+}
diff --git a/DataSendApi.Program/BLL/Token/HttpMethods.cs b/DataSendApi.Program/BLL/Token/HttpMethods.cs
new file mode 100644
index 0000000..dd7af74
--- /dev/null
+++ b/DataSendApi.Program/BLL/Token/HttpMethods.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataSendApi.Program.BLL.Token
+{
+ ///
+ /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
+ /// Copyright (c) 2013-2018 北京泉江科技有限公司
+ /// 创建人:陈彬彬
+ /// 日 期:2017.03.07
+ /// 描 述:mvc过滤模式
+ ///
+ public class HttpMethods
+ {
+
+ public static string HttpPost(string url, string json)
+ {
+ string result = "";
+ HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
+ req.Method = "POST";
+ req.ContentType = "application/json;charset=UTF-8";
+
+ byte[] data = Encoding.UTF8.GetBytes(json);//把字符串转换为字节
+
+ req.ContentLength = data.Length; //请求长度
+
+ using (Stream reqStream = req.GetRequestStream()) //获取
+ {
+ reqStream.Write(data, 0, data.Length);//向当前流中写入字节
+ reqStream.Close(); //关闭当前流
+ }
+
+ HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); //响应结果
+ Stream stream = resp.GetResponseStream();
+ //获取响应内容
+ using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
+ {
+ result = reader.ReadToEnd();
+ }
+ return result;
+ }
+
+
+ public static string HttpPostConnect(string url, string json, string connect)
+ {
+ string result = "";
+ HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
+ req.Method = "POST";
+ req.ContentType = "application/json;charset=UTF-8";
+ req.Headers.Add("connect", connect);
+
+ byte[] data = Encoding.UTF8.GetBytes(json);//把字符串转换为字节
+
+ req.ContentLength = data.Length; //请求长度
+
+ using (Stream reqStream = req.GetRequestStream()) //获取
+ {
+ reqStream.Write(data, 0, data.Length);//向当前流中写入字节
+ reqStream.Close(); //关闭当前流
+ }
+
+ HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); //响应结果
+ Stream stream = resp.GetResponseStream();
+ //获取响应内容
+ using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
+ {
+ result = reader.ReadToEnd();
+ }
+ return result;
+ }
+
+ }
+}
diff --git a/DataSendApi.Program/CustomizeAttribute/CustomizeFieldAttribute.cs b/DataSendApi.Program/CustomizeAttribute/CustomizeFieldAttribute.cs
new file mode 100644
index 0000000..d58532b
--- /dev/null
+++ b/DataSendApi.Program/CustomizeAttribute/CustomizeFieldAttribute.cs
@@ -0,0 +1,71 @@
+
+using System;
+
+namespace DataSendApi.Program.CustomizeAttribute
+{
+ ///
+ /// 自定义特性
+ ///
+ public class CustomizeFieldAttribute : Attribute
+ {
+ ///
+ /// 中文列名
+ ///
+ public string ChineseColumnName { get; set; }
+ ///
+ /// 数据库列明
+ ///
+ public string DatabaseColumnName { get; set; }
+ ///
+ /// 列类型
+ ///
+ public string ColumnType { get; set; }
+ ///
+ /// 列长度
+ ///
+ public int ColumnLength { get; set; }
+ ///
+ /// 列格式
+ ///
+ public string ColumnFormat { get; set; }
+ ///
+ /// 是否数据库列
+ ///
+ public bool IsDatabase { get; set; }
+ ///
+ /// 是否Api
+ ///
+ public bool IsApi { get; set; }
+ ///
+ /// 是否主键
+ ///
+ public bool IsPrimaryKey { get; set; }
+ ///
+ /// 是否Excel验证列
+ ///
+ public bool IsExcelVerify { get; set; }
+ ///
+ /// 是否连接编码
+ ///
+ public bool IsJson { get; set; }
+ ///
+ /// 连接的编码类别
+ ///
+ public string JsonName { get; set; }
+ ///
+ /// 是否为Excel
+ ///
+ public bool IsExcel { get; set; }
+ ///
+ /// 是否必填
+ ///
+ public bool IsNull { get; set; }
+ ///
+ /// 特殊验证
+ /// 值:1,使用||进行分割,验证字典值
+ /// 值:2,推送与导入时,查询ods_dyfzqkjcsj表总数存入数据库
+ ///
+ public string TsVerify { get; set; } = string.Empty;
+
+ }
+}
diff --git a/DataSendApi.Program/CustomizeAttribute/CustomizeTableAttribute.cs b/DataSendApi.Program/CustomizeAttribute/CustomizeTableAttribute.cs
new file mode 100644
index 0000000..0f67403
--- /dev/null
+++ b/DataSendApi.Program/CustomizeAttribute/CustomizeTableAttribute.cs
@@ -0,0 +1,20 @@
+
+using System;
+
+namespace DataSendApi.Program.CustomizeAttribute
+{
+ ///
+ /// 自定义特性
+ ///
+ public class CustomizeTableAttribute : Attribute
+ {
+ ///
+ /// 中文表名
+ ///
+ public string ChineseTableName { get; set; }
+ ///
+ /// 数据库表明
+ ///
+ public string DatabaseTableName { get; set; }
+ }
+}
diff --git a/DataSendApi.Program/DataSendApi.Program.csproj b/DataSendApi.Program/DataSendApi.Program.csproj
new file mode 100644
index 0000000..697b7d6
--- /dev/null
+++ b/DataSendApi.Program/DataSendApi.Program.csproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0CA6F23E-6753-48AC-BE54-E1B6A9B5E9A6}
+ Library
+ Properties
+ DataSendApi.Program
+ DataSendApi.Program
+ v4.6.1
+ 512
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\packages\Dapper.1.50.2\lib\net451\Dapper.dll
+
+
+ ..\packages\DapperExtensions.1.5.0\lib\net45\DapperExtensions.dll
+
+
+ ..\packages\NPOI.Excel.2.1.1\lib\ICSharpCode.SharpZipLib.dll
+
+
+ ..\packages\Newtonsoft.Json.10.0.1\lib\net45\Newtonsoft.Json.dll
+
+
+ ..\packages\NPOI.Excel.2.1.1\lib\NPOI.dll
+
+
+ ..\packages\NPOI.Excel.2.1.1\lib\NPOI.OOXML.dll
+
+
+ ..\packages\NPOI.Excel.2.1.1\lib\NPOI.OpenXml4Net.dll
+
+
+ ..\packages\NPOI.Excel.2.1.1\lib\NPOI.OpenXmlFormats.dll
+
+
+ ..\packages\Oracle.ManagedDataAccess.19.11.0\lib\net40\Oracle.ManagedDataAccess.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DataSendApi.Program/Model/BaseEntity.cs b/DataSendApi.Program/Model/BaseEntity.cs
new file mode 100644
index 0000000..3b7aef7
--- /dev/null
+++ b/DataSendApi.Program/Model/BaseEntity.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataSendApi.Program.Model
+{
+ public class BaseEntity
+ {
+ }
+}
diff --git a/DataSendApi.Program/Model/ODS_CJSXHDSJEntity.cs b/DataSendApi.Program/Model/ODS_CJSXHDSJEntity.cs
new file mode 100644
index 0000000..6774450
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_CJSXHDSJEntity.cs
@@ -0,0 +1,336 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 参加赛事活动数据表
+ ///
+ [CustomizeTable(ChineseTableName = "参加赛事活动数据表", DatabaseTableName = "ODS_CJSXHDSJ")]
+ public class ODS_CJSXHDSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 活动名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动名称",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "HDMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDMC { get; set; }
+
+ ///
+ /// 活动主题
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动主题",
+ ColumnLength = 63,
+ ColumnType = "string",
+ DatabaseColumnName = "HDZT",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDZT { get; set; }
+
+ ///
+ /// 活动形式
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动形式",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "HDXS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDXS { get; set; }
+
+ ///
+ /// 活动内容
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动内容",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "HDNR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDNR { get; set; }
+
+ ///
+ /// 主办单位
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主办单位",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "ZBDW",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZBDW { get; set; }
+
+ ///
+ /// 主办单位级别
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主办单位级别",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "ZBDWJB",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "zbdwjbdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZBDWJB { get; set; }
+
+ ///
+ /// 活动开始日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动开始日期",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "HDKSRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDKSRQ { get; set; }
+
+ ///
+ /// 活动结束日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动结束日期",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "HDJSRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDJSRQ { get; set; }
+
+ ///
+ /// 校方负责人
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校方负责人",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "XFFZR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XFFZR { get; set; }
+
+ ///
+ /// 参与教师数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与教师数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYJSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public decimal CYJSS { get; set; }
+
+ ///
+ /// 参与学生数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与学生数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYXSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public decimal CYXSS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_DJHDDYDHSJEntity.cs b/DataSendApi.Program/Model/ODS_DJHDDYDHSJEntity.cs
new file mode 100644
index 0000000..60109f6
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_DJHDDYDHSJEntity.cs
@@ -0,0 +1,256 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 党建活动党员大会数据表
+ ///
+ [CustomizeTable(ChineseTableName = "党建活动党员大会数据表", DatabaseTableName = "ODS_DJHDDYDHSJ")]
+ public class ODS_DJHDDYDHSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 党组织名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织名称",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZMC { get; set; }
+
+ ///
+ /// 党组织编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织编号",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string DZZBH { get; set; }
+
+ ///
+ /// 活动地点
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动地点",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "HDDD",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDDD { get; set; }
+
+ ///
+ /// 活动内容
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动内容",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "HDNR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDNR { get; set; }
+
+ ///
+ /// 活动开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动开始时间",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "HDKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDKSSJ { get; set; }
+
+ ///
+ /// 活动结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动结束时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "HDJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDJSSJ { get; set; }
+
+ ///
+ /// 参与人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与人数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYRS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_DJHDDYGBXXSJEntity.cs b/DataSendApi.Program/Model/ODS_DJHDDYGBXXSJEntity.cs
new file mode 100644
index 0000000..3e14fff
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_DJHDDYGBXXSJEntity.cs
@@ -0,0 +1,258 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 党建活动党员干部学习数据表
+ ///
+ [CustomizeTable(ChineseTableName = "党建活动党员干部学习数据表", DatabaseTableName = "ODS_DJHDDYGBXXSJ")]
+ public class ODS_DJHDDYGBXXSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 党组织名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织名称",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZMC { get; set; }
+
+ ///
+ /// 党组织编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织编号",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string DZZBH { get; set; }
+
+ ///
+ /// 党员干部学习培训主要途径和载体
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党员干部学习培训主要途径和载体",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DYGBXXPXZYTJZT",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "dygbxxpxzytjztdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true,
+ TsVerify = "1"
+ )]
+ public string DYGBXXPXZYTJZT { get; set; }
+
+ ///
+ /// 党员干部学习培训内容
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党员干部学习培训内容",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DYGBXXPXNR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "dygbxxpxnrdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true,
+ TsVerify = "1"
+ )]
+ public string DYGBXXPXNR { get; set; }
+
+ ///
+ /// 活动开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动开始时间",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "HDKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDKSSJ { get; set; }
+
+ ///
+ /// 活动结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动结束时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "HDJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDJSSJ { get; set; }
+
+ ///
+ /// 参与人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与人数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYRS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_DJHDDYRCSJEntity.cs b/DataSendApi.Program/Model/ODS_DJHDDYRCSJEntity.cs
new file mode 100644
index 0000000..3f00f10
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_DJHDDYRCSJEntity.cs
@@ -0,0 +1,256 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 党建活动党员日常数据表
+ ///
+ [CustomizeTable(ChineseTableName = "党建活动党员日常数据表", DatabaseTableName = "ODS_DJHDDYRCSJ")]
+ public class ODS_DJHDDYRCSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 党组织名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织名称",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZMC { get; set; }
+
+ ///
+ /// 党组织编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织编号",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZBH { get; set; }
+
+ ///
+ /// 活动地点
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动地点",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "HDDD",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDDD { get; set; }
+
+ ///
+ /// 活动内容
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动内容",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "HDNR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDNR { get; set; }
+
+ ///
+ /// 活动开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动开始时间",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "HDKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDKSSJ { get; set; }
+
+ ///
+ /// 活动结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动结束时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "HDJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDJSSJ { get; set; }
+
+ ///
+ /// 参与人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与人数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYRS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_DJHDDYZTDRSJEntity.cs b/DataSendApi.Program/Model/ODS_DJHDDYZTDRSJEntity.cs
new file mode 100644
index 0000000..2a09b13
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_DJHDDYZTDRSJEntity.cs
@@ -0,0 +1,257 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 党建活动党员主题党日数据表
+ ///
+ [CustomizeTable(ChineseTableName = "党建活动党员主题党日数据表", DatabaseTableName = "ODS_DJHDDYZTDRSJ")]
+ public class ODS_DJHDDYZTDRSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 党组织名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织名称",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZMC { get; set; }
+
+ ///
+ /// 党组织编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织编号",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZBH { get; set; }
+
+ ///
+ /// 活动地点
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动地点",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "HDDD",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDDD { get; set; }
+
+ ///
+ /// 活动内容
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动内容",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "HDNR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "ztdrhdnrdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true,
+ TsVerify = "1"
+ )]
+ public string HDNR { get; set; }
+
+ ///
+ /// 活动开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动开始时间",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "HDKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDKSSJ { get; set; }
+
+ ///
+ /// 活动结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动结束时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "HDJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDJSSJ { get; set; }
+
+ ///
+ /// 参与人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与人数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYRS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_DJHDSHYKSJEntity.cs b/DataSendApi.Program/Model/ODS_DJHDSHYKSJEntity.cs
new file mode 100644
index 0000000..8e0c5d9
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_DJHDSHYKSJEntity.cs
@@ -0,0 +1,276 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 党建活动三会一课数据表
+ ///
+ [CustomizeTable(ChineseTableName = "党建活动三会一课数据表", DatabaseTableName = "ODS_DJHDSHYKSJ")]
+ public class ODS_DJHDSHYKSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 党组织名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织名称",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZMC { get; set; }
+
+ ///
+ /// 党组织编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织编号",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZBH { get; set; }
+
+ ///
+ /// 活动形式
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动形式",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "HDXS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "djhdxsdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDXS { get; set; }
+
+ ///
+ /// 党课主讲人
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党课主讲人",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "DKZJR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string DKZJR { get; set; }
+
+ ///
+ /// 活动内容
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动内容",
+ ColumnLength = 500,
+ ColumnType = "string",
+ DatabaseColumnName = "HDNR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDNR { get; set; }
+
+ ///
+ /// 活动开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动开始时间",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "HDKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDKSSJ { get; set; }
+
+ ///
+ /// 活动结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动结束时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "HDJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDJSSJ { get; set; }
+
+ ///
+ /// 参与人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与人数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYRS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_DYFZQKJCSJEntity.cs b/DataSendApi.Program/Model/ODS_DYFZQKJCSJEntity.cs
new file mode 100644
index 0000000..a51025f
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_DYFZQKJCSJEntity.cs
@@ -0,0 +1,316 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 党员发展情况基础数据表
+ ///
+ [CustomizeTable(ChineseTableName = "党员发展情况基础数据表", DatabaseTableName = "ODS_DYFZQKJCSJ")]
+ public class ODS_DYFZQKJCSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 党组织类型
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织类型",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZLX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZLX { get; set; }
+
+ ///
+ /// 党组织名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织名称",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZMC { get; set; }
+
+ ///
+ /// 党组织编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织编号",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZBH { get; set; }
+
+ ///
+ /// 新党员类型
+ ///
+ [CustomizeField(
+ ChineseColumnName = "新党员类型",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "XDYLX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "xdylxdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XDYLX { get; set; }
+
+ ///
+ /// 姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "姓名",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "DYXM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DYXM { get; set; }
+
+ ///
+ /// 人员编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "人员编号",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "RYBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string RYBH { get; set; }
+
+ ///
+ /// 党员发展状态
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党员发展状态",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "XDYFZZT",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "xdyfzztdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XDYFZZT { get; set; }
+
+ ///
+ /// 成为积极份子日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "成为积极份子日期",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "CWJJFZRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CWJJFZRQ { get; set; }
+
+ ///
+ /// 成为预备党员日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "成为预备党员日期",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "CWYBDYRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CWYBDYRQ { get; set; }
+
+ ///
+ /// 成为正式党员日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "成为正式党员日期",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "ZZRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZZRQ { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_DYHDSJEntity.cs b/DataSendApi.Program/Model/ODS_DYHDSJEntity.cs
new file mode 100644
index 0000000..ba81166
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_DYHDSJEntity.cs
@@ -0,0 +1,396 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 德育活动数据表
+ ///
+ [CustomizeTable(ChineseTableName = "德育活动数据表", DatabaseTableName = "ODS_DYHDSJ")]
+ public class ODS_DYHDSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 180,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 活动名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动名称",
+ ColumnLength = 132,
+ ColumnType = "string",
+ DatabaseColumnName = "HDMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDMC { get; set; }
+
+ ///
+ /// 所属专题
+ ///
+ [CustomizeField(
+ ChineseColumnName = "所属专题",
+ ColumnLength = 163,
+ ColumnType = "string",
+ DatabaseColumnName = "SSZT",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SSZT { get; set; }
+
+ ///
+ /// 活动版块
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动版块",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "HDBK",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDBK { get; set; }
+
+ ///
+ /// 活动主题
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动主题",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "HDZT",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "dyhdztdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDZT { get; set; }
+
+ ///
+ /// 活动类型
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动类型",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "HDLX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "dyhdlxdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDLX { get; set; }
+
+ ///
+ /// 活动内容
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动内容",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "HDNR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HDNR { get; set; }
+
+ ///
+ /// 主办单位
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主办单位",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "ZBDW",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZBDW { get; set; }
+
+ ///
+ /// 主办单位级别
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主办单位级别",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "ZBDWJB",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "zbdwjbdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZBDWJB { get; set; }
+
+ ///
+ /// 活动开始日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动开始日期",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "HDKSRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDKSRQ { get; set; }
+
+ ///
+ /// 活动结束日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "活动结束日期",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "HDJSRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HDJSRQ { get; set; }
+
+ ///
+ /// 校方负责人
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校方负责人",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "XFFZR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XFFZR { get; set; }
+
+ ///
+ /// 参与班级数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与班级数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYBJS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYBJS { get; set; }
+
+ ///
+ /// 参与教师数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与教师数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYJSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYJSS { get; set; }
+
+ ///
+ /// 参与学生数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与学生数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYXSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYXSS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_DZZQKJCSJEntity.cs b/DataSendApi.Program/Model/ODS_DZZQKJCSJEntity.cs
new file mode 100644
index 0000000..79a23ae
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_DZZQKJCSJEntity.cs
@@ -0,0 +1,278 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 党组织情况基础数据表
+ ///
+ [CustomizeTable(ChineseTableName = "党组织情况基础数据表", DatabaseTableName = "ODS_DZZQKJCSJ")]
+ public class ODS_DZZQKJCSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 党组织类型
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织类型",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZLX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZLX { get; set; }
+
+ ///
+ /// 党组织名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织名称",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZMC { get; set; }
+
+ ///
+ /// 党组织编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织编号",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "DZZBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DZZBH { get; set; }
+
+ ///
+ /// 隶属上级党组织
+ ///
+ [CustomizeField(
+ ChineseColumnName = "隶属上级党组织",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "SJDZZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SJDZZ { get; set; }
+
+ ///
+ /// 党内领导姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党内领导姓名",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "DNLDXM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string DNLDXM { get; set; }
+
+ ///
+ /// 党内领导教工号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党内领导教工号",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "DNLDJGH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string DNLDJGH { get; set; }
+
+ ///
+ /// 党内领导职务
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党内领导职务",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "DNLDZW",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "dnldrzwdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true,
+ TsVerify = "1"
+ )]
+ public string DNLDZW { get; set; }
+
+ ///
+ /// 党组织党员人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "党组织党员人数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "DZZDYRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false,
+ TsVerify = "2"
+ )]
+ public decimal DZZDYRS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_GGZDEntyt.cs b/DataSendApi.Program/Model/ODS_GGZDEntyt.cs
new file mode 100644
index 0000000..78340a9
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_GGZDEntyt.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 公共数据字典实体
+ ///
+ public class ODS_GGZDEntyt: BaseEntity
+ {
+ ///
+ /// 字典唯一ID
+ ///
+ public string ZDID { get; set; }
+ ///
+ /// 字典类型
+ ///
+ public string ZDLX { get; set; }
+ ///
+ /// 字典类型名词
+ ///
+ public string ZDLXMC { get; set; }
+ ///
+ /// 代码
+ ///
+ public string DM { get; set; }
+ ///
+ /// 名称
+ ///
+ public string MC { get; set; }
+
+ }
+}
diff --git a/DataSendApi.Program/Model/ODS_GZPJSJEntity.cs b/DataSendApi.Program/Model/ODS_GZPJSJEntity.cs
new file mode 100644
index 0000000..29040c8
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_GZPJSJEntity.cs
@@ -0,0 +1,176 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 工作评价数据表
+ ///
+ [CustomizeTable(ChineseTableName = "工作评价数据表", DatabaseTableName = "ODS_GZPJSJ")]
+ public class ODS_GZPJSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 工作日志提交次数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "工作日志提交次数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "GZRZTJCS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal GZRZTJCS { get; set; }
+
+ ///
+ /// 好评教师人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "好评教师人数",
+ ColumnLength = 80,
+ ColumnType = "decimal",
+ DatabaseColumnName = "HPJSRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal HPJSRS { get; set; }
+
+ ///
+ /// 特殊岗位教师人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "特殊岗位教师人数",
+ ColumnLength = 63,
+ ColumnType = "decimal",
+ DatabaseColumnName = "TSGWJSRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal TSGWJSRS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_JCXYSJEntity.cs b/DataSendApi.Program/Model/ODS_JCXYSJEntity.cs
new file mode 100644
index 0000000..376e44b
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_JCXYSJEntity.cs
@@ -0,0 +1,396 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 教材选用数据表
+ ///
+ [CustomizeTable(ChineseTableName = "教材选用数据表", DatabaseTableName = "ODS_JCXYSJ")]
+ public class ODS_JCXYSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 教材名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "教材名称",
+ ColumnLength = 150,
+ ColumnType = "string",
+ DatabaseColumnName = "JCMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JCMC { get; set; }
+
+ ///
+ /// 教材编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "教材编号",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "JCBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JCBH { get; set; }
+
+ ///
+ /// 教材性质
+ ///
+ [CustomizeField(
+ ChineseColumnName = "教材性质",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "JCXZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "jcxzdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JCXZ { get; set; }
+
+ ///
+ /// ISBN 号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "ISBN 号",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "ISBN",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ISBN { get; set; }
+
+ ///
+ /// 作者
+ ///
+ [CustomizeField(
+ ChineseColumnName = "作者",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "ZZXM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZZXM { get; set; }
+
+ ///
+ /// 出版日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "出版日期",
+ ColumnLength = 23,
+ ColumnType = "string",
+ DatabaseColumnName = "CBRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CBRQ { get; set; }
+
+ ///
+ /// 出版社
+ ///
+ [CustomizeField(
+ ChineseColumnName = "出版社",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "CBS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CBS { get; set; }
+
+ ///
+ /// 适用层次
+ ///
+ [CustomizeField(
+ ChineseColumnName = "适用层次",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SYCC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "jcsyccdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SYCC { get; set; }
+
+ ///
+ /// 价格(元)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "价格(元)",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "JG",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JG { get; set; }
+
+ ///
+ /// 版次
+ ///
+ [CustomizeField(
+ ChineseColumnName = "版次",
+ ColumnLength = 30,
+ ColumnType = "decimal",
+ DatabaseColumnName = "BC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal BC { get; set; }
+
+ ///
+ /// 印次
+ ///
+ [CustomizeField(
+ ChineseColumnName = "印次",
+ ColumnLength = 12,
+ ColumnType = "decimal",
+ DatabaseColumnName = "YC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal YC { get; set; }
+
+ ///
+ /// 是否有练习册
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否有练习册",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SFYLXC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SFYLXC { get; set; }
+
+ ///
+ /// 是否有教参教辅
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否有教参教辅",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SFYJCJF",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SFYJCJF { get; set; }
+
+ ///
+ /// 获奖情况
+ ///
+ [CustomizeField(
+ ChineseColumnName = "获奖情况",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "HJQK",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "jchjqkdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HJQK { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_JXPXSJEntity.cs b/DataSendApi.Program/Model/ODS_JXPXSJEntity.cs
new file mode 100644
index 0000000..e3ad409
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_JXPXSJEntity.cs
@@ -0,0 +1,256 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 进修培训数据表
+ ///
+ [CustomizeTable(ChineseTableName = "进修培训数据表", DatabaseTableName = "ODS_JXPXSJ")]
+ public class ODS_JXPXSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 进修培训活动编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "进修培训活动编号",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "JXPXHDBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JXPXHDBH { get; set; }
+
+ ///
+ /// 进修培训活动名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "进修培训活动名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "JXPXHDMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JXPXHDMC { get; set; }
+
+ ///
+ /// 进修培训活动主题
+ ///
+ [CustomizeField(
+ ChineseColumnName = "进修培训活动主题",
+ ColumnLength = 63,
+ ColumnType = "string",
+ DatabaseColumnName = "JXPXHDZT",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JXPXHDZT { get; set; }
+
+ ///
+ /// 进修培训活动内容简介
+ ///
+ [CustomizeField(
+ ChineseColumnName = "进修培训活动内容简介",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "JXPXHDNRJJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JXPXHDNRJJ { get; set; }
+
+ ///
+ /// 进修培训活动培训时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "进修培训活动培训时间",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "JXPXHDSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JXPXHDSJ { get; set; }
+
+ ///
+ /// 主讲人姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主讲人姓名",
+ ColumnLength = 23,
+ ColumnType = "string",
+ DatabaseColumnName = "ZJR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZJR { get; set; }
+
+ ///
+ /// 当日培训活动参与教师数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "当日培训活动参与教师数",
+ ColumnLength = 23,
+ ColumnType = "decimal",
+ DatabaseColumnName = "DRPXHDCYJSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal DRPXHDCYJSS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_WFJCKCJSJEntity.cs b/DataSendApi.Program/Model/ODS_WFJCKCJSJEntity.cs
new file mode 100644
index 0000000..ae589a7
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_WFJCKCJSJEntity.cs
@@ -0,0 +1,296 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 文化基础课成绩数据表
+ ///
+ [CustomizeTable(ChineseTableName = "文化基础课成绩数据表", DatabaseTableName = "ODS_WFJCKCJSJ")]
+ public class ODS_WFJCKCJSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 学年
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学年",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "XN",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XN { get; set; }
+
+ ///
+ /// 学期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学期",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XQ { get; set; }
+
+ ///
+ /// 年级
+ ///
+ [CustomizeField(
+ ChineseColumnName = "年级",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "NJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string NJ { get; set; }
+
+ ///
+ /// 班级
+ ///
+ [CustomizeField(
+ ChineseColumnName = "班级",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "BJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string BJ { get; set; }
+
+ ///
+ /// 专业名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "专业名称",
+ ColumnLength = 163,
+ ColumnType = "string",
+ DatabaseColumnName = "ZYMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZYMC { get; set; }
+
+ ///
+ /// 课程名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程名称",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "KCMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCMC { get; set; }
+
+ ///
+ /// 课程分类
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程分类",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "KCFL",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "kcfldm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCFL { get; set; }
+
+ ///
+ /// 任课教师
+ ///
+ [CustomizeField(
+ ChineseColumnName = "任课教师",
+ ColumnLength = 20,
+ ColumnType = "string",
+ DatabaseColumnName = "RKJS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string RKJS { get; set; }
+
+ ///
+ /// 课程成绩
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程成绩",
+ ColumnLength = 20,
+ ColumnType = "string",
+ DatabaseColumnName = "KCCJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCCJ { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_XNSXJDSJEntity.cs b/DataSendApi.Program/Model/ODS_XNSXJDSJEntity.cs
new file mode 100644
index 0000000..a0da33d
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_XNSXJDSJEntity.cs
@@ -0,0 +1,396 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 校内实训基地数据表
+ ///
+ [CustomizeTable(ChineseTableName = "校内实训基地数据表", DatabaseTableName = "ODS_XNSXJDSJ")]
+ public class ODS_XNSXJDSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 实训基地号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实训基地号",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SXJDH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXJDH { get; set; }
+
+ ///
+ /// 实训基地名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实训基地名称",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "SXJDMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXJDMC { get; set; }
+
+ ///
+ /// 成立年度
+ ///
+ [CustomizeField(
+ ChineseColumnName = "成立年度",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "CLND",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CLND { get; set; }
+
+ ///
+ /// 面向专业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "面向专业",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "MXZY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string MXZY { get; set; }
+
+ ///
+ /// 被列为实训基地项目支持部门
+ ///
+ [CustomizeField(
+ ChineseColumnName = "被列为实训基地项目支持部门",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "ZCBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "zcbmjbdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZCBM { get; set; }
+
+ ///
+ /// 批准日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "批准日期",
+ ColumnLength = 20,
+ ColumnType = "string",
+ DatabaseColumnName = "PZRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string PZRQ { get; set; }
+
+ ///
+ /// 实训室数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实训室数",
+ ColumnLength = 30,
+ ColumnType = "decimal",
+ DatabaseColumnName = "SXSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal SXSS { get; set; }
+
+ ///
+ /// 实训项目总数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实训项目总数",
+ ColumnLength = 30,
+ ColumnType = "decimal",
+ DatabaseColumnName = "SXXMZS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public decimal SXXMZS { get; set; }
+
+ ///
+ /// 基地类别
+ ///
+ [CustomizeField(
+ ChineseColumnName = "基地类别",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "JDLB",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "xxjdlbdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JDLB { get; set; }
+
+ ///
+ /// 建筑面积
+ ///
+ [CustomizeField(
+ ChineseColumnName = "建筑面积",
+ ColumnLength = 30,
+ ColumnType = "decimal",
+ DatabaseColumnName = "JZMJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public decimal JZMJ { get; set; }
+
+ ///
+ /// 仪器设备总数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "仪器设备总数",
+ ColumnLength = 12,
+ ColumnType = "decimal",
+ DatabaseColumnName = "YQSBZS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public decimal YQSBZS { get; set; }
+
+ ///
+ /// 实践教学工位数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实践教学工位数",
+ ColumnLength = 12,
+ ColumnType = "decimal",
+ DatabaseColumnName = "SJJXGWS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public decimal SJJXGWS { get; set; }
+
+ ///
+ /// 管理人员(专职)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "管理人员(专职)",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "GLRYZZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string GLRYZZ { get; set; }
+
+ ///
+ /// 管理人员(兼职)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "管理人员(兼职)",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "GLRYJZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string GLRYJZ { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_XQJCSJEntity.cs b/DataSendApi.Program/Model/ODS_XQJCSJEntity.cs
new file mode 100644
index 0000000..18d5635
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_XQJCSJEntity.cs
@@ -0,0 +1,456 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 校区基础数据表
+ ///
+ [CustomizeTable(ChineseTableName = "校区基础数据表", DatabaseTableName = "ODS_XQJCSJ")]
+ public class ODS_XQJCSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "XYGKJCSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XYGKJCSJID { get; set; }
+
+ ///
+ /// 省机构编码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "省机构编码",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "PROVINCEJGBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string PROVINCEJGBM { get; set; }
+
+ ///
+ /// 省机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "省机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "PROVINCEJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string PROVINCEJGMC { get; set; }
+
+ ///
+ /// 市机构编码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "市机构编码",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "CITYJGBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string CITYJGBM { get; set; }
+
+ ///
+ /// 市机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "市机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "CITYJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string CITYJGMC { get; set; }
+
+ ///
+ /// 区县机构编码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "区县机构编码",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "COUNTYJGBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string COUNTYJGBM { get; set; }
+
+ ///
+ /// 区县机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "区县机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "COUNTYJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string COUNTYJGMC { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 校区编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区编号",
+ ColumnLength = 64,
+ ColumnType = "string",
+ DatabaseColumnName = "XQBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XQBH { get; set; }
+
+ ///
+ /// 校区名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区名称",
+ ColumnLength = 180,
+ ColumnType = "string",
+ DatabaseColumnName = "XQMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XQMC { get; set; }
+
+ ///
+ /// 校区简称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区简称",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "XQJC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XQJC { get; set; }
+
+ ///
+ /// 校区所在地行政区划
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区所在地行政区划",
+ ColumnLength = 50,
+ ColumnType = "string",
+ DatabaseColumnName = "XQSZDXZQH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XQSZDXZQH { get; set; }
+
+ ///
+ /// 校区地址
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区地址",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "XQDZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XQDZ { get; set; }
+
+ ///
+ /// 校区邮政编码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区邮政编码",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "XQYZBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XQYZBM { get; set; }
+
+ ///
+ /// 校区联系电话
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区联系电话",
+ ColumnLength = 35,
+ ColumnType = "string",
+ DatabaseColumnName = "XQLXDH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XQLXDH { get; set; }
+
+ ///
+ /// 校区负责人
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区负责人",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XQFZR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XQFZR { get; set; }
+
+ ///
+ /// 校区教职工总数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区教职工总数",
+ ColumnLength = 10,
+ ColumnType = "decimal",
+ DatabaseColumnName = "XQJZGZS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal XQJZGZS { get; set; }
+
+ ///
+ /// 校区学生总数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区学生总数",
+ ColumnLength = 10,
+ ColumnType = "decimal",
+ DatabaseColumnName = "XQXSZS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal XQXSZS { get; set; }
+
+ ///
+ /// 校区成立日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "校区成立日期",
+ ColumnLength = 50,
+ ColumnType = "string",
+ DatabaseColumnName = "XQCLRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XQCLRQ { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 50,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_XSZHCJPJSJEntity.cs b/DataSendApi.Program/Model/ODS_XSZHCJPJSJEntity.cs
new file mode 100644
index 0000000..b09c685
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_XSZHCJPJSJEntity.cs
@@ -0,0 +1,356 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 学生综合成绩与评价数据表
+ ///
+ [CustomizeTable(ChineseTableName = "学生综合成绩与评价数据表", DatabaseTableName = "ODS_XSZHCJPJSJ")]
+ public class ODS_XSZHCJPJSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 学年
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学年",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "XN",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XN { get; set; }
+
+ ///
+ /// 学期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学期",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XQ { get; set; }
+
+ ///
+ /// 专业名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "专业名称",
+ ColumnLength = 163,
+ ColumnType = "string",
+ DatabaseColumnName = "ZYMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZYMC { get; set; }
+
+ ///
+ /// 年级
+ ///
+ [CustomizeField(
+ ChineseColumnName = "年级",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "NJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string NJ { get; set; }
+
+ ///
+ /// 班级
+ ///
+ [CustomizeField(
+ ChineseColumnName = "班级",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "BJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string BJ { get; set; }
+
+ ///
+ /// 学籍号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学籍号",
+ ColumnLength = 63,
+ ColumnType = "string",
+ DatabaseColumnName = "XJH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XJH { get; set; }
+
+ ///
+ /// 学生姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学生姓名",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "XSXM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XSXM { get; set; }
+
+ ///
+ /// 思想政治成绩
+ ///
+ [CustomizeField(
+ ChineseColumnName = "思想政治成绩",
+ ColumnLength = 5,
+ ColumnType = "decimal",
+ DatabaseColumnName = "SXZZCJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal SXZZCJ { get; set; }
+
+ ///
+ /// 文化课成绩
+ ///
+ [CustomizeField(
+ ChineseColumnName = "文化课成绩",
+ ColumnLength = 5,
+ ColumnType = "decimal",
+ DatabaseColumnName = "WHKCJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal WHKCJ { get; set; }
+
+ ///
+ /// 专业技能课程成绩
+ ///
+ [CustomizeField(
+ ChineseColumnName = "专业技能课程成绩",
+ ColumnLength = 5,
+ ColumnType = "decimal",
+ DatabaseColumnName = "ZYJNKCCJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal ZYJNKCCJ { get; set; }
+
+ ///
+ /// 学生体质健康成绩
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学生体质健康成绩",
+ ColumnLength = 5,
+ ColumnType = "decimal",
+ DatabaseColumnName = "XSTZJKCJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal XSTZJKCJ { get; set; }
+
+ ///
+ /// 综合评价成绩
+ ///
+ [CustomizeField(
+ ChineseColumnName = "综合评价成绩",
+ ColumnLength = 5,
+ ColumnType = "decimal",
+ DatabaseColumnName = "ZHPJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal ZHPJ { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_XWSXJDSJEntity.cs b/DataSendApi.Program/Model/ODS_XWSXJDSJEntity.cs
new file mode 100644
index 0000000..69f25b8
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_XWSXJDSJEntity.cs
@@ -0,0 +1,496 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 校外实训基地数据表
+ ///
+ [CustomizeTable(ChineseTableName = "校外实训基地数据表", DatabaseTableName = "ODS_XWSXJDSJ")]
+ public class ODS_XWSXJDSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 实习实训基地号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习实训基地号",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SXSXJDH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXSXJDH { get; set; }
+
+ ///
+ /// 实习实训基地名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习实训基地名称",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "SXSXJDMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXSXJDMC { get; set; }
+
+ ///
+ /// 依托单位名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "依托单位名称",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "YTDWMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string YTDWMC { get; set; }
+
+ ///
+ /// 依托单位性质
+ ///
+ [CustomizeField(
+ ChineseColumnName = "依托单位性质",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "YTDWXZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "dwxzdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string YTDWXZ { get; set; }
+
+ ///
+ /// 单位组织机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "单位组织机构代码",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "DWZZJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string DWZZJGDM { get; set; }
+
+ ///
+ /// 在岗职工总数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "在岗职工总数",
+ ColumnLength = 23,
+ ColumnType = "decimal",
+ DatabaseColumnName = "ZGZGZS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal ZGZGZS { get; set; }
+
+ ///
+ /// 所在区域
+ ///
+ [CustomizeField(
+ ChineseColumnName = "所在区域",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "SZQY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SZQY { get; set; }
+
+ ///
+ /// 详细地址
+ ///
+ [CustomizeField(
+ ChineseColumnName = "详细地址",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "XXDZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXDZ { get; set; }
+
+ ///
+ /// 基地联系人姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "基地联系人姓名",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "JDLXRXM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JDLXRXM { get; set; }
+
+ ///
+ /// 联系人电话
+ ///
+ [CustomizeField(
+ ChineseColumnName = "联系人电话",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "LXRDH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string LXRDH { get; set; }
+
+ ///
+ /// 联系人邮箱
+ ///
+ [CustomizeField(
+ ChineseColumnName = "联系人邮箱",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "LXRYX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string LXRYX { get; set; }
+
+ ///
+ /// 基地成立年月
+ ///
+ [CustomizeField(
+ ChineseColumnName = "基地成立年月",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "JDCLNY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JDCLNY { get; set; }
+
+ ///
+ /// 所属行业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "所属行业",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SSHY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxjyhydm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SSHY { get; set; }
+
+ ///
+ /// 所属产业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "所属产业",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SSCY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "cydm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SSCY { get; set; }
+
+ ///
+ /// 面向专业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "面向专业",
+ ColumnLength = 65,
+ ColumnType = "string",
+ DatabaseColumnName = "MXZY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string MXZY { get; set; }
+
+ ///
+ /// 合作开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "合作开始时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "HZKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HZKSSJ { get; set; }
+
+ ///
+ /// 合作结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "合作结束时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "HZJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string HZJSSJ { get; set; }
+
+ ///
+ /// 合作协议签署状态
+ ///
+ [CustomizeField(
+ ChineseColumnName = "合作协议签署状态",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "HZXYQSZT",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "hzxyqsztdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HZXYQSZT { get; set; }
+
+ ///
+ /// 合作状态
+ ///
+ [CustomizeField(
+ ChineseColumnName = "合作状态",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "HZZT",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "hzztdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HZZT { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZBYQXJYSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZBYQXJYSJEntity.cs
new file mode 100644
index 0000000..d38f058
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZBYQXJYSJEntity.cs
@@ -0,0 +1,496 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 中职毕业去向【就业】数据表
+ ///
+ [CustomizeTable(ChineseTableName = "中职毕业去向【就业】数据表", DatabaseTableName = "ODS_ZZBYQXJYSJ")]
+ public class ODS_ZZBYQXJYSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "ZZSXJYSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZZSXJYSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 学号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学号",
+ ColumnLength = 64,
+ ColumnType = "string",
+ DatabaseColumnName = "XH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XH { get; set; }
+
+ ///
+ /// 姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "姓名",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "XM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XM { get; set; }
+
+ ///
+ /// 专业名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "专业名称",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "ZYMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZYMC { get; set; }
+
+ ///
+ /// 班级名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "班级名称",
+ ColumnLength = 64,
+ ColumnType = "string",
+ DatabaseColumnName = "BJMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string BJMC { get; set; }
+
+ ///
+ /// 身份证号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "身份证号",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "SFZH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SFZH { get; set; }
+
+ ///
+ /// 就业单位是否校企合作单位
+ ///
+ [CustomizeField(
+ ChineseColumnName = "就业单位是否校企合作单位",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SFXQHZDW",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SFXQHZDW { get; set; }
+
+ ///
+ /// 就业单位名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "就业单位名称",
+ ColumnLength = 124,
+ ColumnType = "string",
+ DatabaseColumnName = "JYDWMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JYDWMC { get; set; }
+
+ ///
+ /// 就业单位行业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "就业单位行业",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "JYDWHY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxjyhydm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JYDWHY { get; set; }
+
+ ///
+ /// 就业单位性质
+ ///
+ [CustomizeField(
+ ChineseColumnName = "就业单位性质",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "JYDWXZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "dwxzdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JYDWXZ { get; set; }
+
+ ///
+ /// 就业单位规模
+ ///
+ [CustomizeField(
+ ChineseColumnName = "就业单位规模",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "JYDWGM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "jydwgmdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JYDWGM { get; set; }
+
+ ///
+ /// 就业渠道
+ ///
+ [CustomizeField(
+ ChineseColumnName = "就业渠道",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "JYQD",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "jyqddm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JYQD { get; set; }
+
+ ///
+ /// 合同签订情况
+ ///
+ [CustomizeField(
+ ChineseColumnName = "合同签订情况",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "HTQDQK",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "htqdqkdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string HTQDQK { get; set; }
+
+ ///
+ /// 起薪线(元)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "起薪线(元)",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "QXX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string QXX { get; set; }
+
+ ///
+ /// 是否对口
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否对口",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SFDK",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SFDK { get; set; }
+
+ ///
+ /// 就业日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "就业日期",
+ ColumnLength = 56,
+ ColumnType = "string",
+ DatabaseColumnName = "JYRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JYRQ { get; set; }
+
+ ///
+ /// 是否自主创业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否自主创业",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "ZZCY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZZCY { get; set; }
+
+ ///
+ /// 创业项目名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "创业项目名称",
+ ColumnLength = 164,
+ ColumnType = "string",
+ DatabaseColumnName = "CYXMMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CYXMMC { get; set; }
+
+ ///
+ /// 是否灵活就业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否灵活就业",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "LHJY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string LHJY { get; set; }
+
+ ///
+ /// 工作内容
+ ///
+ [CustomizeField(
+ ChineseColumnName = "工作内容",
+ ColumnLength = 300,
+ ColumnType = "string",
+ DatabaseColumnName = "GZNR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string GZNR { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 64,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZBYQXSXSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZBYQXSXSJEntity.cs
new file mode 100644
index 0000000..9eac27b
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZBYQXSXSJEntity.cs
@@ -0,0 +1,316 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 中职毕业去向【升学】数据表
+ ///
+ [CustomizeTable(ChineseTableName = "中职毕业去向【升学】数据表", DatabaseTableName = "ODS_ZZBYQXSXSJ")]
+ public class ODS_ZZBYQXSXSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "ZZSXJYSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZZSXJYSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 学号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学号",
+ ColumnLength = 64,
+ ColumnType = "string",
+ DatabaseColumnName = "XH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XH { get; set; }
+
+ ///
+ /// 姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "姓名",
+ ColumnLength = 65,
+ ColumnType = "string",
+ DatabaseColumnName = "XM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XM { get; set; }
+
+ ///
+ /// 专业名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "专业名称",
+ ColumnLength = 34,
+ ColumnType = "string",
+ DatabaseColumnName = "ZYMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZYMC { get; set; }
+
+ ///
+ /// 班级名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "班级名称",
+ ColumnLength = 45,
+ ColumnType = "string",
+ DatabaseColumnName = "BJMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string BJMC { get; set; }
+
+ ///
+ /// 身份证号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "身份证号",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "SFZH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SFZH { get; set; }
+
+ ///
+ /// 升学渠道
+ ///
+ [CustomizeField(
+ ChineseColumnName = "升学渠道",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXQD",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxqddm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXQD { get; set; }
+
+ ///
+ /// 学校名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校名称",
+ ColumnLength = 68,
+ ColumnType = "string",
+ DatabaseColumnName = "XXMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXMC { get; set; }
+
+ ///
+ /// 录取专业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "录取专业",
+ ColumnLength = 68,
+ ColumnType = "string",
+ DatabaseColumnName = "LQZY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string LQZY { get; set; }
+
+ ///
+ /// 分数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "分数",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "FS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string FS { get; set; }
+
+ ///
+ /// 升学层次
+ ///
+ [CustomizeField(
+ ChineseColumnName = "升学层次",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXCC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxccdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXCC { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 64,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZBYQXWJYSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZBYQXWJYSJEntity.cs
new file mode 100644
index 0000000..8e2b1ab
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZBYQXWJYSJEntity.cs
@@ -0,0 +1,236 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 中职毕业去向【未就业】数据表
+ ///
+ [CustomizeTable(ChineseTableName = "中职毕业去向【未就业】数据表", DatabaseTableName = "ODS_ZZBYQXWJYSJ")]
+ public class ODS_ZZBYQXWJYSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "ZZSXJYSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZZSXJYSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 学号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学号",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XH { get; set; }
+
+ ///
+ /// 姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "姓名",
+ ColumnLength = 65,
+ ColumnType = "string",
+ DatabaseColumnName = "XM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XM { get; set; }
+
+ ///
+ /// 专业名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "专业名称",
+ ColumnLength = 65,
+ ColumnType = "string",
+ DatabaseColumnName = "ZYMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZYMC { get; set; }
+
+ ///
+ /// 班级名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "班级名称",
+ ColumnLength = 34,
+ ColumnType = "string",
+ DatabaseColumnName = "BJMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string BJMC { get; set; }
+
+ ///
+ /// 身份证号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "身份证号",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "SFZH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SFZH { get; set; }
+
+ ///
+ /// 未就业类型
+ ///
+ [CustomizeField(
+ ChineseColumnName = "未就业类型",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "WJYLX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "wjylxdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string WJYLX { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 64,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZCJSTHDSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZCJSTHDSJEntity.cs
new file mode 100644
index 0000000..cf23f37
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZCJSTHDSJEntity.cs
@@ -0,0 +1,196 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 职参加社团活动数据表
+ ///
+ [CustomizeTable(ChineseTableName = "职参加社团活动数据表", DatabaseTableName = "ODS_ZZCJSTHDSJ")]
+ public class ODS_ZZCJSTHDSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 参与学生数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参与学生数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CYXSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CYXSS { get; set; }
+
+ ///
+ /// 参加社团活动类型
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参加社团活动类型",
+ ColumnLength = 200,
+ ColumnType = "string",
+ DatabaseColumnName = "CJSTHDLX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sthdlxdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CJSTHDLX { get; set; }
+
+ ///
+ /// 参加社团活动开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参加社团活动开始时间",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "CJSTHDKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CJSTHDKSSJ { get; set; }
+
+ ///
+ /// 参加社团活动结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "参加社团活动结束时间",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "CJSTHDJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string CJSTHDJSSJ { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZKCXXSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZKCXXSJEntity.cs
new file mode 100644
index 0000000..b1ddadf
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZKCXXSJEntity.cs
@@ -0,0 +1,336 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 中职课程信息数据表
+ ///
+ [CustomizeTable(ChineseTableName = "中职课程信息数据表", DatabaseTableName = "ODS_ZZKCXXSJ")]
+ public class ODS_ZZKCXXSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 所属校区编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "所属校区编号",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "SSXQBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SSXQBH { get; set; }
+
+ ///
+ /// 课程名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程名称",
+ ColumnLength = 23,
+ ColumnType = "string",
+ DatabaseColumnName = "KCMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCMC { get; set; }
+
+ ///
+ /// 课程代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程代码",
+ ColumnLength = 23,
+ ColumnType = "string",
+ DatabaseColumnName = "KCDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCDM { get; set; }
+
+ ///
+ /// 课程类别
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程类别",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "KCLB",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "kclbdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCLB { get; set; }
+
+ ///
+ /// 课程性质
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程性质",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "KCXZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "kcxzdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCXZ { get; set; }
+
+ ///
+ /// 课程属性
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程属性",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "KCSX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "kcsxdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCSX { get; set; }
+
+ ///
+ /// 课程分类
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程分类",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "KCFL",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "kcfldm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCFL { get; set; }
+
+ ///
+ /// 学科类别
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学科类别",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "XKLB",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "xklbdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XKLB { get; set; }
+
+ ///
+ /// 是否专业核心课程
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否专业核心课程",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SFZYHXKC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SFZYHXKC { get; set; }
+
+ ///
+ /// 理论教学时数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "理论教学时数",
+ ColumnLength = 30,
+ ColumnType = "decimal",
+ DatabaseColumnName = "LVJXSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal LVJXSS { get; set; }
+
+ ///
+ /// 实践教学时数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实践教学时数",
+ ColumnLength = 30,
+ ColumnType = "decimal",
+ DatabaseColumnName = "SJJXSY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal SJJXSY { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZSXJCSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZSXJCSJEntity.cs
new file mode 100644
index 0000000..514388c
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZSXJCSJEntity.cs
@@ -0,0 +1,596 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 中职实习基础数据表
+ ///
+ [CustomizeTable(ChineseTableName = "中职实习基础数据表", DatabaseTableName = "ODS_ZZSXJCSJ")]
+ public class ODS_ZZSXJCSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZSXJYSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZSXJYSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 学生学号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学生学号",
+ ColumnLength = 45,
+ ColumnType = "string",
+ DatabaseColumnName = "XSXH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XSXH { get; set; }
+
+ ///
+ /// 学生姓名
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学生姓名",
+ ColumnLength = 45,
+ ColumnType = "string",
+ DatabaseColumnName = "XSXM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XSXM { get; set; }
+
+ ///
+ /// 专业名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "专业名称",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "ZYMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string ZYMC { get; set; }
+
+ ///
+ /// 学年
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学年",
+ ColumnLength = 50,
+ ColumnType = "string",
+ DatabaseColumnName = "XN",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XN { get; set; }
+
+ ///
+ /// 学期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学期",
+ ColumnLength = 50,
+ ColumnType = "string",
+ DatabaseColumnName = "XQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XQ { get; set; }
+
+ ///
+ /// 实习班级
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习班级",
+ ColumnLength = 100,
+ ColumnType = "string",
+ DatabaseColumnName = "SXBJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXBJ { get; set; }
+
+ ///
+ /// 实习项目名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习项目名称",
+ ColumnLength = 250,
+ ColumnType = "string",
+ DatabaseColumnName = "SXXMMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXXMMC { get; set; }
+
+ ///
+ /// 实习类别
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习类别",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXLB",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxlbdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXLB { get; set; }
+
+ ///
+ /// 实习是否开始
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习是否开始",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXSFKS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXSFKS { get; set; }
+
+ ///
+ /// 实习是否结束
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习是否结束",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXSFJS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sfbm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXSFJS { get; set; }
+
+ ///
+ /// 实习行业
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习行业",
+ ColumnLength = 4,
+ ColumnType = "string",
+ DatabaseColumnName = "SXHY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxjyhydm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXHY { get; set; }
+
+ ///
+ /// 实习开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习开始时间",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SXKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXKSSJ { get; set; }
+
+ ///
+ /// 实习结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习结束时间",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SXJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXJSSJ { get; set; }
+
+ ///
+ /// 实习去向
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习去向",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXQX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxqxdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXQX { get; set; }
+
+ ///
+ /// 实习单位来源
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习单位来源",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXDWLY",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxdwlydm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXDWLY { get; set; }
+
+ ///
+ /// 实习场所类型
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习场所类型",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXCSLX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "sxcslxdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXCSLX { get; set; }
+
+ ///
+ /// 实训基地号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实训基地号",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "SXJDH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SXJDH { get; set; }
+
+ ///
+ /// 实习单位名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习单位名称",
+ ColumnLength = 165,
+ ColumnType = "string",
+ DatabaseColumnName = "SXDWMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXDWMC { get; set; }
+
+ ///
+ /// 实习单位地址
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习单位地址",
+ ColumnLength = 132,
+ ColumnType = "string",
+ DatabaseColumnName = "SXDWDZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXDWDZ { get; set; }
+
+ ///
+ /// 实习岗位名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实习岗位名称",
+ ColumnLength = 110,
+ ColumnType = "string",
+ DatabaseColumnName = "SXGWMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SXGWMC { get; set; }
+
+ ///
+ /// 住宿安排
+ ///
+ [CustomizeField(
+ ChineseColumnName = "住宿安排",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "ZSAP",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "zxapdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZSAP { get; set; }
+
+ ///
+ /// 专业对口程度
+ ///
+ [CustomizeField(
+ ChineseColumnName = "专业对口程度",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "ZYDKCD",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "zydkcddm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZYDKCD { get; set; }
+
+ ///
+ /// 购买保险种类
+ ///
+ [CustomizeField(
+ ChineseColumnName = "购买保险种类",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "GMBXZL",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "bxgmzldm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string GMBXZL { get; set; }
+
+ ///
+ /// 保险购买方
+ ///
+ [CustomizeField(
+ ChineseColumnName = "保险购买方",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "BXGMF",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "bxgmfdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string BXGMF { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 64,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZXKPKSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZXKPKSJEntity.cs
new file mode 100644
index 0000000..a2d7548
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZXKPKSJEntity.cs
@@ -0,0 +1,476 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 中职巡课排课数据表
+ ///
+ [CustomizeTable(ChineseTableName = "中职巡课排课数据表", DatabaseTableName = "ODS_ZZXKPKSJ")]
+ public class ODS_ZZXKPKSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 所属校区编号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "所属校区编号",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "SSXQBH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SSXQBH { get; set; }
+
+ ///
+ /// 年级
+ ///
+ [CustomizeField(
+ ChineseColumnName = "年级",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "NJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string NJ { get; set; }
+
+ ///
+ /// 班级
+ ///
+ [CustomizeField(
+ ChineseColumnName = "班级",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "BJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string BJ { get; set; }
+
+ ///
+ /// 学年
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学年",
+ ColumnLength = 303,
+ ColumnType = "string",
+ DatabaseColumnName = "XN",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XN { get; set; }
+
+ ///
+ /// 学期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学期",
+ ColumnLength = 303,
+ ColumnType = "string",
+ DatabaseColumnName = "XQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XQ { get; set; }
+
+ ///
+ /// 周次
+ ///
+ [CustomizeField(
+ ChineseColumnName = "周次",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "ZC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string ZC { get; set; }
+
+ ///
+ /// 星期几
+ ///
+ [CustomizeField(
+ ChineseColumnName = "星期几",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "XQJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XQJ { get; set; }
+
+ ///
+ /// 上课节次
+ ///
+ [CustomizeField(
+ ChineseColumnName = "上课节次",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SKJC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string SKJC { get; set; }
+
+ ///
+ /// 上课日期
+ ///
+ [CustomizeField(
+ ChineseColumnName = "上课日期",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SKRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM-dd",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SKRQ { get; set; }
+
+ ///
+ /// 课程名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程名称",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "KCMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCMC { get; set; }
+
+ ///
+ /// 课程代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "课程代码",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "KCDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string KCDM { get; set; }
+
+ ///
+ /// 教工号
+ ///
+ [CustomizeField(
+ ChineseColumnName = "教工号",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "JGH",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string JGH { get; set; }
+
+ ///
+ /// 教学班人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "教学班人数",
+ ColumnLength = 12,
+ ColumnType = "decimal",
+ DatabaseColumnName = "JXBRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal JXBRS { get; set; }
+
+ ///
+ /// 上课开始时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "上课开始时间",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SKKSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SKKSSJ { get; set; }
+
+ ///
+ /// 上课结束时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "上课结束时间",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SKJSSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SKJSSJ { get; set; }
+
+ ///
+ /// 实到学生人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "实到学生人数",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "SDXSRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SDXSRS { get; set; }
+
+ ///
+ /// 教师到课情况
+ ///
+ [CustomizeField(
+ ChineseColumnName = "教师到课情况",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "JSDKQK",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "zybm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JSDKQK { get; set; }
+
+ ///
+ /// 巡课人
+ ///
+ [CustomizeField(
+ ChineseColumnName = "巡课人",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "XKR",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XKR { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 30,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZXXGKJCSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZXXGKJCSJEntity.cs
new file mode 100644
index 0000000..4c8a167
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZXXGKJCSJEntity.cs
@@ -0,0 +1,434 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 中职学校概况基础数据表
+ ///
+ [CustomizeTable(ChineseTableName = "中职学校概况基础数据表", DatabaseTableName = "ODS_ZZXXGKJCSJ")]
+ public class ODS_ZZXXGKJCSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "XYGKJCSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XYGKJCSJID { get; set; }
+
+ ///
+ /// 省机构编码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "省机构编码",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "PROVINCEJGBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string PROVINCEJGBM { get; set; }
+
+ ///
+ /// 省机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "省机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "PROVINCEJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string PROVINCEJGMC { get; set; }
+
+ ///
+ /// 市机构编码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "市机构编码",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "CITYJGBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string CITYJGBM { get; set; }
+
+ ///
+ /// 市机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "市机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "CITYJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string CITYJGMC { get; set; }
+
+ ///
+ /// 区县机构编码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "区县机构编码",
+ ColumnLength = 12,
+ ColumnType = "string",
+ DatabaseColumnName = "COUNTYJGBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string COUNTYJGBM { get; set; }
+
+ ///
+ /// 区县机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "区县机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "COUNTYJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string COUNTYJGMC { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 学校类别
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校类别",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "XXLB",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "xxlbdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXLB { get; set; }
+
+ ///
+ /// 学校所属主管教育行政部门
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校所属主管教育行政部门",
+ ColumnLength = 65,
+ ColumnType = "string",
+ DatabaseColumnName = "XXSSZGJYXZBM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXSSZGJYXZBM { get; set; }
+
+ ///
+ /// 学校举办者名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校举办者名称",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJBZMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJBZMC { get; set; }
+
+ ///
+ /// 学校举办者性质
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校举办者性质",
+ ColumnLength = 10,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJBZXZ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "xxjbzxzdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJBZXZ { get; set; }
+
+ ///
+ /// 学校负责人姓名(校长)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校负责人姓名(校长)",
+ ColumnLength = 120,
+ ColumnType = "string",
+ DatabaseColumnName = "XXFZRXM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = true
+ )]
+ public string XXFZRXM { get; set; }
+
+ ///
+ /// 建校日期(年月)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "建校日期(年月)",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "JXRQ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "yyyy-MM",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string JXRQ { get; set; }
+
+ ///
+ /// 现有教职工总数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "现有教职工总数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "XYJSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal XYJSS { get; set; }
+
+ ///
+ /// 现有学生数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "现有学生数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "XYXSS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal XYXSS { get; set; }
+
+ ///
+ /// 本校开设专业数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "本校开设专业数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "BXKSZYS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal BXKSZYS { get; set; }
+
+ ///
+ /// 是否国家双优学校/省级双优学校/否
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否国家双优学校/省级双优学校/否",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "SYXX",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = true,
+ JsonName = "syxxdm",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SYXX { get; set; }
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 50,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ODS_ZZZSSJEntity.cs b/DataSendApi.Program/Model/ODS_ZZZSSJEntity.cs
new file mode 100644
index 0000000..9441cf6
--- /dev/null
+++ b/DataSendApi.Program/Model/ODS_ZZZSSJEntity.cs
@@ -0,0 +1,196 @@
+
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 资质证书数据表
+ ///
+ [CustomizeTable(ChineseTableName = "资质证书数据表", DatabaseTableName = "ODS_ZZZSSJ")]
+ public class ODS_ZZZSSJEntity : BaseEntity
+ {
+
+
+ ///
+ /// 主键数据唯一性标识
+ ///
+ [CustomizeField(
+ ChineseColumnName = "主键数据唯一性标识",
+ ColumnLength = 32,
+ ColumnType = "string",
+ DatabaseColumnName = "GZZYQKSJID",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = true,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string GZZYQKSJID { get; set; }
+
+ ///
+ /// 学校机构代码
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构代码",
+ ColumnLength = 36,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGDM",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = true,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGDM { get; set; }
+
+ ///
+ /// 学校机构名称
+ ///
+ [CustomizeField(
+ ChineseColumnName = "学校机构名称",
+ ColumnLength = 80,
+ ColumnType = "string",
+ DatabaseColumnName = "XXJGMC",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string XXJGMC { get; set; }
+
+ ///
+ /// 教师资格证人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "教师资格证人数",
+ ColumnLength = 32,
+ ColumnType = "decimal",
+ DatabaseColumnName = "JSZGZRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal JSZGZRS { get; set; }
+
+ ///
+ /// 高级职称人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "高级职称人数",
+ ColumnLength = 80,
+ ColumnType = "decimal",
+ DatabaseColumnName = "GJZCRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal GJZCRS { get; set; }
+
+ ///
+ /// 中级职称人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "中级职称人数",
+ ColumnLength = 63,
+ ColumnType = "decimal",
+ DatabaseColumnName = "ZJZCRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal ZJZCRS { get; set; }
+
+ ///
+ /// 初级职称人数
+ ///
+ [CustomizeField(
+ ChineseColumnName = "初级职称人数",
+ ColumnLength = 200,
+ ColumnType = "decimal",
+ DatabaseColumnName = "CJZCRS",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public decimal CJZCRS { get; set; }
+
+ ///
+ /// 数据采集时间
+ ///
+ [CustomizeField(
+ ChineseColumnName = "数据采集时间",
+ ColumnLength = 60,
+ ColumnType = "string",
+ DatabaseColumnName = "SJCJSJ",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = true,
+ IsNull = false
+ )]
+ public string SJCJSJ { get; set; }
+
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = "是否推送",
+ ColumnLength = 2,
+ ColumnType = "string",
+ DatabaseColumnName = "IsPush",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = "",
+ ColumnFormat = "",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush { get; set; }
+
+ }
+}
+
diff --git a/DataSendApi.Program/Model/ReturnEntity.cs b/DataSendApi.Program/Model/ReturnEntity.cs
new file mode 100644
index 0000000..20a983e
--- /dev/null
+++ b/DataSendApi.Program/Model/ReturnEntity.cs
@@ -0,0 +1,28 @@
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataSendApi.Program.Model
+{
+ ///
+ /// 返回类型
+ ///
+ public class ReturnEntity
+ {
+ ///
+ /// 0:成功 其他:失败
+ ///
+ public int Code { get; set; } = 0;
+ ///
+ /// 错误消息
+ ///
+ public string Message { get; set; }
+ ///
+ /// 数据对象
+ ///
+ public object Data { get; set; }
+ }
+}
diff --git a/DataSendApi.Program/Oracle/DapperHelper.cs b/DataSendApi.Program/Oracle/DapperHelper.cs
new file mode 100644
index 0000000..03eef88
--- /dev/null
+++ b/DataSendApi.Program/Oracle/DapperHelper.cs
@@ -0,0 +1,75 @@
+using Oracle.ManagedDataAccess.Client;
+using System.Configuration;
+using System.Data;
+
+namespace DataSendApi.Program.Oracle
+{
+ public class DapperHelper
+ {
+ /// 数据库连接名
+ private static string _connection = string.Empty;
+
+ /// 获取连接名
+ private static string Connection
+ {
+ get { return _connection; }
+ //set { _connection = value; }
+ }
+
+ /// 返回连接实例
+ private static IDbConnection dbConnection = null;
+
+ /// 静态变量保存类的实例
+ private static DapperHelper uniqueInstance;
+
+ /// 定义一个标识确保线程同步
+ private static readonly object locker = new object();
+ ///
+ /// 私有构造方法,使外界不能创建该类的实例,以便实现单例模式
+ ///
+ private DapperHelper()
+ {
+ // 这里为了方便演示直接写的字符串,实例项目中可以将连接字符串放在配置文件中,再进行读取。
+ _connection = ConfigurationManager.AppSettings["OracleConnectionString"];
+ }
+
+ ///
+ /// 获取实例,这里为单例模式,保证只存在一个实例
+ ///
+ ///
+ public static DapperHelper GetInstance()
+ {
+ // 双重锁定实现单例模式,在外层加个判空条件主要是为了减少加锁、释放锁的不必要的损耗
+ if (uniqueInstance == null)
+ {
+ lock (locker)
+ {
+ if (uniqueInstance == null)
+ {
+ uniqueInstance = new DapperHelper();
+ }
+ }
+ }
+ return uniqueInstance;
+ }
+
+
+ ///
+ /// 创建数据库连接对象并打开链接
+ ///
+ ///
+ public static IDbConnection OpenCurrentDbConnection()
+ {
+ if (dbConnection == null)
+ {
+ dbConnection = new OracleConnection(Connection);
+ }
+ //判断连接状态
+ if (dbConnection.State == ConnectionState.Closed)
+ {
+ dbConnection.Open();
+ }
+ return dbConnection;
+ }
+ }
+}
\ No newline at end of file
diff --git a/DataSendApi.Program/Oracle/DbContext.cs b/DataSendApi.Program/Oracle/DbContext.cs
new file mode 100644
index 0000000..ad5e85c
--- /dev/null
+++ b/DataSendApi.Program/Oracle/DbContext.cs
@@ -0,0 +1,54 @@
+using System.Collections.Generic;
+using System.Data;
+using System.Threading.Tasks;
+using Dapper;
+using DapperExtensions;
+
+namespace DataSendApi.Program.Oracle
+{
+ public static class DbContext
+ {
+ // 获取开启数据库的连接
+ private static IDbConnection Db
+ {
+ get
+ {
+ //创建单一实例
+ DapperHelper.GetInstance();
+ return DapperHelper.OpenCurrentDbConnection();
+ }
+ }
+
+ ///
+ /// 查出一条记录的实体
+ ///
+ public static T QueryFirstOrDefault(string sql, object param = null)
+ {
+
+ return Db.QueryFirstOrDefault(sql, param);
+ }
+ ///
+ /// 查出多条记录的实体泛型集合
+ ///
+ public static IEnumerable Query(string sql, object param = null, IDbTransaction transaction = null, bool buffered = true, int? commandTimeout = null, CommandType? commandType = null)
+ {
+ return Db.Query(sql, param, transaction, buffered, commandTimeout, commandType);
+ }
+
+ ///
+ /// 执行sql 返回受影响行数
+ ///
+ public static int Execute(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null)
+ {
+ return Db.Execute(sql, param, transaction, commandTimeout, commandType);
+ }
+
+ ///
+ /// 执行sql 返回首行首列
+ ///
+ public static T ExecuteScalar(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null)
+ {
+ return Db.ExecuteScalar(sql, param, transaction, commandTimeout, commandType);
+ }
+ }
+}
\ No newline at end of file
diff --git a/DataSendApi.Program/Properties/AssemblyInfo.cs b/DataSendApi.Program/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..9815a9e
--- /dev/null
+++ b/DataSendApi.Program/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("DataSendApi.Program")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("DataSendApi.Program")]
+[assembly: AssemblyCopyright("Copyright © 2022")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("0ca6f23e-6753-48ac-be54-e1b6a9b5e9a6")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
+//通过使用 "*",如下所示:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/DataSendApi.Program/packages.config b/DataSendApi.Program/packages.config
new file mode 100644
index 0000000..cc807d5
--- /dev/null
+++ b/DataSendApi.Program/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DataSendApi.Program/sqlscript/A_公共字典表.sql b/DataSendApi.Program/sqlscript/A_公共字典表.sql
new file mode 100644
index 0000000..561e357
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/A_公共字典表.sql
@@ -0,0 +1,314 @@
+
+create table ods_GGZD
+(
+ ZDID varchar2(32) ,
+ ZDLX varchar2(32) ,
+ ZDLXMC varchar2(64) ,
+ DM varchar2(10),
+ MC varchar2(64)
+);
+alter table ods_GGZD add constraint ods_GGZD_ZDID primary key (ZDID);
+
+
+INSERT INTO ods_GGZD VALUES ('046216277b024b9a82011aa4e518c431','syxxdm','˫ѧУ','1','˫ѧУ');
+INSERT INTO ods_GGZD VALUES ('2d2b8a07b3ec4b228b76b6110cb9d90f','syxxdm','˫ѧУ','2','ʡ˫ѧУ');
+INSERT INTO ods_GGZD VALUES ('2b168dad832e45f391df605608493170','syxxdm','˫ѧУ','0','');
+INSERT INTO ods_GGZD VALUES ('f3b9667e270942578ea68e38e40ade30','cydm','ҵ','1','һҵ');
+INSERT INTO ods_GGZD VALUES ('19f66f6f96d04232a5dd39ef786aacdd','cydm','ҵ','2','ڶҵ');
+INSERT INTO ods_GGZD VALUES ('f51b71edc5164bdf81b95cc8ac954f38','cydm','ҵ','3','ҵ');
+INSERT INTO ods_GGZD VALUES ('8e061316e87c4f439096ca468db1ab9b','dwxzdm','λʴ','10','');
+INSERT INTO ods_GGZD VALUES ('fa2fe7ea9a3b414d84b1ba76e47d5393','dwxzdm','λʴ','11','ʡϵ');
+INSERT INTO ods_GGZD VALUES ('1d8ae87ee9e240ce9d015c08df59f855','dwxzdm','λʴ','12','ʡµ');
+INSERT INTO ods_GGZD VALUES ('564ad50bd8a74263ac0259abb42def15','dwxzdm','λʴ','20','ҵλ');
+INSERT INTO ods_GGZD VALUES ('d72a729d52564d1e8bc3a08640f45721','dwxzdm','λʴ','21','Ƶλ');
+INSERT INTO ods_GGZD VALUES ('e1b86b912c1a43c59db59f9a1b9be884','dwxzdm','λʴ','22','ߵѧУ');
+INSERT INTO ods_GGZD VALUES ('1156bd673402407dac3a0ec857288339','dwxzdm','λʴ','23','λ');
+INSERT INTO ods_GGZD VALUES ('c14ff329ade8413584a2417802b85414','dwxzdm','λʴ','24','ҽλ');
+INSERT INTO ods_GGZD VALUES ('4f92aaa01e4b4db880295d91173c33af','dwxzdm','λʴ','25','Ļλ');
+INSERT INTO ods_GGZD VALUES ('2a4950875d65408cacf9d2222c2a367d','dwxzdm','λʴ','29','ҵλ');
+INSERT INTO ods_GGZD VALUES ('b050fade65984504adc09c3e3757e803','dwxzdm','λʴ','30','ҵ');
+INSERT INTO ods_GGZD VALUES ('c34dc50c7c22420991b2299342eb9122','dwxzdm','λʴ','31','ҵ');
+INSERT INTO ods_GGZD VALUES ('f11c81b3093f473893821595e529ec2a','dwxzdm','λʴ','32','ҵ');
+INSERT INTO ods_GGZD VALUES ('f2427ddbd44b4c63ab9ed38af3819316','dwxzdm','λʴ','33','Ӫ(˽Ӫ)ҵ');
+INSERT INTO ods_GGZD VALUES ('cfac54ba07ca4f5ea4f99805e3d42d74','dwxzdm','λʴ','34','ҵ');
+INSERT INTO ods_GGZD VALUES ('4170258247754872a4039d82cfa12a44','dwxzdm','λʴ','35','ҵ');
+INSERT INTO ods_GGZD VALUES ('4b9bea57bb8f43888ca0a22304ecbea6','dwxzdm','λʴ','39','ҵ');
+INSERT INTO ods_GGZD VALUES ('ac5dbea5303a4e0998699a732731428f','dwxzdm','λʴ','40','');
+INSERT INTO ods_GGZD VALUES ('0f596d09e04b4f7ea261045dde1d2be4','dwxzdm','λʴ','50','֯');
+INSERT INTO ods_GGZD VALUES ('b2eec166c35b4c2e82f46d32550f86fa','dwxzdm','λʴ','60','֯');
+INSERT INTO ods_GGZD VALUES ('cc232d19c4764d5899ea3669c8ac81db','dwxzdm','λʴ','70','ƹ');
+INSERT INTO ods_GGZD VALUES ('6754a55aa35c4de5a5838d021d42c9d4','dwxzdm','λʴ','80','ڻ');
+INSERT INTO ods_GGZD VALUES ('90075869029a48948813cdfb7dabcb39','dwxzdm','λʴ','99','');
+INSERT INTO ods_GGZD VALUES ('ba2880adeb4f4700a3c58a51a6b53596','zcbmjbdm','ֲ֧ż','1','Ҽ');
+INSERT INTO ods_GGZD VALUES ('17197c2cc3ea4515935b8d4cc185c544','zcbmjbdm','ֲ֧ż','2','ʡ');
+INSERT INTO ods_GGZD VALUES ('79e26f197f28420d841237b092afb75c','zcbmjbdm','ֲ֧ż','3','м');
+INSERT INTO ods_GGZD VALUES ('7614d8a6f1d74768a91b187acb81bf5d','zcbmjbdm','ֲ֧ż','0','');
+INSERT INTO ods_GGZD VALUES ('1a79ee80cab04bcf84a9bc873b049c1e','xxjdlbdm','ʵѵ','1','Уʵѵѧ');
+INSERT INTO ods_GGZD VALUES ('b05fd0ea03f246ad832c9f36bf5646c1','xxjdlbdm','ʵѵ','2','ʵѵ');
+INSERT INTO ods_GGZD VALUES ('61a60ee594874dc1bbfce603ea7371ad','xxjdlbdm','ʵѵ','3','Уг');
+INSERT INTO ods_GGZD VALUES ('8ce04f6dd68f4bbda393555917fa11e5','xxjdlbdm','ʵѵ','4','ʵѵ');
+INSERT INTO ods_GGZD VALUES ('bf880df9cac0478f88fc9c0560f85807','xxjdlbdm','ʵѵ','0','');
+INSERT INTO ods_GGZD VALUES ('c8ba61d634904e59b25c6c8634bdc90c','xxlbdm','ѧУ','361','еְҵѧУ');
+INSERT INTO ods_GGZD VALUES ('38025ae70e02436b92d4f2e46172ef1c','xxlbdm','ѧУ','362','еȼѧУ');
+INSERT INTO ods_GGZD VALUES ('cd4d524421094b8e87081628042e8120','xxlbdm','ѧУ','363','еʦѧУ');
+INSERT INTO ods_GGZD VALUES ('644d7f90fbfc49dca722f6571ac37eb8','xxlbdm','ѧУ','364','еרҵѧУ');
+INSERT INTO ods_GGZD VALUES ('1c835ae5e1f54d0f867056fdd4064240','xxlbdm','ѧУ','365','ְҵѧУ');
+INSERT INTO ods_GGZD VALUES ('eb6ff2b7bf3d4fa68bf7158b898cae00','xxlbdm','ѧУ','366','ѧУ');
+INSERT INTO ods_GGZD VALUES ('b1c2b90e38324d6ab56100e2ba96b469','xxlbdm','ѧУ','368','ְ');
+INSERT INTO ods_GGZD VALUES ('7b4f00997ba348d0b5bb424599573f09','xxlbdm','ѧУ','369','ְ');
+INSERT INTO ods_GGZD VALUES ('75ec9d4f746a478db26d3fc0ae25a23f','xxjbzxzdm','ѧУٰʴ','811','ʡ');
+INSERT INTO ods_GGZD VALUES ('6efb0c1176514094b0d12ac1e8655414','xxjbzxzdm','ѧУٰʴ','812','ʡţأ');
+INSERT INTO ods_GGZD VALUES ('66377361280d475eb117fc355bec3dd7','xxjbzxzdm','ѧУٰʴ','821','ؼ');
+INSERT INTO ods_GGZD VALUES ('efa9a5efa08043d1b395600961e577e4','xxjbzxzdm','ѧУٰʴ','822','ؼţأ');
+INSERT INTO ods_GGZD VALUES ('261750e4ebed402abe1d52f3673b92da','xxjbzxzdm','ѧУٰʴ','831','ؼ');
+INSERT INTO ods_GGZD VALUES ('1acb1c02def4441598b1988b89a9cde9','xxjbzxzdm','ѧУٰʴ','832','ؼţأ');
+INSERT INTO ods_GGZD VALUES ('fff4f01704384321a27e093369f11903','xxjbzxzdm','ѧУٰʴ','891','طҵ');
+INSERT INTO ods_GGZD VALUES ('8a23e95b68a749dfae5de28d4b51dffb','xxjbzxzdm','ѧУٰʴ','999','');
+INSERT INTO ods_GGZD VALUES ('86fb930752ce492b915878ad14594114','kcfldm','γ̷','1','');
+INSERT INTO ods_GGZD VALUES ('35fe018db8e842119b41ff6705deb9a8','kcfldm','γ̷','2','רҵĿ');
+INSERT INTO ods_GGZD VALUES ('1fcfaf184a104ca3a80955d28150bcfe','kcfldm','γ̷','3','רҵ');
+INSERT INTO ods_GGZD VALUES ('2a31e470444f48a4999d230e7deb9bc7','kcfldm','γ̷','4','ѵ');
+INSERT INTO ods_GGZD VALUES ('d603df8e6a774c00ab66b4282034f6f1','kcfldm','γ̷','5','ʵ');
+INSERT INTO ods_GGZD VALUES ('f9c6117939a04de4b6968e5045ad2b3f','kcfldm','γ̷','6','ۺʵѵ');
+INSERT INTO ods_GGZD VALUES ('62c853b9b14b454a960c552745862f53','kcfldm','γ̷','7','֪ʵϰ');
+INSERT INTO ods_GGZD VALUES ('eb0d8dad87ad4e638a7d6b973b009860','kcfldm','γ̷','8','λʵϰ');
+INSERT INTO ods_GGZD VALUES ('1321f936508b4faa99c0b77d4a975f86','kclbdm','γ','1','A ࣨۿΣ');
+INSERT INTO ods_GGZD VALUES ('3ae72f70c10343ec8ba0e9e066bd4649','kclbdm','γ','2','B ۣࣨʵ');
+INSERT INTO ods_GGZD VALUES ('634c82da121d476eafce6547f8433e3b','kclbdm','γ','3','C ࣨʵΣ');
+INSERT INTO ods_GGZD VALUES ('205efd14f20a42d8b5513b17a9bf34b1','kcxzdm','γʴ','1','');
+INSERT INTO ods_GGZD VALUES ('cfc124b683ef478ea6f71324dd251883','kcxzdm','γʴ','2','רҵ');
+INSERT INTO ods_GGZD VALUES ('db6d2446b21644099cce55b5cc96ad4e','kcsxdm','γԴ','1','');
+INSERT INTO ods_GGZD VALUES ('951a9da2b94f428a8da4951aaed0c380','kcsxdm','γԴ','2','ѡ');
+INSERT INTO ods_GGZD VALUES ('ee9b437925e4421babaf7d81b3d69b99','xklbdm','ѧ','14','˼');
+INSERT INTO ods_GGZD VALUES ('7cb28bb8c80c46f1bd8f9d5cf0e366c1','xklbdm','ѧ','21','');
+INSERT INTO ods_GGZD VALUES ('8ec9c0b5c66140739430ab22c312adbe','xklbdm','ѧ','15','ʷ');
+INSERT INTO ods_GGZD VALUES ('f0e69430b8f54c1ca22c1ef05fdf860a','xklbdm','ѧ','22','ѧ');
+INSERT INTO ods_GGZD VALUES ('b51cb3cc45894c3ab13fc52cd2ec8624','xklbdm','ѧ','36','Ϣ');
+INSERT INTO ods_GGZD VALUES ('af4a77aa0c2849f4973b59c535bb589a','xklbdm','ѧ','33','');
+INSERT INTO ods_GGZD VALUES ('cc09511ff7fd4e5380384b89882e2869','xklbdm','ѧ','34','');
+INSERT INTO ods_GGZD VALUES ('bc31330b75e84b298c5d017d4246fd80','xklbdm','ѧ','35','');
+INSERT INTO ods_GGZD VALUES ('3fee8061567a4344b9c876c1f46e3f04','xklbdm','ѧ','32','뽡');
+INSERT INTO ods_GGZD VALUES ('354c220d2d2b4b3a96cc7f72cdc122d6','xklbdm','ѧ','40','');
+INSERT INTO ods_GGZD VALUES ('509c2a5932f14427bc81aec0ff1a0b64','xklbdm','ѧ','27','');
+INSERT INTO ods_GGZD VALUES ('477376ae7d5447b0b87b5488885680f0','xklbdm','ѧ','24','');
+INSERT INTO ods_GGZD VALUES ('051085ebf15b4fe4bd93ea08a90a79f9','xklbdm','ѧ','25','ѧ');
+INSERT INTO ods_GGZD VALUES ('93e6ad5ba65440328579d13950566071','xklbdm','ѧ','26','');
+INSERT INTO ods_GGZD VALUES ('4873dbf5f9ed4cdab414c6fcb2efed22','xklbdm','ѧ','62','Ͷ뼼');
+INSERT INTO ods_GGZD VALUES ('e7b5b044fa674be98f9450bd230d7798','xklbdm','ѧ','63','оѧϰۺʵ');
+INSERT INTO ods_GGZD VALUES ('3b9a8ce274c849618a22ecf9314c7541','xklbdm','ѧ','65','ۺʵ');
+INSERT INTO ods_GGZD VALUES ('9a5c99cc7eab4e02b389b7e6b7928edb','xklbdm','ѧ','66','ʵۺʵ');
+INSERT INTO ods_GGZD VALUES ('ad746f5f87264278b0d22b710161712f','xklbdm','ѧ','37','ͨü');
+INSERT INTO ods_GGZD VALUES ('a5ce39522f5d4bd7acc28a0cde63bfbe','xklbdm','ѧ','10000','ũ');
+INSERT INTO ods_GGZD VALUES ('4c8c8d8ff3c943369031626efd374e9f','xklbdm','ѧ','20000','Դ');
+INSERT INTO ods_GGZD VALUES ('5356d4ec148e432e978f2d3157992abc','xklbdm','ѧ','30000','ԴԴ');
+INSERT INTO ods_GGZD VALUES ('2a32b10be9da44b6ae6a5470cc77d95f','xklbdm','ѧ','40000','ľˮ');
+INSERT INTO ods_GGZD VALUES ('b897baea50ee450e9ba6f80b49916595','xklbdm','ѧ','50000','ӹ');
+INSERT INTO ods_GGZD VALUES ('960f32cfa4504a459c472617db5db136','xklbdm','ѧ','60000','ʯͻ');
+INSERT INTO ods_GGZD VALUES ('12c926ea157944d18a979fc2b0321513','xklbdm','ѧ','70000','ʳƷ');
+INSERT INTO ods_GGZD VALUES ('53d107b2c4e54f0ba159767f3769201b','xklbdm','ѧ','80000','ͨ');
+INSERT INTO ods_GGZD VALUES ('6c9b017033fd4b7ebfc133e4eb1cac80','xklbdm','ѧ','90000','Ϣ');
+INSERT INTO ods_GGZD VALUES ('612cd6f81cc440c9ad0c80aaca38f151','xklbdm','ѧ','100000','ҽҩ');
+INSERT INTO ods_GGZD VALUES ('6aa161e3c7424fa59998c6766712ab52','xklbdm','ѧ','110000','б');
+INSERT INTO ods_GGZD VALUES ('3bb73efcc7a24bb2866107ccb73e2ae8','xklbdm','ѧ','120000','ƾó');
+INSERT INTO ods_GGZD VALUES ('fde86dc3d5f84baf94ff84d8181759ed','xklbdm','ѧ','130000','η');
+INSERT INTO ods_GGZD VALUES ('988997b4b9db4e2f9b739eb0601cf128','xklbdm','ѧ','140000','Ļ');
+INSERT INTO ods_GGZD VALUES ('3d3fa655a8c845958957d6a721311ccf','xklbdm','ѧ','150000','뽡');
+INSERT INTO ods_GGZD VALUES ('fd32267731fa44b68df6d7496d1c6869','xklbdm','ѧ','160000','');
+INSERT INTO ods_GGZD VALUES ('28945d401ebf41b7985961976602cd20','xklbdm','ѧ','170000','˾');
+INSERT INTO ods_GGZD VALUES ('af59cc83e1e64b82918de630b3c860ea','xklbdm','ѧ','180000','');
+INSERT INTO ods_GGZD VALUES ('042973aea6ef43f98022d59252e93549','jcxzdm','̲ʴ','1','ͳ̲');
+INSERT INTO ods_GGZD VALUES ('319f399dba414256b8889566440d9837','jcxzdm','̲ʴ','2','ҹ滮̲');
+INSERT INTO ods_GGZD VALUES ('5932dad2414f40ba8a2ce17f90e46edb','jcxzdm','̲ʴ','3','ʡ滮̲');
+INSERT INTO ods_GGZD VALUES ('172c81f6f8684bef8ee25cd6c3dfe9c5','jcxzdm','̲ʴ','4','Уϱ̲');
+INSERT INTO ods_GGZD VALUES ('2815654770694747a678d44f791bb39b','jcxzdm','̲ʴ','5','Ա̲');
+INSERT INTO ods_GGZD VALUES ('9d390aa37daf4c37976495f4bb65eb28','jcxzdm','̲ʴ','6','');
+INSERT INTO ods_GGZD VALUES ('434865d08e724dc4933d3c1d871bc051','jcxzdm','̲ʴ','0','');
+INSERT INTO ods_GGZD VALUES ('21096c499dac4b228beb05d494a8c404','jcsyccdm','̲òδ','1','ְ');
+INSERT INTO ods_GGZD VALUES ('ff48cd379aaa4e0787ed03cbc9c8b9ee','jcsyccdm','̲òδ','2','ר');
+INSERT INTO ods_GGZD VALUES ('de838468986b484fbb9cee63e4d24988','jcsyccdm','̲òδ','3','ְҵ');
+INSERT INTO ods_GGZD VALUES ('6f0e0c1e9cac471fa55924c1449b8595','jcsyccdm','̲òδ','0','');
+INSERT INTO ods_GGZD VALUES ('34a3894bb9c649a6868f70ba284c5525','jchjqkdm','̲Ļ','1','ҽ̲Ľ轱̲صȽ');
+INSERT INTO ods_GGZD VALUES ('c8dcc55441354520894fa3dc337c590a','jchjqkdm','̲Ļ','2','ҽ̲Ľ轱̲һȽ');
+INSERT INTO ods_GGZD VALUES ('d20564155a454990b69c2dde3fcc47a7','jchjqkdm','̲Ļ','3','ҽ̲Ľ轱̲ĶȽ');
+INSERT INTO ods_GGZD VALUES ('52e5a4670cc942cab909d66078228b5d','jchjqkdm','̲Ļ','0','');
+INSERT INTO ods_GGZD VALUES ('fcbed3d447ad431d976fab81c29d69e7','sxlbdm','ʵϰ','1','֪ʵϰ');
+INSERT INTO ods_GGZD VALUES ('1649691c6cb340529b060c867ca958f6','sxlbdm','ʵϰ','2','λʵϰ');
+INSERT INTO ods_GGZD VALUES ('8a0457e3d1cf49e08919a9c95a1d0fa9','sxlbdm','ʵϰ','0','');
+INSERT INTO ods_GGZD VALUES ('46e050252022439d953a85a2c0ada595','sxqxdm','ʵϰȥ','1','ʡ');
+INSERT INTO ods_GGZD VALUES ('fb738ce7a84d442680649b8d836d7f9f','sxqxdm','ʵϰȥ','2','ʡ');
+INSERT INTO ods_GGZD VALUES ('c4fa3f4d3657464499a495efea7fdcd5','sxqxdm','ʵϰȥ','3','');
+INSERT INTO ods_GGZD VALUES ('4869e2ae11f943769a7a65dff32291e5','sxdwlydm','ʵϰλԴ','1','ͳһ');
+INSERT INTO ods_GGZD VALUES ('0155ad0413be4eb1b01f5ad22325f404','sxdwlydm','ʵϰλԴ','2','ѧУƼ');
+INSERT INTO ods_GGZD VALUES ('906f47fb33cf4089af5cd30b33f892a0','sxdwlydm','ʵϰλԴ','3','ѡ');
+INSERT INTO ods_GGZD VALUES ('065317c3e8e9436d87fd08f7285031fc','sxcslxdm','ʵϰʹ','1','Уʵϰʵѵ');
+INSERT INTO ods_GGZD VALUES ('22892fbe35f74d6fae4fee5dfe30e2ba','sxcslxdm','ʵϰʹ','2','Уʵϰʵѵ');
+INSERT INTO ods_GGZD VALUES ('594b9da8d79d4b5792a03ab78c41e1ab','zxapdm','סްŴ','1','ʵϰλͳһ');
+INSERT INTO ods_GGZD VALUES ('a91999e1cbf44ecab465ef7576e6bd35','zxapdm','סްŴ','2','ѧУͳһ');
+INSERT INTO ods_GGZD VALUES ('f187be5e005748509a0e361ff7815a39','zxapdm','סްŴ','3','ѧ');
+INSERT INTO ods_GGZD VALUES ('9659c1ee26ab42d383669fe79557ae95','zydkcddm','רҵԿڳ̶ȴ','1','Կ');
+INSERT INTO ods_GGZD VALUES ('a612b0fd960148dcb1cbc46b14d8d32d','zydkcddm','רҵԿڳ̶ȴ','2','Կ');
+INSERT INTO ods_GGZD VALUES ('73a591fa5ad54c348848a9cbf1906686','zydkcddm','רҵԿڳ̶ȴ','0','רҵԿ');
+INSERT INTO ods_GGZD VALUES ('8247b192fd504be18c3443ef1b31c8af','bxgmzldm','','1','ѧʵϰα');
+INSERT INTO ods_GGZD VALUES ('740b857e69334824ad4f50a1f0598034','bxgmzldm','','2','');
+INSERT INTO ods_GGZD VALUES ('b9a81c2ca41e42df93921a4c544a9d22','bxgmzldm','','3','');
+INSERT INTO ods_GGZD VALUES ('98c396ae712b49c0a914c0f790c3b96b','bxgmzldm','','0','δ');
+INSERT INTO ods_GGZD VALUES ('b7664d22632e43c09040ed79eafa9418','bxgmfdm','չ','1','ѧУ');
+INSERT INTO ods_GGZD VALUES ('90841272bd5e4d73b3075bb85e15692f','bxgmfdm','չ','2','ҵ');
+INSERT INTO ods_GGZD VALUES ('4ec11e8139324223b85ebfbe8607d24b','bxgmfdm','չ','0','');
+INSERT INTO ods_GGZD VALUES ('d375ab6325554ad4a9ba46834f991a25','zbdwjbdm','쵥λ','1','ʼ');
+INSERT INTO ods_GGZD VALUES ('21c4c747e704432aaf930164dbf087a5','zbdwjbdm','쵥λ','2','Ҽ');
+INSERT INTO ods_GGZD VALUES ('971884bf2bb94fea8159a0e579235057','zbdwjbdm','쵥λ','3','ʡ');
+INSERT INTO ods_GGZD VALUES ('36cf398955024ce68ad6c1bebe429898','zbdwjbdm','쵥λ','4','м');
+INSERT INTO ods_GGZD VALUES ('859acf5d14ae48c2a93bb856d4d6aa5c','zbdwjbdm','쵥λ','5','ؼ');
+INSERT INTO ods_GGZD VALUES ('bb9be6c320144e478c924401f33376c3','zbdwjbdm','쵥λ','6','У');
+INSERT INTO ods_GGZD VALUES ('2353f402054d4b9e9f6ece758502fb03','zbdwjbdm','쵥λ','0','');
+INSERT INTO ods_GGZD VALUES ('ddaf419cf42a4c8db6414cf44960de03','dyhdlxdm','ʹ','1','');
+INSERT INTO ods_GGZD VALUES ('123351425e0347bda86e7a766ba61b48','dyhdlxdm','ʹ','2','ݽ');
+INSERT INTO ods_GGZD VALUES ('81f9925b5ba04823a74cc9cea22a1ec1','dyhdlxdm','ʹ','3','ձ');
+INSERT INTO ods_GGZD VALUES ('2f32f72b13d34977ab4ab8940316de76','dyhdlxdm','ʹ','4','ι߷');
+INSERT INTO ods_GGZD VALUES ('a6ad08a4021544a7ab4da6d6d7c5f170','dyhdlxdm','ʹ','5','־Ը');
+INSERT INTO ods_GGZD VALUES ('57f502f43826450c93e6eed024cfd6a0','dyhdlxdm','ʹ','6','ʵ');
+INSERT INTO ods_GGZD VALUES ('43f39822015245bb93cf5a2707762221','dyhdlxdm','ʹ','7','');
+INSERT INTO ods_GGZD VALUES ('7716c08bd8a64dec87a7f1918d69ab2d','dyhdlxdm','ʹ','0','');
+INSERT INTO ods_GGZD VALUES ('6124f79db29b4e62a64d78fae1a02a58','dyhdztdm','','1','ϰƽʱйɫ˼');
+INSERT INTO ods_GGZD VALUES ('6311ec046e5b41aa9bcdeca3ec804400','dyhdztdm','','2','ʷ');
+INSERT INTO ods_GGZD VALUES ('1548da20c7814b39b0b7c5d9f04776ed','dyhdztdm','','3','ļֵ۽ ');
+INSERT INTO ods_GGZD VALUES ('4228d7d63e424838a63c72255002dd45','dyhdztdm','','4','');
+INSERT INTO ods_GGZD VALUES ('83580753066043969097b0e1033b549a','dyhdztdm','','5','л㴫ͳĻ');
+INSERT INTO ods_GGZD VALUES ('6b05b7f39e3d4449958b0ae7b8df48df','dyhdztdm','','6','ν');
+INSERT INTO ods_GGZD VALUES ('1ab8728347cf42cf8fa3d1359200615d','dyhdztdm','','7','Ұȫ');
+INSERT INTO ods_GGZD VALUES ('c135a3edcee04d14878b7f782e32dac0','dyhdztdm','','8','Ͷ');
+INSERT INTO ods_GGZD VALUES ('80ce4926c5b14ecf9026609fba803e6c','dyhdztdm','','9','');
+INSERT INTO ods_GGZD VALUES ('e4d8fda6492545f7a82093debbd17a3b','dyhdztdm','','10','ְҵĽ');
+INSERT INTO ods_GGZD VALUES ('bfd8d50a4556493e8b4f085e7fea0858','dyhdztdm','','0','');
+INSERT INTO ods_GGZD VALUES ('851da205b6f54e929a34271e27ba49e2','sthdlxdm','Żʹ','1','');
+INSERT INTO ods_GGZD VALUES ('6c098f04d50a4e30843110db7e3125b8','sthdlxdm','Żʹ','2','ѧ');
+INSERT INTO ods_GGZD VALUES ('34c58284f03b458fa50237b7c1f3ce71','sthdlxdm','Żʹ','3','ѧϰ');
+INSERT INTO ods_GGZD VALUES ('2e22f37be5464d75bcffecece1161ced','sthdlxdm','Żʹ','4','');
+INSERT INTO ods_GGZD VALUES ('7f18e01a1f754ba2be500f2a2139901c','sthdlxdm','Żʹ','5','');
+INSERT INTO ods_GGZD VALUES ('32170891051f4f5fa29840105a580156','dnldrzwdm','쵼Աְ','1','');
+INSERT INTO ods_GGZD VALUES ('e576ca3516864d199ff9600c100a76c2','dnldrzwdm','쵼Աְ','2','');
+INSERT INTO ods_GGZD VALUES ('463f3d9ad89d4c0187934a3461cf98dd','dnldrzwdm','쵼Աְ','3','֯ίԱ');
+INSERT INTO ods_GGZD VALUES ('279fecd700914a0092820efe6a7cc8d6','dnldrzwdm','쵼Աְ','4','ίԱ');
+INSERT INTO ods_GGZD VALUES ('3dc177bb15114986b411036bc4e05c99','dnldrzwdm','쵼Աְ','5','ͼίԱ');
+INSERT INTO ods_GGZD VALUES ('e0dd3bf14fca417b8487168f002d0ffc','dnldrzwdm','쵼Աְ','6','ίԱ');
+INSERT INTO ods_GGZD VALUES ('f75edb17954444aea55d79790ffd5a5a','dnldrzwdm','쵼Աְ','7','ͳսίԱ');
+INSERT INTO ods_GGZD VALUES ('be3d574817ab46eebff97bc20da12d7f','dnldrzwdm','쵼Աְ','8','ίԱ');
+INSERT INTO ods_GGZD VALUES ('12cf007bcba04aceb44aeab73949e7d5','dnldrzwdm','쵼Աְ','9','ŮίԱ');
+INSERT INTO ods_GGZD VALUES ('077f55e0ba80421e976755afa9a8e558','dnldrzwdm','쵼Աְ','10','');
+INSERT INTO ods_GGZD VALUES ('8e19413a59c34223aa29133954b4a10e','xdylxdm','µԱʹ','1','ְ');
+INSERT INTO ods_GGZD VALUES ('e9b7e38b21654f958073d88357de8b98','xdylxdm','µԱʹ','2','ѧ');
+INSERT INTO ods_GGZD VALUES ('2b371cac0c564c0c84397e398aaccd8a','xdylxdm','µԱʹ','3','');
+INSERT INTO ods_GGZD VALUES ('6fea6d38d3484642834666ca25719d3b','xdyfzztdm','µԱչ״̬','1','');
+INSERT INTO ods_GGZD VALUES ('915b6d30072b4602a62e00ccb23cd6a5','xdyfzztdm','µԱչ״̬','2','ԤԱ');
+INSERT INTO ods_GGZD VALUES ('7e2e073dda6e4c05abc7ff338763b36e','xdyfzztdm','µԱչ״̬','3','ʽԱ');
+INSERT INTO ods_GGZD VALUES ('32c077928a164b85838a4480600eddae','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','1','ʵ');
+INSERT INTO ods_GGZD VALUES ('ef4f7c7f64fc415f9e4ce65fa3855b8a','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','2','');
+INSERT INTO ods_GGZD VALUES ('918556a92f3545568a6311c9d6ef1c14','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','3','');
+INSERT INTO ods_GGZD VALUES ('dedc9632ec7449719f355e979703c8c5','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','4','ѧУڼѧϰ');
+INSERT INTO ods_GGZD VALUES ('12774670603e411c8ea15142f97fe58f','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','5','֧ڼѧϰ');
+INSERT INTO ods_GGZD VALUES ('c961bef4c9114166a907834171d34d15','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','6',' QQ');
+INSERT INTO ods_GGZD VALUES ('20b87bd4c8b64112beb6eb80688a1934','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','7','ƶѵƽ̨');
+INSERT INTO ods_GGZD VALUES ('07aadf5f67054bd48b77db0865350fc8','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','8','ַͼ');
+INSERT INTO ods_GGZD VALUES ('c704efa44a11434c949e666aedcb7f68','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','9','ѧϰ');
+INSERT INTO ods_GGZD VALUES ('5f4042e863a94272b24877ec15f92639','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','10','߽վ');
+INSERT INTO ods_GGZD VALUES ('3be3c4785e6846edbb3445b20703da87','dygbxxpxzytjztdm','ԱɲѧϰѵҪ;','11','ιѧϰ');
+INSERT INTO ods_GGZD VALUES ('df91354eed1c48ebafa2df145394291f','dygbxxpxnrdm','Աɲѧϰѵݴ','1','');
+INSERT INTO ods_GGZD VALUES ('0a0466ba82dc4f2586e93eb689eb3b69','dygbxxpxnrdm','Աɲѧϰѵݴ','2',' ļ');
+INSERT INTO ods_GGZD VALUES ('819f7a21003e4084868b57549e1e6d68','dygbxxpxnrdm','Աɲѧϰѵݴ','3','浳 ҷɷ');
+INSERT INTO ods_GGZD VALUES ('25395e3adb96446ea6c425c7b2f42671','dygbxxpxnrdm','Աɲѧϰѵݴ','4','ѧ ҵ');
+INSERT INTO ods_GGZD VALUES ('f3c6f7b526ba4284962ef415e1074d7b','dygbxxpxnrdm','Աɲѧϰѵݴ','5','ѧУ');
+INSERT INTO ods_GGZD VALUES ('ca2ba3a6cdca46edb59d0e0df1acc787','dygbxxpxnrdm','Աɲѧϰѵݴ','6','Ļ');
+INSERT INTO ods_GGZD VALUES ('2853872c57854e6a9fbbd7a47b7a15be','dygbxxpxnrdm','Աɲѧϰѵݴ','7','÷');
+INSERT INTO ods_GGZD VALUES ('f8af9d0dfa114d57839ea203fea88128','dygbxxpxnrdm','Աɲѧϰѵݴ','8',' ý巽');
+INSERT INTO ods_GGZD VALUES ('f17b54a1ae5a451e9d9930d16a30f59c','dygbxxpxnrdm','Աɲѧϰѵݴ','9','');
+INSERT INTO ods_GGZD VALUES ('ca2fe1320a154b83b54c81f6dfb2affe','dygbxxpxnrdm','Աɲѧϰѵݴ','10','ʦʦ');
+INSERT INTO ods_GGZD VALUES ('f8bff7dd70ff4aa5a29828de6a6ca0bd','dygbxxpxnrdm','Աɲѧϰѵݴ','11','');
+INSERT INTO ods_GGZD VALUES ('c2273566c01d408c9da4ce5f9b2d3046','djhdxsdm','ʽ','1','ʵ');
+INSERT INTO ods_GGZD VALUES ('3b2c29d6423448b89461ab7202b28eeb','djhdxsdm','ʽ','2','');
+INSERT INTO ods_GGZD VALUES ('eab044ecbffc4a36b2a8e90b479ef308','djhdxsdm','ʽ','3','');
+INSERT INTO ods_GGZD VALUES ('e54a300ef45d4fb6929beed0e8cd5bc2','djhdxsdm','ʽ','4','ѧУڼѧϰ');
+INSERT INTO ods_GGZD VALUES ('c46f78ed07934ffcadae1cde3fc4ddfc','djhdxsdm','ʽ','5','֧ڼѧϰ');
+INSERT INTO ods_GGZD VALUES ('8f3f4b65cd4049839845c1b90df71b5e','djhdxsdm','ʽ','6',' QQ');
+INSERT INTO ods_GGZD VALUES ('a6d785c9b3f54b77a18ca444581a2c68','djhdxsdm','ʽ','7','ƶѵƽ̨');
+INSERT INTO ods_GGZD VALUES ('2b474d0ee3014fefa9f4ba89f1b1b84b','djhdxsdm','ʽ','8','ַͼ');
+INSERT INTO ods_GGZD VALUES ('1b05d987d91c48089b45c1be46460c10','djhdxsdm','ʽ','9','ѧϰ');
+INSERT INTO ods_GGZD VALUES ('d1ff95f30dbe485bb7a26fcc57f29838','djhdxsdm','ʽ','10','߽վ/ιѧ ϰ');
+INSERT INTO ods_GGZD VALUES ('6f4436bb414743df9bfb2f6b57545288','djhdxsdm','ʽ','11','ιѧϰ');
+INSERT INTO ods_GGZD VALUES ('5bc1235b06d0464aaa14d33ae33a1429','ztdrhdnrdm','ջݴ','1','δչ ջ');
+INSERT INTO ods_GGZD VALUES ('1a4a2a73bed94439a9d6325f0e323458','ztdrhdnrdm','ջݴ','2','');
+INSERT INTO ods_GGZD VALUES ('dabb2aeee2204bc380f7be9d73e91eaf','ztdrhdnrdm','ջݴ','3','ůذ');
+INSERT INTO ods_GGZD VALUES ('3c65ed659e9b4d66aa331e93070568c6','ztdrhdnrdm','ջݴ','4','ѧϰ');
+INSERT INTO ods_GGZD VALUES ('7358825e65db47c9ae5bd462c624d5d8','ztdrhdnrdm','ջݴ','5','');
+INSERT INTO ods_GGZD VALUES ('64f4f68392694bb6a86de12d91e78b16','ztdrhdnrdm','ջݴ','6','ײ');
+INSERT INTO ods_GGZD VALUES ('a140325c205943d6af71d03dfa1e58ce','ztdrhdnrdm','ջݴ','7','־Ը');
+INSERT INTO ods_GGZD VALUES ('12f5a1a3321749a192a46824b7a4463c','ztdrhdnrdm','ջݴ','8','ι');
+INSERT INTO ods_GGZD VALUES ('e5868fa3245246678181ff5fd9c6f3d9','ztdrhdnrdm','ջݴ','9','оҵ');
+INSERT INTO ods_GGZD VALUES ('c555813a95954878aae5cf9840d610ab','ztdrhdnrdm','ջݴ','10','');
+INSERT INTO ods_GGZD VALUES ('84469941b1fc4394a74c998b16aa79fb','wjylxdm','δҵʹ','1','ҵ');
+INSERT INTO ods_GGZD VALUES ('fa418f72cee84efa9915ef436e9d7afd','wjylxdm','δҵʹ','2','ҵѧ');
+INSERT INTO ods_GGZD VALUES ('5f53c2f23efc41a3bd9976a443cf2bdb','wjylxdm','δҵʹ','3','ݲҵ');
+INSERT INTO ods_GGZD VALUES ('4f738e07658c4c7e891baa90b1d6c9d9','sxjyhydm','ʵϰ/ҵҵ','A','ũҵ');
+INSERT INTO ods_GGZD VALUES ('7aa0676ab2b94722badf0c62e6eab9b3','sxjyhydm','ʵϰ/ҵҵ','B','ɿҵ');
+INSERT INTO ods_GGZD VALUES ('3205fffe6706434fbc12cd7f611d504c','sxjyhydm','ʵϰ/ҵҵ','C','ҵ');
+INSERT INTO ods_GGZD VALUES ('cf2fab8778f24c6aa738b443330d744a','sxjyhydm','ʵϰ/ҵҵ','D','ȼˮӦҵ');
+INSERT INTO ods_GGZD VALUES ('7a136e3c3e6846819ca8a3433dda7dd9','sxjyhydm','ʵϰ/ҵҵ','E','ҵ');
+INSERT INTO ods_GGZD VALUES ('1bd0b4527d544612a2b65a4199071e09','sxjyhydm','ʵϰ/ҵҵ','F','ҵ');
+INSERT INTO ods_GGZD VALUES ('55e86b0d88c8442299bc620b6d2ffab3','sxjyhydm','ʵϰ/ҵҵ','G','ͨ䡢ִҵ');
+INSERT INTO ods_GGZD VALUES ('8819d852b0b048a19adc068692626931','sxjyhydm','ʵϰ/ҵҵ','H','סͲҵ');
+INSERT INTO ods_GGZD VALUES ('9879d7644223449ea4fa48b7e16475c2','sxjyhydm','ʵϰ/ҵҵ','I','Ϣ䡢Ϣҵ');
+INSERT INTO ods_GGZD VALUES ('7b6c70361aad4c058f7e0bcd7162462e','sxjyhydm','ʵϰ/ҵҵ','J','ҵ');
+INSERT INTO ods_GGZD VALUES ('b7f932c5ad8d4b22835284271d8acca4','sxjyhydm','ʵϰ/ҵҵ','K','زҵ');
+INSERT INTO ods_GGZD VALUES ('ddb6e124c72a4b48ab8d6a35f02efea0','sxjyhydm','ʵϰ/ҵҵ','L','ҵ');
+INSERT INTO ods_GGZD VALUES ('b18c45167fd74ec9b870abd530d39a6f','sxjyhydm','ʵϰ/ҵҵ','M','ѧоͼҵ');
+INSERT INTO ods_GGZD VALUES ('fe284ca688594873b234b266eab3868b','sxjyhydm','ʵϰ/ҵҵ','N','ˮʩҵ');
+INSERT INTO ods_GGZD VALUES ('f122aec8d60d4336884845f3eecfde01','sxjyhydm','ʵϰ/ҵҵ','O','ҵ');
+INSERT INTO ods_GGZD VALUES ('ce121b266c10483d884969bf18837af8','sxjyhydm','ʵϰ/ҵҵ','P','');
+INSERT INTO ods_GGZD VALUES ('9dff0e11b8c94b2988ecaca5e2a79d6a','sxjyhydm','ʵϰ/ҵҵ','Q','Ṥ');
+INSERT INTO ods_GGZD VALUES ('bba6b51becb749e5990c4beb04fc5a04','sxjyhydm','ʵϰ/ҵҵ','R','Ļҵ');
+INSERT INTO ods_GGZD VALUES ('f2dbb38a5e904b24915df6d32bad3be2','sxjyhydm','ʵϰ/ҵҵ','S','ᱣϺ֯');
+INSERT INTO ods_GGZD VALUES ('8f4a21598d4448279eea40cba0933ee6','sxjyhydm','ʵϰ/ҵҵ','T','֯');
+INSERT INTO ods_GGZD VALUES ('6f9278057dab4167b17981fbb816489f','sxjyhydm','ʵϰ/ҵҵ','0','');
+INSERT INTO ods_GGZD VALUES ('44566bca80934bfcad19895dacd7f7e9','jydwgmdm','ҵλģ','1','ش');
+INSERT INTO ods_GGZD VALUES ('84732039970246e1beed8a6fbae21347','jydwgmdm','ҵλģ','2','');
+INSERT INTO ods_GGZD VALUES ('3abdec7521ee4cefae53c513e10854d4','jydwgmdm','ҵλģ','3','');
+INSERT INTO ods_GGZD VALUES ('227b0d73b70d4839abe9fc9bc9e92f14','jydwgmdm','ҵλģ','4','С');
+INSERT INTO ods_GGZD VALUES ('0d7e0c06762d438db69147867b840d57','jydwgmdm','ҵλģ','5','');
+INSERT INTO ods_GGZD VALUES ('c83ae6d2c0fa44bbab40f97765653c96','jyqddm','ҵ','1','ѧУƼ');
+INSERT INTO ods_GGZD VALUES ('380b2a5ea50540f0a612ebd5bbc58586','jyqddm','ҵ','2','н');
+INSERT INTO ods_GGZD VALUES ('98462bfe1fae48ec96b0c0ee11586501','jyqddm','ҵ','0','');
+INSERT INTO ods_GGZD VALUES ('cd1f49fc9a414391910dad9ef9f9a407','htqdqkdm','ͬǩ','1','δǩ');
+INSERT INTO ods_GGZD VALUES ('03a65b5cb4d2414f8a654f2fb0ed5cf0','htqdqkdm','ͬǩ','2','1 꼰');
+INSERT INTO ods_GGZD VALUES ('d5805977286e422d87367efd7ae5faf5','htqdqkdm','ͬǩ','3','1-2');
+INSERT INTO ods_GGZD VALUES ('fe4812f01da84639adb452ed821f7d35','htqdqkdm','ͬǩ','4','2-3');
+INSERT INTO ods_GGZD VALUES ('a52a4c45e5e6438cbb10f97dc5aeac37','htqdqkdm','ͬǩ','5','3 ');
+INSERT INTO ods_GGZD VALUES ('6cfd733a4ce2483a8da9007b11e99f49','shbxqkdm','ᱣ','1','');
+INSERT INTO ods_GGZD VALUES ('fb0e7caa91b34759b6e3c33da5292ab4','shbxqkdm','ᱣ','2','');
+INSERT INTO ods_GGZD VALUES ('77b2bb5cc6614ec2b54d811d28e8273d','shbxqkdm','ᱣ','3','һ');
+INSERT INTO ods_GGZD VALUES ('1f18fb2117ce495dbb70771d90ae636c','shbxqkdm','ᱣ','4','һ');
+INSERT INTO ods_GGZD VALUES ('72fe120fe7ce4974ae5e55e40e7ded0c','shbxqkdm','ᱣ','0','û籣');
+INSERT INTO ods_GGZD VALUES ('39561fa1a2714f36b7c4755ce41c7249','sxqddm','ѧ','1','ͨ');
+INSERT INTO ods_GGZD VALUES ('68d22c1d15234a038517138f9260c097','sxqddm','ѧ','2','һ');
+INSERT INTO ods_GGZD VALUES ('6d98083030734ee0b2612c12f36ca2bb','sxqddm','ѧ','3','̸ְ߿');
+INSERT INTO ods_GGZD VALUES ('324982dedaff4e1b842032f033b37eb6','sxqddm','ѧ','4','ͨ߿');
+INSERT INTO ods_GGZD VALUES ('5153c62826d447ff9e9f92b10242b447','sxqddm','ѧ','5','ѧ');
+INSERT INTO ods_GGZD VALUES ('f373b8b2c69e48f2a09da83a7545dddc','sxccdm','ѧδ','1','ר');
+INSERT INTO ods_GGZD VALUES ('cc7d9793551a4e558933226f4556cdfa','sxccdm','ѧδ','2','ְҵ');
+INSERT INTO ods_GGZD VALUES ('da87f5cf6eae4a82883a047b8e45b415','sxccdm','ѧδ','3','ͨ');
+INSERT INTO ods_GGZD VALUES ('ace480f5ecbd4435bf69d585a26c8475','sxccdm','ѧδ','4','˶ʿ');
+INSERT INTO ods_GGZD VALUES ('186fff859b9849579134ee79124f33b0','sxccdm','ѧδ','5','');
+
+INSERT INTO ods_GGZD VALUES ('1863ff859b9849779134ee79124f33b0','hzxyqsztdm','Эǩ״̬','1','ǩ');
+INSERT INTO ods_GGZD VALUES ('1864ff85fb9849579134ee79124f33b0','hzxyqsztdm','Эǩ״̬','2','ǩ');
+INSERT INTO ods_GGZD VALUES ('1865ff859b9649579134ee79124f33b0','hzxyqsztdm','Эǩ״̬','3','δǩ');
+
+
+INSERT INTO ods_GGZD VALUES ('1865ff859b96495798965e79124f33b0','hzztdm','״̬','1','');
+INSERT INTO ods_GGZD VALUES ('1865f1253b9649579134ee79124f33b0','hzztdm','״̬','0','ֹ');
+
+
+INSERT INTO ods_GGZD VALUES ('1865f1253b964957958777ff124f33b0','sfbm','/','0','');
+INSERT INTO ods_GGZD VALUES ('1865f1253b964957958777fb124f33b0','sfbm','/','1','');
+
+INSERT INTO ods_GGZD VALUES ('1865f1253b964957958fjdsfkj1f33b0','zybm','/쳣','0','쳣');
+INSERT INTO ods_GGZD VALUES ('1865f1253b964957958fjdsfkj2f33b0','zybm','/쳣','1','');
diff --git a/DataSendApi.Program/sqlscript/中职学校概况基础数据表(ods_zzxxgkjcsj).sql b/DataSendApi.Program/sqlscript/中职学校概况基础数据表(ods_zzxxgkjcsj).sql
new file mode 100644
index 0000000..a86d136
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/中职学校概况基础数据表(ods_zzxxgkjcsj).sql
@@ -0,0 +1,48 @@
+
+create table ods_zzxxgkjcsj
+(
+ xygkjcsjid varchar2(32) not null,
+ provincejgbm varchar2(12) not null,
+ provincejgmc varchar2(80) not null,
+ cityjgbm varchar2(12) not null,
+ cityjgmc varchar2(80) not null,
+ countyjgbm varchar2(12) not null,
+ countyjgmc varchar2(80) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ xxlb varchar2(10) not null,
+ xxsszgjyxzbm varchar2(65) ,
+ xxjbzmc varchar2(120) not null,
+ xxjbzxz varchar2(4) not null,
+ xxfzrxm varchar2(120) ,
+ jxrq varchar2(32) not null,
+ xyjss number not null,
+ xyxss number not null,
+ bxkszys number not null,
+ syxx varchar2(32) not null,
+ sjcjsj varchar2(50) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_zzxxgkjcsj add constraint ods_zzxxgkjcsj_xygkjcsjid primary key (xygkjcsjid);
+comment on table ods_zzxxgkjcsj is 'ְѧУſݱ';
+comment on column ods_zzxxgkjcsj.xygkjcsjid is 'ΨһԱʶ';
+comment on column ods_zzxxgkjcsj.provincejgbm is 'ʡ';
+comment on column ods_zzxxgkjcsj.provincejgmc is 'ʡ';
+comment on column ods_zzxxgkjcsj.cityjgbm is 'л';
+comment on column ods_zzxxgkjcsj.cityjgmc is 'л';
+comment on column ods_zzxxgkjcsj.countyjgbm is 'ػ';
+comment on column ods_zzxxgkjcsj.countyjgmc is 'ػ';
+comment on column ods_zzxxgkjcsj.xxjgdm is 'ѧУ';
+comment on column ods_zzxxgkjcsj.xxjgmc is 'ѧУ';
+comment on column ods_zzxxgkjcsj.xxlb is 'ѧУ';
+comment on column ods_zzxxgkjcsj.xxsszgjyxzbm is 'ѧУܽ';
+comment on column ods_zzxxgkjcsj.xxjbzmc is 'ѧУٰ';
+comment on column ods_zzxxgkjcsj.xxjbzxz is 'ѧУٰ';
+comment on column ods_zzxxgkjcsj.xxfzrxm is 'ѧУУ';
+comment on column ods_zzxxgkjcsj.jxrq is 'Уڣ£';
+comment on column ods_zzxxgkjcsj.xyjss is 'нְ';
+comment on column ods_zzxxgkjcsj.xyxss is 'ѧ';
+comment on column ods_zzxxgkjcsj.bxkszys is 'Уרҵ';
+comment on column ods_zzxxgkjcsj.syxx is 'Ƿ˫ѧУ/ʡ˫ѧУ/';
+comment on column ods_zzxxgkjcsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/中职实习基础数据表(ods_zzsxjcsj).sql b/DataSendApi.Program/sqlscript/中职实习基础数据表(ods_zzsxjcsj).sql
new file mode 100644
index 0000000..948d308
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/中职实习基础数据表(ods_zzsxjcsj).sql
@@ -0,0 +1,64 @@
+
+create table ods_zzsxjcsj
+(
+ gzsxjysjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ xsxh varchar2(45) not null,
+ xsxm varchar2(45) not null,
+ zymc varchar2(120) not null,
+ xn varchar2(50) not null,
+ xq varchar2(50) not null,
+ sxbj varchar2(100) not null,
+ sxxmmc varchar2(250) not null,
+ sxlb varchar2(10) not null,
+ sxsfks varchar2(10) not null,
+ sxsfjs varchar2(10) not null,
+ sxhy varchar2(4) not null,
+ sxkssj varchar2(32) not null,
+ sxjssj varchar2(32) not null,
+ sxqx varchar2(10) ,
+ sxdwly varchar2(10) not null,
+ sxcslx varchar2(10) not null,
+ sxjdh varchar2(10) not null,
+ sxdwmc varchar2(165) ,
+ sxdwdz varchar2(132) ,
+ sxgwmc varchar2(110) ,
+ zsap varchar2(10) ,
+ zydkcd varchar2(10) ,
+ gmbxzl varchar2(10) ,
+ bxgmf varchar2(10) ,
+ sjcjsj varchar2(64) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_zzsxjcsj add constraint ods_zzsxjcsj_gzsxjysjid primary key (gzsxjysjid);
+comment on table ods_zzsxjcsj is 'ְʵϰݱ';
+comment on column ods_zzsxjcsj.gzsxjysjid is 'ΨһԱʶ';
+comment on column ods_zzsxjcsj.xxjgdm is 'ѧУ';
+comment on column ods_zzsxjcsj.xxjgmc is 'ѧУ';
+comment on column ods_zzsxjcsj.xsxh is 'ѧѧ';
+comment on column ods_zzsxjcsj.xsxm is 'ѧ';
+comment on column ods_zzsxjcsj.zymc is 'רҵ';
+comment on column ods_zzsxjcsj.xn is 'ѧ';
+comment on column ods_zzsxjcsj.xq is 'ѧ';
+comment on column ods_zzsxjcsj.sxbj is 'ʵϰ༶';
+comment on column ods_zzsxjcsj.sxxmmc is 'ʵϰĿ';
+comment on column ods_zzsxjcsj.sxlb is 'ʵϰ';
+comment on column ods_zzsxjcsj.sxsfks is 'ʵϰǷʼ';
+comment on column ods_zzsxjcsj.sxsfjs is 'ʵϰǷ';
+comment on column ods_zzsxjcsj.sxhy is 'ʵϰҵ';
+comment on column ods_zzsxjcsj.sxkssj is 'ʵϰʼʱ';
+comment on column ods_zzsxjcsj.sxjssj is 'ʵϰʱ';
+comment on column ods_zzsxjcsj.sxqx is 'ʵϰȥ';
+comment on column ods_zzsxjcsj.sxdwly is 'ʵϰλԴ';
+comment on column ods_zzsxjcsj.sxcslx is 'ʵϰ';
+comment on column ods_zzsxjcsj.sxjdh is 'ʵѵغ';
+comment on column ods_zzsxjcsj.sxdwmc is 'ʵϰλ';
+comment on column ods_zzsxjcsj.sxdwdz is 'ʵϰλַ';
+comment on column ods_zzsxjcsj.sxgwmc is 'ʵϰλ';
+comment on column ods_zzsxjcsj.zsap is 'סް';
+comment on column ods_zzsxjcsj.zydkcd is 'רҵԿڳ̶';
+comment on column ods_zzsxjcsj.gmbxzl is '';
+comment on column ods_zzsxjcsj.bxgmf is 'չ';
+comment on column ods_zzsxjcsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/中职巡课排课数据表(ods_zzxkpksj).sql b/DataSendApi.Program/sqlscript/中职巡课排课数据表(ods_zzxkpksj).sql
new file mode 100644
index 0000000..ceb4a6e
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/中职巡课排课数据表(ods_zzxkpksj).sql
@@ -0,0 +1,52 @@
+
+create table ods_zzxkpksj
+(
+ gzzyqksjid varchar2(32) ,
+ xxjgdm varchar2(36) ,
+ xxjgmc varchar2(80) ,
+ ssxqbh varchar2(80) not null,
+ nj varchar2(32) ,
+ bj varchar2(60) ,
+ xn varchar2(23) ,
+ xq varchar2(23) ,
+ zc varchar2(30) ,
+ xqj varchar2(20) ,
+ skjc varchar2(32) ,
+ skrq varchar2(32) not null,
+ kcmc varchar2(30) not null,
+ kcdm varchar2(30) not null,
+ jgh varchar2(30) ,
+ jxbrs number not null,
+ skkssj varchar2(32) not null,
+ skjssj varchar2(32) not null,
+ sdxsrs varchar2(32) not null,
+ jsdkqk varchar2(30) not null,
+ xkr varchar2(32) ,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_zzxkpksj add constraint ods_zzxkpksj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_zzxkpksj is 'ְѲſݱ';
+comment on column ods_zzxkpksj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_zzxkpksj.xxjgdm is 'ѧУ';
+comment on column ods_zzxkpksj.xxjgmc is 'ѧУ';
+comment on column ods_zzxkpksj.ssxqbh is 'У';
+comment on column ods_zzxkpksj.nj is '꼶';
+comment on column ods_zzxkpksj.bj is '༶';
+comment on column ods_zzxkpksj.xn is 'ѧ';
+comment on column ods_zzxkpksj.xq is 'ѧ';
+comment on column ods_zzxkpksj.zc is 'ܴ';
+comment on column ods_zzxkpksj.xqj is 'ڼ';
+comment on column ods_zzxkpksj.skjc is 'Ͽνڴ';
+comment on column ods_zzxkpksj.skrq is 'Ͽ';
+comment on column ods_zzxkpksj.kcmc is 'γ';
+comment on column ods_zzxkpksj.kcdm is 'γ̴';
+comment on column ods_zzxkpksj.jgh is '̹';
+comment on column ods_zzxkpksj.jxbrs is 'ѧ';
+comment on column ods_zzxkpksj.skkssj is 'Ͽοʼʱ';
+comment on column ods_zzxkpksj.skjssj is 'Ͽνʱ';
+comment on column ods_zzxkpksj.sdxsrs is 'ʵѧ';
+comment on column ods_zzxkpksj.jsdkqk is 'ʦ';
+comment on column ods_zzxkpksj.xkr is 'Ѳ';
+comment on column ods_zzxkpksj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/中职毕业去向【升学】数据表(ods_zzbyqxsxsj).sql b/DataSendApi.Program/sqlscript/中职毕业去向【升学】数据表(ods_zzbyqxsxsj).sql
new file mode 100644
index 0000000..3f9d4da
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/中职毕业去向【升学】数据表(ods_zzbyqxsxsj).sql
@@ -0,0 +1,36 @@
+
+create table ods_zzbyqxsxsj
+(
+ zzsxjysjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ xh varchar2(64) not null,
+ xm varchar2(65) not null,
+ zymc varchar2(34) not null,
+ bjmc varchar2(45) ,
+ sfzh varchar2(36) ,
+ sxqd varchar2(10) ,
+ xxmc varchar2(68) ,
+ lqzy varchar2(68) ,
+ fs varchar2(12) ,
+ sxcc varchar2(10) ,
+ sjcjsj varchar2(64) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_zzbyqxsxsj add constraint ods_zzbyqxsxsj_zzsxjysjid primary key (zzsxjysjid);
+comment on table ods_zzbyqxsxsj is 'ְҵȥѧݱ';
+comment on column ods_zzbyqxsxsj.zzsxjysjid is 'ΨһԱʶ';
+comment on column ods_zzbyqxsxsj.xxjgdm is 'ѧУ';
+comment on column ods_zzbyqxsxsj.xxjgmc is 'ѧУ';
+comment on column ods_zzbyqxsxsj.xh is 'ѧ';
+comment on column ods_zzbyqxsxsj.xm is '';
+comment on column ods_zzbyqxsxsj.zymc is 'רҵ';
+comment on column ods_zzbyqxsxsj.bjmc is '༶';
+comment on column ods_zzbyqxsxsj.sfzh is '֤';
+comment on column ods_zzbyqxsxsj.sxqd is 'ѧ';
+comment on column ods_zzbyqxsxsj.xxmc is 'ѧУ';
+comment on column ods_zzbyqxsxsj.lqzy is '¼ȡרҵ';
+comment on column ods_zzbyqxsxsj.fs is '';
+comment on column ods_zzbyqxsxsj.sxcc is 'ѧ';
+comment on column ods_zzbyqxsxsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/中职毕业去向【就业】数据表(ods_zzbyqxjysj).sql b/DataSendApi.Program/sqlscript/中职毕业去向【就业】数据表(ods_zzbyqxjysj).sql
new file mode 100644
index 0000000..0e26e48
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/中职毕业去向【就业】数据表(ods_zzbyqxjysj).sql
@@ -0,0 +1,54 @@
+
+create table ods_zzbyqxjysj
+(
+ zzsxjysjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ xh varchar2(64) not null,
+ xm varchar2(120) not null,
+ zymc varchar2(120) not null,
+ bjmc varchar2(64) ,
+ sfzh varchar2(36) not null,
+ sfxqhzdw varchar2(10) not null,
+ jydwmc varchar2(124) ,
+ jydwhy varchar2(10) not null,
+ jydwxz varchar2(4) ,
+ jydwgm varchar2(10) ,
+ jyqd varchar2(10) ,
+ htqdqk varchar2(10) ,
+ qxx varchar2(12) ,
+ sfdk varchar2(10) not null,
+ jyrq varchar2(56) not null,
+ zzcy varchar2(10) not null,
+ cyxmmc varchar2(164) ,
+ lhjy varchar2(10) not null,
+ gznr varchar2(300) ,
+ sjcjsj varchar2(64) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_zzbyqxjysj add constraint ods_zzbyqxjysj_zzsxjysjid primary key (zzsxjysjid);
+comment on table ods_zzbyqxjysj is 'ְҵȥҵݱ';
+comment on column ods_zzbyqxjysj.zzsxjysjid is 'ΨһԱʶ';
+comment on column ods_zzbyqxjysj.xxjgdm is 'ѧУ';
+comment on column ods_zzbyqxjysj.xxjgmc is 'ѧУ';
+comment on column ods_zzbyqxjysj.xh is 'ѧ';
+comment on column ods_zzbyqxjysj.xm is '';
+comment on column ods_zzbyqxjysj.zymc is 'רҵ';
+comment on column ods_zzbyqxjysj.bjmc is '༶';
+comment on column ods_zzbyqxjysj.sfzh is '֤';
+comment on column ods_zzbyqxjysj.sfxqhzdw is 'ҵλǷУλ';
+comment on column ods_zzbyqxjysj.jydwmc is 'ҵλ';
+comment on column ods_zzbyqxjysj.jydwhy is 'ҵλҵ';
+comment on column ods_zzbyqxjysj.jydwxz is 'ҵλ';
+comment on column ods_zzbyqxjysj.jydwgm is 'ҵλģ';
+comment on column ods_zzbyqxjysj.jyqd is 'ҵ';
+comment on column ods_zzbyqxjysj.htqdqk is 'ͬǩ';
+comment on column ods_zzbyqxjysj.qxx is 'нߣԪ';
+comment on column ods_zzbyqxjysj.sfdk is 'ǷԿ';
+comment on column ods_zzbyqxjysj.jyrq is 'ҵ';
+comment on column ods_zzbyqxjysj.zzcy is 'Ƿҵ';
+comment on column ods_zzbyqxjysj.cyxmmc is 'ҵĿ';
+comment on column ods_zzbyqxjysj.lhjy is 'Ƿҵ';
+comment on column ods_zzbyqxjysj.gznr is '';
+comment on column ods_zzbyqxjysj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/中职毕业去向【未就业】数据表(ods_zzbyqxwjysj).sql b/DataSendApi.Program/sqlscript/中职毕业去向【未就业】数据表(ods_zzbyqxwjysj).sql
new file mode 100644
index 0000000..1d874a6
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/中职毕业去向【未就业】数据表(ods_zzbyqxwjysj).sql
@@ -0,0 +1,28 @@
+
+create table ods_zzbyqxwjysj
+(
+ zzsxjysjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ xh varchar2(36) not null,
+ xm varchar2(65) not null,
+ zymc varchar2(65) ,
+ bjmc varchar2(34) ,
+ sfzh varchar2(36) ,
+ wjylx varchar2(10) not null,
+ sjcjsj varchar2(64) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_zzbyqxwjysj add constraint ods_zzbyqxwjysj_zzsxjysjid primary key (zzsxjysjid);
+comment on table ods_zzbyqxwjysj is 'ְҵȥδҵݱ';
+comment on column ods_zzbyqxwjysj.zzsxjysjid is 'ΨһԱʶ';
+comment on column ods_zzbyqxwjysj.xxjgdm is 'ѧУ';
+comment on column ods_zzbyqxwjysj.xxjgmc is 'ѧУ';
+comment on column ods_zzbyqxwjysj.xh is 'ѧ';
+comment on column ods_zzbyqxwjysj.xm is '';
+comment on column ods_zzbyqxwjysj.zymc is 'רҵ';
+comment on column ods_zzbyqxwjysj.bjmc is '༶';
+comment on column ods_zzbyqxwjysj.sfzh is '֤';
+comment on column ods_zzbyqxwjysj.wjylx is 'δҵ';
+comment on column ods_zzbyqxwjysj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/中职课程信息数据表(ods_zzkcxxsj).sql b/DataSendApi.Program/sqlscript/中职课程信息数据表(ods_zzkcxxsj).sql
new file mode 100644
index 0000000..bfe2878
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/中职课程信息数据表(ods_zzkcxxsj).sql
@@ -0,0 +1,38 @@
+
+create table ods_zzkcxxsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ ssxqbh varchar2(80) not null,
+ kcmc varchar2(23) not null,
+ kcdm varchar2(23) not null,
+ kclb varchar2(10) not null,
+ kcxz varchar2(10) not null,
+ kcsx varchar2(10) not null,
+ kcfl varchar2(10) not null,
+ xklb varchar2(10) not null,
+ sfzyhxkc varchar2(10) not null,
+ lvjxss number not null,
+ sjjxsy number not null,
+ sjcjsj varchar2(60),
+ IsPush varchar2(2) not null
+);
+alter table ods_zzkcxxsj add constraint ods_zzkcxxsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_zzkcxxsj is 'ְγϢݱ';
+comment on column ods_zzkcxxsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_zzkcxxsj.xxjgdm is 'ѧУ';
+comment on column ods_zzkcxxsj.xxjgmc is 'ѧУ';
+comment on column ods_zzkcxxsj.ssxqbh is 'У';
+comment on column ods_zzkcxxsj.kcmc is 'γ';
+comment on column ods_zzkcxxsj.kcdm is 'γ̴';
+comment on column ods_zzkcxxsj.kclb is 'γ';
+comment on column ods_zzkcxxsj.kcxz is 'γ';
+comment on column ods_zzkcxxsj.kcsx is 'γ';
+comment on column ods_zzkcxxsj.kcfl is 'γ̷';
+comment on column ods_zzkcxxsj.xklb is 'ѧ';
+comment on column ods_zzkcxxsj.sfzyhxkc is 'ǷרҵĿγ';
+comment on column ods_zzkcxxsj.lvjxss is '۽ѧʱ';
+comment on column ods_zzkcxxsj.sjjxsy is 'ʵѧʱ';
+comment on column ods_zzkcxxsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/党员发展情况基础数据表(ods_dyfzqkjcsj).sql b/DataSendApi.Program/sqlscript/党员发展情况基础数据表(ods_dyfzqkjcsj).sql
new file mode 100644
index 0000000..e91f787
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/党员发展情况基础数据表(ods_dyfzqkjcsj).sql
@@ -0,0 +1,36 @@
+
+create table ods_dyfzqkjcsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ dzzlx varchar2(100) not null,
+ dzzmc varchar2(100) not null,
+ dzzbh varchar2(100) not null,
+ xdylx varchar2(10) not null,
+ dyxm varchar2(32) not null,
+ rybh varchar2(35) ,
+ xdyfzzt varchar2(10) not null,
+ cwjjfzrq varchar2(32) ,
+ cwybdyrq varchar2(32) ,
+ zzrq varchar2(32) ,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_dyfzqkjcsj add constraint ods_dyfzqkjcsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_dyfzqkjcsj is 'Աչݱ';
+comment on column ods_dyfzqkjcsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_dyfzqkjcsj.xxjgdm is 'ѧУ';
+comment on column ods_dyfzqkjcsj.xxjgmc is 'ѧУ';
+comment on column ods_dyfzqkjcsj.dzzlx is '֯';
+comment on column ods_dyfzqkjcsj.dzzmc is '֯';
+comment on column ods_dyfzqkjcsj.dzzbh is '֯';
+comment on column ods_dyfzqkjcsj.xdylx is 'µԱ';
+comment on column ods_dyfzqkjcsj.dyxm is '';
+comment on column ods_dyfzqkjcsj.rybh is 'Ա';
+comment on column ods_dyfzqkjcsj.xdyfzzt is 'Աչ״̬';
+comment on column ods_dyfzqkjcsj.cwjjfzrq is 'Ϊ';
+comment on column ods_dyfzqkjcsj.cwybdyrq is 'ΪԤԱ';
+comment on column ods_dyfzqkjcsj.zzrq is 'ΪʽԱ';
+comment on column ods_dyfzqkjcsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/党建活动三会一课数据表(ods_djhdshyksj).sql b/DataSendApi.Program/sqlscript/党建活动三会一课数据表(ods_djhdshyksj).sql
new file mode 100644
index 0000000..4dda952
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/党建活动三会一课数据表(ods_djhdshyksj).sql
@@ -0,0 +1,32 @@
+
+create table ods_djhdshyksj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ dzzmc varchar2(100) not null,
+ dzzbh varchar2(100) not null,
+ hdxs varchar2(100) not null,
+ dkzjr varchar2(32) ,
+ hdnr varchar2(500) ,
+ hdkssj varchar2(35) not null,
+ hdjssj varchar2(60) not null,
+ cyrs number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_djhdshyksj add constraint ods_djhdshyksj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_djhdshyksj is 'һݱ';
+comment on column ods_djhdshyksj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_djhdshyksj.xxjgdm is 'ѧУ';
+comment on column ods_djhdshyksj.xxjgmc is 'ѧУ';
+comment on column ods_djhdshyksj.dzzmc is '֯';
+comment on column ods_djhdshyksj.dzzbh is '֯';
+comment on column ods_djhdshyksj.hdxs is 'ʽ';
+comment on column ods_djhdshyksj.dkzjr is '';
+comment on column ods_djhdshyksj.hdnr is '';
+comment on column ods_djhdshyksj.hdkssj is 'ʼʱ';
+comment on column ods_djhdshyksj.hdjssj is 'ʱ';
+comment on column ods_djhdshyksj.cyrs is '';
+comment on column ods_djhdshyksj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/党建活动党员主题党日数据表(ods_djhddyztdrsj).sql b/DataSendApi.Program/sqlscript/党建活动党员主题党日数据表(ods_djhddyztdrsj).sql
new file mode 100644
index 0000000..e0cc6fb
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/党建活动党员主题党日数据表(ods_djhddyztdrsj).sql
@@ -0,0 +1,30 @@
+
+create table ods_djhddyztdrsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ dzzmc varchar2(100) not null,
+ dzzbh varchar2(100) not null,
+ hddd varchar2(32) ,
+ hdnr varchar2(300) ,
+ hdkssj varchar2(35) not null,
+ hdjssj varchar2(60) not null,
+ cyrs number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_djhddyztdrsj add constraint ods_djhddyztdrsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_djhddyztdrsj is 'Աݱ';
+comment on column ods_djhddyztdrsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_djhddyztdrsj.xxjgdm is 'ѧУ';
+comment on column ods_djhddyztdrsj.xxjgmc is 'ѧУ';
+comment on column ods_djhddyztdrsj.dzzmc is '֯';
+comment on column ods_djhddyztdrsj.dzzbh is '֯';
+comment on column ods_djhddyztdrsj.hddd is 'ص';
+comment on column ods_djhddyztdrsj.hdnr is '';
+comment on column ods_djhddyztdrsj.hdkssj is 'ʼʱ';
+comment on column ods_djhddyztdrsj.hdjssj is 'ʱ';
+comment on column ods_djhddyztdrsj.cyrs is '';
+comment on column ods_djhddyztdrsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/党建活动党员大会数据表(ods_djhddydhsj).sql b/DataSendApi.Program/sqlscript/党建活动党员大会数据表(ods_djhddydhsj).sql
new file mode 100644
index 0000000..6cb3371
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/党建活动党员大会数据表(ods_djhddydhsj).sql
@@ -0,0 +1,30 @@
+
+create table ods_djhddydhsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ dzzmc varchar2(100) not null,
+ dzzbh varchar2(100) ,
+ hddd varchar2(300) ,
+ hdnr varchar2(300) ,
+ hdkssj varchar2(35) not null,
+ hdjssj varchar2(60) not null,
+ cyrs number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_djhddydhsj add constraint ods_djhddydhsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_djhddydhsj is 'Աݱ';
+comment on column ods_djhddydhsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_djhddydhsj.xxjgdm is 'ѧУ';
+comment on column ods_djhddydhsj.xxjgmc is 'ѧУ';
+comment on column ods_djhddydhsj.dzzmc is '֯';
+comment on column ods_djhddydhsj.dzzbh is '֯';
+comment on column ods_djhddydhsj.hddd is 'ص';
+comment on column ods_djhddydhsj.hdnr is '';
+comment on column ods_djhddydhsj.hdkssj is 'ʼʱ';
+comment on column ods_djhddydhsj.hdjssj is 'ʱ';
+comment on column ods_djhddydhsj.cyrs is '';
+comment on column ods_djhddydhsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/党建活动党员干部学习数据表(ods_djhddygbxxsj).sql b/DataSendApi.Program/sqlscript/党建活动党员干部学习数据表(ods_djhddygbxxsj).sql
new file mode 100644
index 0000000..29d2a7c
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/党建活动党员干部学习数据表(ods_djhddygbxxsj).sql
@@ -0,0 +1,30 @@
+
+create table ods_djhddygbxxsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ dzzmc varchar2(100) not null,
+ dzzbh varchar2(100) ,
+ dygbxxpxzytjzt varchar2(100) ,
+ dygbxxpxnr varchar2(32) ,
+ hdkssj varchar2(35) not null,
+ hdjssj varchar2(60) not null,
+ cyrs number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_djhddygbxxsj add constraint ods_djhddygbxxsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_djhddygbxxsj is 'Աɲѧϰݱ';
+comment on column ods_djhddygbxxsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_djhddygbxxsj.xxjgdm is 'ѧУ';
+comment on column ods_djhddygbxxsj.xxjgmc is 'ѧУ';
+comment on column ods_djhddygbxxsj.dzzmc is '֯';
+comment on column ods_djhddygbxxsj.dzzbh is '֯';
+comment on column ods_djhddygbxxsj.dygbxxpxzytjzt is 'ԱɲѧϰѵҪ;';
+comment on column ods_djhddygbxxsj.dygbxxpxnr is 'Աɲѧϰѵ';
+comment on column ods_djhddygbxxsj.hdkssj is 'ʼʱ';
+comment on column ods_djhddygbxxsj.hdjssj is 'ʱ';
+comment on column ods_djhddygbxxsj.cyrs is '';
+comment on column ods_djhddygbxxsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/党建活动党员日常数据表(ods_djhddyrcsj).sql b/DataSendApi.Program/sqlscript/党建活动党员日常数据表(ods_djhddyrcsj).sql
new file mode 100644
index 0000000..93f3892
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/党建活动党员日常数据表(ods_djhddyrcsj).sql
@@ -0,0 +1,30 @@
+
+create table ods_djhddyrcsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ dzzmc varchar2(100) not null,
+ dzzbh varchar2(100) not null,
+ hddd varchar2(32) ,
+ hdnr varchar2(300) ,
+ hdkssj varchar2(35) not null,
+ hdjssj varchar2(60) not null,
+ cyrs number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_djhddyrcsj add constraint ods_djhddyrcsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_djhddyrcsj is 'Աճݱ';
+comment on column ods_djhddyrcsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_djhddyrcsj.xxjgdm is 'ѧУ';
+comment on column ods_djhddyrcsj.xxjgmc is 'ѧУ';
+comment on column ods_djhddyrcsj.dzzmc is '֯';
+comment on column ods_djhddyrcsj.dzzbh is '֯';
+comment on column ods_djhddyrcsj.hddd is 'ص';
+comment on column ods_djhddyrcsj.hdnr is '';
+comment on column ods_djhddyrcsj.hdkssj is 'ʼʱ';
+comment on column ods_djhddyrcsj.hdjssj is 'ʱ';
+comment on column ods_djhddyrcsj.cyrs is '';
+comment on column ods_djhddyrcsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/党组织情况基础数据表(ods_dzzqkjcsj).sql b/DataSendApi.Program/sqlscript/党组织情况基础数据表(ods_dzzqkjcsj).sql
new file mode 100644
index 0000000..1a50db9
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/党组织情况基础数据表(ods_dzzqkjcsj).sql
@@ -0,0 +1,32 @@
+
+create table ods_dzzqkjcsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ dzzlx varchar2(100) not null,
+ dzzmc varchar2(100) not null,
+ dzzbh varchar2(100) not null,
+ sjdzz varchar2(100) ,
+ dnldxm varchar2(32) ,
+ dnldjgh varchar2(35) ,
+ dnldzw varchar2(300) ,
+ dzzdyrs number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_dzzqkjcsj add constraint ods_dzzqkjcsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_dzzqkjcsj is '֯ݱ';
+comment on column ods_dzzqkjcsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_dzzqkjcsj.xxjgdm is 'ѧУ';
+comment on column ods_dzzqkjcsj.xxjgmc is 'ѧУ';
+comment on column ods_dzzqkjcsj.dzzlx is '֯';
+comment on column ods_dzzqkjcsj.dzzmc is '֯';
+comment on column ods_dzzqkjcsj.dzzbh is '֯';
+comment on column ods_dzzqkjcsj.sjdzz is 'ϼ֯';
+comment on column ods_dzzqkjcsj.dnldxm is '쵼';
+comment on column ods_dzzqkjcsj.dnldjgh is '쵼̹';
+comment on column ods_dzzqkjcsj.dnldzw is '쵼ְ';
+comment on column ods_dzzqkjcsj.dzzdyrs is '֯Ա';
+comment on column ods_dzzqkjcsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/参加赛事活动数据表(ods_cjsxhdsj).sql b/DataSendApi.Program/sqlscript/参加赛事活动数据表(ods_cjsxhdsj).sql
new file mode 100644
index 0000000..e66a5c8
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/参加赛事活动数据表(ods_cjsxhdsj).sql
@@ -0,0 +1,38 @@
+
+create table ods_cjsxhdsj
+(
+ gzzyqksjid varchar2(32) ,
+ xxjgdm varchar2(36) ,
+ xxjgmc varchar2(80) ,
+ hdmc varchar2(32) ,
+ hdzt varchar2(63) not null,
+ hdxs varchar2(200) not null,
+ hdnr varchar2(300) not null,
+ zbdw varchar2(200) ,
+ zbdwjb varchar2(10) ,
+ hdksrq varchar2(100) ,
+ hdjsrq varchar2(100) ,
+ xffzr varchar2(32) not null,
+ cyjss number ,
+ cyxss number ,
+ sjcjsj varchar2(60),
+ IsPush varchar2(2) not null
+);
+alter table ods_cjsxhdsj add constraint ods_cjsxhdsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_cjsxhdsj is 'μ»ݱ';
+comment on column ods_cjsxhdsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_cjsxhdsj.xxjgdm is 'ѧУ';
+comment on column ods_cjsxhdsj.xxjgmc is 'ѧУ';
+comment on column ods_cjsxhdsj.hdmc is '';
+comment on column ods_cjsxhdsj.hdzt is '';
+comment on column ods_cjsxhdsj.hdxs is 'ʽ';
+comment on column ods_cjsxhdsj.hdnr is '';
+comment on column ods_cjsxhdsj.zbdw is '쵥λ';
+comment on column ods_cjsxhdsj.zbdwjb is '쵥λ';
+comment on column ods_cjsxhdsj.hdksrq is 'ʼ';
+comment on column ods_cjsxhdsj.hdjsrq is '';
+comment on column ods_cjsxhdsj.xffzr is 'У';
+comment on column ods_cjsxhdsj.cyjss is 'ʦ';
+comment on column ods_cjsxhdsj.cyxss is 'ѧ';
+comment on column ods_cjsxhdsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/学生综合成绩与评价数据表(ods_xszhcjpjsj).sql b/DataSendApi.Program/sqlscript/学生综合成绩与评价数据表(ods_xszhcjpjsj).sql
new file mode 100644
index 0000000..1e06d44
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/学生综合成绩与评价数据表(ods_xszhcjpjsj).sql
@@ -0,0 +1,40 @@
+
+create table ods_xszhcjpjsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ xn varchar2(60) not null,
+ xq varchar2(60) not null,
+ zymc varchar2(163) ,
+ nj varchar2(60) not null,
+ bj varchar2(60) not null,
+ xjh varchar2(60) ,
+ xsxm varchar2(120) not null,
+ sxzzcj number not null,
+ whkcj number not null,
+ zyjnkccj number not null,
+ xstzjkcj number not null,
+ zhpj number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_xszhcjpjsj add constraint ods_xszhcjpjsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_xszhcjpjsj is 'ѧۺϳɼݱ';
+comment on column ods_xszhcjpjsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_xszhcjpjsj.xxjgdm is 'ѧУ';
+comment on column ods_xszhcjpjsj.xxjgmc is 'ѧУ';
+comment on column ods_xszhcjpjsj.xn is 'ѧ';
+comment on column ods_xszhcjpjsj.xq is 'ѧ';
+comment on column ods_xszhcjpjsj.zymc is 'רҵ';
+comment on column ods_xszhcjpjsj.nj is '꼶';
+comment on column ods_xszhcjpjsj.bj is '༶';
+comment on column ods_xszhcjpjsj.xjh is 'ѧ';
+comment on column ods_xszhcjpjsj.xsxm is 'ѧ';
+comment on column ods_xszhcjpjsj.sxzzcj is '˼γɼ';
+comment on column ods_xszhcjpjsj.whkcj is 'Ļγɼ';
+comment on column ods_xszhcjpjsj.zyjnkccj is 'רҵܿγ̳ɼ';
+comment on column ods_xszhcjpjsj.xstzjkcj is 'ѧʽɼ';
+comment on column ods_xszhcjpjsj.zhpj is 'ۺ۳ɼ';
+comment on column ods_xszhcjpjsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/工作评价数据表(ods_gzpjsj).sql b/DataSendApi.Program/sqlscript/工作评价数据表(ods_gzpjsj).sql
new file mode 100644
index 0000000..ef6811b
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/工作评价数据表(ods_gzpjsj).sql
@@ -0,0 +1,22 @@
+
+create table ods_gzpjsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ gzrztjcs number not null,
+ hpjsrs number not null,
+ tsgwjsrs number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_gzpjsj add constraint ods_gzpjsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_gzpjsj is 'ݱ';
+comment on column ods_gzpjsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_gzpjsj.xxjgdm is 'ѧУ';
+comment on column ods_gzpjsj.xxjgmc is 'ѧУ';
+comment on column ods_gzpjsj.gzrztjcs is '־ύ';
+comment on column ods_gzpjsj.hpjsrs is 'ʦ';
+comment on column ods_gzpjsj.tsgwjsrs is 'λʦ';
+comment on column ods_gzpjsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/德育活动数据表(ods_dyhdsj).sql b/DataSendApi.Program/sqlscript/德育活动数据表(ods_dyhdsj).sql
new file mode 100644
index 0000000..d3bc304
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/德育活动数据表(ods_dyhdsj).sql
@@ -0,0 +1,44 @@
+
+create table ods_dyhdsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(180) not null,
+ hdmc varchar2(132) not null,
+ sszt varchar2(163) ,
+ hdbk varchar2(200) ,
+ hdzt varchar2(10) ,
+ hdlx varchar2(10) not null,
+ hdnr varchar2(300) ,
+ zbdw varchar2(200) not null,
+ zbdwjb varchar2(10) not null,
+ hdksrq varchar2(200) not null,
+ hdjsrq varchar2(200) not null,
+ xffzr varchar2(32) ,
+ cybjs number not null,
+ cyjss number not null,
+ cyxss number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_dyhdsj add constraint ods_dyhdsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_dyhdsj is 'ݱ';
+comment on column ods_dyhdsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_dyhdsj.xxjgdm is 'ѧУ';
+comment on column ods_dyhdsj.xxjgmc is 'ѧУ';
+comment on column ods_dyhdsj.hdmc is '';
+comment on column ods_dyhdsj.sszt is 'ר';
+comment on column ods_dyhdsj.hdbk is '';
+comment on column ods_dyhdsj.hdzt is '';
+comment on column ods_dyhdsj.hdlx is '';
+comment on column ods_dyhdsj.hdnr is '';
+comment on column ods_dyhdsj.zbdw is '쵥λ';
+comment on column ods_dyhdsj.zbdwjb is '쵥λ';
+comment on column ods_dyhdsj.hdksrq is 'ʼ';
+comment on column ods_dyhdsj.hdjsrq is '';
+comment on column ods_dyhdsj.xffzr is 'У';
+comment on column ods_dyhdsj.cybjs is '༶';
+comment on column ods_dyhdsj.cyjss is 'ʦ';
+comment on column ods_dyhdsj.cyxss is 'ѧ';
+comment on column ods_dyhdsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/教材选用数据表(ods_jcxysj).sql b/DataSendApi.Program/sqlscript/教材选用数据表(ods_jcxysj).sql
new file mode 100644
index 0000000..95b0f2d
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/教材选用数据表(ods_jcxysj).sql
@@ -0,0 +1,44 @@
+
+create table ods_jcxysj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ jcmc varchar2(150) not null,
+ jcbh varchar2(80) not null,
+ jcxz varchar2(10) not null,
+ isbn varchar2(200) not null,
+ zzxm varchar2(100) ,
+ cbrq varchar2(100) ,
+ cbs varchar2(120) ,
+ sycc varchar2(10) ,
+ jg varchar2(30) ,
+ bc number not null,
+ yc number not null,
+ sfylxc varchar2(10) ,
+ sfyjcjf varchar2(10) ,
+ hjqk varchar2(10) ,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_jcxysj add constraint ods_jcxysj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_jcxysj is '̲ѡݱ';
+comment on column ods_jcxysj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_jcxysj.xxjgdm is 'ѧУ';
+comment on column ods_jcxysj.xxjgmc is 'ѧУ';
+comment on column ods_jcxysj.jcmc is '̲';
+comment on column ods_jcxysj.jcbh is '̲ı';
+comment on column ods_jcxysj.jcxz is '̲';
+comment on column ods_jcxysj.isbn is 'ISBN ';
+comment on column ods_jcxysj.zzxm is '';
+comment on column ods_jcxysj.cbrq is '';
+comment on column ods_jcxysj.cbs is '';
+comment on column ods_jcxysj.sycc is 'ò';
+comment on column ods_jcxysj.jg is '۸Ԫ';
+comment on column ods_jcxysj.bc is '';
+comment on column ods_jcxysj.yc is 'ӡ';
+comment on column ods_jcxysj.sfylxc is 'Ƿϰ';
+comment on column ods_jcxysj.sfyjcjf is 'Ƿн̲ν̸';
+comment on column ods_jcxysj.hjqk is '';
+comment on column ods_jcxysj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/文化基础课成绩数据表(ods_wfjckcjsj).sql b/DataSendApi.Program/sqlscript/文化基础课成绩数据表(ods_wfjckcjsj).sql
new file mode 100644
index 0000000..ab2fde5
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/文化基础课成绩数据表(ods_wfjckcjsj).sql
@@ -0,0 +1,34 @@
+
+create table ods_wfjckcjsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ xn varchar2(32) not null,
+ xq varchar2(32) not null,
+ nj varchar2(60) not null,
+ bj varchar2(60) not null,
+ zymc varchar2(163) ,
+ kcmc varchar2(120) not null,
+ kcfl varchar2(30) not null,
+ rkjs varchar2(30) ,
+ kccj varchar2(30) not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_wfjckcjsj add constraint ods_wfjckcjsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_wfjckcjsj is 'Ļγɼݱ';
+comment on column ods_wfjckcjsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_wfjckcjsj.xxjgdm is 'ѧУ';
+comment on column ods_wfjckcjsj.xxjgmc is 'ѧУ';
+comment on column ods_wfjckcjsj.xn is 'ѧ';
+comment on column ods_wfjckcjsj.xq is 'ѧ';
+comment on column ods_wfjckcjsj.nj is '꼶';
+comment on column ods_wfjckcjsj.bj is '༶';
+comment on column ods_wfjckcjsj.zymc is 'רҵ';
+comment on column ods_wfjckcjsj.kcmc is 'γ';
+comment on column ods_wfjckcjsj.kcfl is 'γ̷';
+comment on column ods_wfjckcjsj.rkjs is 'ονʦ';
+comment on column ods_wfjckcjsj.kccj is 'γ̳ɼ';
+comment on column ods_wfjckcjsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/校内实训基地数据表(ods_xnsxjdsj).sql b/DataSendApi.Program/sqlscript/校内实训基地数据表(ods_xnsxjdsj).sql
new file mode 100644
index 0000000..b2b1339
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/校内实训基地数据表(ods_xnsxjdsj).sql
@@ -0,0 +1,44 @@
+
+create table ods_xnsxjdsj
+(
+ gzzyqksjid varchar2(32) ,
+ xxjgdm varchar2(36) ,
+ xxjgmc varchar2(80) ,
+ sxjdh varchar2(32) ,
+ sxjdmc varchar2(200) ,
+ clnd varchar2(10) ,
+ mxzy varchar2(200) ,
+ zcbm varchar2(10) not null,
+ pzrq varchar2(20) not null,
+ sxss number not null,
+ sxxmzs number ,
+ jdlb varchar2(10) ,
+ jzmj number ,
+ yqsbzs number ,
+ sjjxgws number ,
+ glryzz varchar2(12) ,
+ glryjz varchar2(12) ,
+ sjcjsj varchar2(60),
+ IsPush varchar2(2) not null
+);
+alter table ods_xnsxjdsj add constraint ods_xnsxjdsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_xnsxjdsj is 'Уʵѵݱ';
+comment on column ods_xnsxjdsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_xnsxjdsj.xxjgdm is 'ѧУ';
+comment on column ods_xnsxjdsj.xxjgmc is 'ѧУ';
+comment on column ods_xnsxjdsj.sxjdh is 'ʵѵغ';
+comment on column ods_xnsxjdsj.sxjdmc is 'ʵѵ';
+comment on column ods_xnsxjdsj.clnd is '';
+comment on column ods_xnsxjdsj.mxzy is 'רҵ';
+comment on column ods_xnsxjdsj.zcbm is 'ΪʵѵĿֲ֧';
+comment on column ods_xnsxjdsj.pzrq is '';
+comment on column ods_xnsxjdsj.sxss is 'ʵѵ';
+comment on column ods_xnsxjdsj.sxxmzs is 'ʵѵĿ';
+comment on column ods_xnsxjdsj.jdlb is '';
+comment on column ods_xnsxjdsj.jzmj is '';
+comment on column ods_xnsxjdsj.yqsbzs is '豸';
+comment on column ods_xnsxjdsj.sjjxgws is 'ʵѧλ';
+comment on column ods_xnsxjdsj.glryzz is 'Ա(רְ)';
+comment on column ods_xnsxjdsj.glryjz is 'Ա(ְ)';
+comment on column ods_xnsxjdsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/校区基础数据表(ods_xqjcsj).sql b/DataSendApi.Program/sqlscript/校区基础数据表(ods_xqjcsj).sql
new file mode 100644
index 0000000..1cf330e
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/校区基础数据表(ods_xqjcsj).sql
@@ -0,0 +1,50 @@
+
+create table ods_xqjcsj
+(
+ xygkjcsjid varchar2(32) not null,
+ provincejgbm varchar2(12) not null,
+ provincejgmc varchar2(80) not null,
+ cityjgbm varchar2(12) not null,
+ cityjgmc varchar2(80) not null,
+ countyjgbm varchar2(12) not null,
+ countyjgmc varchar2(80) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ xqbh varchar2(64) not null,
+ xqmc varchar2(180) not null,
+ xqjc varchar2(60) not null,
+ xqszdxzqh varchar2(50) ,
+ xqdz varchar2(300) ,
+ xqyzbm varchar2(35) ,
+ xqlxdh varchar2(35) ,
+ xqfzr varchar2(36) ,
+ xqjzgzs number not null,
+ xqxszs number not null,
+ xqclrq varchar2(50) ,
+ sjcjsj varchar2(50) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_xqjcsj add constraint ods_xqjcsj_xygkjcsjid primary key (xygkjcsjid);
+comment on table ods_xqjcsj is 'Уݱ';
+comment on column ods_xqjcsj.xygkjcsjid is 'ΨһԱʶ';
+comment on column ods_xqjcsj.provincejgbm is 'ʡ';
+comment on column ods_xqjcsj.provincejgmc is 'ʡ';
+comment on column ods_xqjcsj.cityjgbm is 'л';
+comment on column ods_xqjcsj.cityjgmc is 'л';
+comment on column ods_xqjcsj.countyjgbm is 'ػ';
+comment on column ods_xqjcsj.countyjgmc is 'ػ';
+comment on column ods_xqjcsj.xxjgdm is 'ѧУ';
+comment on column ods_xqjcsj.xxjgmc is 'ѧУ';
+comment on column ods_xqjcsj.xqbh is 'У';
+comment on column ods_xqjcsj.xqmc is 'У';
+comment on column ods_xqjcsj.xqjc is 'У';
+comment on column ods_xqjcsj.xqszdxzqh is 'Уڵ';
+comment on column ods_xqjcsj.xqdz is 'Уַ';
+comment on column ods_xqjcsj.xqyzbm is 'У';
+comment on column ods_xqjcsj.xqlxdh is 'Уϵ绰';
+comment on column ods_xqjcsj.xqfzr is 'У';
+comment on column ods_xqjcsj.xqjzgzs is 'Уְ';
+comment on column ods_xqjcsj.xqxszs is 'Уѧ';
+comment on column ods_xqjcsj.xqclrq is 'У';
+comment on column ods_xqjcsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/校外实训基地数据表(ods_xwsxjdsj).sql b/DataSendApi.Program/sqlscript/校外实训基地数据表(ods_xwsxjdsj).sql
new file mode 100644
index 0000000..7da76d4
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/校外实训基地数据表(ods_xwsxjdsj).sql
@@ -0,0 +1,54 @@
+
+create table ods_xwsxjdsj
+(
+ gzzyqksjid varchar2(32) ,
+ xxjgdm varchar2(36) ,
+ xxjgmc varchar2(80) ,
+ sxsxjdh varchar2(32) ,
+ sxsxjdmc varchar2(200) ,
+ ytdwmc varchar2(300) ,
+ ytdwxz varchar2(10) ,
+ dwzzjgdm varchar2(60) not null,
+ zgzgzs number not null,
+ szqy varchar2(120) ,
+ xxdz varchar2(300) ,
+ jdlxrxm varchar2(30) ,
+ lxrdh varchar2(30),
+ lxryx varchar2(30),
+ jdclny varchar2(10) ,
+ sshy varchar2(10) ,
+ sscy varchar2(10) ,
+ mxzy varchar2(65) ,
+ hzkssj varchar2(60) not null,
+ hzjssj varchar2(60) not null,
+ hzxyqszt varchar2(10) ,
+ hzzt varchar2(10) ,
+ sjcjsj varchar2(60),
+ IsPush varchar2(2) not null
+);
+alter table ods_xwsxjdsj add constraint ods_xwsxjdsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_xwsxjdsj is 'Уʵѵݱ';
+comment on column ods_xwsxjdsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_xwsxjdsj.xxjgdm is 'ѧУ';
+comment on column ods_xwsxjdsj.xxjgmc is 'ѧУ';
+comment on column ods_xwsxjdsj.sxsxjdh is 'ʵϰʵѵغ';
+comment on column ods_xwsxjdsj.sxsxjdmc is 'ʵϰʵѵ';
+comment on column ods_xwsxjdsj.ytdwmc is 'еλ';
+comment on column ods_xwsxjdsj.ytdwxz is 'еλ';
+comment on column ods_xwsxjdsj.dwzzjgdm is 'λ֯';
+comment on column ods_xwsxjdsj.zgzgzs is 'ڸְ';
+comment on column ods_xwsxjdsj.szqy is '';
+comment on column ods_xwsxjdsj.xxdz is 'ϸַ';
+comment on column ods_xwsxjdsj.jdlxrxm is 'ϵ';
+comment on column ods_xwsxjdsj.lxrdh is 'ϵ˵绰';
+comment on column ods_xwsxjdsj.lxryx is 'ϵ';
+comment on column ods_xwsxjdsj.jdclny is 'س';
+comment on column ods_xwsxjdsj.sshy is 'ҵ';
+comment on column ods_xwsxjdsj.sscy is 'ҵ';
+comment on column ods_xwsxjdsj.mxzy is 'רҵ';
+comment on column ods_xwsxjdsj.hzkssj is 'ʼʱ';
+comment on column ods_xwsxjdsj.hzjssj is 'ʱ';
+comment on column ods_xwsxjdsj.hzxyqszt is 'Эǩ״̬';
+comment on column ods_xwsxjdsj.hzzt is '״̬';
+comment on column ods_xwsxjdsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/职参加社团活动数据表(ods_zzcjsthdsj).sql b/DataSendApi.Program/sqlscript/职参加社团活动数据表(ods_zzcjsthdsj).sql
new file mode 100644
index 0000000..a17d748
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/职参加社团活动数据表(ods_zzcjsthdsj).sql
@@ -0,0 +1,24 @@
+
+create table ods_zzcjsthdsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ cyxss number not null,
+ cjsthdlx varchar2(200) ,
+ cjsthdkssj varchar2(100) ,
+ cjsthdjssj varchar2(100) ,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_zzcjsthdsj add constraint ods_zzcjsthdsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_zzcjsthdsj is 'ְμŻݱ';
+comment on column ods_zzcjsthdsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_zzcjsthdsj.xxjgdm is 'ѧУ';
+comment on column ods_zzcjsthdsj.xxjgmc is 'ѧУ';
+comment on column ods_zzcjsthdsj.cyxss is 'ѧ';
+comment on column ods_zzcjsthdsj.cjsthdlx is 'μŻ';
+comment on column ods_zzcjsthdsj.cjsthdkssj is 'μŻʼʱ';
+comment on column ods_zzcjsthdsj.cjsthdjssj is 'μŻʱ';
+comment on column ods_zzcjsthdsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/资质证书数据表(ods_zzzssj).sql b/DataSendApi.Program/sqlscript/资质证书数据表(ods_zzzssj).sql
new file mode 100644
index 0000000..e47791a
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/资质证书数据表(ods_zzzssj).sql
@@ -0,0 +1,24 @@
+
+create table ods_zzzssj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ jszgzrs number not null,
+ gjzcrs number not null,
+ zjzcrs number not null,
+ cjzcrs number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_zzzssj add constraint ods_zzzssj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_zzzssj is '֤ݱ';
+comment on column ods_zzzssj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_zzzssj.xxjgdm is 'ѧУ';
+comment on column ods_zzzssj.xxjgmc is 'ѧУ';
+comment on column ods_zzzssj.jszgzrs is 'ʦʸ֤';
+comment on column ods_zzzssj.gjzcrs is 'ְ';
+comment on column ods_zzzssj.zjzcrs is 'мְ';
+comment on column ods_zzzssj.cjzcrs is 'ְ';
+comment on column ods_zzzssj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.Program/sqlscript/进修培训数据表(ods_jxpxsj).sql b/DataSendApi.Program/sqlscript/进修培训数据表(ods_jxpxsj).sql
new file mode 100644
index 0000000..15e1835
--- /dev/null
+++ b/DataSendApi.Program/sqlscript/进修培训数据表(ods_jxpxsj).sql
@@ -0,0 +1,30 @@
+
+create table ods_jxpxsj
+(
+ gzzyqksjid varchar2(32) not null,
+ xxjgdm varchar2(36) not null,
+ xxjgmc varchar2(80) not null,
+ jxpxhdbh varchar2(32) not null,
+ jxpxhdmc varchar2(80) not null,
+ jxpxhdzt varchar2(63) ,
+ jxpxhdnrjj varchar2(200) ,
+ jxpxhdsj varchar2(100) not null,
+ zjr varchar2(23) ,
+ drpxhdcyjss number not null,
+ sjcjsj varchar2(60) not null,
+ IsPush varchar2(2) not null
+);
+alter table ods_jxpxsj add constraint ods_jxpxsj_gzzyqksjid primary key (gzzyqksjid);
+comment on table ods_jxpxsj is 'ѵݱ';
+comment on column ods_jxpxsj.gzzyqksjid is 'ΨһԱʶ';
+comment on column ods_jxpxsj.xxjgdm is 'ѧУ';
+comment on column ods_jxpxsj.xxjgmc is 'ѧУ';
+comment on column ods_jxpxsj.jxpxhdbh is 'ѵ';
+comment on column ods_jxpxsj.jxpxhdmc is 'ѵ';
+comment on column ods_jxpxsj.jxpxhdzt is 'ѵ';
+comment on column ods_jxpxsj.jxpxhdnrjj is 'ѵݼ';
+comment on column ods_jxpxsj.jxpxhdsj is 'ѵѵʱ';
+comment on column ods_jxpxsj.zjr is '';
+comment on column ods_jxpxsj.drpxhdcyjss is 'ѵʦ';
+comment on column ods_jxpxsj.sjcjsj is 'ݲɼʱ';
+
diff --git a/DataSendApi.sln b/DataSendApi.sln
new file mode 100644
index 0000000..9d3ea12
--- /dev/null
+++ b/DataSendApi.sln
@@ -0,0 +1,37 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.32228.343
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataSendApi", "DataSendApi\DataSendApi.csproj", "{12E95CCD-8871-4EFF-A819-2ECFD78545FB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataSendApi.Program", "DataSendApi.Program\DataSendApi.Program.csproj", "{0CA6F23E-6753-48AC-BE54-E1B6A9B5E9A6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "代码生成器", "代码生成器\代码生成器.csproj", "{74DD4E72-625F-4FC7-AB49-9A62CF743DDB}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {12E95CCD-8871-4EFF-A819-2ECFD78545FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {12E95CCD-8871-4EFF-A819-2ECFD78545FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {12E95CCD-8871-4EFF-A819-2ECFD78545FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {12E95CCD-8871-4EFF-A819-2ECFD78545FB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0CA6F23E-6753-48AC-BE54-E1B6A9B5E9A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CA6F23E-6753-48AC-BE54-E1B6A9B5E9A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0CA6F23E-6753-48AC-BE54-E1B6A9B5E9A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0CA6F23E-6753-48AC-BE54-E1B6A9B5E9A6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {74DD4E72-625F-4FC7-AB49-9A62CF743DDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {74DD4E72-625F-4FC7-AB49-9A62CF743DDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {74DD4E72-625F-4FC7-AB49-9A62CF743DDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {74DD4E72-625F-4FC7-AB49-9A62CF743DDB}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {1127471A-D058-4DB6-ACDE-A8950AD8F31B}
+ EndGlobalSection
+EndGlobal
diff --git a/DataSendApi/App_Start/RouteConfig.cs b/DataSendApi/App_Start/RouteConfig.cs
new file mode 100644
index 0000000..621b4f3
--- /dev/null
+++ b/DataSendApi/App_Start/RouteConfig.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using System.Web.Routing;
+
+namespace DataSendApi
+{
+ public class RouteConfig
+ {
+ public static void RegisterRoutes(RouteCollection routes)
+ {
+ routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
+
+ routes.MapRoute(
+ name: "Default",
+ url: "{controller}/{action}/{id}",
+ defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
+ );
+ }
+ }
+}
diff --git a/DataSendApi/Controllers/HomeController.cs b/DataSendApi/Controllers/HomeController.cs
new file mode 100644
index 0000000..a880b72
--- /dev/null
+++ b/DataSendApi/Controllers/HomeController.cs
@@ -0,0 +1,69 @@
+using DataSendApi.Program;
+using DataSendApi.Program.BLL;
+using DataSendApi.Program.BLL.Token;
+using DataSendApi.Program.Oracle;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+
+namespace DataSendApi.Controllers
+{
+ public class HomeController : Controller
+ {
+ public ActionResult Index()
+ {
+ var sss = Common.GGSJZDLst;
+ return View();
+ }
+
+ public JsonResult UploadExcel()
+ {
+ HttpPostedFileBase file = Request.Files[0];
+ string directoryPath = ConfigurationManager.AppSettings["UploadPathExcelDataFilePath"] + "/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
+ if (!System.IO.Directory.Exists(directoryPath))
+ {
+ System.IO.Directory.CreateDirectory(directoryPath);
+ }
+
+ var strExt = System.IO.Path.GetExtension(file.FileName);
+ var strGuidName = Guid.NewGuid().ToString().Replace("-", "");
+ string strRealName = strGuidName + strExt;
+ string savePath = directoryPath + strRealName;
+ file.SaveAs(savePath);
+
+
+ var ret = new BusinessProcess().HandleByDatabase(savePath);
+ return Json(ret);
+ }
+
+ public JsonResult GetPushJson(string tablename)
+ {
+
+ return Json(new BusinessProcess().ExecDataPush(tablename.ToUpper()));
+ }
+
+ public JsonResult GetDataAdd(string tableName,
+ string startTime,
+ string endTime,
+ int page,
+ int limit)
+ {
+ return Json(new BusinessProcess().GetPushDataAddCount(tableName, startTime, endTime, page, limit));
+
+ }
+
+ public JsonResult GetTableCount(string tableName)
+ {
+ return Json(new BusinessProcess().GetTableCount(tableName));
+
+ }
+
+ public JsonResult UpdatePushStatus(string tableName)
+ {
+ return Json(new BusinessProcess().UpdatePushStatus(tableName));
+ }
+ }
+}
diff --git a/DataSendApi/DataSendApi.csproj b/DataSendApi/DataSendApi.csproj
new file mode 100644
index 0000000..87e1c01
--- /dev/null
+++ b/DataSendApi/DataSendApi.csproj
@@ -0,0 +1,200 @@
+
+
+
+
+ Debug
+ AnyCPU
+
+
+ 2.0
+ {12E95CCD-8871-4EFF-A819-2ECFD78545FB}
+ {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
+ Library
+ Properties
+ DataSendApi
+ DataSendApi
+ v4.6.1
+ true
+
+ 44308
+
+
+
+
+
+
+
+
+ true
+ full
+ false
+ bin\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ true
+ pdbonly
+ true
+ bin\
+ TRACE
+ prompt
+ 4
+
+
+
+
+ ..\packages\Oracle.ManagedDataAccess.19.11.0\lib\net40\Oracle.ManagedDataAccess.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll
+
+
+ ..\packages\Microsoft.AspNet.Webpages.3.2.7\lib\net45\System.Web.Webpages.dll
+
+
+ ..\packages\Microsoft.AspNet.Webpages.3.2.7\lib\net45\System.Web.Webpages.Deployment.dll
+
+
+ ..\packages\Microsoft.AspNet.Webpages.3.2.7\lib\net45\System.Web.Webpages.Razor.dll
+
+
+ ..\packages\Microsoft.AspNet.Webpages.3.2.7\lib\net45\System.Web.Helpers.dll
+
+
+ ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
+
+
+ ..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll
+
+
+ ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Global.asax
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Web.config
+
+
+ Web.config
+
+
+
+
+
+
+
+
+ {0ca6f23e-6753-48ac-be54-e1b6a9b5e9a6}
+ DataSendApi.Program
+
+
+
+ 10.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+
+
+
+
+
+ True
+ True
+ 63407
+ /
+ https://localhost:44308/
+ False
+ False
+
+
+ False
+
+
+
+
+
+
+ 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。
+
+
+
+
+
\ No newline at end of file
diff --git a/DataSendApi/Global.asax b/DataSendApi/Global.asax
new file mode 100644
index 0000000..537fbae
--- /dev/null
+++ b/DataSendApi/Global.asax
@@ -0,0 +1 @@
+<%@ Application Codebehind="Global.asax.cs" Inherits="DataSendApi.MvcApplication" Language="C#" %>
diff --git a/DataSendApi/Global.asax.cs b/DataSendApi/Global.asax.cs
new file mode 100644
index 0000000..774cadb
--- /dev/null
+++ b/DataSendApi/Global.asax.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using System.Web.Routing;
+
+namespace DataSendApi
+{
+ public class MvcApplication : System.Web.HttpApplication
+ {
+ protected void Application_Start()
+ {
+ AreaRegistration.RegisterAllAreas();
+ RouteConfig.RegisterRoutes(RouteTable.Routes);
+ }
+ }
+}
diff --git a/DataSendApi/Properties/AssemblyInfo.cs b/DataSendApi/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..eed265e
--- /dev/null
+++ b/DataSendApi/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的常规信息通过下列特性集
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("DataSendApi")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("DataSendApi")]
+[assembly: AssemblyCopyright("Copyright © 2022")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+// 对 COM 组件不可见。如果需要
+// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
+[assembly: Guid("12e95ccd-8871-4eff-a819-2ecfd78545fb")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 内部版本号
+// 修订版本
+//
+// 可以指定所有值,也可以使用“修订号”和“内部版本号”的默认值,
+// 方法是按如下所示使用 "*":
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/DataSendApi/Properties/PublishProfiles/FolderProfile.pubxml b/DataSendApi/Properties/PublishProfiles/FolderProfile.pubxml
new file mode 100644
index 0000000..08a3b29
--- /dev/null
+++ b/DataSendApi/Properties/PublishProfiles/FolderProfile.pubxml
@@ -0,0 +1,17 @@
+
+
+
+
+ True
+ False
+ True
+ Release
+ Any CPU
+ FileSystem
+ C:\Users\Administrator\Desktop\项目程序发布
+ FileSystem
+
+
+
\ No newline at end of file
diff --git a/DataSendApi/Static/css/element-ui.css b/DataSendApi/Static/css/element-ui.css
new file mode 100644
index 0000000..0742046
--- /dev/null
+++ b/DataSendApi/Static/css/element-ui.css
@@ -0,0 +1,5749 @@
+@charset "UTF-8";
+.fade-in-linear-enter-active, .fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.fade-in-linear-enter, .fade-in-linear-leave, .fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-linear-enter-active, .el-fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.el-fade-in-linear-enter, .el-fade-in-linear-leave, .el-fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-enter-active, .el-fade-in-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-fade-in-enter, .el-fade-in-leave-active { opacity: 0 }
+.el-zoom-in-center-enter-active, .el-zoom-in-center-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-zoom-in-center-enter, .el-zoom-in-center-leave-active { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0) }
+.el-zoom-in-top-enter-active, .el-zoom-in-top-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center top; transform-origin: center top }
+.el-zoom-in-top-enter, .el-zoom-in-top-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-bottom-enter-active, .el-zoom-in-bottom-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center bottom; transform-origin: center bottom }
+.el-zoom-in-bottom-enter, .el-zoom-in-bottom-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-left-enter-active, .el-zoom-in-left-leave-active { opacity: 1; -webkit-transform: scale(1,1); transform: scale(1,1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: top left; transform-origin: top left }
+.el-zoom-in-left-enter, .el-zoom-in-left-leave-active { opacity: 0; -webkit-transform: scale(.45,.45); transform: scale(.45,.45) }
+.collapse-transition { -webkit-transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out; transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out }
+.horizontal-collapse-transition { -webkit-transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out; transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out }
+.el-list-enter-active, .el-list-leave-active { -webkit-transition: all 1s; transition: all 1s }
+.el-list-enter, .el-list-leave-active { opacity: 0; -webkit-transform: translateY(-30px); transform: translateY(-30px) }
+.el-opacity-transition { -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); transition: opacity .3s cubic-bezier(.55, 0, .1, 1) }
+@font-face { font-family: element-icons; src: url("fonts/element-icons.woff") format("woff"),url("fonts/element-icons.ttf") format("truetype"); font-weight: 400; font-display: "auto"; font-style: normal }
+[class*=" el-icon-"], [class^=el-icon-] { font-family: element-icons !important; speak: none; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; vertical-align: baseline; display: inline-block; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale }
+.el-icon-ice-cream-round:before { content: "\e6a0" }
+.el-icon-ice-cream-square:before { content: "\e6a3" }
+.el-icon-lollipop:before { content: "\e6a4" }
+.el-icon-potato-strips:before { content: "\e6a5" }
+.el-icon-milk-tea:before { content: "\e6a6" }
+.el-icon-ice-drink:before { content: "\e6a7" }
+.el-icon-ice-tea:before { content: "\e6a9" }
+.el-icon-coffee:before { content: "\e6aa" }
+.el-icon-orange:before { content: "\e6ab" }
+.el-icon-pear:before { content: "\e6ac" }
+.el-icon-apple:before { content: "\e6ad" }
+.el-icon-cherry:before { content: "\e6ae" }
+.el-icon-watermelon:before { content: "\e6af" }
+.el-icon-grape:before { content: "\e6b0" }
+.el-icon-refrigerator:before { content: "\e6b1" }
+.el-icon-goblet-square-full:before { content: "\e6b2" }
+.el-icon-goblet-square:before { content: "\e6b3" }
+.el-icon-goblet-full:before { content: "\e6b4" }
+.el-icon-goblet:before { content: "\e6b5" }
+.el-icon-cold-drink:before { content: "\e6b6" }
+.el-icon-coffee-cup:before { content: "\e6b8" }
+.el-icon-water-cup:before { content: "\e6b9" }
+.el-icon-hot-water:before { content: "\e6ba" }
+.el-icon-ice-cream:before { content: "\e6bb" }
+.el-icon-dessert:before { content: "\e6bc" }
+.el-icon-sugar:before { content: "\e6bd" }
+.el-icon-tableware:before { content: "\e6be" }
+.el-icon-burger:before { content: "\e6bf" }
+.el-icon-knife-fork:before { content: "\e6c1" }
+.el-icon-fork-spoon:before { content: "\e6c2" }
+.el-icon-chicken:before { content: "\e6c3" }
+.el-icon-food:before { content: "\e6c4" }
+.el-icon-dish-1:before { content: "\e6c5" }
+.el-icon-dish:before { content: "\e6c6" }
+.el-icon-moon-night:before { content: "\e6ee" }
+.el-icon-moon:before { content: "\e6f0" }
+.el-icon-cloudy-and-sunny:before { content: "\e6f1" }
+.el-icon-partly-cloudy:before { content: "\e6f2" }
+.el-icon-cloudy:before { content: "\e6f3" }
+.el-icon-sunny:before { content: "\e6f6" }
+.el-icon-sunset:before { content: "\e6f7" }
+.el-icon-sunrise-1:before { content: "\e6f8" }
+.el-icon-sunrise:before { content: "\e6f9" }
+.el-icon-heavy-rain:before { content: "\e6fa" }
+.el-icon-lightning:before { content: "\e6fb" }
+.el-icon-light-rain:before { content: "\e6fc" }
+.el-icon-wind-power:before { content: "\e6fd" }
+.el-icon-baseball:before { content: "\e712" }
+.el-icon-soccer:before { content: "\e713" }
+.el-icon-football:before { content: "\e715" }
+.el-icon-basketball:before { content: "\e716" }
+.el-icon-ship:before { content: "\e73f" }
+.el-icon-truck:before { content: "\e740" }
+.el-icon-bicycle:before { content: "\e741" }
+.el-icon-mobile-phone:before { content: "\e6d3" }
+.el-icon-service:before { content: "\e6d4" }
+.el-icon-key:before { content: "\e6e2" }
+.el-icon-unlock:before { content: "\e6e4" }
+.el-icon-lock:before { content: "\e6e5" }
+.el-icon-watch:before { content: "\e6fe" }
+.el-icon-watch-1:before { content: "\e6ff" }
+.el-icon-timer:before { content: "\e702" }
+.el-icon-alarm-clock:before { content: "\e703" }
+.el-icon-map-location:before { content: "\e704" }
+.el-icon-delete-location:before { content: "\e705" }
+.el-icon-add-location:before { content: "\e706" }
+.el-icon-location-information:before { content: "\e707" }
+.el-icon-location-outline:before { content: "\e708" }
+.el-icon-location:before { content: "\e79e" }
+.el-icon-place:before { content: "\e709" }
+.el-icon-discover:before { content: "\e70a" }
+.el-icon-first-aid-kit:before { content: "\e70b" }
+.el-icon-trophy-1:before { content: "\e70c" }
+.el-icon-trophy:before { content: "\e70d" }
+.el-icon-medal:before { content: "\e70e" }
+.el-icon-medal-1:before { content: "\e70f" }
+.el-icon-stopwatch:before { content: "\e710" }
+.el-icon-mic:before { content: "\e711" }
+.el-icon-copy-document:before { content: "\e718" }
+.el-icon-full-screen:before { content: "\e719" }
+.el-icon-switch-button:before { content: "\e71b" }
+.el-icon-aim:before { content: "\e71c" }
+.el-icon-crop:before { content: "\e71d" }
+.el-icon-odometer:before { content: "\e71e" }
+.el-icon-time:before { content: "\e71f" }
+.el-icon-bangzhu:before { content: "\e724" }
+.el-icon-close-notification:before { content: "\e726" }
+.el-icon-microphone:before { content: "\e727" }
+.el-icon-turn-off-microphone:before { content: "\e728" }
+.el-icon-position:before { content: "\e729" }
+.el-icon-postcard:before { content: "\e72a" }
+.el-icon-message:before { content: "\e72b" }
+.el-icon-chat-line-square:before { content: "\e72d" }
+.el-icon-chat-dot-square:before { content: "\e72e" }
+.el-icon-chat-dot-round:before { content: "\e72f" }
+.el-icon-chat-square:before { content: "\e730" }
+.el-icon-chat-line-round:before { content: "\e731" }
+.el-icon-chat-round:before { content: "\e732" }
+.el-icon-set-up:before { content: "\e733" }
+.el-icon-turn-off:before { content: "\e734" }
+.el-icon-open:before { content: "\e735" }
+.el-icon-connection:before { content: "\e736" }
+.el-icon-link:before { content: "\e737" }
+.el-icon-cpu:before { content: "\e738" }
+.el-icon-thumb:before { content: "\e739" }
+.el-icon-female:before { content: "\e73a" }
+.el-icon-male:before { content: "\e73b" }
+.el-icon-guide:before { content: "\e73c" }
+.el-icon-news:before { content: "\e73e" }
+.el-icon-price-tag:before { content: "\e744" }
+.el-icon-discount:before { content: "\e745" }
+.el-icon-wallet:before { content: "\e747" }
+.el-icon-coin:before { content: "\e748" }
+.el-icon-money:before { content: "\e749" }
+.el-icon-bank-card:before { content: "\e74a" }
+.el-icon-box:before { content: "\e74b" }
+.el-icon-present:before { content: "\e74c" }
+.el-icon-sell:before { content: "\e6d5" }
+.el-icon-sold-out:before { content: "\e6d6" }
+.el-icon-shopping-bag-2:before { content: "\e74d" }
+.el-icon-shopping-bag-1:before { content: "\e74e" }
+.el-icon-shopping-cart-2:before { content: "\e74f" }
+.el-icon-shopping-cart-1:before { content: "\e750" }
+.el-icon-shopping-cart-full:before { content: "\e751" }
+.el-icon-smoking:before { content: "\e752" }
+.el-icon-no-smoking:before { content: "\e753" }
+.el-icon-house:before { content: "\e754" }
+.el-icon-table-lamp:before { content: "\e755" }
+.el-icon-school:before { content: "\e756" }
+.el-icon-office-building:before { content: "\e757" }
+.el-icon-toilet-paper:before { content: "\e758" }
+.el-icon-notebook-2:before { content: "\e759" }
+.el-icon-notebook-1:before { content: "\e75a" }
+.el-icon-files:before { content: "\e75b" }
+.el-icon-collection:before { content: "\e75c" }
+.el-icon-receiving:before { content: "\e75d" }
+.el-icon-suitcase-1:before { content: "\e760" }
+.el-icon-suitcase:before { content: "\e761" }
+.el-icon-film:before { content: "\e763" }
+.el-icon-collection-tag:before { content: "\e765" }
+.el-icon-data-analysis:before { content: "\e766" }
+.el-icon-pie-chart:before { content: "\e767" }
+.el-icon-data-board:before { content: "\e768" }
+.el-icon-data-line:before { content: "\e76d" }
+.el-icon-reading:before { content: "\e769" }
+.el-icon-magic-stick:before { content: "\e76a" }
+.el-icon-coordinate:before { content: "\e76b" }
+.el-icon-mouse:before { content: "\e76c" }
+.el-icon-brush:before { content: "\e76e" }
+.el-icon-headset:before { content: "\e76f" }
+.el-icon-umbrella:before { content: "\e770" }
+.el-icon-scissors:before { content: "\e771" }
+.el-icon-mobile:before { content: "\e773" }
+.el-icon-attract:before { content: "\e774" }
+.el-icon-monitor:before { content: "\e775" }
+.el-icon-search:before { content: "\e778" }
+.el-icon-takeaway-box:before { content: "\e77a" }
+.el-icon-paperclip:before { content: "\e77d" }
+.el-icon-printer:before { content: "\e77e" }
+.el-icon-document-add:before { content: "\e782" }
+.el-icon-document:before { content: "\e785" }
+.el-icon-document-checked:before { content: "\e786" }
+.el-icon-document-copy:before { content: "\e787" }
+.el-icon-document-delete:before { content: "\e788" }
+.el-icon-document-remove:before { content: "\e789" }
+.el-icon-tickets:before { content: "\e78b" }
+.el-icon-folder-checked:before { content: "\e77f" }
+.el-icon-folder-delete:before { content: "\e780" }
+.el-icon-folder-remove:before { content: "\e781" }
+.el-icon-folder-add:before { content: "\e783" }
+.el-icon-folder-opened:before { content: "\e784" }
+.el-icon-folder:before { content: "\e78a" }
+.el-icon-edit-outline:before { content: "\e764" }
+.el-icon-edit:before { content: "\e78c" }
+.el-icon-date:before { content: "\e78e" }
+.el-icon-c-scale-to-original:before { content: "\e7c6" }
+.el-icon-view:before { content: "\e6ce" }
+.el-icon-loading:before { content: "\e6cf" }
+.el-icon-rank:before { content: "\e6d1" }
+.el-icon-sort-down:before { content: "\e7c4" }
+.el-icon-sort-up:before { content: "\e7c5" }
+.el-icon-sort:before { content: "\e6d2" }
+.el-icon-finished:before { content: "\e6cd" }
+.el-icon-refresh-left:before { content: "\e6c7" }
+.el-icon-refresh-right:before { content: "\e6c8" }
+.el-icon-refresh:before { content: "\e6d0" }
+.el-icon-video-play:before { content: "\e7c0" }
+.el-icon-video-pause:before { content: "\e7c1" }
+.el-icon-d-arrow-right:before { content: "\e6dc" }
+.el-icon-d-arrow-left:before { content: "\e6dd" }
+.el-icon-arrow-up:before { content: "\e6e1" }
+.el-icon-arrow-down:before { content: "\e6df" }
+.el-icon-arrow-right:before { content: "\e6e0" }
+.el-icon-arrow-left:before { content: "\e6de" }
+.el-icon-top-right:before { content: "\e6e7" }
+.el-icon-top-left:before { content: "\e6e8" }
+.el-icon-top:before { content: "\e6e6" }
+.el-icon-bottom:before { content: "\e6eb" }
+.el-icon-right:before { content: "\e6e9" }
+.el-icon-back:before { content: "\e6ea" }
+.el-icon-bottom-right:before { content: "\e6ec" }
+.el-icon-bottom-left:before { content: "\e6ed" }
+.el-icon-caret-top:before { content: "\e78f" }
+.el-icon-caret-bottom:before { content: "\e790" }
+.el-icon-caret-right:before { content: "\e791" }
+.el-icon-caret-left:before { content: "\e792" }
+.el-icon-d-caret:before { content: "\e79a" }
+.el-icon-share:before { content: "\e793" }
+.el-icon-menu:before { content: "\e798" }
+.el-icon-s-grid:before { content: "\e7a6" }
+.el-icon-s-check:before { content: "\e7a7" }
+.el-icon-s-data:before { content: "\e7a8" }
+.el-icon-s-opportunity:before { content: "\e7aa" }
+.el-icon-s-custom:before { content: "\e7ab" }
+.el-icon-s-claim:before { content: "\e7ad" }
+.el-icon-s-finance:before { content: "\e7ae" }
+.el-icon-s-comment:before { content: "\e7af" }
+.el-icon-s-flag:before { content: "\e7b0" }
+.el-icon-s-marketing:before { content: "\e7b1" }
+.el-icon-s-shop:before { content: "\e7b4" }
+.el-icon-s-open:before { content: "\e7b5" }
+.el-icon-s-management:before { content: "\e7b6" }
+.el-icon-s-ticket:before { content: "\e7b7" }
+.el-icon-s-release:before { content: "\e7b8" }
+.el-icon-s-home:before { content: "\e7b9" }
+.el-icon-s-promotion:before { content: "\e7ba" }
+.el-icon-s-operation:before { content: "\e7bb" }
+.el-icon-s-unfold:before { content: "\e7bc" }
+.el-icon-s-fold:before { content: "\e7a9" }
+.el-icon-s-platform:before { content: "\e7bd" }
+.el-icon-s-order:before { content: "\e7be" }
+.el-icon-s-cooperation:before { content: "\e7bf" }
+.el-icon-bell:before { content: "\e725" }
+.el-icon-message-solid:before { content: "\e799" }
+.el-icon-video-camera:before { content: "\e772" }
+.el-icon-video-camera-solid:before { content: "\e796" }
+.el-icon-camera:before { content: "\e779" }
+.el-icon-camera-solid:before { content: "\e79b" }
+.el-icon-download:before { content: "\e77c" }
+.el-icon-upload2:before { content: "\e77b" }
+.el-icon-upload:before { content: "\e7c3" }
+.el-icon-picture-outline-round:before { content: "\e75f" }
+.el-icon-picture-outline:before { content: "\e75e" }
+.el-icon-picture:before { content: "\e79f" }
+.el-icon-close:before { content: "\e6db" }
+.el-icon-check:before { content: "\e6da" }
+.el-icon-plus:before { content: "\e6d9" }
+.el-icon-minus:before { content: "\e6d8" }
+.el-icon-help:before { content: "\e73d" }
+.el-icon-s-help:before { content: "\e7b3" }
+.el-icon-circle-close:before { content: "\e78d" }
+.el-icon-circle-check:before { content: "\e720" }
+.el-icon-circle-plus-outline:before { content: "\e723" }
+.el-icon-remove-outline:before { content: "\e722" }
+.el-icon-zoom-out:before { content: "\e776" }
+.el-icon-zoom-in:before { content: "\e777" }
+.el-icon-error:before { content: "\e79d" }
+.el-icon-success:before { content: "\e79c" }
+.el-icon-circle-plus:before { content: "\e7a0" }
+.el-icon-remove:before { content: "\e7a2" }
+.el-icon-info:before { content: "\e7a1" }
+.el-icon-question:before { content: "\e7a4" }
+.el-icon-warning-outline:before { content: "\e6c9" }
+.el-icon-warning:before { content: "\e7a3" }
+.el-icon-goods:before { content: "\e7c2" }
+.el-icon-s-goods:before { content: "\e7b2" }
+.el-icon-star-off:before { content: "\e717" }
+.el-icon-star-on:before { content: "\e797" }
+.el-icon-more-outline:before { content: "\e6cc" }
+.el-icon-more:before { content: "\e794" }
+.el-icon-phone-outline:before { content: "\e6cb" }
+.el-icon-phone:before { content: "\e795" }
+.el-icon-user:before { content: "\e6e3" }
+.el-icon-user-solid:before { content: "\e7a5" }
+.el-icon-setting:before { content: "\e6ca" }
+.el-icon-s-tools:before { content: "\e7ac" }
+.el-icon-delete:before { content: "\e6d7" }
+.el-icon-delete-solid:before { content: "\e7c9" }
+.el-icon-eleme:before { content: "\e7c7" }
+.el-icon-platform-eleme:before { content: "\e7ca" }
+.el-icon-loading { -webkit-animation: rotating 2s linear infinite; animation: rotating 2s linear infinite }
+.el-icon--right { margin-left: 5px }
+.el-icon--left { margin-right: 5px }
+
+@-webkit-keyframes rotating {
+ 0% { -webkit-transform: rotateZ(0); transform: rotateZ(0) }
+ 100% { -webkit-transform: rotateZ(360deg); transform: rotateZ(360deg) }
+}
+
+@keyframes rotating {
+ 0% { -webkit-transform: rotateZ(0); transform: rotateZ(0) }
+ 100% { -webkit-transform: rotateZ(360deg); transform: rotateZ(360deg) }
+}
+
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.el-select-dropdown { position: absolute; z-index: 1001; border: solid 1px #e4e7ed; border-radius: 4px; background-color: #fff; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); -webkit-box-sizing: border-box; box-sizing: border-box; margin: 5px 0 }
+.el-select-dropdown.is-multiple .el-select-dropdown__item { padding-right: 40px }
+.el-select-dropdown.is-multiple .el-select-dropdown__item.selected { color: #409eff; background-color: #fff }
+.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { background-color: #f5f7fa }
+.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { position: absolute; right: 20px; font-family: element-icons; content: "\e6da"; font-size: 12px; font-weight: 700; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale }
+.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { padding: 0 }
+.el-select-dropdown__empty { padding: 10px 0; margin: 0; text-align: center; color: #999; font-size: 14px }
+.el-select-dropdown__wrap { max-height: 274px }
+.el-select-dropdown__list { list-style: none; padding: 6px 0; margin: 0; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-tag { background-color: #ecf5ff; border-color: #d9ecff; color: #409eff; display: inline-block; height: 32px; padding: 0 10px; line-height: 30px; font-size: 12px; color: #409eff; border-width: 1px; border-style: solid; border-radius: 4px; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap }
+.el-tag.is-hit { border-color: #409eff }
+.el-tag .el-tag__close { color: #409eff }
+.el-tag .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag.el-tag--info { background-color: #f4f4f5; border-color: #e9e9eb; color: #909399 }
+.el-tag.el-tag--info.is-hit { border-color: #909399 }
+.el-tag.el-tag--info .el-tag__close { color: #909399 }
+.el-tag.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag.el-tag--success { background-color: #f0f9eb; border-color: #e1f3d8; color: #67c23a }
+.el-tag.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag.el-tag--warning { background-color: #fdf6ec; border-color: #faecd8; color: #e6a23c }
+.el-tag.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag.el-tag--danger { background-color: #fef0f0; border-color: #fde2e2; color: #f56c6c }
+.el-tag.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag .el-icon-close { border-radius: 50%; text-align: center; position: relative; cursor: pointer; font-size: 12px; height: 16px; width: 16px; line-height: 16px; vertical-align: middle; top: -1px; right: -5px }
+.el-tag .el-icon-close::before { display: block }
+.el-tag--dark { background-color: #409eff; border-color: #409eff; color: #fff }
+.el-tag--dark.is-hit { border-color: #409eff }
+.el-tag--dark .el-tag__close { color: #fff }
+.el-tag--dark .el-tag__close:hover { color: #fff; background-color: #66b1ff }
+.el-tag--dark.el-tag--info { background-color: #909399; border-color: #909399; color: #fff }
+.el-tag--dark.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--dark.el-tag--info .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--info .el-tag__close:hover { color: #fff; background-color: #a6a9ad }
+.el-tag--dark.el-tag--success { background-color: #67c23a; border-color: #67c23a; color: #fff }
+.el-tag--dark.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--dark.el-tag--success .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--success .el-tag__close:hover { color: #fff; background-color: #85ce61 }
+.el-tag--dark.el-tag--warning { background-color: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-tag--dark.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--dark.el-tag--warning .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #ebb563 }
+.el-tag--dark.el-tag--danger { background-color: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-tag--dark.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--dark.el-tag--danger .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f78989 }
+.el-tag--plain { background-color: #fff; border-color: #b3d8ff; color: #409eff }
+.el-tag--plain.is-hit { border-color: #409eff }
+.el-tag--plain .el-tag__close { color: #409eff }
+.el-tag--plain .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag--plain.el-tag--info { background-color: #fff; border-color: #d3d4d6; color: #909399 }
+.el-tag--plain.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close { color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag--plain.el-tag--success { background-color: #fff; border-color: #c2e7b0; color: #67c23a }
+.el-tag--plain.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag--plain.el-tag--warning { background-color: #fff; border-color: #f5dab1; color: #e6a23c }
+.el-tag--plain.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag--plain.el-tag--danger { background-color: #fff; border-color: #fbc4c4; color: #f56c6c }
+.el-tag--plain.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag--medium { height: 28px; line-height: 26px }
+.el-tag--medium .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--small { height: 24px; padding: 0 8px; line-height: 22px }
+.el-tag--small .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--mini { height: 20px; padding: 0 5px; line-height: 19px }
+.el-tag--mini .el-icon-close { margin-left: -3px; -webkit-transform: scale(.7); transform: scale(.7) }
+.el-select-dropdown__item { font-size: 14px; padding: 0 20px; position: relative; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #606266; height: 34px; line-height: 34px; -webkit-box-sizing: border-box; box-sizing: border-box; cursor: pointer }
+.el-select-dropdown__item.is-disabled { color: #c0c4cc; cursor: not-allowed }
+.el-select-dropdown__item.is-disabled:hover { background-color: #fff }
+.el-select-dropdown__item.hover, .el-select-dropdown__item:hover { background-color: #f5f7fa }
+.el-select-dropdown__item.selected { color: #409eff; font-weight: 700 }
+.el-select-group { margin: 0; padding: 0 }
+.el-select-group__wrap { position: relative; list-style: none; margin: 0; padding: 0 }
+.el-select-group__wrap:not(:last-of-type) { padding-bottom: 24px }
+.el-select-group__wrap:not(:last-of-type)::after { content: ''; position: absolute; display: block; left: 20px; right: 20px; bottom: 12px; height: 1px; background: #e4e7ed }
+.el-select-group__title { padding-left: 20px; font-size: 12px; color: #909399; line-height: 30px }
+.el-select-group .el-select-dropdown__item { padding-left: 20px }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-select { display: inline-block; position: relative }
+.el-select .el-select__tags > span { display: contents }
+.el-select:hover .el-input__inner { border-color: #c0c4cc }
+.el-select .el-input__inner { cursor: pointer; padding-right: 35px }
+.el-select .el-input__inner:focus { border-color: #409eff }
+.el-select .el-input .el-select__caret { color: #c0c4cc; font-size: 14px; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s,-webkit-transform .3s; -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); cursor: pointer }
+.el-select .el-input .el-select__caret.is-reverse { -webkit-transform: rotateZ(0); transform: rotateZ(0) }
+.el-select .el-input .el-select__caret.is-show-close { font-size: 14px; text-align: center; -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); border-radius: 100%; color: #c0c4cc; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-select .el-input .el-select__caret.is-show-close:hover { color: #909399 }
+.el-select .el-input.is-disabled .el-input__inner { cursor: not-allowed }
+.el-select .el-input.is-disabled .el-input__inner:hover { border-color: #e4e7ed }
+.el-select .el-input.is-focus .el-input__inner { border-color: #409eff }
+.el-select > .el-input { display: block }
+.el-select__input { border: none; outline: 0; padding: 0; margin-left: 15px; color: #666; font-size: 14px; -webkit-appearance: none; -moz-appearance: none; appearance: none; height: 28px; background-color: transparent }
+.el-select__input.is-mini { height: 14px }
+.el-select__close { cursor: pointer; position: absolute; top: 8px; z-index: 1000; right: 25px; color: #c0c4cc; line-height: 18px; font-size: 14px }
+.el-select__close:hover { color: #909399 }
+.el-select__tags { position: absolute; line-height: normal; white-space: normal; z-index: 1; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap }
+.el-select__tags-text { overflow: hidden; text-overflow: ellipsis }
+.el-select .el-tag { -webkit-box-sizing: border-box; box-sizing: border-box; border-color: transparent; margin: 2px 0 2px 6px; background-color: #f0f2f5; display: -webkit-box; display: -ms-flexbox; display: flex; max-width: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-select .el-tag__close.el-icon-close { background-color: #c0c4cc; top: 0; color: #fff; -ms-flex-negative: 0; flex-shrink: 0 }
+.el-select .el-tag__close.el-icon-close:hover { background-color: #909399 }
+.el-select .el-tag__close.el-icon-close::before { display: block; -webkit-transform: translate(0,.5px); transform: translate(0,.5px) }
+.el-pagination { white-space: nowrap; padding: 2px 5px; color: #303133; font-weight: 700 }
+.el-pagination::after, .el-pagination::before { display: table; content: "" }
+.el-pagination::after { clear: both }
+.el-pagination button, .el-pagination span:not([class*=suffix]) { display: inline-block; font-size: 13px; min-width: 35.5px; height: 28px; line-height: 28px; vertical-align: top; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-pagination .el-input__inner { text-align: center; -moz-appearance: textfield; line-height: normal }
+.el-pagination .el-input__suffix { right: 0; -webkit-transform: scale(.8); transform: scale(.8) }
+.el-pagination .el-select .el-input { width: 100px; margin: 0 5px }
+.el-pagination .el-select .el-input .el-input__inner { padding-right: 25px; border-radius: 3px }
+.el-pagination button { border: none; padding: 0 6px; background: 0 0 }
+.el-pagination button:focus { outline: 0 }
+.el-pagination button:hover { color: #409eff }
+.el-pagination button:disabled { color: #c0c4cc; background-color: #fff; cursor: not-allowed }
+.el-pagination .btn-next, .el-pagination .btn-prev { background: center center no-repeat; background-size: 16px; background-color: #fff; cursor: pointer; margin: 0; color: #303133 }
+.el-pagination .btn-next .el-icon, .el-pagination .btn-prev .el-icon { display: block; font-size: 12px; font-weight: 700 }
+.el-pagination .btn-prev { padding-right: 12px }
+.el-pagination .btn-next { padding-left: 12px }
+.el-pagination .el-pager li.disabled { color: #c0c4cc; cursor: not-allowed }
+.el-pagination--small .btn-next, .el-pagination--small .btn-prev, .el-pagination--small .el-pager li, .el-pagination--small .el-pager li.btn-quicknext, .el-pagination--small .el-pager li.btn-quickprev, .el-pagination--small .el-pager li:last-child { border-color: transparent; font-size: 12px; line-height: 22px; height: 22px; min-width: 22px }
+.el-pagination--small .arrow.disabled { visibility: hidden }
+.el-pagination--small .more::before, .el-pagination--small li.more::before { line-height: 24px }
+.el-pagination--small button, .el-pagination--small span:not([class*=suffix]) { height: 22px; line-height: 22px }
+.el-pagination--small .el-pagination__editor { height: 22px }
+.el-pagination--small .el-pagination__editor.el-input .el-input__inner { height: 22px }
+.el-pagination__sizes { margin: 0 10px 0 0; font-weight: 400; color: #606266 }
+.el-pagination__sizes .el-input .el-input__inner { font-size: 13px; padding-left: 8px }
+.el-pagination__sizes .el-input .el-input__inner:hover { border-color: #409eff }
+.el-pagination__total { margin-right: 10px; font-weight: 400; color: #606266 }
+.el-pagination__jump { margin-left: 24px; font-weight: 400; color: #606266 }
+.el-pagination__jump .el-input__inner { padding: 0 3px }
+.el-pagination__rightwrapper { float: right }
+.el-pagination__editor { line-height: 18px; padding: 0 2px; height: 28px; text-align: center; margin: 0 2px; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 3px }
+.el-pagination__editor.el-input { width: 50px }
+.el-pagination__editor.el-input .el-input__inner { height: 28px }
+.el-pagination__editor .el-input__inner::-webkit-inner-spin-button, .el-pagination__editor .el-input__inner::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0 }
+.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li { margin: 0 5px; background-color: #f4f4f5; color: #606266; min-width: 30px; border-radius: 2px }
+.el-pagination.is-background .btn-next.disabled, .el-pagination.is-background .btn-prev.disabled, .el-pagination.is-background .el-pager li.disabled { color: #c0c4cc }
+.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev { padding: 0 }
+.el-pagination.is-background .btn-next:disabled, .el-pagination.is-background .btn-prev:disabled { color: #c0c4cc }
+.el-pagination.is-background .el-pager li:not(.disabled):hover { color: #409eff }
+.el-pagination.is-background .el-pager li:not(.disabled).active { background-color: #409eff; color: #fff }
+.el-pagination.is-background.el-pagination--small .btn-next, .el-pagination.is-background.el-pagination--small .btn-prev, .el-pagination.is-background.el-pagination--small .el-pager li { margin: 0 3px; min-width: 22px }
+.el-pager { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; list-style: none; display: inline-block; vertical-align: top; font-size: 0; padding: 0; margin: 0 }
+.el-pager .more::before { line-height: 30px }
+.el-pager li { padding: 0 4px; background: #fff; vertical-align: top; display: inline-block; font-size: 13px; min-width: 35.5px; height: 28px; line-height: 28px; cursor: pointer; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; margin: 0 }
+.el-pager li.btn-quicknext, .el-pager li.btn-quickprev { line-height: 28px; color: #303133 }
+.el-pager li.btn-quicknext.disabled, .el-pager li.btn-quickprev.disabled { color: #c0c4cc }
+.el-pager li.btn-quickprev:hover { cursor: pointer }
+.el-pager li.btn-quicknext:hover { cursor: pointer }
+.el-pager li.active + li { border-left: 0 }
+.el-pager li:hover { color: #409eff }
+.el-pager li.active { color: #409eff; cursor: default }
+.v-modal-enter { -webkit-animation: v-modal-in .2s ease; animation: v-modal-in .2s ease }
+.v-modal-leave { -webkit-animation: v-modal-out .2s ease forwards; animation: v-modal-out .2s ease forwards }
+
+@-webkit-keyframes v-modal-in {
+ 0% { opacity: 0 }
+}
+
+@keyframes v-modal-in {
+ 0% { opacity: 0 }
+}
+
+@-webkit-keyframes v-modal-out {
+ 100% { opacity: 0 }
+}
+
+@keyframes v-modal-out {
+ 100% { opacity: 0 }
+}
+
+.v-modal { position: fixed; left: 0; top: 0; width: 100%; height: 100%; opacity: .5; background: #000 }
+.el-popup-parent--hidden { overflow: hidden }
+.el-dialog { position: relative; margin: 0 auto 50px; background: #fff; border-radius: 2px; -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.3); box-shadow: 0 1px 3px rgba(0,0,0,.3); -webkit-box-sizing: border-box; box-sizing: border-box; width: 50% }
+.el-dialog.is-fullscreen { width: 100%; margin-top: 0; margin-bottom: 0; height: 100%; overflow: auto }
+.el-dialog__wrapper { position: fixed; top: 0; right: 0; bottom: 0; left: 0; overflow: auto; margin: 0 }
+.el-dialog__header { padding: 20px; padding-bottom: 10px }
+.el-dialog__headerbtn { position: absolute; top: 20px; right: 20px; padding: 0; background: 0 0; border: none; outline: 0; cursor: pointer; font-size: 16px }
+.el-dialog__headerbtn .el-dialog__close { color: #909399 }
+.el-dialog__headerbtn:focus .el-dialog__close, .el-dialog__headerbtn:hover .el-dialog__close { color: #409eff }
+.el-dialog__title { line-height: 24px; font-size: 18px; color: #303133 }
+.el-dialog__body { padding: 30px 20px; color: #606266; font-size: 14px; word-break: break-all }
+.el-dialog__footer { padding: 20px; padding-top: 10px; text-align: right; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-dialog--center { text-align: center }
+.el-dialog--center .el-dialog__body { text-align: initial; padding: 25px 25px 30px }
+.el-dialog--center .el-dialog__footer { text-align: inherit }
+.dialog-fade-enter-active { -webkit-animation: dialog-fade-in .3s; animation: dialog-fade-in .3s }
+.dialog-fade-leave-active { -webkit-animation: dialog-fade-out .3s; animation: dialog-fade-out .3s }
+
+@-webkit-keyframes dialog-fade-in {
+ 0% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+ 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+}
+
+@keyframes dialog-fade-in {
+ 0% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+ 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+}
+
+@-webkit-keyframes dialog-fade-out {
+ 0% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+ 100% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+}
+
+@keyframes dialog-fade-out {
+ 0% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+ 100% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+}
+
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.el-autocomplete { position: relative; display: inline-block }
+.el-autocomplete-suggestion { margin: 5px 0; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); border-radius: 4px; border: 1px solid #e4e7ed; -webkit-box-sizing: border-box; box-sizing: border-box; background-color: #fff }
+.el-autocomplete-suggestion__wrap { max-height: 280px; padding: 10px 0; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-autocomplete-suggestion__list { margin: 0; padding: 0 }
+.el-autocomplete-suggestion li { padding: 0 20px; margin: 0; line-height: 34px; cursor: pointer; color: #606266; font-size: 14px; list-style: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
+.el-autocomplete-suggestion li:hover { background-color: #f5f7fa }
+.el-autocomplete-suggestion li.highlighted { background-color: #f5f7fa }
+.el-autocomplete-suggestion li.divider { margin-top: 6px; border-top: 1px solid #000 }
+.el-autocomplete-suggestion li.divider:last-child { margin-bottom: -6px }
+.el-autocomplete-suggestion.is-loading li { text-align: center; height: 100px; line-height: 100px; font-size: 20px; color: #999 }
+.el-autocomplete-suggestion.is-loading li::after { display: inline-block; content: ""; height: 100%; vertical-align: middle }
+.el-autocomplete-suggestion.is-loading li:hover { background-color: #fff }
+.el-autocomplete-suggestion.is-loading .el-icon-loading { vertical-align: middle }
+.el-button { display: inline-block; line-height: 1; white-space: nowrap; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-color: #dcdfe6; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; -webkit-transition: .1s; transition: .1s; font-weight: 500; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 4px }
+.el-button + .el-button { margin-left: 10px }
+.el-button.is-round { padding: 12px 20px }
+.el-button:focus, .el-button:hover { color: #409eff; border-color: #c6e2ff; background-color: #ecf5ff }
+.el-button:active { color: #3a8ee6; border-color: #3a8ee6; outline: 0 }
+.el-button::-moz-focus-inner { border: 0 }
+.el-button [class*=el-icon-] + span { margin-left: 5px }
+.el-button.is-plain:focus, .el-button.is-plain:hover { background: #fff; border-color: #409eff; color: #409eff }
+.el-button.is-plain:active { background: #fff; border-color: #3a8ee6; color: #3a8ee6; outline: 0 }
+.el-button.is-active { color: #3a8ee6; border-color: #3a8ee6 }
+.el-button.is-disabled, .el-button.is-disabled:focus, .el-button.is-disabled:hover { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5 }
+.el-button.is-disabled.el-button--text { background-color: transparent }
+.el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:focus, .el-button.is-disabled.is-plain:hover { background-color: #fff; border-color: #ebeef5; color: #c0c4cc }
+.el-button.is-loading { position: relative; pointer-events: none }
+.el-button.is-loading:before { pointer-events: none; content: ''; position: absolute; left: -1px; top: -1px; right: -1px; bottom: -1px; border-radius: inherit; background-color: rgba(255,255,255,.35) }
+.el-button.is-round { border-radius: 20px; padding: 12px 23px }
+.el-button.is-circle { border-radius: 50%; padding: 12px }
+.el-button--primary { color: #fff; background-color: #409eff; border-color: #409eff }
+.el-button--primary:focus, .el-button--primary:hover { background: #66b1ff; border-color: #66b1ff; color: #fff }
+.el-button--primary:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-active { background: #3a8ee6; border-color: #3a8ee6; color: #fff }
+.el-button--primary.is-disabled, .el-button--primary.is-disabled:active, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:hover { color: #fff; background-color: #a0cfff; border-color: #a0cfff }
+.el-button--primary.is-plain { color: #409eff; background: #ecf5ff; border-color: #b3d8ff }
+.el-button--primary.is-plain:focus, .el-button--primary.is-plain:hover { background: #409eff; border-color: #409eff; color: #fff }
+.el-button--primary.is-plain:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:active, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:hover { color: #8cc5ff; background-color: #ecf5ff; border-color: #d9ecff }
+.el-button--success { color: #fff; background-color: #67c23a; border-color: #67c23a }
+.el-button--success:focus, .el-button--success:hover { background: #85ce61; border-color: #85ce61; color: #fff }
+.el-button--success:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-active { background: #5daf34; border-color: #5daf34; color: #fff }
+.el-button--success.is-disabled, .el-button--success.is-disabled:active, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:hover { color: #fff; background-color: #b3e19d; border-color: #b3e19d }
+.el-button--success.is-plain { color: #67c23a; background: #f0f9eb; border-color: #c2e7b0 }
+.el-button--success.is-plain:focus, .el-button--success.is-plain:hover { background: #67c23a; border-color: #67c23a; color: #fff }
+.el-button--success.is-plain:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:active, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:hover { color: #a4da89; background-color: #f0f9eb; border-color: #e1f3d8 }
+.el-button--warning { color: #fff; background-color: #e6a23c; border-color: #e6a23c }
+.el-button--warning:focus, .el-button--warning:hover { background: #ebb563; border-color: #ebb563; color: #fff }
+.el-button--warning:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-active { background: #cf9236; border-color: #cf9236; color: #fff }
+.el-button--warning.is-disabled, .el-button--warning.is-disabled:active, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:hover { color: #fff; background-color: #f3d19e; border-color: #f3d19e }
+.el-button--warning.is-plain { color: #e6a23c; background: #fdf6ec; border-color: #f5dab1 }
+.el-button--warning.is-plain:focus, .el-button--warning.is-plain:hover { background: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-button--warning.is-plain:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:active, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:hover { color: #f0c78a; background-color: #fdf6ec; border-color: #faecd8 }
+.el-button--danger { color: #fff; background-color: #f56c6c; border-color: #f56c6c }
+.el-button--danger:focus, .el-button--danger:hover { background: #f78989; border-color: #f78989; color: #fff }
+.el-button--danger:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-active { background: #dd6161; border-color: #dd6161; color: #fff }
+.el-button--danger.is-disabled, .el-button--danger.is-disabled:active, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:hover { color: #fff; background-color: #fab6b6; border-color: #fab6b6 }
+.el-button--danger.is-plain { color: #f56c6c; background: #fef0f0; border-color: #fbc4c4 }
+.el-button--danger.is-plain:focus, .el-button--danger.is-plain:hover { background: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-button--danger.is-plain:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:active, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:hover { color: #f9a7a7; background-color: #fef0f0; border-color: #fde2e2 }
+.el-button--info { color: #fff; background-color: #909399; border-color: #909399 }
+.el-button--info:focus, .el-button--info:hover { background: #a6a9ad; border-color: #a6a9ad; color: #fff }
+.el-button--info:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-active { background: #82848a; border-color: #82848a; color: #fff }
+.el-button--info.is-disabled, .el-button--info.is-disabled:active, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:hover { color: #fff; background-color: #c8c9cc; border-color: #c8c9cc }
+.el-button--info.is-plain { color: #909399; background: #f4f4f5; border-color: #d3d4d6 }
+.el-button--info.is-plain:focus, .el-button--info.is-plain:hover { background: #909399; border-color: #909399; color: #fff }
+.el-button--info.is-plain:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:active, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:hover { color: #bcbec2; background-color: #f4f4f5; border-color: #e9e9eb }
+.el-button--medium { padding: 10px 20px; font-size: 14px; border-radius: 4px }
+.el-button--medium.is-round { padding: 10px 20px }
+.el-button--medium.is-circle { padding: 10px }
+.el-button--small { padding: 9px 15px; font-size: 12px; border-radius: 3px }
+.el-button--small.is-round { padding: 9px 15px }
+.el-button--small.is-circle { padding: 9px }
+.el-button--mini { padding: 7px 15px; font-size: 12px; border-radius: 3px }
+.el-button--mini.is-round { padding: 7px 15px }
+.el-button--mini.is-circle { padding: 7px }
+.el-button--text { border-color: transparent; color: #409eff; background: 0 0; padding-left: 0; padding-right: 0 }
+.el-button--text:focus, .el-button--text:hover { color: #66b1ff; border-color: transparent; background-color: transparent }
+.el-button--text:active { color: #3a8ee6; border-color: transparent; background-color: transparent }
+.el-button--text.is-disabled, .el-button--text.is-disabled:focus, .el-button--text.is-disabled:hover { border-color: transparent }
+.el-button-group { display: inline-block; vertical-align: middle }
+.el-button-group::after, .el-button-group::before { display: table; content: "" }
+.el-button-group::after { clear: both }
+.el-button-group > .el-button { float: left; position: relative }
+.el-button-group > .el-button + .el-button { margin-left: 0 }
+.el-button-group > .el-button.is-disabled { z-index: 1 }
+.el-button-group > .el-button:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-button-group > .el-button:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-button-group > .el-button:first-child:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-bottom-left-radius: 4px }
+.el-button-group > .el-button:first-child:last-child.is-round { border-radius: 20px }
+.el-button-group > .el-button:first-child:last-child.is-circle { border-radius: 50% }
+.el-button-group > .el-button:not(:first-child):not(:last-child) { border-radius: 0 }
+.el-button-group > .el-button:not(:last-child) { margin-right: -1px }
+.el-button-group > .el-button:not(.is-disabled):active, .el-button-group > .el-button:not(.is-disabled):focus, .el-button-group > .el-button:not(.is-disabled):hover { z-index: 1 }
+.el-button-group > .el-button.is-active { z-index: 1 }
+.el-button-group > .el-dropdown > .el-button { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.el-dropdown { display: inline-block; position: relative; color: #606266; font-size: 14px }
+.el-dropdown .el-button-group { display: block }
+.el-dropdown .el-button-group .el-button { float: none }
+.el-dropdown .el-dropdown__caret-button { padding-left: 5px; padding-right: 5px; position: relative; border-left: none }
+.el-dropdown .el-dropdown__caret-button::before { content: ''; position: absolute; display: block; width: 1px; top: 5px; bottom: 5px; left: 0; background: rgba(255,255,255,.5) }
+.el-dropdown .el-dropdown__caret-button.el-button--default::before { background: rgba(220,223,230,.5) }
+.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before { top: 0; bottom: 0 }
+.el-dropdown .el-dropdown__caret-button .el-dropdown__icon { padding-left: 0 }
+.el-dropdown__icon { font-size: 12px; margin: 0 3px }
+.el-dropdown .el-dropdown-selfdefine:focus:active, .el-dropdown .el-dropdown-selfdefine:focus:not(.focusing) { outline-width: 0 }
+.el-dropdown [disabled] { cursor: not-allowed; color: #bbb }
+.el-dropdown-menu { position: absolute; top: 0; left: 0; z-index: 10; padding: 10px 0; margin: 5px 0; background-color: #fff; border: 1px solid #ebeef5; border-radius: 4px; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1) }
+.el-dropdown-menu__item { list-style: none; line-height: 36px; padding: 0 20px; margin: 0; font-size: 14px; color: #606266; cursor: pointer; outline: 0 }
+.el-dropdown-menu__item:focus, .el-dropdown-menu__item:not(.is-disabled):hover { background-color: #ecf5ff; color: #66b1ff }
+.el-dropdown-menu__item i { margin-right: 5px }
+.el-dropdown-menu__item--divided { position: relative; margin-top: 6px; border-top: 1px solid #ebeef5 }
+.el-dropdown-menu__item--divided:before { content: ''; height: 6px; display: block; margin: 0 -20px; background-color: #fff }
+.el-dropdown-menu__item.is-disabled { cursor: default; color: #bbb; pointer-events: none }
+.el-dropdown-menu--medium { padding: 6px 0 }
+.el-dropdown-menu--medium .el-dropdown-menu__item { line-height: 30px; padding: 0 17px; font-size: 14px }
+.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided { margin-top: 6px }
+.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { height: 6px; margin: 0 -17px }
+.el-dropdown-menu--small { padding: 6px 0 }
+.el-dropdown-menu--small .el-dropdown-menu__item { line-height: 27px; padding: 0 15px; font-size: 13px }
+.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided { margin-top: 4px }
+.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { height: 4px; margin: 0 -15px }
+.el-dropdown-menu--mini { padding: 3px 0 }
+.el-dropdown-menu--mini .el-dropdown-menu__item { line-height: 24px; padding: 0 10px; font-size: 12px }
+.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided { margin-top: 3px }
+.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { height: 3px; margin: 0 -10px }
+.fade-in-linear-enter-active, .fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.fade-in-linear-enter, .fade-in-linear-leave, .fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-linear-enter-active, .el-fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.el-fade-in-linear-enter, .el-fade-in-linear-leave, .el-fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-enter-active, .el-fade-in-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-fade-in-enter, .el-fade-in-leave-active { opacity: 0 }
+.el-zoom-in-center-enter-active, .el-zoom-in-center-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-zoom-in-center-enter, .el-zoom-in-center-leave-active { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0) }
+.el-zoom-in-top-enter-active, .el-zoom-in-top-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center top; transform-origin: center top }
+.el-zoom-in-top-enter, .el-zoom-in-top-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-bottom-enter-active, .el-zoom-in-bottom-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center bottom; transform-origin: center bottom }
+.el-zoom-in-bottom-enter, .el-zoom-in-bottom-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-left-enter-active, .el-zoom-in-left-leave-active { opacity: 1; -webkit-transform: scale(1,1); transform: scale(1,1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: top left; transform-origin: top left }
+.el-zoom-in-left-enter, .el-zoom-in-left-leave-active { opacity: 0; -webkit-transform: scale(.45,.45); transform: scale(.45,.45) }
+.collapse-transition { -webkit-transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out; transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out }
+.horizontal-collapse-transition { -webkit-transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out; transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out }
+.el-list-enter-active, .el-list-leave-active { -webkit-transition: all 1s; transition: all 1s }
+.el-list-enter, .el-list-leave-active { opacity: 0; -webkit-transform: translateY(-30px); transform: translateY(-30px) }
+.el-opacity-transition { -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); transition: opacity .3s cubic-bezier(.55, 0, .1, 1) }
+.el-menu { border-right: solid 1px #e6e6e6; list-style: none; position: relative; margin: 0; padding-left: 0; background-color: #fff }
+.el-menu::after, .el-menu::before { display: table; content: "" }
+.el-menu::after { clear: both }
+.el-menu.el-menu--horizontal { border-bottom: solid 1px #e6e6e6 }
+.el-menu--horizontal { border-right: none }
+.el-menu--horizontal > .el-menu-item { float: left; height: 60px; line-height: 60px; margin: 0; border-bottom: 2px solid transparent; color: #909399 }
+.el-menu--horizontal > .el-menu-item a, .el-menu--horizontal > .el-menu-item a:hover { color: inherit }
+.el-menu--horizontal > .el-menu-item:not(.is-disabled):focus, .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover { background-color: #fff }
+.el-menu--horizontal > .el-submenu { float: left }
+.el-menu--horizontal > .el-submenu:focus, .el-menu--horizontal > .el-submenu:hover { outline: 0 }
+.el-menu--horizontal > .el-submenu:focus .el-submenu__title, .el-menu--horizontal > .el-submenu:hover .el-submenu__title { color: #303133 }
+.el-menu--horizontal > .el-submenu.is-active .el-submenu__title { border-bottom: 2px solid #409eff; color: #303133 }
+.el-menu--horizontal > .el-submenu .el-submenu__title { height: 60px; line-height: 60px; border-bottom: 2px solid transparent; color: #909399 }
+.el-menu--horizontal > .el-submenu .el-submenu__title:hover { background-color: #fff }
+.el-menu--horizontal > .el-submenu .el-submenu__icon-arrow { position: static; vertical-align: middle; margin-left: 8px; margin-top: -3px }
+.el-menu--horizontal .el-menu .el-menu-item, .el-menu--horizontal .el-menu .el-submenu__title { background-color: #fff; float: none; height: 36px; line-height: 36px; padding: 0 10px; color: #909399 }
+.el-menu--horizontal .el-menu .el-menu-item.is-active, .el-menu--horizontal .el-menu .el-submenu.is-active > .el-submenu__title { color: #303133 }
+.el-menu--horizontal .el-menu-item:not(.is-disabled):focus, .el-menu--horizontal .el-menu-item:not(.is-disabled):hover { outline: 0; color: #303133 }
+.el-menu--horizontal > .el-menu-item.is-active { border-bottom: 2px solid #409eff; color: #303133 }
+.el-menu--collapse { width: 64px }
+.el-menu--collapse > .el-menu-item [class^=el-icon-], .el-menu--collapse > .el-submenu > .el-submenu__title [class^=el-icon-] { margin: 0; vertical-align: middle; width: 24px; text-align: center }
+.el-menu--collapse > .el-menu-item .el-submenu__icon-arrow, .el-menu--collapse > .el-submenu > .el-submenu__title .el-submenu__icon-arrow { display: none }
+.el-menu--collapse > .el-menu-item span, .el-menu--collapse > .el-submenu > .el-submenu__title span { height: 0; width: 0; overflow: hidden; visibility: hidden; display: inline-block }
+.el-menu--collapse > .el-menu-item.is-active i { color: inherit }
+.el-menu--collapse .el-menu .el-submenu { min-width: 200px }
+.el-menu--collapse .el-submenu { position: relative }
+.el-menu--collapse .el-submenu .el-menu { position: absolute; margin-left: 5px; top: 0; left: 100%; z-index: 10; border: 1px solid #e4e7ed; border-radius: 2px; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1) }
+.el-menu--collapse .el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow { -webkit-transform: none; transform: none }
+.el-menu--popup { z-index: 100; min-width: 200px; border: none; padding: 5px 0; border-radius: 2px; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1) }
+.el-menu--popup-bottom-start { margin-top: 5px }
+.el-menu--popup-right-start { margin-left: 5px; margin-right: 5px }
+.el-menu-item { height: 56px; line-height: 56px; font-size: 14px; color: #303133; padding: 0 20px; list-style: none; cursor: pointer; position: relative; -webkit-transition: border-color .3s,background-color .3s,color .3s; transition: border-color .3s,background-color .3s,color .3s; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap }
+.el-menu-item * { vertical-align: middle }
+.el-menu-item i { color: #909399 }
+.el-menu-item:focus, .el-menu-item:hover { outline: 0; background-color: #ecf5ff }
+.el-menu-item.is-disabled { opacity: .25; cursor: not-allowed; background: 0 0 !important }
+.el-menu-item [class^=el-icon-] { margin-right: 5px; width: 24px; text-align: center; font-size: 18px; vertical-align: middle }
+.el-menu-item.is-active { color: #409eff }
+.el-menu-item.is-active i { color: inherit }
+.el-submenu { list-style: none; margin: 0; padding-left: 0 }
+.el-submenu__title { height: 56px; line-height: 56px; font-size: 14px; color: #303133; padding: 0 20px; list-style: none; cursor: pointer; position: relative; -webkit-transition: border-color .3s,background-color .3s,color .3s; transition: border-color .3s,background-color .3s,color .3s; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap }
+.el-submenu__title * { vertical-align: middle }
+.el-submenu__title i { color: #909399 }
+.el-submenu__title:focus, .el-submenu__title:hover { outline: 0; background-color: #ecf5ff }
+.el-submenu__title.is-disabled { opacity: .25; cursor: not-allowed; background: 0 0 !important }
+.el-submenu__title:hover { background-color: #ecf5ff }
+.el-submenu .el-menu { border: none }
+.el-submenu .el-menu-item { height: 50px; line-height: 50px; padding: 0 45px; min-width: 200px }
+.el-submenu__icon-arrow { position: absolute; top: 50%; right: 20px; margin-top: -7px; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s,-webkit-transform .3s; font-size: 12px }
+.el-submenu.is-active .el-submenu__title { border-bottom-color: #409eff }
+.el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow { -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg) }
+.el-submenu.is-disabled .el-menu-item, .el-submenu.is-disabled .el-submenu__title { opacity: .25; cursor: not-allowed; background: 0 0 !important }
+.el-submenu [class^=el-icon-] { vertical-align: middle; margin-right: 5px; width: 24px; text-align: center; font-size: 18px }
+.el-menu-item-group > ul { padding: 0 }
+.el-menu-item-group__title { padding: 7px 0 7px 20px; line-height: normal; font-size: 12px; color: #909399 }
+.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow { -webkit-transition: .2s; transition: .2s; opacity: 0 }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-input-number { position: relative; display: inline-block; width: 180px; line-height: 38px }
+.el-input-number .el-input { display: block }
+.el-input-number .el-input__inner { -webkit-appearance: none; padding-left: 50px; padding-right: 50px; text-align: center }
+.el-input-number__decrease, .el-input-number__increase { position: absolute; z-index: 1; top: 1px; width: 40px; height: auto; text-align: center; background: #f5f7fa; color: #606266; cursor: pointer; font-size: 13px }
+.el-input-number__decrease:hover, .el-input-number__increase:hover { color: #409eff }
+.el-input-number__decrease:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled), .el-input-number__increase:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { border-color: #409eff }
+.el-input-number__decrease.is-disabled, .el-input-number__increase.is-disabled { color: #c0c4cc; cursor: not-allowed }
+.el-input-number__increase { right: 1px; border-radius: 0 4px 4px 0; border-left: 1px solid #dcdfe6 }
+.el-input-number__decrease { left: 1px; border-radius: 4px 0 0 4px; border-right: 1px solid #dcdfe6 }
+.el-input-number.is-disabled .el-input-number__decrease, .el-input-number.is-disabled .el-input-number__increase { border-color: #e4e7ed; color: #e4e7ed }
+.el-input-number.is-disabled .el-input-number__decrease:hover, .el-input-number.is-disabled .el-input-number__increase:hover { color: #e4e7ed; cursor: not-allowed }
+.el-input-number--medium { width: 200px; line-height: 34px }
+.el-input-number--medium .el-input-number__decrease, .el-input-number--medium .el-input-number__increase { width: 36px; font-size: 14px }
+.el-input-number--medium .el-input__inner { padding-left: 43px; padding-right: 43px }
+.el-input-number--small { width: 130px; line-height: 30px }
+.el-input-number--small .el-input-number__decrease, .el-input-number--small .el-input-number__increase { width: 32px; font-size: 13px }
+.el-input-number--small .el-input-number__decrease [class*=el-icon], .el-input-number--small .el-input-number__increase [class*=el-icon] { -webkit-transform: scale(.9); transform: scale(.9) }
+.el-input-number--small .el-input__inner { padding-left: 39px; padding-right: 39px }
+.el-input-number--mini { width: 130px; line-height: 26px }
+.el-input-number--mini .el-input-number__decrease, .el-input-number--mini .el-input-number__increase { width: 28px; font-size: 12px }
+.el-input-number--mini .el-input-number__decrease [class*=el-icon], .el-input-number--mini .el-input-number__increase [class*=el-icon] { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-input-number--mini .el-input__inner { padding-left: 35px; padding-right: 35px }
+.el-input-number.is-without-controls .el-input__inner { padding-left: 15px; padding-right: 15px }
+.el-input-number.is-controls-right .el-input__inner { padding-left: 15px; padding-right: 50px }
+.el-input-number.is-controls-right .el-input-number__decrease, .el-input-number.is-controls-right .el-input-number__increase { height: auto; line-height: 19px }
+.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon], .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon] { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-input-number.is-controls-right .el-input-number__increase { border-radius: 0 4px 0 0; border-bottom: 1px solid #dcdfe6 }
+.el-input-number.is-controls-right .el-input-number__decrease { right: 1px; bottom: 1px; top: auto; left: auto; border-right: none; border-left: 1px solid #dcdfe6; border-radius: 0 0 4px 0 }
+.el-input-number.is-controls-right[class*=medium] [class*=decrease], .el-input-number.is-controls-right[class*=medium] [class*=increase] { line-height: 17px }
+.el-input-number.is-controls-right[class*=small] [class*=decrease], .el-input-number.is-controls-right[class*=small] [class*=increase] { line-height: 15px }
+.el-input-number.is-controls-right[class*=mini] [class*=decrease], .el-input-number.is-controls-right[class*=mini] [class*=increase] { line-height: 13px }
+.el-radio { color: #606266; font-weight: 500; line-height: 1; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; outline: 0; font-size: 14px; margin-right: 30px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none }
+.el-radio.is-bordered { padding: 12px 20px 0 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; height: 40px }
+.el-radio.is-bordered.is-checked { border-color: #409eff }
+.el-radio.is-bordered.is-disabled { cursor: not-allowed; border-color: #ebeef5 }
+.el-radio.is-bordered + .el-radio.is-bordered { margin-left: 10px }
+.el-radio--medium.is-bordered { padding: 10px 20px 0 10px; border-radius: 4px; height: 36px }
+.el-radio--medium.is-bordered .el-radio__label { font-size: 14px }
+.el-radio--medium.is-bordered .el-radio__inner { height: 14px; width: 14px }
+.el-radio--small.is-bordered { padding: 8px 15px 0 10px; border-radius: 3px; height: 32px }
+.el-radio--small.is-bordered .el-radio__label { font-size: 12px }
+.el-radio--small.is-bordered .el-radio__inner { height: 12px; width: 12px }
+.el-radio--mini.is-bordered { padding: 6px 15px 0 10px; border-radius: 3px; height: 28px }
+.el-radio--mini.is-bordered .el-radio__label { font-size: 12px }
+.el-radio--mini.is-bordered .el-radio__inner { height: 12px; width: 12px }
+.el-radio:last-child { margin-right: 0 }
+.el-radio__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-radio__input.is-disabled .el-radio__inner { background-color: #f5f7fa; border-color: #e4e7ed; cursor: not-allowed }
+.el-radio__input.is-disabled .el-radio__inner::after { cursor: not-allowed; background-color: #f5f7fa }
+.el-radio__input.is-disabled .el-radio__inner + .el-radio__label { cursor: not-allowed }
+.el-radio__input.is-disabled.is-checked .el-radio__inner { background-color: #f5f7fa; border-color: #e4e7ed }
+.el-radio__input.is-disabled.is-checked .el-radio__inner::after { background-color: #c0c4cc }
+.el-radio__input.is-disabled + span.el-radio__label { color: #c0c4cc; cursor: not-allowed }
+.el-radio__input.is-checked .el-radio__inner { border-color: #409eff; background: #409eff }
+.el-radio__input.is-checked .el-radio__inner::after { -webkit-transform: translate(-50%,-50%) scale(1); transform: translate(-50%,-50%) scale(1) }
+.el-radio__input.is-checked + .el-radio__label { color: #409eff }
+.el-radio__input.is-focus .el-radio__inner { border-color: #409eff }
+.el-radio__inner { border: 1px solid #dcdfe6; border-radius: 100%; width: 14px; height: 14px; background-color: #fff; position: relative; cursor: pointer; display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-radio__inner:hover { border-color: #409eff }
+.el-radio__inner::after { width: 4px; height: 4px; border-radius: 100%; background-color: #fff; content: ""; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%) scale(0); transform: translate(-50%,-50%) scale(0); -webkit-transition: -webkit-transform .15s ease-in; transition: -webkit-transform .15s ease-in; transition: transform .15s ease-in; transition: transform .15s ease-in,-webkit-transform .15s ease-in }
+.el-radio__original { opacity: 0; outline: 0; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; margin: 0 }
+.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { -webkit-box-shadow: 0 0 2px 2px #409eff; box-shadow: 0 0 2px 2px #409eff }
+.el-radio__label { font-size: 14px; padding-left: 10px }
+.el-radio-group { display: inline-block; line-height: 1; vertical-align: middle; font-size: 0 }
+.el-radio-button { position: relative; display: inline-block; outline: 0 }
+.el-radio-button__inner { display: inline-block; line-height: 1; white-space: nowrap; vertical-align: middle; background: #fff; border: 1px solid #dcdfe6; font-weight: 500; border-left: 0; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; position: relative; cursor: pointer; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); padding: 12px 20px; font-size: 14px; border-radius: 0 }
+.el-radio-button__inner.is-round { padding: 12px 20px }
+.el-radio-button__inner:hover { color: #409eff }
+.el-radio-button__inner [class*=el-icon-] { line-height: .9 }
+.el-radio-button__inner [class*=el-icon-] + span { margin-left: 5px }
+.el-radio-button:first-child .el-radio-button__inner { border-left: 1px solid #dcdfe6; border-radius: 4px 0 0 4px; -webkit-box-shadow: none !important; box-shadow: none !important }
+.el-radio-button__orig-radio { opacity: 0; outline: 0; position: absolute; z-index: -1 }
+.el-radio-button__orig-radio:checked + .el-radio-button__inner { color: #fff; background-color: #409eff; border-color: #409eff; -webkit-box-shadow: -1px 0 0 0 #409eff; box-shadow: -1px 0 0 0 #409eff }
+.el-radio-button__orig-radio:disabled + .el-radio-button__inner { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5; -webkit-box-shadow: none; box-shadow: none }
+.el-radio-button__orig-radio:disabled:checked + .el-radio-button__inner { background-color: #f2f6fc }
+.el-radio-button:last-child .el-radio-button__inner { border-radius: 0 4px 4px 0 }
+.el-radio-button:first-child:last-child .el-radio-button__inner { border-radius: 4px }
+.el-radio-button--medium .el-radio-button__inner { padding: 10px 20px; font-size: 14px; border-radius: 0 }
+.el-radio-button--medium .el-radio-button__inner.is-round { padding: 10px 20px }
+.el-radio-button--small .el-radio-button__inner { padding: 9px 15px; font-size: 12px; border-radius: 0 }
+.el-radio-button--small .el-radio-button__inner.is-round { padding: 9px 15px }
+.el-radio-button--mini .el-radio-button__inner { padding: 7px 15px; font-size: 12px; border-radius: 0 }
+.el-radio-button--mini .el-radio-button__inner.is-round { padding: 7px 15px }
+.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled) { -webkit-box-shadow: 0 0 2px 2px #409eff; box-shadow: 0 0 2px 2px #409eff }
+.el-checkbox { color: #606266; font-weight: 500; font-size: 14px; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; margin-right: 30px }
+.el-checkbox.is-bordered { padding: 9px 20px 9px 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: normal; height: 40px }
+.el-checkbox.is-bordered.is-checked { border-color: #409eff }
+.el-checkbox.is-bordered.is-disabled { border-color: #ebeef5; cursor: not-allowed }
+.el-checkbox.is-bordered + .el-checkbox.is-bordered { margin-left: 10px }
+.el-checkbox.is-bordered.el-checkbox--medium { padding: 7px 20px 7px 10px; border-radius: 4px; height: 36px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { line-height: 17px; font-size: 14px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { height: 14px; width: 14px }
+.el-checkbox.is-bordered.el-checkbox--small { padding: 5px 15px 5px 10px; border-radius: 3px; height: 32px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { line-height: 15px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox.is-bordered.el-checkbox--mini { padding: 3px 15px 3px 10px; border-radius: 3px; height: 28px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { line-height: 12px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-checkbox__input.is-disabled .el-checkbox__inner { background-color: #edf2fc; border-color: #dcdfe6; cursor: not-allowed }
+.el-checkbox__input.is-disabled .el-checkbox__inner::after { cursor: not-allowed; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { cursor: not-allowed }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { border-color: #c0c4cc }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { background-color: #c0c4cc; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled + span.el-checkbox__label { color: #c0c4cc; cursor: not-allowed }
+.el-checkbox__input.is-checked .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-checked .el-checkbox__inner::after { -webkit-transform: rotate(45deg) scaleY(1); transform: rotate(45deg) scaleY(1) }
+.el-checkbox__input.is-checked + .el-checkbox__label { color: #409eff }
+.el-checkbox__input.is-focus .el-checkbox__inner { border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { content: ''; position: absolute; display: block; background-color: #fff; height: 2px; -webkit-transform: scale(.5); transform: scale(.5); left: 0; right: 0; top: 5px }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { display: none }
+.el-checkbox__inner { display: inline-block; position: relative; border: 1px solid #dcdfe6; border-radius: 2px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; z-index: 1; -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46); transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46) }
+.el-checkbox__inner:hover { border-color: #409eff }
+.el-checkbox__inner::after { -webkit-box-sizing: content-box; box-sizing: content-box; content: ""; border: 1px solid #fff; border-left: 0; border-top: 0; height: 7px; left: 4px; position: absolute; top: 1px; -webkit-transform: rotate(45deg) scaleY(0); transform: rotate(45deg) scaleY(0); width: 3px; -webkit-transition: -webkit-transform .15s ease-in .05s; transition: -webkit-transform .15s ease-in .05s; transition: transform .15s ease-in .05s; transition: transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s; -webkit-transform-origin: center; transform-origin: center }
+.el-checkbox__original { opacity: 0; outline: 0; position: absolute; margin: 0; width: 0; height: 0; z-index: -1 }
+.el-checkbox__label { display: inline-block; padding-left: 10px; line-height: 19px; font-size: 14px }
+.el-checkbox:last-of-type { margin-right: 0 }
+.el-checkbox-button { position: relative; display: inline-block }
+.el-checkbox-button__inner { display: inline-block; line-height: 1; font-weight: 500; white-space: nowrap; vertical-align: middle; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-left: 0; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; position: relative; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button__inner.is-round { padding: 12px 20px }
+.el-checkbox-button__inner:hover { color: #409eff }
+.el-checkbox-button__inner [class*=el-icon-] { line-height: .9 }
+.el-checkbox-button__inner [class*=el-icon-] + span { margin-left: 5px }
+.el-checkbox-button__original { opacity: 0; outline: 0; position: absolute; margin: 0; z-index: -1 }
+.el-checkbox-button.is-checked .el-checkbox-button__inner { color: #fff; background-color: #409eff; border-color: #409eff; -webkit-box-shadow: -1px 0 0 0 #8cc5ff; box-shadow: -1px 0 0 0 #8cc5ff }
+.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { border-left-color: #409eff }
+.el-checkbox-button.is-disabled .el-checkbox-button__inner { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5; -webkit-box-shadow: none; box-shadow: none }
+.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { border-left-color: #ebeef5 }
+.el-checkbox-button:first-child .el-checkbox-button__inner { border-left: 1px solid #dcdfe6; border-radius: 4px 0 0 4px; -webkit-box-shadow: none !important; box-shadow: none !important }
+.el-checkbox-button.is-focus .el-checkbox-button__inner { border-color: #409eff }
+.el-checkbox-button:last-child .el-checkbox-button__inner { border-radius: 0 4px 4px 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner { padding: 10px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner.is-round { padding: 10px 20px }
+.el-checkbox-button--small .el-checkbox-button__inner { padding: 9px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--small .el-checkbox-button__inner.is-round { padding: 9px 15px }
+.el-checkbox-button--mini .el-checkbox-button__inner { padding: 7px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--mini .el-checkbox-button__inner.is-round { padding: 7px 15px }
+.el-checkbox-group { font-size: 0 }
+.el-switch { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: relative; font-size: 14px; line-height: 20px; height: 20px; vertical-align: middle }
+.el-switch.is-disabled .el-switch__core, .el-switch.is-disabled .el-switch__label { cursor: not-allowed }
+.el-switch__label { -webkit-transition: .2s; transition: .2s; height: 20px; display: inline-block; font-size: 14px; font-weight: 500; cursor: pointer; vertical-align: middle; color: #303133 }
+.el-switch__label.is-active { color: #409eff }
+.el-switch__label--left { margin-right: 10px }
+.el-switch__label--right { margin-left: 10px }
+.el-switch__label * { line-height: 1; font-size: 14px; display: inline-block }
+.el-switch__input { position: absolute; width: 0; height: 0; opacity: 0; margin: 0 }
+.el-switch__core { margin: 0; display: inline-block; position: relative; width: 40px; height: 20px; border: 1px solid #dcdfe6; outline: 0; border-radius: 10px; -webkit-box-sizing: border-box; box-sizing: border-box; background: #dcdfe6; cursor: pointer; -webkit-transition: border-color .3s,background-color .3s; transition: border-color .3s,background-color .3s; vertical-align: middle }
+.el-switch__core:after { content: ""; position: absolute; top: 1px; left: 1px; border-radius: 100%; -webkit-transition: all .3s; transition: all .3s; width: 16px; height: 16px; background-color: #fff }
+.el-switch.is-checked .el-switch__core { border-color: #409eff; background-color: #409eff }
+.el-switch.is-checked .el-switch__core::after { left: 100%; margin-left: -17px }
+.el-switch.is-disabled { opacity: .6 }
+.el-switch--wide .el-switch__label.el-switch__label--left span { left: 10px }
+.el-switch--wide .el-switch__label.el-switch__label--right span { right: 10px }
+.el-switch .label-fade-enter, .el-switch .label-fade-leave-active { opacity: 0 }
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.el-select-dropdown { position: absolute; z-index: 1001; border: solid 1px #e4e7ed; border-radius: 4px; background-color: #fff; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); -webkit-box-sizing: border-box; box-sizing: border-box; margin: 5px 0 }
+.el-select-dropdown.is-multiple .el-select-dropdown__item { padding-right: 40px }
+.el-select-dropdown.is-multiple .el-select-dropdown__item.selected { color: #409eff; background-color: #fff }
+.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { background-color: #f5f7fa }
+.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { position: absolute; right: 20px; font-family: element-icons; content: "\e6da"; font-size: 12px; font-weight: 700; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale }
+.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { padding: 0 }
+.el-select-dropdown__empty { padding: 10px 0; margin: 0; text-align: center; color: #999; font-size: 14px }
+.el-select-dropdown__wrap { max-height: 274px }
+.el-select-dropdown__list { list-style: none; padding: 6px 0; margin: 0; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-tag { background-color: #ecf5ff; border-color: #d9ecff; color: #409eff; display: inline-block; height: 32px; padding: 0 10px; line-height: 30px; font-size: 12px; color: #409eff; border-width: 1px; border-style: solid; border-radius: 4px; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap }
+.el-tag.is-hit { border-color: #409eff }
+.el-tag .el-tag__close { color: #409eff }
+.el-tag .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag.el-tag--info { background-color: #f4f4f5; border-color: #e9e9eb; color: #909399 }
+.el-tag.el-tag--info.is-hit { border-color: #909399 }
+.el-tag.el-tag--info .el-tag__close { color: #909399 }
+.el-tag.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag.el-tag--success { background-color: #f0f9eb; border-color: #e1f3d8; color: #67c23a }
+.el-tag.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag.el-tag--warning { background-color: #fdf6ec; border-color: #faecd8; color: #e6a23c }
+.el-tag.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag.el-tag--danger { background-color: #fef0f0; border-color: #fde2e2; color: #f56c6c }
+.el-tag.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag .el-icon-close { border-radius: 50%; text-align: center; position: relative; cursor: pointer; font-size: 12px; height: 16px; width: 16px; line-height: 16px; vertical-align: middle; top: -1px; right: -5px }
+.el-tag .el-icon-close::before { display: block }
+.el-tag--dark { background-color: #409eff; border-color: #409eff; color: #fff }
+.el-tag--dark.is-hit { border-color: #409eff }
+.el-tag--dark .el-tag__close { color: #fff }
+.el-tag--dark .el-tag__close:hover { color: #fff; background-color: #66b1ff }
+.el-tag--dark.el-tag--info { background-color: #909399; border-color: #909399; color: #fff }
+.el-tag--dark.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--dark.el-tag--info .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--info .el-tag__close:hover { color: #fff; background-color: #a6a9ad }
+.el-tag--dark.el-tag--success { background-color: #67c23a; border-color: #67c23a; color: #fff }
+.el-tag--dark.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--dark.el-tag--success .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--success .el-tag__close:hover { color: #fff; background-color: #85ce61 }
+.el-tag--dark.el-tag--warning { background-color: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-tag--dark.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--dark.el-tag--warning .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #ebb563 }
+.el-tag--dark.el-tag--danger { background-color: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-tag--dark.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--dark.el-tag--danger .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f78989 }
+.el-tag--plain { background-color: #fff; border-color: #b3d8ff; color: #409eff }
+.el-tag--plain.is-hit { border-color: #409eff }
+.el-tag--plain .el-tag__close { color: #409eff }
+.el-tag--plain .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag--plain.el-tag--info { background-color: #fff; border-color: #d3d4d6; color: #909399 }
+.el-tag--plain.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close { color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag--plain.el-tag--success { background-color: #fff; border-color: #c2e7b0; color: #67c23a }
+.el-tag--plain.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag--plain.el-tag--warning { background-color: #fff; border-color: #f5dab1; color: #e6a23c }
+.el-tag--plain.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag--plain.el-tag--danger { background-color: #fff; border-color: #fbc4c4; color: #f56c6c }
+.el-tag--plain.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag--medium { height: 28px; line-height: 26px }
+.el-tag--medium .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--small { height: 24px; padding: 0 8px; line-height: 22px }
+.el-tag--small .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--mini { height: 20px; padding: 0 5px; line-height: 19px }
+.el-tag--mini .el-icon-close { margin-left: -3px; -webkit-transform: scale(.7); transform: scale(.7) }
+.el-select-dropdown__item { font-size: 14px; padding: 0 20px; position: relative; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #606266; height: 34px; line-height: 34px; -webkit-box-sizing: border-box; box-sizing: border-box; cursor: pointer }
+.el-select-dropdown__item.is-disabled { color: #c0c4cc; cursor: not-allowed }
+.el-select-dropdown__item.is-disabled:hover { background-color: #fff }
+.el-select-dropdown__item.hover, .el-select-dropdown__item:hover { background-color: #f5f7fa }
+.el-select-dropdown__item.selected { color: #409eff; font-weight: 700 }
+.el-select-group { margin: 0; padding: 0 }
+.el-select-group__wrap { position: relative; list-style: none; margin: 0; padding: 0 }
+.el-select-group__wrap:not(:last-of-type) { padding-bottom: 24px }
+.el-select-group__wrap:not(:last-of-type)::after { content: ''; position: absolute; display: block; left: 20px; right: 20px; bottom: 12px; height: 1px; background: #e4e7ed }
+.el-select-group__title { padding-left: 20px; font-size: 12px; color: #909399; line-height: 30px }
+.el-select-group .el-select-dropdown__item { padding-left: 20px }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-select { display: inline-block; position: relative }
+.el-select .el-select__tags > span { display: contents }
+.el-select:hover .el-input__inner { border-color: #c0c4cc }
+.el-select .el-input__inner { cursor: pointer; padding-right: 35px }
+.el-select .el-input__inner:focus { border-color: #409eff }
+.el-select .el-input .el-select__caret { color: #c0c4cc; font-size: 14px; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s,-webkit-transform .3s; -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); cursor: pointer }
+.el-select .el-input .el-select__caret.is-reverse { -webkit-transform: rotateZ(0); transform: rotateZ(0) }
+.el-select .el-input .el-select__caret.is-show-close { font-size: 14px; text-align: center; -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); border-radius: 100%; color: #c0c4cc; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-select .el-input .el-select__caret.is-show-close:hover { color: #909399 }
+.el-select .el-input.is-disabled .el-input__inner { cursor: not-allowed }
+.el-select .el-input.is-disabled .el-input__inner:hover { border-color: #e4e7ed }
+.el-select .el-input.is-focus .el-input__inner { border-color: #409eff }
+.el-select > .el-input { display: block }
+.el-select__input { border: none; outline: 0; padding: 0; margin-left: 15px; color: #666; font-size: 14px; -webkit-appearance: none; -moz-appearance: none; appearance: none; height: 28px; background-color: transparent }
+.el-select__input.is-mini { height: 14px }
+.el-select__close { cursor: pointer; position: absolute; top: 8px; z-index: 1000; right: 25px; color: #c0c4cc; line-height: 18px; font-size: 14px }
+.el-select__close:hover { color: #909399 }
+.el-select__tags { position: absolute; line-height: normal; white-space: normal; z-index: 1; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap }
+.el-select__tags-text { overflow: hidden; text-overflow: ellipsis }
+.el-select .el-tag { -webkit-box-sizing: border-box; box-sizing: border-box; border-color: transparent; margin: 2px 0 2px 6px; background-color: #f0f2f5; display: -webkit-box; display: -ms-flexbox; display: flex; max-width: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-select .el-tag__close.el-icon-close { background-color: #c0c4cc; top: 0; color: #fff; -ms-flex-negative: 0; flex-shrink: 0 }
+.el-select .el-tag__close.el-icon-close:hover { background-color: #909399 }
+.el-select .el-tag__close.el-icon-close::before { display: block; -webkit-transform: translate(0,.5px); transform: translate(0,.5px) }
+.el-button { display: inline-block; line-height: 1; white-space: nowrap; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-color: #dcdfe6; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; -webkit-transition: .1s; transition: .1s; font-weight: 500; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 4px }
+.el-button + .el-button { margin-left: 10px }
+.el-button.is-round { padding: 12px 20px }
+.el-button:focus, .el-button:hover { color: #409eff; border-color: #c6e2ff; background-color: #ecf5ff }
+.el-button:active { color: #3a8ee6; border-color: #3a8ee6; outline: 0 }
+.el-button::-moz-focus-inner { border: 0 }
+.el-button [class*=el-icon-] + span { margin-left: 5px }
+.el-button.is-plain:focus, .el-button.is-plain:hover { background: #fff; border-color: #409eff; color: #409eff }
+.el-button.is-plain:active { background: #fff; border-color: #3a8ee6; color: #3a8ee6; outline: 0 }
+.el-button.is-active { color: #3a8ee6; border-color: #3a8ee6 }
+.el-button.is-disabled, .el-button.is-disabled:focus, .el-button.is-disabled:hover { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5 }
+.el-button.is-disabled.el-button--text { background-color: transparent }
+.el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:focus, .el-button.is-disabled.is-plain:hover { background-color: #fff; border-color: #ebeef5; color: #c0c4cc }
+.el-button.is-loading { position: relative; pointer-events: none }
+.el-button.is-loading:before { pointer-events: none; content: ''; position: absolute; left: -1px; top: -1px; right: -1px; bottom: -1px; border-radius: inherit; background-color: rgba(255,255,255,.35) }
+.el-button.is-round { border-radius: 20px; padding: 12px 23px }
+.el-button.is-circle { border-radius: 50%; padding: 12px }
+.el-button--primary { color: #fff; background-color: #409eff; border-color: #409eff }
+.el-button--primary:focus, .el-button--primary:hover { background: #66b1ff; border-color: #66b1ff; color: #fff }
+.el-button--primary:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-active { background: #3a8ee6; border-color: #3a8ee6; color: #fff }
+.el-button--primary.is-disabled, .el-button--primary.is-disabled:active, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:hover { color: #fff; background-color: #a0cfff; border-color: #a0cfff }
+.el-button--primary.is-plain { color: #409eff; background: #ecf5ff; border-color: #b3d8ff }
+.el-button--primary.is-plain:focus, .el-button--primary.is-plain:hover { background: #409eff; border-color: #409eff; color: #fff }
+.el-button--primary.is-plain:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:active, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:hover { color: #8cc5ff; background-color: #ecf5ff; border-color: #d9ecff }
+.el-button--success { color: #fff; background-color: #67c23a; border-color: #67c23a }
+.el-button--success:focus, .el-button--success:hover { background: #85ce61; border-color: #85ce61; color: #fff }
+.el-button--success:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-active { background: #5daf34; border-color: #5daf34; color: #fff }
+.el-button--success.is-disabled, .el-button--success.is-disabled:active, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:hover { color: #fff; background-color: #b3e19d; border-color: #b3e19d }
+.el-button--success.is-plain { color: #67c23a; background: #f0f9eb; border-color: #c2e7b0 }
+.el-button--success.is-plain:focus, .el-button--success.is-plain:hover { background: #67c23a; border-color: #67c23a; color: #fff }
+.el-button--success.is-plain:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:active, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:hover { color: #a4da89; background-color: #f0f9eb; border-color: #e1f3d8 }
+.el-button--warning { color: #fff; background-color: #e6a23c; border-color: #e6a23c }
+.el-button--warning:focus, .el-button--warning:hover { background: #ebb563; border-color: #ebb563; color: #fff }
+.el-button--warning:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-active { background: #cf9236; border-color: #cf9236; color: #fff }
+.el-button--warning.is-disabled, .el-button--warning.is-disabled:active, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:hover { color: #fff; background-color: #f3d19e; border-color: #f3d19e }
+.el-button--warning.is-plain { color: #e6a23c; background: #fdf6ec; border-color: #f5dab1 }
+.el-button--warning.is-plain:focus, .el-button--warning.is-plain:hover { background: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-button--warning.is-plain:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:active, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:hover { color: #f0c78a; background-color: #fdf6ec; border-color: #faecd8 }
+.el-button--danger { color: #fff; background-color: #f56c6c; border-color: #f56c6c }
+.el-button--danger:focus, .el-button--danger:hover { background: #f78989; border-color: #f78989; color: #fff }
+.el-button--danger:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-active { background: #dd6161; border-color: #dd6161; color: #fff }
+.el-button--danger.is-disabled, .el-button--danger.is-disabled:active, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:hover { color: #fff; background-color: #fab6b6; border-color: #fab6b6 }
+.el-button--danger.is-plain { color: #f56c6c; background: #fef0f0; border-color: #fbc4c4 }
+.el-button--danger.is-plain:focus, .el-button--danger.is-plain:hover { background: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-button--danger.is-plain:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:active, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:hover { color: #f9a7a7; background-color: #fef0f0; border-color: #fde2e2 }
+.el-button--info { color: #fff; background-color: #909399; border-color: #909399 }
+.el-button--info:focus, .el-button--info:hover { background: #a6a9ad; border-color: #a6a9ad; color: #fff }
+.el-button--info:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-active { background: #82848a; border-color: #82848a; color: #fff }
+.el-button--info.is-disabled, .el-button--info.is-disabled:active, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:hover { color: #fff; background-color: #c8c9cc; border-color: #c8c9cc }
+.el-button--info.is-plain { color: #909399; background: #f4f4f5; border-color: #d3d4d6 }
+.el-button--info.is-plain:focus, .el-button--info.is-plain:hover { background: #909399; border-color: #909399; color: #fff }
+.el-button--info.is-plain:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:active, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:hover { color: #bcbec2; background-color: #f4f4f5; border-color: #e9e9eb }
+.el-button--medium { padding: 10px 20px; font-size: 14px; border-radius: 4px }
+.el-button--medium.is-round { padding: 10px 20px }
+.el-button--medium.is-circle { padding: 10px }
+.el-button--small { padding: 9px 15px; font-size: 12px; border-radius: 3px }
+.el-button--small.is-round { padding: 9px 15px }
+.el-button--small.is-circle { padding: 9px }
+.el-button--mini { padding: 7px 15px; font-size: 12px; border-radius: 3px }
+.el-button--mini.is-round { padding: 7px 15px }
+.el-button--mini.is-circle { padding: 7px }
+.el-button--text { border-color: transparent; color: #409eff; background: 0 0; padding-left: 0; padding-right: 0 }
+.el-button--text:focus, .el-button--text:hover { color: #66b1ff; border-color: transparent; background-color: transparent }
+.el-button--text:active { color: #3a8ee6; border-color: transparent; background-color: transparent }
+.el-button--text.is-disabled, .el-button--text.is-disabled:focus, .el-button--text.is-disabled:hover { border-color: transparent }
+.el-button-group { display: inline-block; vertical-align: middle }
+.el-button-group::after, .el-button-group::before { display: table; content: "" }
+.el-button-group::after { clear: both }
+.el-button-group > .el-button { float: left; position: relative }
+.el-button-group > .el-button + .el-button { margin-left: 0 }
+.el-button-group > .el-button.is-disabled { z-index: 1 }
+.el-button-group > .el-button:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-button-group > .el-button:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-button-group > .el-button:first-child:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-bottom-left-radius: 4px }
+.el-button-group > .el-button:first-child:last-child.is-round { border-radius: 20px }
+.el-button-group > .el-button:first-child:last-child.is-circle { border-radius: 50% }
+.el-button-group > .el-button:not(:first-child):not(:last-child) { border-radius: 0 }
+.el-button-group > .el-button:not(:last-child) { margin-right: -1px }
+.el-button-group > .el-button:not(.is-disabled):active, .el-button-group > .el-button:not(.is-disabled):focus, .el-button-group > .el-button:not(.is-disabled):hover { z-index: 1 }
+.el-button-group > .el-button.is-active { z-index: 1 }
+.el-button-group > .el-dropdown > .el-button { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-checkbox { color: #606266; font-weight: 500; font-size: 14px; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; margin-right: 30px }
+.el-checkbox.is-bordered { padding: 9px 20px 9px 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: normal; height: 40px }
+.el-checkbox.is-bordered.is-checked { border-color: #409eff }
+.el-checkbox.is-bordered.is-disabled { border-color: #ebeef5; cursor: not-allowed }
+.el-checkbox.is-bordered + .el-checkbox.is-bordered { margin-left: 10px }
+.el-checkbox.is-bordered.el-checkbox--medium { padding: 7px 20px 7px 10px; border-radius: 4px; height: 36px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { line-height: 17px; font-size: 14px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { height: 14px; width: 14px }
+.el-checkbox.is-bordered.el-checkbox--small { padding: 5px 15px 5px 10px; border-radius: 3px; height: 32px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { line-height: 15px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox.is-bordered.el-checkbox--mini { padding: 3px 15px 3px 10px; border-radius: 3px; height: 28px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { line-height: 12px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-checkbox__input.is-disabled .el-checkbox__inner { background-color: #edf2fc; border-color: #dcdfe6; cursor: not-allowed }
+.el-checkbox__input.is-disabled .el-checkbox__inner::after { cursor: not-allowed; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { cursor: not-allowed }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { border-color: #c0c4cc }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { background-color: #c0c4cc; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled + span.el-checkbox__label { color: #c0c4cc; cursor: not-allowed }
+.el-checkbox__input.is-checked .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-checked .el-checkbox__inner::after { -webkit-transform: rotate(45deg) scaleY(1); transform: rotate(45deg) scaleY(1) }
+.el-checkbox__input.is-checked + .el-checkbox__label { color: #409eff }
+.el-checkbox__input.is-focus .el-checkbox__inner { border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { content: ''; position: absolute; display: block; background-color: #fff; height: 2px; -webkit-transform: scale(.5); transform: scale(.5); left: 0; right: 0; top: 5px }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { display: none }
+.el-checkbox__inner { display: inline-block; position: relative; border: 1px solid #dcdfe6; border-radius: 2px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; z-index: 1; -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46); transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46) }
+.el-checkbox__inner:hover { border-color: #409eff }
+.el-checkbox__inner::after { -webkit-box-sizing: content-box; box-sizing: content-box; content: ""; border: 1px solid #fff; border-left: 0; border-top: 0; height: 7px; left: 4px; position: absolute; top: 1px; -webkit-transform: rotate(45deg) scaleY(0); transform: rotate(45deg) scaleY(0); width: 3px; -webkit-transition: -webkit-transform .15s ease-in .05s; transition: -webkit-transform .15s ease-in .05s; transition: transform .15s ease-in .05s; transition: transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s; -webkit-transform-origin: center; transform-origin: center }
+.el-checkbox__original { opacity: 0; outline: 0; position: absolute; margin: 0; width: 0; height: 0; z-index: -1 }
+.el-checkbox__label { display: inline-block; padding-left: 10px; line-height: 19px; font-size: 14px }
+.el-checkbox:last-of-type { margin-right: 0 }
+.el-checkbox-button { position: relative; display: inline-block }
+.el-checkbox-button__inner { display: inline-block; line-height: 1; font-weight: 500; white-space: nowrap; vertical-align: middle; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-left: 0; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; position: relative; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button__inner.is-round { padding: 12px 20px }
+.el-checkbox-button__inner:hover { color: #409eff }
+.el-checkbox-button__inner [class*=el-icon-] { line-height: .9 }
+.el-checkbox-button__inner [class*=el-icon-] + span { margin-left: 5px }
+.el-checkbox-button__original { opacity: 0; outline: 0; position: absolute; margin: 0; z-index: -1 }
+.el-checkbox-button.is-checked .el-checkbox-button__inner { color: #fff; background-color: #409eff; border-color: #409eff; -webkit-box-shadow: -1px 0 0 0 #8cc5ff; box-shadow: -1px 0 0 0 #8cc5ff }
+.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { border-left-color: #409eff }
+.el-checkbox-button.is-disabled .el-checkbox-button__inner { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5; -webkit-box-shadow: none; box-shadow: none }
+.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { border-left-color: #ebeef5 }
+.el-checkbox-button:first-child .el-checkbox-button__inner { border-left: 1px solid #dcdfe6; border-radius: 4px 0 0 4px; -webkit-box-shadow: none !important; box-shadow: none !important }
+.el-checkbox-button.is-focus .el-checkbox-button__inner { border-color: #409eff }
+.el-checkbox-button:last-child .el-checkbox-button__inner { border-radius: 0 4px 4px 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner { padding: 10px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner.is-round { padding: 10px 20px }
+.el-checkbox-button--small .el-checkbox-button__inner { padding: 9px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--small .el-checkbox-button__inner.is-round { padding: 9px 15px }
+.el-checkbox-button--mini .el-checkbox-button__inner { padding: 7px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--mini .el-checkbox-button__inner.is-round { padding: 7px 15px }
+.el-checkbox-group { font-size: 0 }
+.el-tag { background-color: #ecf5ff; border-color: #d9ecff; color: #409eff; display: inline-block; height: 32px; padding: 0 10px; line-height: 30px; font-size: 12px; color: #409eff; border-width: 1px; border-style: solid; border-radius: 4px; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap }
+.el-tag.is-hit { border-color: #409eff }
+.el-tag .el-tag__close { color: #409eff }
+.el-tag .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag.el-tag--info { background-color: #f4f4f5; border-color: #e9e9eb; color: #909399 }
+.el-tag.el-tag--info.is-hit { border-color: #909399 }
+.el-tag.el-tag--info .el-tag__close { color: #909399 }
+.el-tag.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag.el-tag--success { background-color: #f0f9eb; border-color: #e1f3d8; color: #67c23a }
+.el-tag.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag.el-tag--warning { background-color: #fdf6ec; border-color: #faecd8; color: #e6a23c }
+.el-tag.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag.el-tag--danger { background-color: #fef0f0; border-color: #fde2e2; color: #f56c6c }
+.el-tag.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag .el-icon-close { border-radius: 50%; text-align: center; position: relative; cursor: pointer; font-size: 12px; height: 16px; width: 16px; line-height: 16px; vertical-align: middle; top: -1px; right: -5px }
+.el-tag .el-icon-close::before { display: block }
+.el-tag--dark { background-color: #409eff; border-color: #409eff; color: #fff }
+.el-tag--dark.is-hit { border-color: #409eff }
+.el-tag--dark .el-tag__close { color: #fff }
+.el-tag--dark .el-tag__close:hover { color: #fff; background-color: #66b1ff }
+.el-tag--dark.el-tag--info { background-color: #909399; border-color: #909399; color: #fff }
+.el-tag--dark.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--dark.el-tag--info .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--info .el-tag__close:hover { color: #fff; background-color: #a6a9ad }
+.el-tag--dark.el-tag--success { background-color: #67c23a; border-color: #67c23a; color: #fff }
+.el-tag--dark.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--dark.el-tag--success .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--success .el-tag__close:hover { color: #fff; background-color: #85ce61 }
+.el-tag--dark.el-tag--warning { background-color: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-tag--dark.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--dark.el-tag--warning .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #ebb563 }
+.el-tag--dark.el-tag--danger { background-color: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-tag--dark.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--dark.el-tag--danger .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f78989 }
+.el-tag--plain { background-color: #fff; border-color: #b3d8ff; color: #409eff }
+.el-tag--plain.is-hit { border-color: #409eff }
+.el-tag--plain .el-tag__close { color: #409eff }
+.el-tag--plain .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag--plain.el-tag--info { background-color: #fff; border-color: #d3d4d6; color: #909399 }
+.el-tag--plain.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close { color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag--plain.el-tag--success { background-color: #fff; border-color: #c2e7b0; color: #67c23a }
+.el-tag--plain.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag--plain.el-tag--warning { background-color: #fff; border-color: #f5dab1; color: #e6a23c }
+.el-tag--plain.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag--plain.el-tag--danger { background-color: #fff; border-color: #fbc4c4; color: #f56c6c }
+.el-tag--plain.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag--medium { height: 28px; line-height: 26px }
+.el-tag--medium .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--small { height: 24px; padding: 0 8px; line-height: 22px }
+.el-tag--small .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--mini { height: 20px; padding: 0 5px; line-height: 19px }
+.el-tag--mini .el-icon-close { margin-left: -3px; -webkit-transform: scale(.7); transform: scale(.7) }
+.el-tooltip:focus:hover, .el-tooltip:focus:not(.focusing) { outline-width: 0 }
+.el-tooltip__popper { position: absolute; border-radius: 4px; padding: 10px; z-index: 2000; font-size: 12px; line-height: 1.2; min-width: 10px; word-wrap: break-word }
+.el-tooltip__popper .popper__arrow, .el-tooltip__popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-tooltip__popper .popper__arrow { border-width: 6px }
+.el-tooltip__popper .popper__arrow::after { content: " "; border-width: 5px }
+.el-tooltip__popper[x-placement^=top] { margin-bottom: 12px }
+.el-tooltip__popper[x-placement^=top] .popper__arrow { bottom: -6px; border-top-color: #303133; border-bottom-width: 0 }
+.el-tooltip__popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -5px; border-top-color: #303133; border-bottom-width: 0 }
+.el-tooltip__popper[x-placement^=bottom] { margin-top: 12px }
+.el-tooltip__popper[x-placement^=bottom] .popper__arrow { top: -6px; border-top-width: 0; border-bottom-color: #303133 }
+.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -5px; border-top-width: 0; border-bottom-color: #303133 }
+.el-tooltip__popper[x-placement^=right] { margin-left: 12px }
+.el-tooltip__popper[x-placement^=right] .popper__arrow { left: -6px; border-right-color: #303133; border-left-width: 0 }
+.el-tooltip__popper[x-placement^=right] .popper__arrow::after { bottom: -5px; left: 1px; border-right-color: #303133; border-left-width: 0 }
+.el-tooltip__popper[x-placement^=left] { margin-right: 12px }
+.el-tooltip__popper[x-placement^=left] .popper__arrow { right: -6px; border-right-width: 0; border-left-color: #303133 }
+.el-tooltip__popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -5px; margin-left: -5px; border-right-width: 0; border-left-color: #303133 }
+.el-tooltip__popper.is-dark { background: #303133; color: #fff }
+.el-tooltip__popper.is-light { background: #fff; border: 1px solid #303133 }
+.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow { border-top-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after { border-top-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow { border-bottom-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after { border-bottom-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow { border-left-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after { border-left-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow { border-right-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after { border-right-color: #fff }
+.el-table { position: relative; overflow: hidden; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; width: 100%; max-width: 100%; background-color: #fff; font-size: 14px; color: #606266 }
+.el-table__empty-block { min-height: 60px; text-align: center; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-table__empty-text { line-height: 60px; width: 50%; color: #909399 }
+.el-table__expand-column .cell { padding: 0; text-align: center }
+.el-table__expand-icon { position: relative; cursor: pointer; color: #666; font-size: 12px; -webkit-transition: -webkit-transform .2s ease-in-out; transition: -webkit-transform .2s ease-in-out; transition: transform .2s ease-in-out; transition: transform .2s ease-in-out,-webkit-transform .2s ease-in-out; height: 20px }
+.el-table__expand-icon--expanded { -webkit-transform: rotate(90deg); transform: rotate(90deg) }
+.el-table__expand-icon > .el-icon { position: absolute; left: 50%; top: 50%; margin-left: -5px; margin-top: -5px }
+.el-table__expanded-cell { background-color: #fff }
+.el-table__expanded-cell[class*=cell] { padding: 20px 50px }
+.el-table__expanded-cell:hover { background-color: transparent !important }
+.el-table__placeholder { display: inline-block; width: 20px }
+.el-table__append-wrapper { overflow: hidden }
+.el-table--fit { border-right: 0; border-bottom: 0 }
+.el-table--fit .el-table__cell.gutter { border-right-width: 1px }
+.el-table--scrollable-x .el-table__body-wrapper { overflow-x: auto }
+.el-table--scrollable-y .el-table__body-wrapper { overflow-y: auto }
+.el-table thead { color: #909399; font-weight: 500 }
+.el-table thead.is-group th.el-table__cell { background: #f5f7fa }
+.el-table .el-table__cell { padding: 12px 0; min-width: 0; -webkit-box-sizing: border-box; box-sizing: border-box; text-overflow: ellipsis; vertical-align: middle; position: relative; text-align: left }
+.el-table .el-table__cell.is-center { text-align: center }
+.el-table .el-table__cell.is-right { text-align: right }
+.el-table .el-table__cell.gutter { width: 15px; border-right-width: 0; border-bottom-width: 0; padding: 0 }
+.el-table .el-table__cell.is-hidden > * { visibility: hidden }
+.el-table--medium .el-table__cell { padding: 10px 0 }
+.el-table--small { font-size: 12px }
+.el-table--small .el-table__cell { padding: 8px 0 }
+.el-table--mini { font-size: 12px }
+.el-table--mini .el-table__cell { padding: 6px 0 }
+.el-table tr { background-color: #fff }
+.el-table tr input[type=checkbox] { margin: 0 }
+.el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf { border-bottom: 1px solid #ebeef5 }
+.el-table th.el-table__cell.is-sortable { cursor: pointer }
+.el-table th.el-table__cell { overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #fff }
+.el-table th.el-table__cell > .cell { display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; vertical-align: middle; padding-left: 10px; padding-right: 10px; width: 100% }
+.el-table th.el-table__cell > .cell.highlight { color: #409eff }
+.el-table th.el-table__cell.required > div::before { display: inline-block; content: ""; width: 8px; height: 8px; border-radius: 50%; background: #ff4d51; margin-right: 5px; vertical-align: middle }
+.el-table td.el-table__cell div { -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-table td.el-table__cell.gutter { width: 0 }
+.el-table .cell { -webkit-box-sizing: border-box; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; white-space: normal; word-break: break-all; line-height: 23px; padding-left: 10px; padding-right: 10px }
+.el-table .cell.el-tooltip { white-space: nowrap; min-width: 50px }
+.el-table--border, .el-table--group { border: 1px solid #ebeef5 }
+.el-table--border::after, .el-table--group::after, .el-table::before { content: ''; position: absolute; background-color: #ebeef5; z-index: 1 }
+.el-table--border::after, .el-table--group::after { top: 0; right: 0; width: 1px; height: 100% }
+.el-table::before { left: 0; bottom: 0; width: 100%; height: 1px }
+.el-table--border { border-right: none; border-bottom: none }
+.el-table--border.el-loading-parent--relative { border-color: transparent }
+.el-table--border .el-table__cell { border-right: 1px solid #ebeef5 }
+.el-table--border .el-table__cell:first-child .cell { padding-left: 10px }
+.el-table--border th.el-table__cell.gutter:last-of-type { border-bottom: 1px solid #ebeef5; border-bottom-width: 1px }
+.el-table--border th.el-table__cell { border-bottom: 1px solid #ebeef5 }
+.el-table--hidden { visibility: hidden }
+.el-table__fixed, .el-table__fixed-right { position: absolute; top: 0; left: 0; overflow-x: hidden; overflow-y: hidden; -webkit-box-shadow: 0 0 10px rgba(0,0,0,.12); box-shadow: 0 0 10px rgba(0,0,0,.12) }
+.el-table__fixed-right::before, .el-table__fixed::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #ebeef5; z-index: 4 }
+.el-table__fixed-right-patch { position: absolute; top: -1px; right: 0; background-color: #fff; border-bottom: 1px solid #ebeef5 }
+.el-table__fixed-right { top: 0; left: auto; right: 0 }
+.el-table__fixed-right .el-table__fixed-body-wrapper, .el-table__fixed-right .el-table__fixed-footer-wrapper, .el-table__fixed-right .el-table__fixed-header-wrapper { left: auto; right: 0 }
+.el-table__fixed-header-wrapper { position: absolute; left: 0; top: 0; z-index: 3 }
+.el-table__fixed-footer-wrapper { position: absolute; left: 0; bottom: 0; z-index: 3 }
+.el-table__fixed-footer-wrapper tbody td.el-table__cell { border-top: 1px solid #ebeef5; background-color: #f5f7fa; color: #606266 }
+.el-table__fixed-body-wrapper { position: absolute; left: 0; top: 37px; overflow: hidden; z-index: 3 }
+.el-table__body-wrapper, .el-table__footer-wrapper, .el-table__header-wrapper { width: 100% }
+.el-table__footer-wrapper { margin-top: -1px }
+.el-table__footer-wrapper td.el-table__cell { border-top: 1px solid #ebeef5 }
+.el-table__body, .el-table__footer, .el-table__header { table-layout: fixed; border-collapse: separate }
+.el-table__footer-wrapper, .el-table__header-wrapper { overflow: hidden }
+.el-table__footer-wrapper tbody td.el-table__cell, .el-table__header-wrapper tbody td.el-table__cell { background-color: #f5f7fa; color: #606266 }
+.el-table__body-wrapper { overflow: hidden; position: relative }
+.el-table__body-wrapper.is-scrolling-none ~ .el-table__fixed, .el-table__body-wrapper.is-scrolling-none ~ .el-table__fixed-right { -webkit-box-shadow: none; box-shadow: none }
+.el-table__body-wrapper.is-scrolling-left ~ .el-table__fixed { -webkit-box-shadow: none; box-shadow: none }
+.el-table__body-wrapper.is-scrolling-right ~ .el-table__fixed-right { -webkit-box-shadow: none; box-shadow: none }
+.el-table__body-wrapper .el-table--border.is-scrolling-right ~ .el-table__fixed-right { border-left: 1px solid #ebeef5 }
+.el-table__body-wrapper .el-table--border.is-scrolling-left ~ .el-table__fixed { border-right: 1px solid #ebeef5 }
+.el-table .caret-wrapper { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 34px; width: 24px; vertical-align: middle; cursor: pointer; overflow: initial; position: relative }
+.el-table .sort-caret { width: 0; height: 0; border: solid 5px transparent; position: absolute; left: 7px }
+.el-table .sort-caret.ascending { border-bottom-color: #c0c4cc; top: 5px }
+.el-table .sort-caret.descending { border-top-color: #c0c4cc; bottom: 7px }
+.el-table .ascending .sort-caret.ascending { border-bottom-color: #409eff }
+.el-table .descending .sort-caret.descending { border-top-color: #409eff }
+.el-table .hidden-columns { visibility: hidden; position: absolute; z-index: -1 }
+.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell { background: #fafafa }
+.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell { background-color: #ecf5ff }
+.el-table__body tr.hover-row.current-row > td.el-table__cell, .el-table__body tr.hover-row.el-table__row--striped.current-row > td.el-table__cell, .el-table__body tr.hover-row.el-table__row--striped > td.el-table__cell, .el-table__body tr.hover-row > td.el-table__cell { background-color: #f5f7fa }
+.el-table__body tr.current-row > td.el-table__cell { background-color: #ecf5ff }
+.el-table__column-resize-proxy { position: absolute; left: 200px; top: 0; bottom: 0; width: 0; border-left: 1px solid #ebeef5; z-index: 10 }
+.el-table__column-filter-trigger { display: inline-block; line-height: 34px; cursor: pointer }
+.el-table__column-filter-trigger i { color: #909399; font-size: 12px; -webkit-transform: scale(.75); transform: scale(.75) }
+.el-table--enable-row-transition .el-table__body td.el-table__cell { -webkit-transition: background-color .25s ease; transition: background-color .25s ease }
+.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell { background-color: #f5f7fa }
+.el-table--fluid-height .el-table__fixed, .el-table--fluid-height .el-table__fixed-right { bottom: 0; overflow: hidden }
+.el-table [class*=el-table__row--level] .el-table__expand-icon { display: inline-block; width: 20px; line-height: 20px; height: 20px; text-align: center; margin-right: 3px }
+.el-checkbox { color: #606266; font-weight: 500; font-size: 14px; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; margin-right: 30px }
+.el-checkbox.is-bordered { padding: 9px 20px 9px 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: normal; height: 40px }
+.el-checkbox.is-bordered.is-checked { border-color: #409eff }
+.el-checkbox.is-bordered.is-disabled { border-color: #ebeef5; cursor: not-allowed }
+.el-checkbox.is-bordered + .el-checkbox.is-bordered { margin-left: 10px }
+.el-checkbox.is-bordered.el-checkbox--medium { padding: 7px 20px 7px 10px; border-radius: 4px; height: 36px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { line-height: 17px; font-size: 14px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { height: 14px; width: 14px }
+.el-checkbox.is-bordered.el-checkbox--small { padding: 5px 15px 5px 10px; border-radius: 3px; height: 32px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { line-height: 15px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox.is-bordered.el-checkbox--mini { padding: 3px 15px 3px 10px; border-radius: 3px; height: 28px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { line-height: 12px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-checkbox__input.is-disabled .el-checkbox__inner { background-color: #edf2fc; border-color: #dcdfe6; cursor: not-allowed }
+.el-checkbox__input.is-disabled .el-checkbox__inner::after { cursor: not-allowed; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { cursor: not-allowed }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { border-color: #c0c4cc }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { background-color: #c0c4cc; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled + span.el-checkbox__label { color: #c0c4cc; cursor: not-allowed }
+.el-checkbox__input.is-checked .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-checked .el-checkbox__inner::after { -webkit-transform: rotate(45deg) scaleY(1); transform: rotate(45deg) scaleY(1) }
+.el-checkbox__input.is-checked + .el-checkbox__label { color: #409eff }
+.el-checkbox__input.is-focus .el-checkbox__inner { border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { content: ''; position: absolute; display: block; background-color: #fff; height: 2px; -webkit-transform: scale(.5); transform: scale(.5); left: 0; right: 0; top: 5px }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { display: none }
+.el-checkbox__inner { display: inline-block; position: relative; border: 1px solid #dcdfe6; border-radius: 2px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; z-index: 1; -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46); transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46) }
+.el-checkbox__inner:hover { border-color: #409eff }
+.el-checkbox__inner::after { -webkit-box-sizing: content-box; box-sizing: content-box; content: ""; border: 1px solid #fff; border-left: 0; border-top: 0; height: 7px; left: 4px; position: absolute; top: 1px; -webkit-transform: rotate(45deg) scaleY(0); transform: rotate(45deg) scaleY(0); width: 3px; -webkit-transition: -webkit-transform .15s ease-in .05s; transition: -webkit-transform .15s ease-in .05s; transition: transform .15s ease-in .05s; transition: transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s; -webkit-transform-origin: center; transform-origin: center }
+.el-checkbox__original { opacity: 0; outline: 0; position: absolute; margin: 0; width: 0; height: 0; z-index: -1 }
+.el-checkbox__label { display: inline-block; padding-left: 10px; line-height: 19px; font-size: 14px }
+.el-checkbox:last-of-type { margin-right: 0 }
+.el-checkbox-button { position: relative; display: inline-block }
+.el-checkbox-button__inner { display: inline-block; line-height: 1; font-weight: 500; white-space: nowrap; vertical-align: middle; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-left: 0; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; position: relative; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button__inner.is-round { padding: 12px 20px }
+.el-checkbox-button__inner:hover { color: #409eff }
+.el-checkbox-button__inner [class*=el-icon-] { line-height: .9 }
+.el-checkbox-button__inner [class*=el-icon-] + span { margin-left: 5px }
+.el-checkbox-button__original { opacity: 0; outline: 0; position: absolute; margin: 0; z-index: -1 }
+.el-checkbox-button.is-checked .el-checkbox-button__inner { color: #fff; background-color: #409eff; border-color: #409eff; -webkit-box-shadow: -1px 0 0 0 #8cc5ff; box-shadow: -1px 0 0 0 #8cc5ff }
+.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { border-left-color: #409eff }
+.el-checkbox-button.is-disabled .el-checkbox-button__inner { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5; -webkit-box-shadow: none; box-shadow: none }
+.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { border-left-color: #ebeef5 }
+.el-checkbox-button:first-child .el-checkbox-button__inner { border-left: 1px solid #dcdfe6; border-radius: 4px 0 0 4px; -webkit-box-shadow: none !important; box-shadow: none !important }
+.el-checkbox-button.is-focus .el-checkbox-button__inner { border-color: #409eff }
+.el-checkbox-button:last-child .el-checkbox-button__inner { border-radius: 0 4px 4px 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner { padding: 10px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner.is-round { padding: 10px 20px }
+.el-checkbox-button--small .el-checkbox-button__inner { padding: 9px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--small .el-checkbox-button__inner.is-round { padding: 9px 15px }
+.el-checkbox-button--mini .el-checkbox-button__inner { padding: 7px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--mini .el-checkbox-button__inner.is-round { padding: 7px 15px }
+.el-checkbox-group { font-size: 0 }
+.el-tag { background-color: #ecf5ff; border-color: #d9ecff; color: #409eff; display: inline-block; height: 32px; padding: 0 10px; line-height: 30px; font-size: 12px; color: #409eff; border-width: 1px; border-style: solid; border-radius: 4px; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap }
+.el-tag.is-hit { border-color: #409eff }
+.el-tag .el-tag__close { color: #409eff }
+.el-tag .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag.el-tag--info { background-color: #f4f4f5; border-color: #e9e9eb; color: #909399 }
+.el-tag.el-tag--info.is-hit { border-color: #909399 }
+.el-tag.el-tag--info .el-tag__close { color: #909399 }
+.el-tag.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag.el-tag--success { background-color: #f0f9eb; border-color: #e1f3d8; color: #67c23a }
+.el-tag.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag.el-tag--warning { background-color: #fdf6ec; border-color: #faecd8; color: #e6a23c }
+.el-tag.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag.el-tag--danger { background-color: #fef0f0; border-color: #fde2e2; color: #f56c6c }
+.el-tag.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag .el-icon-close { border-radius: 50%; text-align: center; position: relative; cursor: pointer; font-size: 12px; height: 16px; width: 16px; line-height: 16px; vertical-align: middle; top: -1px; right: -5px }
+.el-tag .el-icon-close::before { display: block }
+.el-tag--dark { background-color: #409eff; border-color: #409eff; color: #fff }
+.el-tag--dark.is-hit { border-color: #409eff }
+.el-tag--dark .el-tag__close { color: #fff }
+.el-tag--dark .el-tag__close:hover { color: #fff; background-color: #66b1ff }
+.el-tag--dark.el-tag--info { background-color: #909399; border-color: #909399; color: #fff }
+.el-tag--dark.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--dark.el-tag--info .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--info .el-tag__close:hover { color: #fff; background-color: #a6a9ad }
+.el-tag--dark.el-tag--success { background-color: #67c23a; border-color: #67c23a; color: #fff }
+.el-tag--dark.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--dark.el-tag--success .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--success .el-tag__close:hover { color: #fff; background-color: #85ce61 }
+.el-tag--dark.el-tag--warning { background-color: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-tag--dark.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--dark.el-tag--warning .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #ebb563 }
+.el-tag--dark.el-tag--danger { background-color: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-tag--dark.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--dark.el-tag--danger .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f78989 }
+.el-tag--plain { background-color: #fff; border-color: #b3d8ff; color: #409eff }
+.el-tag--plain.is-hit { border-color: #409eff }
+.el-tag--plain .el-tag__close { color: #409eff }
+.el-tag--plain .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag--plain.el-tag--info { background-color: #fff; border-color: #d3d4d6; color: #909399 }
+.el-tag--plain.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close { color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag--plain.el-tag--success { background-color: #fff; border-color: #c2e7b0; color: #67c23a }
+.el-tag--plain.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag--plain.el-tag--warning { background-color: #fff; border-color: #f5dab1; color: #e6a23c }
+.el-tag--plain.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag--plain.el-tag--danger { background-color: #fff; border-color: #fbc4c4; color: #f56c6c }
+.el-tag--plain.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag--medium { height: 28px; line-height: 26px }
+.el-tag--medium .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--small { height: 24px; padding: 0 8px; line-height: 22px }
+.el-tag--small .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--mini { height: 20px; padding: 0 5px; line-height: 19px }
+.el-tag--mini .el-icon-close { margin-left: -3px; -webkit-transform: scale(.7); transform: scale(.7) }
+.el-table-column--selection .cell { padding-left: 14px; padding-right: 14px }
+.el-table-filter { border: solid 1px #ebeef5; border-radius: 2px; background-color: #fff; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); -webkit-box-sizing: border-box; box-sizing: border-box; margin: 2px 0 }
+.el-table-filter__list { padding: 5px 0; margin: 0; list-style: none; min-width: 100px }
+.el-table-filter__list-item { line-height: 36px; padding: 0 10px; cursor: pointer; font-size: 14px }
+.el-table-filter__list-item:hover { background-color: #ecf5ff; color: #66b1ff }
+.el-table-filter__list-item.is-active { background-color: #409eff; color: #fff }
+.el-table-filter__content { min-width: 100px }
+.el-table-filter__bottom { border-top: 1px solid #ebeef5; padding: 8px }
+.el-table-filter__bottom button { background: 0 0; border: none; color: #606266; cursor: pointer; font-size: 13px; padding: 0 3px }
+.el-table-filter__bottom button:hover { color: #409eff }
+.el-table-filter__bottom button:focus { outline: 0 }
+.el-table-filter__bottom button.is-disabled { color: #c0c4cc; cursor: not-allowed }
+.el-table-filter__wrap { max-height: 280px }
+.el-table-filter__checkbox-group { padding: 10px }
+.el-table-filter__checkbox-group label.el-checkbox { display: block; margin-right: 5px; margin-bottom: 8px; margin-left: 5px }
+.el-table-filter__checkbox-group .el-checkbox:last-child { margin-bottom: 0 }
+.el-date-table { font-size: 12px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none }
+.el-date-table.is-week-mode .el-date-table__row:hover div { background-color: #f2f6fc }
+.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover { color: #606266 }
+.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div { margin-left: 5px; border-top-left-radius: 15px; border-bottom-left-radius: 15px }
+.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div { margin-right: 5px; border-top-right-radius: 15px; border-bottom-right-radius: 15px }
+.el-date-table.is-week-mode .el-date-table__row.current div { background-color: #f2f6fc }
+.el-date-table td { width: 32px; height: 30px; padding: 4px 0; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; cursor: pointer; position: relative }
+.el-date-table td div { height: 30px; padding: 3px 0; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-date-table td span { width: 24px; height: 24px; display: block; margin: 0 auto; line-height: 24px; position: absolute; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); border-radius: 50% }
+.el-date-table td.next-month, .el-date-table td.prev-month { color: #c0c4cc }
+.el-date-table td.today { position: relative }
+.el-date-table td.today span { color: #409eff; font-weight: 700 }
+.el-date-table td.today.end-date span, .el-date-table td.today.start-date span { color: #fff }
+.el-date-table td.available:hover { color: #409eff }
+.el-date-table td.in-range div { background-color: #f2f6fc }
+.el-date-table td.in-range div:hover { background-color: #f2f6fc }
+.el-date-table td.current:not(.disabled) span { color: #fff; background-color: #409eff }
+.el-date-table td.end-date div, .el-date-table td.start-date div { color: #fff }
+.el-date-table td.end-date span, .el-date-table td.start-date span { background-color: #409eff }
+.el-date-table td.start-date div { margin-left: 5px; border-top-left-radius: 15px; border-bottom-left-radius: 15px }
+.el-date-table td.end-date div { margin-right: 5px; border-top-right-radius: 15px; border-bottom-right-radius: 15px }
+.el-date-table td.disabled div { background-color: #f5f7fa; opacity: 1; cursor: not-allowed; color: #c0c4cc }
+.el-date-table td.selected div { margin-left: 5px; margin-right: 5px; background-color: #f2f6fc; border-radius: 15px }
+.el-date-table td.selected div:hover { background-color: #f2f6fc }
+.el-date-table td.selected span { background-color: #409eff; color: #fff; border-radius: 15px }
+.el-date-table td.week { font-size: 80%; color: #606266 }
+.el-date-table th { padding: 5px; color: #606266; font-weight: 400; border-bottom: solid 1px #ebeef5 }
+.el-month-table { font-size: 12px; margin: -1px; border-collapse: collapse }
+.el-month-table td { text-align: center; padding: 8px 0; cursor: pointer }
+.el-month-table td div { height: 48px; padding: 6px 0; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-month-table td.today .cell { color: #409eff; font-weight: 700 }
+.el-month-table td.today.end-date .cell, .el-month-table td.today.start-date .cell { color: #fff }
+.el-month-table td.disabled .cell { background-color: #f5f7fa; cursor: not-allowed; color: #c0c4cc }
+.el-month-table td.disabled .cell:hover { color: #c0c4cc }
+.el-month-table td .cell { width: 60px; height: 36px; display: block; line-height: 36px; color: #606266; margin: 0 auto; border-radius: 18px }
+.el-month-table td .cell:hover { color: #409eff }
+.el-month-table td.in-range div { background-color: #f2f6fc }
+.el-month-table td.in-range div:hover { background-color: #f2f6fc }
+.el-month-table td.end-date div, .el-month-table td.start-date div { color: #fff }
+.el-month-table td.end-date .cell, .el-month-table td.start-date .cell { color: #fff; background-color: #409eff }
+.el-month-table td.start-date div { border-top-left-radius: 24px; border-bottom-left-radius: 24px }
+.el-month-table td.end-date div { border-top-right-radius: 24px; border-bottom-right-radius: 24px }
+.el-month-table td.current:not(.disabled) .cell { color: #409eff }
+.el-year-table { font-size: 12px; margin: -1px; border-collapse: collapse }
+.el-year-table .el-icon { color: #303133 }
+.el-year-table td { text-align: center; padding: 20px 3px; cursor: pointer }
+.el-year-table td.today .cell { color: #409eff; font-weight: 700 }
+.el-year-table td.disabled .cell { background-color: #f5f7fa; cursor: not-allowed; color: #c0c4cc }
+.el-year-table td.disabled .cell:hover { color: #c0c4cc }
+.el-year-table td .cell { width: 48px; height: 32px; display: block; line-height: 32px; color: #606266; margin: 0 auto }
+.el-year-table td .cell:hover { color: #409eff }
+.el-year-table td.current:not(.disabled) .cell { color: #409eff }
+.el-time-spinner.has-seconds .el-time-spinner__wrapper { width: 33.3% }
+.el-time-spinner__wrapper { max-height: 190px; overflow: auto; display: inline-block; width: 50%; vertical-align: top; position: relative }
+.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { padding-bottom: 15px }
+.el-time-spinner__wrapper.is-arrow { -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; overflow: hidden }
+.el-time-spinner__wrapper.is-arrow .el-time-spinner__list { -webkit-transform: translateY(-32px); transform: translateY(-32px) }
+.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active) { background: #fff; cursor: default }
+.el-time-spinner__arrow { font-size: 12px; color: #909399; position: absolute; left: 0; width: 100%; z-index: 1; text-align: center; height: 30px; line-height: 30px; cursor: pointer }
+.el-time-spinner__arrow:hover { color: #409eff }
+.el-time-spinner__arrow.el-icon-arrow-up { top: 10px }
+.el-time-spinner__arrow.el-icon-arrow-down { bottom: 10px }
+.el-time-spinner__input.el-input { width: 70% }
+.el-time-spinner__input.el-input .el-input__inner { padding: 0; text-align: center }
+.el-time-spinner__list { padding: 0; margin: 0; list-style: none; text-align: center }
+.el-time-spinner__list::after, .el-time-spinner__list::before { content: ''; display: block; width: 100%; height: 80px }
+.el-time-spinner__item { height: 32px; line-height: 32px; font-size: 12px; color: #606266 }
+.el-time-spinner__item:hover:not(.disabled):not(.active) { background: #f5f7fa; cursor: pointer }
+.el-time-spinner__item.active:not(.disabled) { color: #303133; font-weight: 700 }
+.el-time-spinner__item.disabled { color: #c0c4cc; cursor: not-allowed }
+.fade-in-linear-enter-active, .fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.fade-in-linear-enter, .fade-in-linear-leave, .fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-linear-enter-active, .el-fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.el-fade-in-linear-enter, .el-fade-in-linear-leave, .el-fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-enter-active, .el-fade-in-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-fade-in-enter, .el-fade-in-leave-active { opacity: 0 }
+.el-zoom-in-center-enter-active, .el-zoom-in-center-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-zoom-in-center-enter, .el-zoom-in-center-leave-active { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0) }
+.el-zoom-in-top-enter-active, .el-zoom-in-top-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center top; transform-origin: center top }
+.el-zoom-in-top-enter, .el-zoom-in-top-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-bottom-enter-active, .el-zoom-in-bottom-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center bottom; transform-origin: center bottom }
+.el-zoom-in-bottom-enter, .el-zoom-in-bottom-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-left-enter-active, .el-zoom-in-left-leave-active { opacity: 1; -webkit-transform: scale(1,1); transform: scale(1,1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: top left; transform-origin: top left }
+.el-zoom-in-left-enter, .el-zoom-in-left-leave-active { opacity: 0; -webkit-transform: scale(.45,.45); transform: scale(.45,.45) }
+.collapse-transition { -webkit-transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out; transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out }
+.horizontal-collapse-transition { -webkit-transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out; transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out }
+.el-list-enter-active, .el-list-leave-active { -webkit-transition: all 1s; transition: all 1s }
+.el-list-enter, .el-list-leave-active { opacity: 0; -webkit-transform: translateY(-30px); transform: translateY(-30px) }
+.el-opacity-transition { -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); transition: opacity .3s cubic-bezier(.55, 0, .1, 1) }
+.el-date-editor { position: relative; display: inline-block; text-align: left }
+.el-date-editor.el-input, .el-date-editor.el-input__inner { width: 220px }
+.el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { width: 300px }
+.el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { width: 350px }
+.el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { width: 400px }
+.el-date-editor--dates .el-input__inner { text-overflow: ellipsis; white-space: nowrap }
+.el-date-editor .el-icon-circle-close { cursor: pointer }
+.el-date-editor .el-range__icon { font-size: 14px; margin-left: -5px; color: #c0c4cc; float: left; line-height: 32px }
+.el-date-editor .el-range-input { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: 0; display: inline-block; height: 100%; margin: 0; padding: 0; width: 39%; text-align: center; font-size: 14px; color: #606266 }
+.el-date-editor .el-range-input::-webkit-input-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::-moz-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::-ms-input-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::placeholder { color: #c0c4cc }
+.el-date-editor .el-range-separator { display: inline-block; height: 100%; padding: 0 5px; margin: 0; text-align: center; line-height: 32px; font-size: 14px; width: 5%; color: #303133 }
+.el-date-editor .el-range__close-icon { font-size: 14px; color: #c0c4cc; width: 25px; display: inline-block; float: right; line-height: 32px }
+.el-range-editor.el-input__inner { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 3px 10px }
+.el-range-editor .el-range-input { line-height: 1 }
+.el-range-editor.is-active { border-color: #409eff }
+.el-range-editor.is-active:hover { border-color: #409eff }
+.el-range-editor--medium.el-input__inner { height: 36px }
+.el-range-editor--medium .el-range-separator { line-height: 28px; font-size: 14px }
+.el-range-editor--medium .el-range-input { font-size: 14px }
+.el-range-editor--medium .el-range__close-icon, .el-range-editor--medium .el-range__icon { line-height: 28px }
+.el-range-editor--small.el-input__inner { height: 32px }
+.el-range-editor--small .el-range-separator { line-height: 24px; font-size: 13px }
+.el-range-editor--small .el-range-input { font-size: 13px }
+.el-range-editor--small .el-range__close-icon, .el-range-editor--small .el-range__icon { line-height: 24px }
+.el-range-editor--mini.el-input__inner { height: 28px }
+.el-range-editor--mini .el-range-separator { line-height: 20px; font-size: 12px }
+.el-range-editor--mini .el-range-input { font-size: 12px }
+.el-range-editor--mini .el-range__close-icon, .el-range-editor--mini .el-range__icon { line-height: 20px }
+.el-range-editor.is-disabled { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-range-editor.is-disabled:focus, .el-range-editor.is-disabled:hover { border-color: #e4e7ed }
+.el-range-editor.is-disabled input { background-color: #f5f7fa; color: #c0c4cc; cursor: not-allowed }
+.el-range-editor.is-disabled input::-webkit-input-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::-moz-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::-ms-input-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled .el-range-separator { color: #c0c4cc }
+.el-picker-panel { color: #606266; border: 1px solid #e4e7ed; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); background: #fff; border-radius: 4px; line-height: 30px; margin: 5px 0 }
+.el-picker-panel__body-wrapper::after, .el-picker-panel__body::after { content: ""; display: table; clear: both }
+.el-picker-panel__content { position: relative; margin: 15px }
+.el-picker-panel__footer { border-top: 1px solid #e4e4e4; padding: 4px; text-align: right; background-color: #fff; position: relative; font-size: 0 }
+.el-picker-panel__shortcut { display: block; width: 100%; border: 0; background-color: transparent; line-height: 28px; font-size: 14px; color: #606266; padding-left: 12px; text-align: left; outline: 0; cursor: pointer }
+.el-picker-panel__shortcut:hover { color: #409eff }
+.el-picker-panel__shortcut.active { background-color: #e6f1fe; color: #409eff }
+.el-picker-panel__btn { border: 1px solid #dcdcdc; color: #333; line-height: 24px; border-radius: 2px; padding: 0 20px; cursor: pointer; background-color: transparent; outline: 0; font-size: 12px }
+.el-picker-panel__btn[disabled] { color: #ccc; cursor: not-allowed }
+.el-picker-panel__icon-btn { font-size: 12px; color: #303133; border: 0; background: 0 0; cursor: pointer; outline: 0; margin-top: 8px }
+.el-picker-panel__icon-btn:hover { color: #409eff }
+.el-picker-panel__icon-btn.is-disabled { color: #bbb }
+.el-picker-panel__icon-btn.is-disabled:hover { cursor: not-allowed }
+.el-picker-panel__link-btn { vertical-align: middle }
+.el-picker-panel [slot=sidebar], .el-picker-panel__sidebar { position: absolute; top: 0; bottom: 0; width: 110px; border-right: 1px solid #e4e4e4; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 6px; background-color: #fff; overflow: auto }
+.el-picker-panel [slot=sidebar] + .el-picker-panel__body, .el-picker-panel__sidebar + .el-picker-panel__body { margin-left: 110px }
+.el-date-picker { width: 322px }
+.el-date-picker.has-sidebar.has-time { width: 434px }
+.el-date-picker.has-sidebar { width: 438px }
+.el-date-picker.has-time .el-picker-panel__body-wrapper { position: relative }
+.el-date-picker .el-picker-panel__content { width: 292px }
+.el-date-picker table { table-layout: fixed; width: 100% }
+.el-date-picker__editor-wrap { position: relative; display: table-cell; padding: 0 5px }
+.el-date-picker__time-header { position: relative; border-bottom: 1px solid #e4e4e4; font-size: 12px; padding: 8px 5px 5px 5px; display: table; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-date-picker__header { margin: 12px; text-align: center }
+.el-date-picker__header--bordered { margin-bottom: 0; padding-bottom: 12px; border-bottom: solid 1px #ebeef5 }
+.el-date-picker__header--bordered + .el-picker-panel__content { margin-top: 0 }
+.el-date-picker__header-label { font-size: 16px; font-weight: 500; padding: 0 5px; line-height: 22px; text-align: center; cursor: pointer; color: #606266 }
+.el-date-picker__header-label:hover { color: #409eff }
+.el-date-picker__header-label.active { color: #409eff }
+.el-date-picker__prev-btn { float: left }
+.el-date-picker__next-btn { float: right }
+.el-date-picker__time-wrap { padding: 10px; text-align: center }
+.el-date-picker__time-label { float: left; cursor: pointer; line-height: 30px; margin-left: 10px }
+.el-date-range-picker { width: 646px }
+.el-date-range-picker.has-sidebar { width: 756px }
+.el-date-range-picker table { table-layout: fixed; width: 100% }
+.el-date-range-picker .el-picker-panel__body { min-width: 513px }
+.el-date-range-picker .el-picker-panel__content { margin: 0 }
+.el-date-range-picker__header { position: relative; text-align: center; height: 28px }
+.el-date-range-picker__header [class*=arrow-left] { float: left }
+.el-date-range-picker__header [class*=arrow-right] { float: right }
+.el-date-range-picker__header div { font-size: 16px; font-weight: 500; margin-right: 50px }
+.el-date-range-picker__content { float: left; width: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 16px }
+.el-date-range-picker__content.is-left { border-right: 1px solid #e4e4e4 }
+.el-date-range-picker__content .el-date-range-picker__header div { margin-left: 50px; margin-right: 50px }
+.el-date-range-picker__editors-wrap { -webkit-box-sizing: border-box; box-sizing: border-box; display: table-cell }
+.el-date-range-picker__editors-wrap.is-right { text-align: right }
+.el-date-range-picker__time-header { position: relative; border-bottom: 1px solid #e4e4e4; font-size: 12px; padding: 8px 5px 5px 5px; display: table; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-date-range-picker__time-header > .el-icon-arrow-right { font-size: 20px; vertical-align: middle; display: table-cell; color: #303133 }
+.el-date-range-picker__time-picker-wrap { position: relative; display: table-cell; padding: 0 5px }
+.el-date-range-picker__time-picker-wrap .el-picker-panel { position: absolute; top: 13px; right: 0; z-index: 1; background: #fff }
+.el-time-range-picker { width: 354px; overflow: visible }
+.el-time-range-picker__content { position: relative; text-align: center; padding: 10px }
+.el-time-range-picker__cell { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 4px 7px 7px; width: 50%; display: inline-block }
+.el-time-range-picker__header { margin-bottom: 5px; text-align: center; font-size: 14px }
+.el-time-range-picker__body { border-radius: 2px; border: 1px solid #e4e7ed }
+.el-time-panel { margin: 5px 0; border: solid 1px #e4e7ed; background-color: #fff; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); border-radius: 2px; position: absolute; width: 180px; left: 0; z-index: 1000; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-box-sizing: content-box; box-sizing: content-box }
+.el-time-panel__content { font-size: 0; position: relative; overflow: hidden }
+.el-time-panel__content::after, .el-time-panel__content::before { content: ""; top: 50%; position: absolute; margin-top: -15px; height: 32px; z-index: -1; left: 0; right: 0; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 6px; text-align: left; border-top: 1px solid #e4e7ed; border-bottom: 1px solid #e4e7ed }
+.el-time-panel__content::after { left: 50%; margin-left: 12%; margin-right: 12% }
+.el-time-panel__content::before { padding-left: 50%; margin-right: 12%; margin-left: 12% }
+.el-time-panel__content.has-seconds::after { left: calc(100% / 3 * 2) }
+.el-time-panel__content.has-seconds::before { padding-left: calc(100% / 3) }
+.el-time-panel__footer { border-top: 1px solid #e4e4e4; padding: 4px; height: 36px; line-height: 25px; text-align: right; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-time-panel__btn { border: none; line-height: 28px; padding: 0 5px; margin: 0 5px; cursor: pointer; background-color: transparent; outline: 0; font-size: 12px; color: #303133 }
+.el-time-panel__btn.confirm { font-weight: 800; color: #409eff }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.fade-in-linear-enter-active, .fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.fade-in-linear-enter, .fade-in-linear-leave, .fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-linear-enter-active, .el-fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.el-fade-in-linear-enter, .el-fade-in-linear-leave, .el-fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-enter-active, .el-fade-in-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-fade-in-enter, .el-fade-in-leave-active { opacity: 0 }
+.el-zoom-in-center-enter-active, .el-zoom-in-center-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-zoom-in-center-enter, .el-zoom-in-center-leave-active { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0) }
+.el-zoom-in-top-enter-active, .el-zoom-in-top-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center top; transform-origin: center top }
+.el-zoom-in-top-enter, .el-zoom-in-top-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-bottom-enter-active, .el-zoom-in-bottom-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center bottom; transform-origin: center bottom }
+.el-zoom-in-bottom-enter, .el-zoom-in-bottom-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-left-enter-active, .el-zoom-in-left-leave-active { opacity: 1; -webkit-transform: scale(1,1); transform: scale(1,1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: top left; transform-origin: top left }
+.el-zoom-in-left-enter, .el-zoom-in-left-leave-active { opacity: 0; -webkit-transform: scale(.45,.45); transform: scale(.45,.45) }
+.collapse-transition { -webkit-transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out; transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out }
+.horizontal-collapse-transition { -webkit-transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out; transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out }
+.el-list-enter-active, .el-list-leave-active { -webkit-transition: all 1s; transition: all 1s }
+.el-list-enter, .el-list-leave-active { opacity: 0; -webkit-transform: translateY(-30px); transform: translateY(-30px) }
+.el-opacity-transition { -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); transition: opacity .3s cubic-bezier(.55, 0, .1, 1) }
+.el-date-editor { position: relative; display: inline-block; text-align: left }
+.el-date-editor.el-input, .el-date-editor.el-input__inner { width: 220px }
+.el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { width: 300px }
+.el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { width: 350px }
+.el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { width: 400px }
+.el-date-editor--dates .el-input__inner { text-overflow: ellipsis; white-space: nowrap }
+.el-date-editor .el-icon-circle-close { cursor: pointer }
+.el-date-editor .el-range__icon { font-size: 14px; margin-left: -5px; color: #c0c4cc; float: left; line-height: 32px }
+.el-date-editor .el-range-input { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: 0; display: inline-block; height: 100%; margin: 0; padding: 0; width: 39%; text-align: center; font-size: 14px; color: #606266 }
+.el-date-editor .el-range-input::-webkit-input-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::-moz-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::-ms-input-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::placeholder { color: #c0c4cc }
+.el-date-editor .el-range-separator { display: inline-block; height: 100%; padding: 0 5px; margin: 0; text-align: center; line-height: 32px; font-size: 14px; width: 5%; color: #303133 }
+.el-date-editor .el-range__close-icon { font-size: 14px; color: #c0c4cc; width: 25px; display: inline-block; float: right; line-height: 32px }
+.el-range-editor.el-input__inner { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 3px 10px }
+.el-range-editor .el-range-input { line-height: 1 }
+.el-range-editor.is-active { border-color: #409eff }
+.el-range-editor.is-active:hover { border-color: #409eff }
+.el-range-editor--medium.el-input__inner { height: 36px }
+.el-range-editor--medium .el-range-separator { line-height: 28px; font-size: 14px }
+.el-range-editor--medium .el-range-input { font-size: 14px }
+.el-range-editor--medium .el-range__close-icon, .el-range-editor--medium .el-range__icon { line-height: 28px }
+.el-range-editor--small.el-input__inner { height: 32px }
+.el-range-editor--small .el-range-separator { line-height: 24px; font-size: 13px }
+.el-range-editor--small .el-range-input { font-size: 13px }
+.el-range-editor--small .el-range__close-icon, .el-range-editor--small .el-range__icon { line-height: 24px }
+.el-range-editor--mini.el-input__inner { height: 28px }
+.el-range-editor--mini .el-range-separator { line-height: 20px; font-size: 12px }
+.el-range-editor--mini .el-range-input { font-size: 12px }
+.el-range-editor--mini .el-range__close-icon, .el-range-editor--mini .el-range__icon { line-height: 20px }
+.el-range-editor.is-disabled { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-range-editor.is-disabled:focus, .el-range-editor.is-disabled:hover { border-color: #e4e7ed }
+.el-range-editor.is-disabled input { background-color: #f5f7fa; color: #c0c4cc; cursor: not-allowed }
+.el-range-editor.is-disabled input::-webkit-input-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::-moz-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::-ms-input-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled .el-range-separator { color: #c0c4cc }
+.el-picker-panel { color: #606266; border: 1px solid #e4e7ed; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); background: #fff; border-radius: 4px; line-height: 30px; margin: 5px 0 }
+.el-picker-panel__body-wrapper::after, .el-picker-panel__body::after { content: ""; display: table; clear: both }
+.el-picker-panel__content { position: relative; margin: 15px }
+.el-picker-panel__footer { border-top: 1px solid #e4e4e4; padding: 4px; text-align: right; background-color: #fff; position: relative; font-size: 0 }
+.el-picker-panel__shortcut { display: block; width: 100%; border: 0; background-color: transparent; line-height: 28px; font-size: 14px; color: #606266; padding-left: 12px; text-align: left; outline: 0; cursor: pointer }
+.el-picker-panel__shortcut:hover { color: #409eff }
+.el-picker-panel__shortcut.active { background-color: #e6f1fe; color: #409eff }
+.el-picker-panel__btn { border: 1px solid #dcdcdc; color: #333; line-height: 24px; border-radius: 2px; padding: 0 20px; cursor: pointer; background-color: transparent; outline: 0; font-size: 12px }
+.el-picker-panel__btn[disabled] { color: #ccc; cursor: not-allowed }
+.el-picker-panel__icon-btn { font-size: 12px; color: #303133; border: 0; background: 0 0; cursor: pointer; outline: 0; margin-top: 8px }
+.el-picker-panel__icon-btn:hover { color: #409eff }
+.el-picker-panel__icon-btn.is-disabled { color: #bbb }
+.el-picker-panel__icon-btn.is-disabled:hover { cursor: not-allowed }
+.el-picker-panel__link-btn { vertical-align: middle }
+.el-picker-panel [slot=sidebar], .el-picker-panel__sidebar { position: absolute; top: 0; bottom: 0; width: 110px; border-right: 1px solid #e4e4e4; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 6px; background-color: #fff; overflow: auto }
+.el-picker-panel [slot=sidebar] + .el-picker-panel__body, .el-picker-panel__sidebar + .el-picker-panel__body { margin-left: 110px }
+.el-date-picker { width: 322px }
+.el-date-picker.has-sidebar.has-time { width: 434px }
+.el-date-picker.has-sidebar { width: 438px }
+.el-date-picker.has-time .el-picker-panel__body-wrapper { position: relative }
+.el-date-picker .el-picker-panel__content { width: 292px }
+.el-date-picker table { table-layout: fixed; width: 100% }
+.el-date-picker__editor-wrap { position: relative; display: table-cell; padding: 0 5px }
+.el-date-picker__time-header { position: relative; border-bottom: 1px solid #e4e4e4; font-size: 12px; padding: 8px 5px 5px 5px; display: table; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-date-picker__header { margin: 12px; text-align: center }
+.el-date-picker__header--bordered { margin-bottom: 0; padding-bottom: 12px; border-bottom: solid 1px #ebeef5 }
+.el-date-picker__header--bordered + .el-picker-panel__content { margin-top: 0 }
+.el-date-picker__header-label { font-size: 16px; font-weight: 500; padding: 0 5px; line-height: 22px; text-align: center; cursor: pointer; color: #606266 }
+.el-date-picker__header-label:hover { color: #409eff }
+.el-date-picker__header-label.active { color: #409eff }
+.el-date-picker__prev-btn { float: left }
+.el-date-picker__next-btn { float: right }
+.el-date-picker__time-wrap { padding: 10px; text-align: center }
+.el-date-picker__time-label { float: left; cursor: pointer; line-height: 30px; margin-left: 10px }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.time-select { margin: 5px 0; min-width: 0 }
+.time-select .el-picker-panel__content { max-height: 200px; margin: 0 }
+.time-select-item { padding: 8px 10px; font-size: 14px; line-height: 20px }
+.time-select-item.selected:not(.disabled) { color: #409eff; font-weight: 700 }
+.time-select-item.disabled { color: #e4e7ed; cursor: not-allowed }
+.time-select-item:hover { background-color: #f5f7fa; font-weight: 700; cursor: pointer }
+.fade-in-linear-enter-active, .fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.fade-in-linear-enter, .fade-in-linear-leave, .fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-linear-enter-active, .el-fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.el-fade-in-linear-enter, .el-fade-in-linear-leave, .el-fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-enter-active, .el-fade-in-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-fade-in-enter, .el-fade-in-leave-active { opacity: 0 }
+.el-zoom-in-center-enter-active, .el-zoom-in-center-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-zoom-in-center-enter, .el-zoom-in-center-leave-active { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0) }
+.el-zoom-in-top-enter-active, .el-zoom-in-top-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center top; transform-origin: center top }
+.el-zoom-in-top-enter, .el-zoom-in-top-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-bottom-enter-active, .el-zoom-in-bottom-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center bottom; transform-origin: center bottom }
+.el-zoom-in-bottom-enter, .el-zoom-in-bottom-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-left-enter-active, .el-zoom-in-left-leave-active { opacity: 1; -webkit-transform: scale(1,1); transform: scale(1,1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: top left; transform-origin: top left }
+.el-zoom-in-left-enter, .el-zoom-in-left-leave-active { opacity: 0; -webkit-transform: scale(.45,.45); transform: scale(.45,.45) }
+.collapse-transition { -webkit-transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out; transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out }
+.horizontal-collapse-transition { -webkit-transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out; transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out }
+.el-list-enter-active, .el-list-leave-active { -webkit-transition: all 1s; transition: all 1s }
+.el-list-enter, .el-list-leave-active { opacity: 0; -webkit-transform: translateY(-30px); transform: translateY(-30px) }
+.el-opacity-transition { -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); transition: opacity .3s cubic-bezier(.55, 0, .1, 1) }
+.el-date-editor { position: relative; display: inline-block; text-align: left }
+.el-date-editor.el-input, .el-date-editor.el-input__inner { width: 220px }
+.el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { width: 300px }
+.el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { width: 350px }
+.el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { width: 400px }
+.el-date-editor--dates .el-input__inner { text-overflow: ellipsis; white-space: nowrap }
+.el-date-editor .el-icon-circle-close { cursor: pointer }
+.el-date-editor .el-range__icon { font-size: 14px; margin-left: -5px; color: #c0c4cc; float: left; line-height: 32px }
+.el-date-editor .el-range-input { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: 0; display: inline-block; height: 100%; margin: 0; padding: 0; width: 39%; text-align: center; font-size: 14px; color: #606266 }
+.el-date-editor .el-range-input::-webkit-input-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::-moz-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::-ms-input-placeholder { color: #c0c4cc }
+.el-date-editor .el-range-input::placeholder { color: #c0c4cc }
+.el-date-editor .el-range-separator { display: inline-block; height: 100%; padding: 0 5px; margin: 0; text-align: center; line-height: 32px; font-size: 14px; width: 5%; color: #303133 }
+.el-date-editor .el-range__close-icon { font-size: 14px; color: #c0c4cc; width: 25px; display: inline-block; float: right; line-height: 32px }
+.el-range-editor.el-input__inner { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 3px 10px }
+.el-range-editor .el-range-input { line-height: 1 }
+.el-range-editor.is-active { border-color: #409eff }
+.el-range-editor.is-active:hover { border-color: #409eff }
+.el-range-editor--medium.el-input__inner { height: 36px }
+.el-range-editor--medium .el-range-separator { line-height: 28px; font-size: 14px }
+.el-range-editor--medium .el-range-input { font-size: 14px }
+.el-range-editor--medium .el-range__close-icon, .el-range-editor--medium .el-range__icon { line-height: 28px }
+.el-range-editor--small.el-input__inner { height: 32px }
+.el-range-editor--small .el-range-separator { line-height: 24px; font-size: 13px }
+.el-range-editor--small .el-range-input { font-size: 13px }
+.el-range-editor--small .el-range__close-icon, .el-range-editor--small .el-range__icon { line-height: 24px }
+.el-range-editor--mini.el-input__inner { height: 28px }
+.el-range-editor--mini .el-range-separator { line-height: 20px; font-size: 12px }
+.el-range-editor--mini .el-range-input { font-size: 12px }
+.el-range-editor--mini .el-range__close-icon, .el-range-editor--mini .el-range__icon { line-height: 20px }
+.el-range-editor.is-disabled { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-range-editor.is-disabled:focus, .el-range-editor.is-disabled:hover { border-color: #e4e7ed }
+.el-range-editor.is-disabled input { background-color: #f5f7fa; color: #c0c4cc; cursor: not-allowed }
+.el-range-editor.is-disabled input::-webkit-input-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::-moz-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::-ms-input-placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled input::placeholder { color: #c0c4cc }
+.el-range-editor.is-disabled .el-range-separator { color: #c0c4cc }
+.el-picker-panel { color: #606266; border: 1px solid #e4e7ed; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); background: #fff; border-radius: 4px; line-height: 30px; margin: 5px 0 }
+.el-picker-panel__body-wrapper::after, .el-picker-panel__body::after { content: ""; display: table; clear: both }
+.el-picker-panel__content { position: relative; margin: 15px }
+.el-picker-panel__footer { border-top: 1px solid #e4e4e4; padding: 4px; text-align: right; background-color: #fff; position: relative; font-size: 0 }
+.el-picker-panel__shortcut { display: block; width: 100%; border: 0; background-color: transparent; line-height: 28px; font-size: 14px; color: #606266; padding-left: 12px; text-align: left; outline: 0; cursor: pointer }
+.el-picker-panel__shortcut:hover { color: #409eff }
+.el-picker-panel__shortcut.active { background-color: #e6f1fe; color: #409eff }
+.el-picker-panel__btn { border: 1px solid #dcdcdc; color: #333; line-height: 24px; border-radius: 2px; padding: 0 20px; cursor: pointer; background-color: transparent; outline: 0; font-size: 12px }
+.el-picker-panel__btn[disabled] { color: #ccc; cursor: not-allowed }
+.el-picker-panel__icon-btn { font-size: 12px; color: #303133; border: 0; background: 0 0; cursor: pointer; outline: 0; margin-top: 8px }
+.el-picker-panel__icon-btn:hover { color: #409eff }
+.el-picker-panel__icon-btn.is-disabled { color: #bbb }
+.el-picker-panel__icon-btn.is-disabled:hover { cursor: not-allowed }
+.el-picker-panel__link-btn { vertical-align: middle }
+.el-picker-panel [slot=sidebar], .el-picker-panel__sidebar { position: absolute; top: 0; bottom: 0; width: 110px; border-right: 1px solid #e4e4e4; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 6px; background-color: #fff; overflow: auto }
+.el-picker-panel [slot=sidebar] + .el-picker-panel__body, .el-picker-panel__sidebar + .el-picker-panel__body { margin-left: 110px }
+.el-time-spinner.has-seconds .el-time-spinner__wrapper { width: 33.3% }
+.el-time-spinner__wrapper { max-height: 190px; overflow: auto; display: inline-block; width: 50%; vertical-align: top; position: relative }
+.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { padding-bottom: 15px }
+.el-time-spinner__wrapper.is-arrow { -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; overflow: hidden }
+.el-time-spinner__wrapper.is-arrow .el-time-spinner__list { -webkit-transform: translateY(-32px); transform: translateY(-32px) }
+.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active) { background: #fff; cursor: default }
+.el-time-spinner__arrow { font-size: 12px; color: #909399; position: absolute; left: 0; width: 100%; z-index: 1; text-align: center; height: 30px; line-height: 30px; cursor: pointer }
+.el-time-spinner__arrow:hover { color: #409eff }
+.el-time-spinner__arrow.el-icon-arrow-up { top: 10px }
+.el-time-spinner__arrow.el-icon-arrow-down { bottom: 10px }
+.el-time-spinner__input.el-input { width: 70% }
+.el-time-spinner__input.el-input .el-input__inner { padding: 0; text-align: center }
+.el-time-spinner__list { padding: 0; margin: 0; list-style: none; text-align: center }
+.el-time-spinner__list::after, .el-time-spinner__list::before { content: ''; display: block; width: 100%; height: 80px }
+.el-time-spinner__item { height: 32px; line-height: 32px; font-size: 12px; color: #606266 }
+.el-time-spinner__item:hover:not(.disabled):not(.active) { background: #f5f7fa; cursor: pointer }
+.el-time-spinner__item.active:not(.disabled) { color: #303133; font-weight: 700 }
+.el-time-spinner__item.disabled { color: #c0c4cc; cursor: not-allowed }
+.el-time-panel { margin: 5px 0; border: solid 1px #e4e7ed; background-color: #fff; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); border-radius: 2px; position: absolute; width: 180px; left: 0; z-index: 1000; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-box-sizing: content-box; box-sizing: content-box }
+.el-time-panel__content { font-size: 0; position: relative; overflow: hidden }
+.el-time-panel__content::after, .el-time-panel__content::before { content: ""; top: 50%; position: absolute; margin-top: -15px; height: 32px; z-index: -1; left: 0; right: 0; -webkit-box-sizing: border-box; box-sizing: border-box; padding-top: 6px; text-align: left; border-top: 1px solid #e4e7ed; border-bottom: 1px solid #e4e7ed }
+.el-time-panel__content::after { left: 50%; margin-left: 12%; margin-right: 12% }
+.el-time-panel__content::before { padding-left: 50%; margin-right: 12%; margin-left: 12% }
+.el-time-panel__content.has-seconds::after { left: calc(100% / 3 * 2) }
+.el-time-panel__content.has-seconds::before { padding-left: calc(100% / 3) }
+.el-time-panel__footer { border-top: 1px solid #e4e4e4; padding: 4px; height: 36px; line-height: 25px; text-align: right; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-time-panel__btn { border: none; line-height: 28px; padding: 0 5px; margin: 0 5px; cursor: pointer; background-color: transparent; outline: 0; font-size: 12px; color: #303133 }
+.el-time-panel__btn.confirm { font-weight: 800; color: #409eff }
+.el-time-range-picker { width: 354px; overflow: visible }
+.el-time-range-picker__content { position: relative; text-align: center; padding: 10px }
+.el-time-range-picker__cell { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 4px 7px 7px; width: 50%; display: inline-block }
+.el-time-range-picker__header { margin-bottom: 5px; text-align: center; font-size: 14px }
+.el-time-range-picker__body { border-radius: 2px; border: 1px solid #e4e7ed }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.el-popover { position: absolute; background: #fff; min-width: 150px; border-radius: 4px; border: 1px solid #ebeef5; padding: 12px; z-index: 2000; color: #606266; line-height: 1.4; text-align: justify; font-size: 14px; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); word-break: break-all }
+.el-popover--plain { padding: 18px 20px }
+.el-popover__title { color: #303133; font-size: 16px; line-height: 1; margin-bottom: 12px }
+.el-popover__reference:focus:hover, .el-popover__reference:focus:not(.focusing) { outline-width: 0 }
+.el-popover:focus, .el-popover:focus:active { outline-width: 0 }
+.el-tooltip:focus:hover, .el-tooltip:focus:not(.focusing) { outline-width: 0 }
+.el-tooltip__popper { position: absolute; border-radius: 4px; padding: 10px; z-index: 2000; font-size: 12px; line-height: 1.2; min-width: 10px; word-wrap: break-word }
+.el-tooltip__popper .popper__arrow, .el-tooltip__popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-tooltip__popper .popper__arrow { border-width: 6px }
+.el-tooltip__popper .popper__arrow::after { content: " "; border-width: 5px }
+.el-tooltip__popper[x-placement^=top] { margin-bottom: 12px }
+.el-tooltip__popper[x-placement^=top] .popper__arrow { bottom: -6px; border-top-color: #303133; border-bottom-width: 0 }
+.el-tooltip__popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -5px; border-top-color: #303133; border-bottom-width: 0 }
+.el-tooltip__popper[x-placement^=bottom] { margin-top: 12px }
+.el-tooltip__popper[x-placement^=bottom] .popper__arrow { top: -6px; border-top-width: 0; border-bottom-color: #303133 }
+.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -5px; border-top-width: 0; border-bottom-color: #303133 }
+.el-tooltip__popper[x-placement^=right] { margin-left: 12px }
+.el-tooltip__popper[x-placement^=right] .popper__arrow { left: -6px; border-right-color: #303133; border-left-width: 0 }
+.el-tooltip__popper[x-placement^=right] .popper__arrow::after { bottom: -5px; left: 1px; border-right-color: #303133; border-left-width: 0 }
+.el-tooltip__popper[x-placement^=left] { margin-right: 12px }
+.el-tooltip__popper[x-placement^=left] .popper__arrow { right: -6px; border-right-width: 0; border-left-color: #303133 }
+.el-tooltip__popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -5px; margin-left: -5px; border-right-width: 0; border-left-color: #303133 }
+.el-tooltip__popper.is-dark { background: #303133; color: #fff }
+.el-tooltip__popper.is-light { background: #fff; border: 1px solid #303133 }
+.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow { border-top-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after { border-top-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow { border-bottom-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after { border-bottom-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow { border-left-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after { border-left-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow { border-right-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after { border-right-color: #fff }
+.v-modal-enter { -webkit-animation: v-modal-in .2s ease; animation: v-modal-in .2s ease }
+.v-modal-leave { -webkit-animation: v-modal-out .2s ease forwards; animation: v-modal-out .2s ease forwards }
+
+@keyframes v-modal-in {
+ 0% { opacity: 0 }
+}
+
+@keyframes v-modal-out {
+ 100% { opacity: 0 }
+}
+
+.v-modal { position: fixed; left: 0; top: 0; width: 100%; height: 100%; opacity: .5; background: #000 }
+.el-popup-parent--hidden { overflow: hidden }
+.el-button { display: inline-block; line-height: 1; white-space: nowrap; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-color: #dcdfe6; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; -webkit-transition: .1s; transition: .1s; font-weight: 500; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 4px }
+.el-button + .el-button { margin-left: 10px }
+.el-button.is-round { padding: 12px 20px }
+.el-button:focus, .el-button:hover { color: #409eff; border-color: #c6e2ff; background-color: #ecf5ff }
+.el-button:active { color: #3a8ee6; border-color: #3a8ee6; outline: 0 }
+.el-button::-moz-focus-inner { border: 0 }
+.el-button [class*=el-icon-] + span { margin-left: 5px }
+.el-button.is-plain:focus, .el-button.is-plain:hover { background: #fff; border-color: #409eff; color: #409eff }
+.el-button.is-plain:active { background: #fff; border-color: #3a8ee6; color: #3a8ee6; outline: 0 }
+.el-button.is-active { color: #3a8ee6; border-color: #3a8ee6 }
+.el-button.is-disabled, .el-button.is-disabled:focus, .el-button.is-disabled:hover { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5 }
+.el-button.is-disabled.el-button--text { background-color: transparent }
+.el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:focus, .el-button.is-disabled.is-plain:hover { background-color: #fff; border-color: #ebeef5; color: #c0c4cc }
+.el-button.is-loading { position: relative; pointer-events: none }
+.el-button.is-loading:before { pointer-events: none; content: ''; position: absolute; left: -1px; top: -1px; right: -1px; bottom: -1px; border-radius: inherit; background-color: rgba(255,255,255,.35) }
+.el-button.is-round { border-radius: 20px; padding: 12px 23px }
+.el-button.is-circle { border-radius: 50%; padding: 12px }
+.el-button--primary { color: #fff; background-color: #409eff; border-color: #409eff }
+.el-button--primary:focus, .el-button--primary:hover { background: #66b1ff; border-color: #66b1ff; color: #fff }
+.el-button--primary:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-active { background: #3a8ee6; border-color: #3a8ee6; color: #fff }
+.el-button--primary.is-disabled, .el-button--primary.is-disabled:active, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:hover { color: #fff; background-color: #a0cfff; border-color: #a0cfff }
+.el-button--primary.is-plain { color: #409eff; background: #ecf5ff; border-color: #b3d8ff }
+.el-button--primary.is-plain:focus, .el-button--primary.is-plain:hover { background: #409eff; border-color: #409eff; color: #fff }
+.el-button--primary.is-plain:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:active, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:hover { color: #8cc5ff; background-color: #ecf5ff; border-color: #d9ecff }
+.el-button--success { color: #fff; background-color: #67c23a; border-color: #67c23a }
+.el-button--success:focus, .el-button--success:hover { background: #85ce61; border-color: #85ce61; color: #fff }
+.el-button--success:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-active { background: #5daf34; border-color: #5daf34; color: #fff }
+.el-button--success.is-disabled, .el-button--success.is-disabled:active, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:hover { color: #fff; background-color: #b3e19d; border-color: #b3e19d }
+.el-button--success.is-plain { color: #67c23a; background: #f0f9eb; border-color: #c2e7b0 }
+.el-button--success.is-plain:focus, .el-button--success.is-plain:hover { background: #67c23a; border-color: #67c23a; color: #fff }
+.el-button--success.is-plain:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:active, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:hover { color: #a4da89; background-color: #f0f9eb; border-color: #e1f3d8 }
+.el-button--warning { color: #fff; background-color: #e6a23c; border-color: #e6a23c }
+.el-button--warning:focus, .el-button--warning:hover { background: #ebb563; border-color: #ebb563; color: #fff }
+.el-button--warning:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-active { background: #cf9236; border-color: #cf9236; color: #fff }
+.el-button--warning.is-disabled, .el-button--warning.is-disabled:active, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:hover { color: #fff; background-color: #f3d19e; border-color: #f3d19e }
+.el-button--warning.is-plain { color: #e6a23c; background: #fdf6ec; border-color: #f5dab1 }
+.el-button--warning.is-plain:focus, .el-button--warning.is-plain:hover { background: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-button--warning.is-plain:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:active, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:hover { color: #f0c78a; background-color: #fdf6ec; border-color: #faecd8 }
+.el-button--danger { color: #fff; background-color: #f56c6c; border-color: #f56c6c }
+.el-button--danger:focus, .el-button--danger:hover { background: #f78989; border-color: #f78989; color: #fff }
+.el-button--danger:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-active { background: #dd6161; border-color: #dd6161; color: #fff }
+.el-button--danger.is-disabled, .el-button--danger.is-disabled:active, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:hover { color: #fff; background-color: #fab6b6; border-color: #fab6b6 }
+.el-button--danger.is-plain { color: #f56c6c; background: #fef0f0; border-color: #fbc4c4 }
+.el-button--danger.is-plain:focus, .el-button--danger.is-plain:hover { background: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-button--danger.is-plain:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:active, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:hover { color: #f9a7a7; background-color: #fef0f0; border-color: #fde2e2 }
+.el-button--info { color: #fff; background-color: #909399; border-color: #909399 }
+.el-button--info:focus, .el-button--info:hover { background: #a6a9ad; border-color: #a6a9ad; color: #fff }
+.el-button--info:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-active { background: #82848a; border-color: #82848a; color: #fff }
+.el-button--info.is-disabled, .el-button--info.is-disabled:active, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:hover { color: #fff; background-color: #c8c9cc; border-color: #c8c9cc }
+.el-button--info.is-plain { color: #909399; background: #f4f4f5; border-color: #d3d4d6 }
+.el-button--info.is-plain:focus, .el-button--info.is-plain:hover { background: #909399; border-color: #909399; color: #fff }
+.el-button--info.is-plain:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:active, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:hover { color: #bcbec2; background-color: #f4f4f5; border-color: #e9e9eb }
+.el-button--medium { padding: 10px 20px; font-size: 14px; border-radius: 4px }
+.el-button--medium.is-round { padding: 10px 20px }
+.el-button--medium.is-circle { padding: 10px }
+.el-button--small { padding: 9px 15px; font-size: 12px; border-radius: 3px }
+.el-button--small.is-round { padding: 9px 15px }
+.el-button--small.is-circle { padding: 9px }
+.el-button--mini { padding: 7px 15px; font-size: 12px; border-radius: 3px }
+.el-button--mini.is-round { padding: 7px 15px }
+.el-button--mini.is-circle { padding: 7px }
+.el-button--text { border-color: transparent; color: #409eff; background: 0 0; padding-left: 0; padding-right: 0 }
+.el-button--text:focus, .el-button--text:hover { color: #66b1ff; border-color: transparent; background-color: transparent }
+.el-button--text:active { color: #3a8ee6; border-color: transparent; background-color: transparent }
+.el-button--text.is-disabled, .el-button--text.is-disabled:focus, .el-button--text.is-disabled:hover { border-color: transparent }
+.el-button-group { display: inline-block; vertical-align: middle }
+.el-button-group::after, .el-button-group::before { display: table; content: "" }
+.el-button-group::after { clear: both }
+.el-button-group > .el-button { float: left; position: relative }
+.el-button-group > .el-button + .el-button { margin-left: 0 }
+.el-button-group > .el-button.is-disabled { z-index: 1 }
+.el-button-group > .el-button:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-button-group > .el-button:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-button-group > .el-button:first-child:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-bottom-left-radius: 4px }
+.el-button-group > .el-button:first-child:last-child.is-round { border-radius: 20px }
+.el-button-group > .el-button:first-child:last-child.is-circle { border-radius: 50% }
+.el-button-group > .el-button:not(:first-child):not(:last-child) { border-radius: 0 }
+.el-button-group > .el-button:not(:last-child) { margin-right: -1px }
+.el-button-group > .el-button:not(.is-disabled):active, .el-button-group > .el-button:not(.is-disabled):focus, .el-button-group > .el-button:not(.is-disabled):hover { z-index: 1 }
+.el-button-group > .el-button.is-active { z-index: 1 }
+.el-button-group > .el-dropdown > .el-button { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-message-box { display: inline-block; width: 420px; padding-bottom: 10px; vertical-align: middle; background-color: #fff; border-radius: 4px; border: 1px solid #ebeef5; font-size: 18px; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); text-align: left; overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden }
+.el-message-box__wrapper { position: fixed; top: 0; bottom: 0; left: 0; right: 0; text-align: center }
+.el-message-box__wrapper::after { content: ""; display: inline-block; height: 100%; width: 0; vertical-align: middle }
+.el-message-box__header { position: relative; padding: 15px; padding-bottom: 10px }
+.el-message-box__title { padding-left: 0; margin-bottom: 0; font-size: 18px; line-height: 1; color: #303133 }
+.el-message-box__headerbtn { position: absolute; top: 15px; right: 15px; padding: 0; border: none; outline: 0; background: 0 0; font-size: 16px; cursor: pointer }
+.el-message-box__headerbtn .el-message-box__close { color: #909399 }
+.el-message-box__headerbtn:focus .el-message-box__close, .el-message-box__headerbtn:hover .el-message-box__close { color: #409eff }
+.el-message-box__content { padding: 10px 15px; color: #606266; font-size: 14px }
+.el-message-box__container { position: relative }
+.el-message-box__input { padding-top: 15px }
+.el-message-box__input input.invalid { border-color: #f56c6c }
+.el-message-box__input input.invalid:focus { border-color: #f56c6c }
+.el-message-box__status { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); font-size: 24px !important }
+.el-message-box__status::before { padding-left: 1px }
+.el-message-box__status + .el-message-box__message { padding-left: 36px; padding-right: 12px }
+.el-message-box__status.el-icon-success { color: #67c23a }
+.el-message-box__status.el-icon-info { color: #909399 }
+.el-message-box__status.el-icon-warning { color: #e6a23c }
+.el-message-box__status.el-icon-error { color: #f56c6c }
+.el-message-box__message { margin: 0 }
+.el-message-box__message p { margin: 0; line-height: 24px }
+.el-message-box__errormsg { color: #f56c6c; font-size: 12px; min-height: 18px; margin-top: 2px }
+.el-message-box__btns { padding: 5px 15px 0; text-align: right }
+.el-message-box__btns button:nth-child(2) { margin-left: 10px }
+.el-message-box__btns-reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse }
+.el-message-box--center { padding-bottom: 30px }
+.el-message-box--center .el-message-box__header { padding-top: 30px }
+.el-message-box--center .el-message-box__title { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center }
+.el-message-box--center .el-message-box__status { position: relative; top: auto; padding-right: 5px; text-align: center; -webkit-transform: translateY(-1px); transform: translateY(-1px) }
+.el-message-box--center .el-message-box__message { margin-left: 0 }
+.el-message-box--center .el-message-box__btns, .el-message-box--center .el-message-box__content { text-align: center }
+.el-message-box--center .el-message-box__content { padding-left: 27px; padding-right: 27px }
+.msgbox-fade-enter-active { -webkit-animation: msgbox-fade-in .3s; animation: msgbox-fade-in .3s }
+.msgbox-fade-leave-active { -webkit-animation: msgbox-fade-out .3s; animation: msgbox-fade-out .3s }
+
+@-webkit-keyframes msgbox-fade-in {
+ 0% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+ 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+}
+
+@keyframes msgbox-fade-in {
+ 0% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+ 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+}
+
+@-webkit-keyframes msgbox-fade-out {
+ 0% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+ 100% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+}
+
+@keyframes msgbox-fade-out {
+ 0% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+ 100% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+}
+
+.el-breadcrumb { font-size: 14px; line-height: 1 }
+.el-breadcrumb::after, .el-breadcrumb::before { display: table; content: "" }
+.el-breadcrumb::after { clear: both }
+.el-breadcrumb__separator { margin: 0 9px; font-weight: 700; color: #c0c4cc }
+.el-breadcrumb__separator[class*=icon] { margin: 0 6px; font-weight: 400 }
+.el-breadcrumb__item { float: left }
+.el-breadcrumb__inner { color: #606266 }
+.el-breadcrumb__inner a, .el-breadcrumb__inner.is-link { font-weight: 700; text-decoration: none; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1); color: #303133 }
+.el-breadcrumb__inner a:hover, .el-breadcrumb__inner.is-link:hover { color: #409eff; cursor: pointer }
+.el-breadcrumb__item:last-child .el-breadcrumb__inner, .el-breadcrumb__item:last-child .el-breadcrumb__inner a, .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover, .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover { font-weight: 400; color: #606266; cursor: text }
+.el-breadcrumb__item:last-child .el-breadcrumb__separator { display: none }
+.el-form--label-left .el-form-item__label { text-align: left }
+.el-form--label-top .el-form-item__label { float: none; display: inline-block; text-align: left; padding: 0 0 10px 0 }
+.el-form--inline .el-form-item { display: inline-block; margin-right: 10px; vertical-align: top }
+.el-form--inline .el-form-item__label { float: none; display: inline-block }
+.el-form--inline .el-form-item__content { display: inline-block; vertical-align: top }
+.el-form--inline.el-form--label-top .el-form-item__content { display: block }
+.el-form-item { margin-bottom: 22px }
+.el-form-item::after, .el-form-item::before { display: table; content: "" }
+.el-form-item::after { clear: both }
+.el-form-item .el-form-item { margin-bottom: 0 }
+.el-form-item .el-input__validateIcon { display: none }
+.el-form-item--medium .el-form-item__label { line-height: 36px }
+.el-form-item--medium .el-form-item__content { line-height: 36px }
+.el-form-item--small .el-form-item__label { line-height: 32px }
+.el-form-item--small .el-form-item__content { line-height: 32px }
+.el-form-item--small.el-form-item { margin-bottom: 18px }
+.el-form-item--small .el-form-item__error { padding-top: 2px }
+.el-form-item--mini .el-form-item__label { line-height: 28px }
+.el-form-item--mini .el-form-item__content { line-height: 28px }
+.el-form-item--mini.el-form-item { margin-bottom: 18px }
+.el-form-item--mini .el-form-item__error { padding-top: 1px }
+.el-form-item__label-wrap { float: left }
+.el-form-item__label-wrap .el-form-item__label { display: inline-block; float: none }
+.el-form-item__label { text-align: right; vertical-align: middle; float: left; font-size: 14px; color: #606266; line-height: 40px; padding: 0 12px 0 0; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-form-item__content { line-height: 40px; position: relative; font-size: 14px }
+.el-form-item__content::after, .el-form-item__content::before { display: table; content: "" }
+.el-form-item__content::after { clear: both }
+.el-form-item__content .el-input-group { vertical-align: top }
+.el-form-item__error { color: #f56c6c; font-size: 12px; line-height: 1; padding-top: 4px; position: absolute; top: 100%; left: 0 }
+.el-form-item__error--inline { position: relative; top: auto; left: auto; display: inline-block; margin-left: 10px }
+.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label:before, .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before { content: '*'; color: #f56c6c; margin-right: 4px }
+.el-form-item.is-error .el-input__inner, .el-form-item.is-error .el-input__inner:focus, .el-form-item.is-error .el-textarea__inner, .el-form-item.is-error .el-textarea__inner:focus { border-color: #f56c6c }
+.el-form-item.is-error .el-input-group__append .el-input__inner, .el-form-item.is-error .el-input-group__prepend .el-input__inner { border-color: transparent }
+.el-form-item.is-error .el-input__validateIcon { color: #f56c6c }
+.el-form-item--feedback .el-input__validateIcon { display: inline-block }
+.el-tabs__header { padding: 0; position: relative; margin: 0 0 15px }
+.el-tabs__active-bar { position: absolute; bottom: 0; left: 0; height: 2px; background-color: #409eff; z-index: 1; -webkit-transition: -webkit-transform .3s cubic-bezier(.645, .045, .355, 1); transition: -webkit-transform .3s cubic-bezier(.645, .045, .355, 1); transition: transform .3s cubic-bezier(.645, .045, .355, 1); transition: transform .3s cubic-bezier(.645, .045, .355, 1),-webkit-transform .3s cubic-bezier(.645, .045, .355, 1); list-style: none }
+.el-tabs__new-tab { float: right; border: 1px solid #d3dce6; height: 18px; width: 18px; line-height: 18px; margin: 12px 0 9px 10px; border-radius: 3px; text-align: center; font-size: 12px; color: #d3dce6; cursor: pointer; -webkit-transition: all .15s; transition: all .15s }
+.el-tabs__new-tab .el-icon-plus { -webkit-transform: scale(.8,.8); transform: scale(.8,.8) }
+.el-tabs__new-tab:hover { color: #409eff }
+.el-tabs__nav-wrap { overflow: hidden; margin-bottom: -1px; position: relative }
+.el-tabs__nav-wrap::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background-color: #e4e7ed; z-index: 1 }
+.el-tabs__nav-wrap.is-scrollable { padding: 0 20px; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-tabs__nav-scroll { overflow: hidden }
+.el-tabs__nav-next, .el-tabs__nav-prev { position: absolute; cursor: pointer; line-height: 44px; font-size: 12px; color: #909399 }
+.el-tabs__nav-next { right: 0 }
+.el-tabs__nav-prev { left: 0 }
+.el-tabs__nav { white-space: nowrap; position: relative; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s,-webkit-transform .3s; float: left; z-index: 2 }
+.el-tabs__nav.is-stretch { min-width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex }
+.el-tabs__nav.is-stretch > * { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; text-align: center }
+.el-tabs__item { padding: 0 20px; height: 40px; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: 40px; display: inline-block; list-style: none; font-size: 14px; font-weight: 500; color: #303133; position: relative }
+.el-tabs__item:focus, .el-tabs__item:focus:active { outline: 0 }
+.el-tabs__item:focus.is-active.is-focus:not(:active) { -webkit-box-shadow: 0 0 2px 2px #409eff inset; box-shadow: 0 0 2px 2px #409eff inset; border-radius: 3px }
+.el-tabs__item .el-icon-close { border-radius: 50%; text-align: center; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); margin-left: 5px }
+.el-tabs__item .el-icon-close:before { -webkit-transform: scale(.9); transform: scale(.9); display: inline-block }
+.el-tabs__item .el-icon-close:hover { background-color: #c0c4cc; color: #fff }
+.el-tabs__item.is-active { color: #409eff }
+.el-tabs__item:hover { color: #409eff; cursor: pointer }
+.el-tabs__item.is-disabled { color: #c0c4cc; cursor: default }
+.el-tabs__content { overflow: hidden; position: relative }
+.el-tabs--card > .el-tabs__header { border-bottom: 1px solid #e4e7ed }
+.el-tabs--card > .el-tabs__header .el-tabs__nav-wrap::after { content: none }
+.el-tabs--card > .el-tabs__header .el-tabs__nav { border: 1px solid #e4e7ed; border-bottom: none; border-radius: 4px 4px 0 0; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-tabs--card > .el-tabs__header .el-tabs__active-bar { display: none }
+.el-tabs--card > .el-tabs__header .el-tabs__item .el-icon-close { position: relative; font-size: 12px; width: 0; height: 14px; vertical-align: middle; line-height: 15px; overflow: hidden; top: -1px; right: -2px; -webkit-transform-origin: 100% 50%; transform-origin: 100% 50% }
+.el-tabs--card > .el-tabs__header .el-tabs__item { border-bottom: 1px solid transparent; border-left: 1px solid #e4e7ed; -webkit-transition: color .3s cubic-bezier(.645, .045, .355, 1),padding .3s cubic-bezier(.645, .045, .355, 1); transition: color .3s cubic-bezier(.645, .045, .355, 1),padding .3s cubic-bezier(.645, .045, .355, 1) }
+.el-tabs--card > .el-tabs__header .el-tabs__item:first-child { border-left: none }
+.el-tabs--card > .el-tabs__header .el-tabs__item.is-closable:hover { padding-left: 13px; padding-right: 13px }
+.el-tabs--card > .el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close { width: 14px }
+.el-tabs--card > .el-tabs__header .el-tabs__item.is-active { border-bottom-color: #fff }
+.el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable { padding-left: 20px; padding-right: 20px }
+.el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close { width: 14px }
+.el-tabs--border-card { background: #fff; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04); box-shadow: 0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04) }
+.el-tabs--border-card > .el-tabs__content { padding: 15px }
+.el-tabs--border-card > .el-tabs__header { background-color: #f5f7fa; border-bottom: 1px solid #e4e7ed; margin: 0 }
+.el-tabs--border-card > .el-tabs__header .el-tabs__nav-wrap::after { content: none }
+.el-tabs--border-card > .el-tabs__header .el-tabs__item { -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); border: 1px solid transparent; margin-top: -1px; color: #909399 }
+.el-tabs--border-card > .el-tabs__header .el-tabs__item:first-child { margin-left: -1px }
+.el-tabs--border-card > .el-tabs__header .el-tabs__item + .el-tabs__item { margin-left: -1px }
+.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active { color: #409eff; background-color: #fff; border-right-color: #dcdfe6; border-left-color: #dcdfe6 }
+.el-tabs--border-card > .el-tabs__header .el-tabs__item:not(.is-disabled):hover { color: #409eff }
+.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-disabled { color: #c0c4cc }
+.el-tabs--border-card > .el-tabs__header .is-scrollable .el-tabs__item:first-child { margin-left: 0 }
+.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2), .el-tabs--bottom .el-tabs__item.is-top:nth-child(2), .el-tabs--top .el-tabs__item.is-bottom:nth-child(2), .el-tabs--top .el-tabs__item.is-top:nth-child(2) { padding-left: 0 }
+.el-tabs--bottom .el-tabs__item.is-bottom:last-child, .el-tabs--bottom .el-tabs__item.is-top:last-child, .el-tabs--top .el-tabs__item.is-bottom:last-child, .el-tabs--top .el-tabs__item.is-top:last-child { padding-right: 0 }
+.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2) { padding-left: 20px }
+.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child { padding-right: 20px }
+.el-tabs--bottom .el-tabs__header.is-bottom { margin-bottom: 0; margin-top: 10px }
+.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom { border-bottom: 0; border-top: 1px solid #dcdfe6 }
+.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom { margin-top: -1px; margin-bottom: 0 }
+.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active) { border: 1px solid transparent }
+.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom { margin: 0 -1px -1px -1px }
+.el-tabs--left, .el-tabs--right { overflow: hidden }
+.el-tabs--left .el-tabs__header.is-left, .el-tabs--left .el-tabs__header.is-right, .el-tabs--left .el-tabs__nav-scroll, .el-tabs--left .el-tabs__nav-wrap.is-left, .el-tabs--left .el-tabs__nav-wrap.is-right, .el-tabs--right .el-tabs__header.is-left, .el-tabs--right .el-tabs__header.is-right, .el-tabs--right .el-tabs__nav-scroll, .el-tabs--right .el-tabs__nav-wrap.is-left, .el-tabs--right .el-tabs__nav-wrap.is-right { height: 100% }
+.el-tabs--left .el-tabs__active-bar.is-left, .el-tabs--left .el-tabs__active-bar.is-right, .el-tabs--right .el-tabs__active-bar.is-left, .el-tabs--right .el-tabs__active-bar.is-right { top: 0; bottom: auto; width: 2px; height: auto }
+.el-tabs--left .el-tabs__nav-wrap.is-left, .el-tabs--left .el-tabs__nav-wrap.is-right, .el-tabs--right .el-tabs__nav-wrap.is-left, .el-tabs--right .el-tabs__nav-wrap.is-right { margin-bottom: 0 }
+.el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next, .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next, .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev { height: 30px; line-height: 30px; width: 100%; text-align: center; cursor: pointer }
+.el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next i, .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev i, .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next i, .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev i, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next i, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev i, .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next i, .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev i { -webkit-transform: rotateZ(90deg); transform: rotateZ(90deg) }
+.el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev { left: auto; top: 0 }
+.el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next { right: auto; bottom: 0 }
+.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable, .el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable, .el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable, .el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable { padding: 30px 0 }
+.el-tabs--left .el-tabs__nav-wrap.is-left::after, .el-tabs--left .el-tabs__nav-wrap.is-right::after, .el-tabs--right .el-tabs__nav-wrap.is-left::after, .el-tabs--right .el-tabs__nav-wrap.is-right::after { height: 100%; width: 2px; bottom: auto; top: 0 }
+.el-tabs--left .el-tabs__nav.is-left, .el-tabs--left .el-tabs__nav.is-right, .el-tabs--right .el-tabs__nav.is-left, .el-tabs--right .el-tabs__nav.is-right { float: none }
+.el-tabs--left .el-tabs__item.is-left, .el-tabs--left .el-tabs__item.is-right, .el-tabs--right .el-tabs__item.is-left, .el-tabs--right .el-tabs__item.is-right { display: block }
+.el-tabs--left .el-tabs__header.is-left { float: left; margin-bottom: 0; margin-right: 10px }
+.el-tabs--left .el-tabs__nav-wrap.is-left { margin-right: -1px }
+.el-tabs--left .el-tabs__nav-wrap.is-left::after { left: auto; right: 0 }
+.el-tabs--left .el-tabs__active-bar.is-left { right: 0; left: auto }
+.el-tabs--left .el-tabs__item.is-left { text-align: right }
+.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left { display: none }
+.el-tabs--left.el-tabs--card .el-tabs__item.is-left { border-left: none; border-right: 1px solid #e4e7ed; border-bottom: none; border-top: 1px solid #e4e7ed; text-align: left }
+.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child { border-right: 1px solid #e4e7ed; border-top: none }
+.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active { border: 1px solid #e4e7ed; border-right-color: #fff; border-left: none; border-bottom: none }
+.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child { border-top: none }
+.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child { border-bottom: none }
+.el-tabs--left.el-tabs--card .el-tabs__nav { border-radius: 4px 0 0 4px; border-bottom: 1px solid #e4e7ed; border-right: none }
+.el-tabs--left.el-tabs--card .el-tabs__new-tab { float: none }
+.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left { border-right: 1px solid #dfe4ed }
+.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left { border: 1px solid transparent; margin: -1px 0 -1px -1px }
+.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active { border-color: transparent; border-top-color: #d1dbe5; border-bottom-color: #d1dbe5 }
+.el-tabs--right .el-tabs__header.is-right { float: right; margin-bottom: 0; margin-left: 10px }
+.el-tabs--right .el-tabs__nav-wrap.is-right { margin-left: -1px }
+.el-tabs--right .el-tabs__nav-wrap.is-right::after { left: 0; right: auto }
+.el-tabs--right .el-tabs__active-bar.is-right { left: 0 }
+.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right { display: none }
+.el-tabs--right.el-tabs--card .el-tabs__item.is-right { border-bottom: none; border-top: 1px solid #e4e7ed }
+.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child { border-left: 1px solid #e4e7ed; border-top: none }
+.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active { border: 1px solid #e4e7ed; border-left-color: #fff; border-right: none; border-bottom: none }
+.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child { border-top: none }
+.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child { border-bottom: none }
+.el-tabs--right.el-tabs--card .el-tabs__nav { border-radius: 0 4px 4px 0; border-bottom: 1px solid #e4e7ed; border-left: none }
+.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right { border-left: 1px solid #dfe4ed }
+.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right { border: 1px solid transparent; margin: -1px -1px -1px 0 }
+.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active { border-color: transparent; border-top-color: #d1dbe5; border-bottom-color: #d1dbe5 }
+.slideInLeft-transition, .slideInRight-transition { display: inline-block }
+.slideInRight-enter { -webkit-animation: slideInRight-enter .3s; animation: slideInRight-enter .3s }
+.slideInRight-leave { position: absolute; left: 0; right: 0; -webkit-animation: slideInRight-leave .3s; animation: slideInRight-leave .3s }
+.slideInLeft-enter { -webkit-animation: slideInLeft-enter .3s; animation: slideInLeft-enter .3s }
+.slideInLeft-leave { position: absolute; left: 0; right: 0; -webkit-animation: slideInLeft-leave .3s; animation: slideInLeft-leave .3s }
+
+@-webkit-keyframes slideInRight-enter {
+ 0% { opacity: 0; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(100%); transform: translateX(100%) }
+ to { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0); transform: translateX(0) }
+}
+
+@keyframes slideInRight-enter {
+ 0% { opacity: 0; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(100%); transform: translateX(100%) }
+ to { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0); transform: translateX(0) }
+}
+
+@-webkit-keyframes slideInRight-leave {
+ 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0); transform: translateX(0); opacity: 1 }
+ 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(100%); transform: translateX(100%); opacity: 0 }
+}
+
+@keyframes slideInRight-leave {
+ 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0); transform: translateX(0); opacity: 1 }
+ 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(100%); transform: translateX(100%); opacity: 0 }
+}
+
+@-webkit-keyframes slideInLeft-enter {
+ 0% { opacity: 0; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(-100%); transform: translateX(-100%) }
+ to { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0); transform: translateX(0) }
+}
+
+@keyframes slideInLeft-enter {
+ 0% { opacity: 0; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(-100%); transform: translateX(-100%) }
+ to { opacity: 1; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0); transform: translateX(0) }
+}
+
+@-webkit-keyframes slideInLeft-leave {
+ 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0); transform: translateX(0); opacity: 1 }
+ 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); opacity: 0 }
+}
+
+@keyframes slideInLeft-leave {
+ 0% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(0); transform: translateX(0); opacity: 1 }
+ 100% { -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); opacity: 0 }
+}
+
+.el-tag { background-color: #ecf5ff; border-color: #d9ecff; color: #409eff; display: inline-block; height: 32px; padding: 0 10px; line-height: 30px; font-size: 12px; color: #409eff; border-width: 1px; border-style: solid; border-radius: 4px; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap }
+.el-tag.is-hit { border-color: #409eff }
+.el-tag .el-tag__close { color: #409eff }
+.el-tag .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag.el-tag--info { background-color: #f4f4f5; border-color: #e9e9eb; color: #909399 }
+.el-tag.el-tag--info.is-hit { border-color: #909399 }
+.el-tag.el-tag--info .el-tag__close { color: #909399 }
+.el-tag.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag.el-tag--success { background-color: #f0f9eb; border-color: #e1f3d8; color: #67c23a }
+.el-tag.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag.el-tag--warning { background-color: #fdf6ec; border-color: #faecd8; color: #e6a23c }
+.el-tag.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag.el-tag--danger { background-color: #fef0f0; border-color: #fde2e2; color: #f56c6c }
+.el-tag.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag .el-icon-close { border-radius: 50%; text-align: center; position: relative; cursor: pointer; font-size: 12px; height: 16px; width: 16px; line-height: 16px; vertical-align: middle; top: -1px; right: -5px }
+.el-tag .el-icon-close::before { display: block }
+.el-tag--dark { background-color: #409eff; border-color: #409eff; color: #fff }
+.el-tag--dark.is-hit { border-color: #409eff }
+.el-tag--dark .el-tag__close { color: #fff }
+.el-tag--dark .el-tag__close:hover { color: #fff; background-color: #66b1ff }
+.el-tag--dark.el-tag--info { background-color: #909399; border-color: #909399; color: #fff }
+.el-tag--dark.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--dark.el-tag--info .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--info .el-tag__close:hover { color: #fff; background-color: #a6a9ad }
+.el-tag--dark.el-tag--success { background-color: #67c23a; border-color: #67c23a; color: #fff }
+.el-tag--dark.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--dark.el-tag--success .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--success .el-tag__close:hover { color: #fff; background-color: #85ce61 }
+.el-tag--dark.el-tag--warning { background-color: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-tag--dark.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--dark.el-tag--warning .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #ebb563 }
+.el-tag--dark.el-tag--danger { background-color: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-tag--dark.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--dark.el-tag--danger .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f78989 }
+.el-tag--plain { background-color: #fff; border-color: #b3d8ff; color: #409eff }
+.el-tag--plain.is-hit { border-color: #409eff }
+.el-tag--plain .el-tag__close { color: #409eff }
+.el-tag--plain .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag--plain.el-tag--info { background-color: #fff; border-color: #d3d4d6; color: #909399 }
+.el-tag--plain.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close { color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag--plain.el-tag--success { background-color: #fff; border-color: #c2e7b0; color: #67c23a }
+.el-tag--plain.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag--plain.el-tag--warning { background-color: #fff; border-color: #f5dab1; color: #e6a23c }
+.el-tag--plain.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag--plain.el-tag--danger { background-color: #fff; border-color: #fbc4c4; color: #f56c6c }
+.el-tag--plain.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag--medium { height: 28px; line-height: 26px }
+.el-tag--medium .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--small { height: 24px; padding: 0 8px; line-height: 22px }
+.el-tag--small .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--mini { height: 20px; padding: 0 5px; line-height: 19px }
+.el-tag--mini .el-icon-close { margin-left: -3px; -webkit-transform: scale(.7); transform: scale(.7) }
+.fade-in-linear-enter-active, .fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.fade-in-linear-enter, .fade-in-linear-leave, .fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-linear-enter-active, .el-fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.el-fade-in-linear-enter, .el-fade-in-linear-leave, .el-fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-enter-active, .el-fade-in-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-fade-in-enter, .el-fade-in-leave-active { opacity: 0 }
+.el-zoom-in-center-enter-active, .el-zoom-in-center-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-zoom-in-center-enter, .el-zoom-in-center-leave-active { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0) }
+.el-zoom-in-top-enter-active, .el-zoom-in-top-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center top; transform-origin: center top }
+.el-zoom-in-top-enter, .el-zoom-in-top-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-bottom-enter-active, .el-zoom-in-bottom-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center bottom; transform-origin: center bottom }
+.el-zoom-in-bottom-enter, .el-zoom-in-bottom-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-left-enter-active, .el-zoom-in-left-leave-active { opacity: 1; -webkit-transform: scale(1,1); transform: scale(1,1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: top left; transform-origin: top left }
+.el-zoom-in-left-enter, .el-zoom-in-left-leave-active { opacity: 0; -webkit-transform: scale(.45,.45); transform: scale(.45,.45) }
+.collapse-transition { -webkit-transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out; transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out }
+.horizontal-collapse-transition { -webkit-transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out; transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out }
+.el-list-enter-active, .el-list-leave-active { -webkit-transition: all 1s; transition: all 1s }
+.el-list-enter, .el-list-leave-active { opacity: 0; -webkit-transform: translateY(-30px); transform: translateY(-30px) }
+.el-opacity-transition { -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); transition: opacity .3s cubic-bezier(.55, 0, .1, 1) }
+.el-checkbox { color: #606266; font-weight: 500; font-size: 14px; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; margin-right: 30px }
+.el-checkbox.is-bordered { padding: 9px 20px 9px 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: normal; height: 40px }
+.el-checkbox.is-bordered.is-checked { border-color: #409eff }
+.el-checkbox.is-bordered.is-disabled { border-color: #ebeef5; cursor: not-allowed }
+.el-checkbox.is-bordered + .el-checkbox.is-bordered { margin-left: 10px }
+.el-checkbox.is-bordered.el-checkbox--medium { padding: 7px 20px 7px 10px; border-radius: 4px; height: 36px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { line-height: 17px; font-size: 14px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { height: 14px; width: 14px }
+.el-checkbox.is-bordered.el-checkbox--small { padding: 5px 15px 5px 10px; border-radius: 3px; height: 32px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { line-height: 15px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox.is-bordered.el-checkbox--mini { padding: 3px 15px 3px 10px; border-radius: 3px; height: 28px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { line-height: 12px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-checkbox__input.is-disabled .el-checkbox__inner { background-color: #edf2fc; border-color: #dcdfe6; cursor: not-allowed }
+.el-checkbox__input.is-disabled .el-checkbox__inner::after { cursor: not-allowed; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { cursor: not-allowed }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { border-color: #c0c4cc }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { background-color: #c0c4cc; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled + span.el-checkbox__label { color: #c0c4cc; cursor: not-allowed }
+.el-checkbox__input.is-checked .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-checked .el-checkbox__inner::after { -webkit-transform: rotate(45deg) scaleY(1); transform: rotate(45deg) scaleY(1) }
+.el-checkbox__input.is-checked + .el-checkbox__label { color: #409eff }
+.el-checkbox__input.is-focus .el-checkbox__inner { border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { content: ''; position: absolute; display: block; background-color: #fff; height: 2px; -webkit-transform: scale(.5); transform: scale(.5); left: 0; right: 0; top: 5px }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { display: none }
+.el-checkbox__inner { display: inline-block; position: relative; border: 1px solid #dcdfe6; border-radius: 2px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; z-index: 1; -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46); transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46) }
+.el-checkbox__inner:hover { border-color: #409eff }
+.el-checkbox__inner::after { -webkit-box-sizing: content-box; box-sizing: content-box; content: ""; border: 1px solid #fff; border-left: 0; border-top: 0; height: 7px; left: 4px; position: absolute; top: 1px; -webkit-transform: rotate(45deg) scaleY(0); transform: rotate(45deg) scaleY(0); width: 3px; -webkit-transition: -webkit-transform .15s ease-in .05s; transition: -webkit-transform .15s ease-in .05s; transition: transform .15s ease-in .05s; transition: transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s; -webkit-transform-origin: center; transform-origin: center }
+.el-checkbox__original { opacity: 0; outline: 0; position: absolute; margin: 0; width: 0; height: 0; z-index: -1 }
+.el-checkbox__label { display: inline-block; padding-left: 10px; line-height: 19px; font-size: 14px }
+.el-checkbox:last-of-type { margin-right: 0 }
+.el-checkbox-button { position: relative; display: inline-block }
+.el-checkbox-button__inner { display: inline-block; line-height: 1; font-weight: 500; white-space: nowrap; vertical-align: middle; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-left: 0; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; position: relative; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button__inner.is-round { padding: 12px 20px }
+.el-checkbox-button__inner:hover { color: #409eff }
+.el-checkbox-button__inner [class*=el-icon-] { line-height: .9 }
+.el-checkbox-button__inner [class*=el-icon-] + span { margin-left: 5px }
+.el-checkbox-button__original { opacity: 0; outline: 0; position: absolute; margin: 0; z-index: -1 }
+.el-checkbox-button.is-checked .el-checkbox-button__inner { color: #fff; background-color: #409eff; border-color: #409eff; -webkit-box-shadow: -1px 0 0 0 #8cc5ff; box-shadow: -1px 0 0 0 #8cc5ff }
+.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { border-left-color: #409eff }
+.el-checkbox-button.is-disabled .el-checkbox-button__inner { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5; -webkit-box-shadow: none; box-shadow: none }
+.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { border-left-color: #ebeef5 }
+.el-checkbox-button:first-child .el-checkbox-button__inner { border-left: 1px solid #dcdfe6; border-radius: 4px 0 0 4px; -webkit-box-shadow: none !important; box-shadow: none !important }
+.el-checkbox-button.is-focus .el-checkbox-button__inner { border-color: #409eff }
+.el-checkbox-button:last-child .el-checkbox-button__inner { border-radius: 0 4px 4px 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner { padding: 10px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner.is-round { padding: 10px 20px }
+.el-checkbox-button--small .el-checkbox-button__inner { padding: 9px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--small .el-checkbox-button__inner.is-round { padding: 9px 15px }
+.el-checkbox-button--mini .el-checkbox-button__inner { padding: 7px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--mini .el-checkbox-button__inner.is-round { padding: 7px 15px }
+.el-checkbox-group { font-size: 0 }
+.el-tree { position: relative; cursor: default; background: #fff; color: #606266 }
+.el-tree__empty-block { position: relative; min-height: 60px; text-align: center; width: 100%; height: 100% }
+.el-tree__empty-text { position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); color: #909399; font-size: 14px }
+.el-tree__drop-indicator { position: absolute; left: 0; right: 0; height: 1px; background-color: #409eff }
+.el-tree-node { white-space: nowrap; outline: 0 }
+.el-tree-node:focus > .el-tree-node__content { background-color: #f5f7fa }
+.el-tree-node.is-drop-inner > .el-tree-node__content .el-tree-node__label { background-color: #409eff; color: #fff }
+.el-tree-node__content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 26px; cursor: pointer }
+.el-tree-node__content > .el-tree-node__expand-icon { padding: 6px }
+.el-tree-node__content > label.el-checkbox { margin-right: 8px }
+.el-tree-node__content:hover { background-color: #f5f7fa }
+.el-tree.is-dragging .el-tree-node__content { cursor: move }
+.el-tree.is-dragging .el-tree-node__content * { pointer-events: none }
+.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content { cursor: not-allowed }
+.el-tree-node__expand-icon { cursor: pointer; color: #c0c4cc; font-size: 12px; -webkit-transform: rotate(0); transform: rotate(0); -webkit-transition: -webkit-transform .3s ease-in-out; transition: -webkit-transform .3s ease-in-out; transition: transform .3s ease-in-out; transition: transform .3s ease-in-out,-webkit-transform .3s ease-in-out }
+.el-tree-node__expand-icon.expanded { -webkit-transform: rotate(90deg); transform: rotate(90deg) }
+.el-tree-node__expand-icon.is-leaf { color: transparent; cursor: default }
+.el-tree-node__label { font-size: 14px }
+.el-tree-node__loading-icon { margin-right: 8px; font-size: 14px; color: #c0c4cc }
+.el-tree-node > .el-tree-node__children { overflow: hidden; background-color: transparent }
+.el-tree-node.is-expanded > .el-tree-node__children { display: block }
+.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { background-color: #f0f7ff }
+.el-alert { width: 100%; padding: 8px 16px; margin: 0; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 4px; position: relative; background-color: #fff; overflow: hidden; opacity: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-transition: opacity .2s; transition: opacity .2s }
+.el-alert.is-light .el-alert__closebtn { color: #c0c4cc }
+.el-alert.is-dark .el-alert__closebtn { color: #fff }
+.el-alert.is-dark .el-alert__description { color: #fff }
+.el-alert.is-center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center }
+.el-alert--success.is-light { background-color: #f0f9eb; color: #67c23a }
+.el-alert--success.is-light .el-alert__description { color: #67c23a }
+.el-alert--success.is-dark { background-color: #67c23a; color: #fff }
+.el-alert--info.is-light { background-color: #f4f4f5; color: #909399 }
+.el-alert--info.is-dark { background-color: #909399; color: #fff }
+.el-alert--info .el-alert__description { color: #909399 }
+.el-alert--warning.is-light { background-color: #fdf6ec; color: #e6a23c }
+.el-alert--warning.is-light .el-alert__description { color: #e6a23c }
+.el-alert--warning.is-dark { background-color: #e6a23c; color: #fff }
+.el-alert--error.is-light { background-color: #fef0f0; color: #f56c6c }
+.el-alert--error.is-light .el-alert__description { color: #f56c6c }
+.el-alert--error.is-dark { background-color: #f56c6c; color: #fff }
+.el-alert__content { display: table-cell; padding: 0 8px }
+.el-alert__icon { font-size: 16px; width: 16px }
+.el-alert__icon.is-big { font-size: 28px; width: 28px }
+.el-alert__title { font-size: 13px; line-height: 18px }
+.el-alert__title.is-bold { font-weight: 700 }
+.el-alert .el-alert__description { font-size: 12px; margin: 5px 0 0 0 }
+.el-alert__closebtn { font-size: 12px; opacity: 1; position: absolute; top: 12px; right: 15px; cursor: pointer }
+.el-alert__closebtn.is-customed { font-style: normal; font-size: 13px; top: 9px }
+.el-alert-fade-enter, .el-alert-fade-leave-active { opacity: 0 }
+.el-notification { display: -webkit-box; display: -ms-flexbox; display: flex; width: 330px; padding: 14px 26px 14px 13px; border-radius: 8px; -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #ebeef5; position: fixed; background-color: #fff; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); -webkit-transition: opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s; transition: opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s; transition: opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s; transition: opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s; overflow: hidden }
+.el-notification.right { right: 16px }
+.el-notification.left { left: 16px }
+.el-notification__group { margin-left: 13px; margin-right: 8px }
+.el-notification__title { font-weight: 700; font-size: 16px; color: #303133; margin: 0 }
+.el-notification__content { font-size: 14px; line-height: 21px; margin: 6px 0 0 0; color: #606266; text-align: justify }
+.el-notification__content p { margin: 0 }
+.el-notification__icon { height: 24px; width: 24px; font-size: 24px }
+.el-notification__closeBtn { position: absolute; top: 18px; right: 15px; cursor: pointer; color: #909399; font-size: 16px }
+.el-notification__closeBtn:hover { color: #606266 }
+.el-notification .el-icon-success { color: #67c23a }
+.el-notification .el-icon-error { color: #f56c6c }
+.el-notification .el-icon-info { color: #909399 }
+.el-notification .el-icon-warning { color: #e6a23c }
+.el-notification-fade-enter.right { right: 0; -webkit-transform: translateX(100%); transform: translateX(100%) }
+.el-notification-fade-enter.left { left: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%) }
+.el-notification-fade-leave-active { opacity: 0 }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-input-number { position: relative; display: inline-block; width: 180px; line-height: 38px }
+.el-input-number .el-input { display: block }
+.el-input-number .el-input__inner { -webkit-appearance: none; padding-left: 50px; padding-right: 50px; text-align: center }
+.el-input-number__decrease, .el-input-number__increase { position: absolute; z-index: 1; top: 1px; width: 40px; height: auto; text-align: center; background: #f5f7fa; color: #606266; cursor: pointer; font-size: 13px }
+.el-input-number__decrease:hover, .el-input-number__increase:hover { color: #409eff }
+.el-input-number__decrease:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled), .el-input-number__increase:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { border-color: #409eff }
+.el-input-number__decrease.is-disabled, .el-input-number__increase.is-disabled { color: #c0c4cc; cursor: not-allowed }
+.el-input-number__increase { right: 1px; border-radius: 0 4px 4px 0; border-left: 1px solid #dcdfe6 }
+.el-input-number__decrease { left: 1px; border-radius: 4px 0 0 4px; border-right: 1px solid #dcdfe6 }
+.el-input-number.is-disabled .el-input-number__decrease, .el-input-number.is-disabled .el-input-number__increase { border-color: #e4e7ed; color: #e4e7ed }
+.el-input-number.is-disabled .el-input-number__decrease:hover, .el-input-number.is-disabled .el-input-number__increase:hover { color: #e4e7ed; cursor: not-allowed }
+.el-input-number--medium { width: 200px; line-height: 34px }
+.el-input-number--medium .el-input-number__decrease, .el-input-number--medium .el-input-number__increase { width: 36px; font-size: 14px }
+.el-input-number--medium .el-input__inner { padding-left: 43px; padding-right: 43px }
+.el-input-number--small { width: 130px; line-height: 30px }
+.el-input-number--small .el-input-number__decrease, .el-input-number--small .el-input-number__increase { width: 32px; font-size: 13px }
+.el-input-number--small .el-input-number__decrease [class*=el-icon], .el-input-number--small .el-input-number__increase [class*=el-icon] { -webkit-transform: scale(.9); transform: scale(.9) }
+.el-input-number--small .el-input__inner { padding-left: 39px; padding-right: 39px }
+.el-input-number--mini { width: 130px; line-height: 26px }
+.el-input-number--mini .el-input-number__decrease, .el-input-number--mini .el-input-number__increase { width: 28px; font-size: 12px }
+.el-input-number--mini .el-input-number__decrease [class*=el-icon], .el-input-number--mini .el-input-number__increase [class*=el-icon] { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-input-number--mini .el-input__inner { padding-left: 35px; padding-right: 35px }
+.el-input-number.is-without-controls .el-input__inner { padding-left: 15px; padding-right: 15px }
+.el-input-number.is-controls-right .el-input__inner { padding-left: 15px; padding-right: 50px }
+.el-input-number.is-controls-right .el-input-number__decrease, .el-input-number.is-controls-right .el-input-number__increase { height: auto; line-height: 19px }
+.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon], .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon] { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-input-number.is-controls-right .el-input-number__increase { border-radius: 0 4px 0 0; border-bottom: 1px solid #dcdfe6 }
+.el-input-number.is-controls-right .el-input-number__decrease { right: 1px; bottom: 1px; top: auto; left: auto; border-right: none; border-left: 1px solid #dcdfe6; border-radius: 0 0 4px 0 }
+.el-input-number.is-controls-right[class*=medium] [class*=decrease], .el-input-number.is-controls-right[class*=medium] [class*=increase] { line-height: 17px }
+.el-input-number.is-controls-right[class*=small] [class*=decrease], .el-input-number.is-controls-right[class*=small] [class*=increase] { line-height: 15px }
+.el-input-number.is-controls-right[class*=mini] [class*=decrease], .el-input-number.is-controls-right[class*=mini] [class*=increase] { line-height: 13px }
+.el-tooltip:focus:hover, .el-tooltip:focus:not(.focusing) { outline-width: 0 }
+.el-tooltip__popper { position: absolute; border-radius: 4px; padding: 10px; z-index: 2000; font-size: 12px; line-height: 1.2; min-width: 10px; word-wrap: break-word }
+.el-tooltip__popper .popper__arrow, .el-tooltip__popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-tooltip__popper .popper__arrow { border-width: 6px }
+.el-tooltip__popper .popper__arrow::after { content: " "; border-width: 5px }
+.el-tooltip__popper[x-placement^=top] { margin-bottom: 12px }
+.el-tooltip__popper[x-placement^=top] .popper__arrow { bottom: -6px; border-top-color: #303133; border-bottom-width: 0 }
+.el-tooltip__popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -5px; border-top-color: #303133; border-bottom-width: 0 }
+.el-tooltip__popper[x-placement^=bottom] { margin-top: 12px }
+.el-tooltip__popper[x-placement^=bottom] .popper__arrow { top: -6px; border-top-width: 0; border-bottom-color: #303133 }
+.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -5px; border-top-width: 0; border-bottom-color: #303133 }
+.el-tooltip__popper[x-placement^=right] { margin-left: 12px }
+.el-tooltip__popper[x-placement^=right] .popper__arrow { left: -6px; border-right-color: #303133; border-left-width: 0 }
+.el-tooltip__popper[x-placement^=right] .popper__arrow::after { bottom: -5px; left: 1px; border-right-color: #303133; border-left-width: 0 }
+.el-tooltip__popper[x-placement^=left] { margin-right: 12px }
+.el-tooltip__popper[x-placement^=left] .popper__arrow { right: -6px; border-right-width: 0; border-left-color: #303133 }
+.el-tooltip__popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -5px; margin-left: -5px; border-right-width: 0; border-left-color: #303133 }
+.el-tooltip__popper.is-dark { background: #303133; color: #fff }
+.el-tooltip__popper.is-light { background: #fff; border: 1px solid #303133 }
+.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow { border-top-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after { border-top-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow { border-bottom-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after { border-bottom-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow { border-left-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after { border-left-color: #fff }
+.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow { border-right-color: #303133 }
+.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after { border-right-color: #fff }
+.el-slider::after, .el-slider::before { display: table; content: "" }
+.el-slider::after { clear: both }
+.el-slider__runway { width: 100%; height: 6px; margin: 16px 0; background-color: #e4e7ed; border-radius: 3px; position: relative; cursor: pointer; vertical-align: middle }
+.el-slider__runway.show-input { margin-right: 160px; width: auto }
+.el-slider__runway.disabled { cursor: default }
+.el-slider__runway.disabled .el-slider__bar { background-color: #c0c4cc }
+.el-slider__runway.disabled .el-slider__button { border-color: #c0c4cc }
+.el-slider__runway.disabled .el-slider__button-wrapper.hover, .el-slider__runway.disabled .el-slider__button-wrapper:hover { cursor: not-allowed }
+.el-slider__runway.disabled .el-slider__button-wrapper.dragging { cursor: not-allowed }
+.el-slider__runway.disabled .el-slider__button.dragging, .el-slider__runway.disabled .el-slider__button.hover, .el-slider__runway.disabled .el-slider__button:hover { -webkit-transform: scale(1); transform: scale(1) }
+.el-slider__runway.disabled .el-slider__button.hover, .el-slider__runway.disabled .el-slider__button:hover { cursor: not-allowed }
+.el-slider__runway.disabled .el-slider__button.dragging { cursor: not-allowed }
+.el-slider__input { float: right; margin-top: 3px; width: 130px }
+.el-slider__input.el-input-number--mini { margin-top: 5px }
+.el-slider__input.el-input-number--medium { margin-top: 0 }
+.el-slider__input.el-input-number--large { margin-top: -2px }
+.el-slider__bar { height: 6px; background-color: #409eff; border-top-left-radius: 3px; border-bottom-left-radius: 3px; position: absolute }
+.el-slider__button-wrapper { height: 36px; width: 36px; position: absolute; z-index: 1001; top: -15px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: transparent; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; line-height: normal }
+.el-slider__button-wrapper::after { display: inline-block; content: ""; height: 100%; vertical-align: middle }
+.el-slider__button-wrapper .el-tooltip { vertical-align: middle; display: inline-block }
+.el-slider__button-wrapper.hover, .el-slider__button-wrapper:hover { cursor: -webkit-grab; cursor: grab }
+.el-slider__button-wrapper.dragging { cursor: -webkit-grabbing; cursor: grabbing }
+.el-slider__button { width: 16px; height: 16px; border: solid 2px #409eff; background-color: #fff; border-radius: 50%; -webkit-transition: .2s; transition: .2s; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none }
+.el-slider__button.dragging, .el-slider__button.hover, .el-slider__button:hover { -webkit-transform: scale(1.2); transform: scale(1.2) }
+.el-slider__button.hover, .el-slider__button:hover { cursor: -webkit-grab; cursor: grab }
+.el-slider__button.dragging { cursor: -webkit-grabbing; cursor: grabbing }
+.el-slider__stop { position: absolute; height: 6px; width: 6px; border-radius: 100%; background-color: #fff; -webkit-transform: translateX(-50%); transform: translateX(-50%) }
+.el-slider__marks { top: 0; left: 12px; width: 18px; height: 100% }
+.el-slider__marks-text { position: absolute; -webkit-transform: translateX(-50%); transform: translateX(-50%); font-size: 14px; color: #909399; margin-top: 15px }
+.el-slider.is-vertical { position: relative }
+.el-slider.is-vertical .el-slider__runway { width: 6px; height: 100%; margin: 0 16px }
+.el-slider.is-vertical .el-slider__bar { width: 6px; height: auto; border-radius: 0 0 3px 3px }
+.el-slider.is-vertical .el-slider__button-wrapper { top: auto; left: -15px; -webkit-transform: translateY(50%); transform: translateY(50%) }
+.el-slider.is-vertical .el-slider__stop { -webkit-transform: translateY(50%); transform: translateY(50%) }
+.el-slider.is-vertical.el-slider--with-input { padding-bottom: 58px }
+.el-slider.is-vertical.el-slider--with-input .el-slider__input { overflow: visible; float: none; position: absolute; bottom: 22px; width: 36px; margin-top: 15px }
+.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner { text-align: center; padding-left: 5px; padding-right: 5px }
+.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease, .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase { top: 32px; margin-top: -1px; border: 1px solid #dcdfe6; line-height: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease { width: 18px; right: 18px; border-bottom-left-radius: 4px }
+.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase { width: 19px; border-bottom-right-radius: 4px }
+.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase ~ .el-input .el-input__inner { border-bottom-left-radius: 0; border-bottom-right-radius: 0 }
+.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease, .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase { border-color: #c0c4cc }
+.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease, .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase { border-color: #409eff }
+.el-slider.is-vertical .el-slider__marks-text { margin-top: 0; left: 15px; -webkit-transform: translateY(50%); transform: translateY(50%) }
+.el-loading-parent--relative { position: relative !important }
+.el-loading-parent--hidden { overflow: hidden !important }
+.el-loading-mask { position: absolute; z-index: 2000; background-color: rgba(255,255,255,.9); margin: 0; top: 0; right: 0; bottom: 0; left: 0; -webkit-transition: opacity .3s; transition: opacity .3s }
+.el-loading-mask.is-fullscreen { position: fixed }
+.el-loading-mask.is-fullscreen .el-loading-spinner { margin-top: -25px }
+.el-loading-mask.is-fullscreen .el-loading-spinner .circular { height: 50px; width: 50px }
+.el-loading-spinner { top: 50%; margin-top: -21px; width: 100%; text-align: center; position: absolute }
+.el-loading-spinner .el-loading-text { color: #409eff; margin: 3px 0; font-size: 14px }
+.el-loading-spinner .circular { height: 42px; width: 42px; -webkit-animation: loading-rotate 2s linear infinite; animation: loading-rotate 2s linear infinite }
+.el-loading-spinner .path { -webkit-animation: loading-dash 1.5s ease-in-out infinite; animation: loading-dash 1.5s ease-in-out infinite; stroke-dasharray: 90,150; stroke-dashoffset: 0; stroke-width: 2; stroke: #409EFF; stroke-linecap: round }
+.el-loading-spinner i { color: #409eff }
+.el-loading-fade-enter, .el-loading-fade-leave-active { opacity: 0 }
+
+@-webkit-keyframes loading-rotate {
+ 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg) }
+}
+
+@keyframes loading-rotate {
+ 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg) }
+}
+
+@-webkit-keyframes loading-dash {
+ 0% { stroke-dasharray: 1,200; stroke-dashoffset: 0 }
+ 50% { stroke-dasharray: 90,150; stroke-dashoffset: -40px }
+ 100% { stroke-dasharray: 90,150; stroke-dashoffset: -120px }
+}
+
+@keyframes loading-dash {
+ 0% { stroke-dasharray: 1,200; stroke-dashoffset: 0 }
+ 50% { stroke-dasharray: 90,150; stroke-dashoffset: -40px }
+ 100% { stroke-dasharray: 90,150; stroke-dashoffset: -120px }
+}
+
+.el-row { position: relative; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-row::after, .el-row::before { display: table; content: "" }
+.el-row::after { clear: both }
+.el-row--flex { display: -webkit-box; display: -ms-flexbox; display: flex }
+.el-row--flex:after, .el-row--flex:before { display: none }
+.el-row--flex.is-justify-center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center }
+.el-row--flex.is-justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end }
+.el-row--flex.is-justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between }
+.el-row--flex.is-justify-space-around { -ms-flex-pack: distribute; justify-content: space-around }
+.el-row--flex.is-align-top { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start }
+.el-row--flex.is-align-middle { -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-row--flex.is-align-bottom { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end }
+[class*=el-col-] { float: left; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-col-0 { display: none }
+.el-col-0 { width: 0% }
+.el-col-offset-0 { margin-left: 0 }
+.el-col-pull-0 { position: relative; right: 0 }
+.el-col-push-0 { position: relative; left: 0 }
+.el-col-1 { width: 4.16667% }
+.el-col-offset-1 { margin-left: 4.16667% }
+.el-col-pull-1 { position: relative; right: 4.16667% }
+.el-col-push-1 { position: relative; left: 4.16667% }
+.el-col-2 { width: 8.33333% }
+.el-col-offset-2 { margin-left: 8.33333% }
+.el-col-pull-2 { position: relative; right: 8.33333% }
+.el-col-push-2 { position: relative; left: 8.33333% }
+.el-col-3 { width: 12.5% }
+.el-col-offset-3 { margin-left: 12.5% }
+.el-col-pull-3 { position: relative; right: 12.5% }
+.el-col-push-3 { position: relative; left: 12.5% }
+.el-col-4 { width: 16.66667% }
+.el-col-offset-4 { margin-left: 16.66667% }
+.el-col-pull-4 { position: relative; right: 16.66667% }
+.el-col-push-4 { position: relative; left: 16.66667% }
+.el-col-5 { width: 20.83333% }
+.el-col-offset-5 { margin-left: 20.83333% }
+.el-col-pull-5 { position: relative; right: 20.83333% }
+.el-col-push-5 { position: relative; left: 20.83333% }
+.el-col-6 { width: 25% }
+.el-col-offset-6 { margin-left: 25% }
+.el-col-pull-6 { position: relative; right: 25% }
+.el-col-push-6 { position: relative; left: 25% }
+.el-col-7 { width: 29.16667% }
+.el-col-offset-7 { margin-left: 29.16667% }
+.el-col-pull-7 { position: relative; right: 29.16667% }
+.el-col-push-7 { position: relative; left: 29.16667% }
+.el-col-8 { width: 33.33333% }
+.el-col-offset-8 { margin-left: 33.33333% }
+.el-col-pull-8 { position: relative; right: 33.33333% }
+.el-col-push-8 { position: relative; left: 33.33333% }
+.el-col-9 { width: 37.5% }
+.el-col-offset-9 { margin-left: 37.5% }
+.el-col-pull-9 { position: relative; right: 37.5% }
+.el-col-push-9 { position: relative; left: 37.5% }
+.el-col-10 { width: 41.66667% }
+.el-col-offset-10 { margin-left: 41.66667% }
+.el-col-pull-10 { position: relative; right: 41.66667% }
+.el-col-push-10 { position: relative; left: 41.66667% }
+.el-col-11 { width: 45.83333% }
+.el-col-offset-11 { margin-left: 45.83333% }
+.el-col-pull-11 { position: relative; right: 45.83333% }
+.el-col-push-11 { position: relative; left: 45.83333% }
+.el-col-12 { width: 50% }
+.el-col-offset-12 { margin-left: 50% }
+.el-col-pull-12 { position: relative; right: 50% }
+.el-col-push-12 { position: relative; left: 50% }
+.el-col-13 { width: 54.16667% }
+.el-col-offset-13 { margin-left: 54.16667% }
+.el-col-pull-13 { position: relative; right: 54.16667% }
+.el-col-push-13 { position: relative; left: 54.16667% }
+.el-col-14 { width: 58.33333% }
+.el-col-offset-14 { margin-left: 58.33333% }
+.el-col-pull-14 { position: relative; right: 58.33333% }
+.el-col-push-14 { position: relative; left: 58.33333% }
+.el-col-15 { width: 62.5% }
+.el-col-offset-15 { margin-left: 62.5% }
+.el-col-pull-15 { position: relative; right: 62.5% }
+.el-col-push-15 { position: relative; left: 62.5% }
+.el-col-16 { width: 66.66667% }
+.el-col-offset-16 { margin-left: 66.66667% }
+.el-col-pull-16 { position: relative; right: 66.66667% }
+.el-col-push-16 { position: relative; left: 66.66667% }
+.el-col-17 { width: 70.83333% }
+.el-col-offset-17 { margin-left: 70.83333% }
+.el-col-pull-17 { position: relative; right: 70.83333% }
+.el-col-push-17 { position: relative; left: 70.83333% }
+.el-col-18 { width: 75% }
+.el-col-offset-18 { margin-left: 75% }
+.el-col-pull-18 { position: relative; right: 75% }
+.el-col-push-18 { position: relative; left: 75% }
+.el-col-19 { width: 79.16667% }
+.el-col-offset-19 { margin-left: 79.16667% }
+.el-col-pull-19 { position: relative; right: 79.16667% }
+.el-col-push-19 { position: relative; left: 79.16667% }
+.el-col-20 { width: 83.33333% }
+.el-col-offset-20 { margin-left: 83.33333% }
+.el-col-pull-20 { position: relative; right: 83.33333% }
+.el-col-push-20 { position: relative; left: 83.33333% }
+.el-col-21 { width: 87.5% }
+.el-col-offset-21 { margin-left: 87.5% }
+.el-col-pull-21 { position: relative; right: 87.5% }
+.el-col-push-21 { position: relative; left: 87.5% }
+.el-col-22 { width: 91.66667% }
+.el-col-offset-22 { margin-left: 91.66667% }
+.el-col-pull-22 { position: relative; right: 91.66667% }
+.el-col-push-22 { position: relative; left: 91.66667% }
+.el-col-23 { width: 95.83333% }
+.el-col-offset-23 { margin-left: 95.83333% }
+.el-col-pull-23 { position: relative; right: 95.83333% }
+.el-col-push-23 { position: relative; left: 95.83333% }
+.el-col-24 { width: 100% }
+.el-col-offset-24 { margin-left: 100% }
+.el-col-pull-24 { position: relative; right: 100% }
+.el-col-push-24 { position: relative; left: 100% }
+
+@media only screen and (max-width:767px) {
+ .el-col-xs-0 { display: none }
+ .el-col-xs-0 { width: 0% }
+ .el-col-xs-offset-0 { margin-left: 0 }
+ .el-col-xs-pull-0 { position: relative; right: 0 }
+ .el-col-xs-push-0 { position: relative; left: 0 }
+ .el-col-xs-1 { width: 4.16667% }
+ .el-col-xs-offset-1 { margin-left: 4.16667% }
+ .el-col-xs-pull-1 { position: relative; right: 4.16667% }
+ .el-col-xs-push-1 { position: relative; left: 4.16667% }
+ .el-col-xs-2 { width: 8.33333% }
+ .el-col-xs-offset-2 { margin-left: 8.33333% }
+ .el-col-xs-pull-2 { position: relative; right: 8.33333% }
+ .el-col-xs-push-2 { position: relative; left: 8.33333% }
+ .el-col-xs-3 { width: 12.5% }
+ .el-col-xs-offset-3 { margin-left: 12.5% }
+ .el-col-xs-pull-3 { position: relative; right: 12.5% }
+ .el-col-xs-push-3 { position: relative; left: 12.5% }
+ .el-col-xs-4 { width: 16.66667% }
+ .el-col-xs-offset-4 { margin-left: 16.66667% }
+ .el-col-xs-pull-4 { position: relative; right: 16.66667% }
+ .el-col-xs-push-4 { position: relative; left: 16.66667% }
+ .el-col-xs-5 { width: 20.83333% }
+ .el-col-xs-offset-5 { margin-left: 20.83333% }
+ .el-col-xs-pull-5 { position: relative; right: 20.83333% }
+ .el-col-xs-push-5 { position: relative; left: 20.83333% }
+ .el-col-xs-6 { width: 25% }
+ .el-col-xs-offset-6 { margin-left: 25% }
+ .el-col-xs-pull-6 { position: relative; right: 25% }
+ .el-col-xs-push-6 { position: relative; left: 25% }
+ .el-col-xs-7 { width: 29.16667% }
+ .el-col-xs-offset-7 { margin-left: 29.16667% }
+ .el-col-xs-pull-7 { position: relative; right: 29.16667% }
+ .el-col-xs-push-7 { position: relative; left: 29.16667% }
+ .el-col-xs-8 { width: 33.33333% }
+ .el-col-xs-offset-8 { margin-left: 33.33333% }
+ .el-col-xs-pull-8 { position: relative; right: 33.33333% }
+ .el-col-xs-push-8 { position: relative; left: 33.33333% }
+ .el-col-xs-9 { width: 37.5% }
+ .el-col-xs-offset-9 { margin-left: 37.5% }
+ .el-col-xs-pull-9 { position: relative; right: 37.5% }
+ .el-col-xs-push-9 { position: relative; left: 37.5% }
+ .el-col-xs-10 { width: 41.66667% }
+ .el-col-xs-offset-10 { margin-left: 41.66667% }
+ .el-col-xs-pull-10 { position: relative; right: 41.66667% }
+ .el-col-xs-push-10 { position: relative; left: 41.66667% }
+ .el-col-xs-11 { width: 45.83333% }
+ .el-col-xs-offset-11 { margin-left: 45.83333% }
+ .el-col-xs-pull-11 { position: relative; right: 45.83333% }
+ .el-col-xs-push-11 { position: relative; left: 45.83333% }
+ .el-col-xs-12 { width: 50% }
+ .el-col-xs-offset-12 { margin-left: 50% }
+ .el-col-xs-pull-12 { position: relative; right: 50% }
+ .el-col-xs-push-12 { position: relative; left: 50% }
+ .el-col-xs-13 { width: 54.16667% }
+ .el-col-xs-offset-13 { margin-left: 54.16667% }
+ .el-col-xs-pull-13 { position: relative; right: 54.16667% }
+ .el-col-xs-push-13 { position: relative; left: 54.16667% }
+ .el-col-xs-14 { width: 58.33333% }
+ .el-col-xs-offset-14 { margin-left: 58.33333% }
+ .el-col-xs-pull-14 { position: relative; right: 58.33333% }
+ .el-col-xs-push-14 { position: relative; left: 58.33333% }
+ .el-col-xs-15 { width: 62.5% }
+ .el-col-xs-offset-15 { margin-left: 62.5% }
+ .el-col-xs-pull-15 { position: relative; right: 62.5% }
+ .el-col-xs-push-15 { position: relative; left: 62.5% }
+ .el-col-xs-16 { width: 66.66667% }
+ .el-col-xs-offset-16 { margin-left: 66.66667% }
+ .el-col-xs-pull-16 { position: relative; right: 66.66667% }
+ .el-col-xs-push-16 { position: relative; left: 66.66667% }
+ .el-col-xs-17 { width: 70.83333% }
+ .el-col-xs-offset-17 { margin-left: 70.83333% }
+ .el-col-xs-pull-17 { position: relative; right: 70.83333% }
+ .el-col-xs-push-17 { position: relative; left: 70.83333% }
+ .el-col-xs-18 { width: 75% }
+ .el-col-xs-offset-18 { margin-left: 75% }
+ .el-col-xs-pull-18 { position: relative; right: 75% }
+ .el-col-xs-push-18 { position: relative; left: 75% }
+ .el-col-xs-19 { width: 79.16667% }
+ .el-col-xs-offset-19 { margin-left: 79.16667% }
+ .el-col-xs-pull-19 { position: relative; right: 79.16667% }
+ .el-col-xs-push-19 { position: relative; left: 79.16667% }
+ .el-col-xs-20 { width: 83.33333% }
+ .el-col-xs-offset-20 { margin-left: 83.33333% }
+ .el-col-xs-pull-20 { position: relative; right: 83.33333% }
+ .el-col-xs-push-20 { position: relative; left: 83.33333% }
+ .el-col-xs-21 { width: 87.5% }
+ .el-col-xs-offset-21 { margin-left: 87.5% }
+ .el-col-xs-pull-21 { position: relative; right: 87.5% }
+ .el-col-xs-push-21 { position: relative; left: 87.5% }
+ .el-col-xs-22 { width: 91.66667% }
+ .el-col-xs-offset-22 { margin-left: 91.66667% }
+ .el-col-xs-pull-22 { position: relative; right: 91.66667% }
+ .el-col-xs-push-22 { position: relative; left: 91.66667% }
+ .el-col-xs-23 { width: 95.83333% }
+ .el-col-xs-offset-23 { margin-left: 95.83333% }
+ .el-col-xs-pull-23 { position: relative; right: 95.83333% }
+ .el-col-xs-push-23 { position: relative; left: 95.83333% }
+ .el-col-xs-24 { width: 100% }
+ .el-col-xs-offset-24 { margin-left: 100% }
+ .el-col-xs-pull-24 { position: relative; right: 100% }
+ .el-col-xs-push-24 { position: relative; left: 100% }
+}
+
+@media only screen and (min-width:768px) {
+ .el-col-sm-0 { display: none }
+ .el-col-sm-0 { width: 0% }
+ .el-col-sm-offset-0 { margin-left: 0 }
+ .el-col-sm-pull-0 { position: relative; right: 0 }
+ .el-col-sm-push-0 { position: relative; left: 0 }
+ .el-col-sm-1 { width: 4.16667% }
+ .el-col-sm-offset-1 { margin-left: 4.16667% }
+ .el-col-sm-pull-1 { position: relative; right: 4.16667% }
+ .el-col-sm-push-1 { position: relative; left: 4.16667% }
+ .el-col-sm-2 { width: 8.33333% }
+ .el-col-sm-offset-2 { margin-left: 8.33333% }
+ .el-col-sm-pull-2 { position: relative; right: 8.33333% }
+ .el-col-sm-push-2 { position: relative; left: 8.33333% }
+ .el-col-sm-3 { width: 12.5% }
+ .el-col-sm-offset-3 { margin-left: 12.5% }
+ .el-col-sm-pull-3 { position: relative; right: 12.5% }
+ .el-col-sm-push-3 { position: relative; left: 12.5% }
+ .el-col-sm-4 { width: 16.66667% }
+ .el-col-sm-offset-4 { margin-left: 16.66667% }
+ .el-col-sm-pull-4 { position: relative; right: 16.66667% }
+ .el-col-sm-push-4 { position: relative; left: 16.66667% }
+ .el-col-sm-5 { width: 20.83333% }
+ .el-col-sm-offset-5 { margin-left: 20.83333% }
+ .el-col-sm-pull-5 { position: relative; right: 20.83333% }
+ .el-col-sm-push-5 { position: relative; left: 20.83333% }
+ .el-col-sm-6 { width: 25% }
+ .el-col-sm-offset-6 { margin-left: 25% }
+ .el-col-sm-pull-6 { position: relative; right: 25% }
+ .el-col-sm-push-6 { position: relative; left: 25% }
+ .el-col-sm-7 { width: 29.16667% }
+ .el-col-sm-offset-7 { margin-left: 29.16667% }
+ .el-col-sm-pull-7 { position: relative; right: 29.16667% }
+ .el-col-sm-push-7 { position: relative; left: 29.16667% }
+ .el-col-sm-8 { width: 33.33333% }
+ .el-col-sm-offset-8 { margin-left: 33.33333% }
+ .el-col-sm-pull-8 { position: relative; right: 33.33333% }
+ .el-col-sm-push-8 { position: relative; left: 33.33333% }
+ .el-col-sm-9 { width: 37.5% }
+ .el-col-sm-offset-9 { margin-left: 37.5% }
+ .el-col-sm-pull-9 { position: relative; right: 37.5% }
+ .el-col-sm-push-9 { position: relative; left: 37.5% }
+ .el-col-sm-10 { width: 41.66667% }
+ .el-col-sm-offset-10 { margin-left: 41.66667% }
+ .el-col-sm-pull-10 { position: relative; right: 41.66667% }
+ .el-col-sm-push-10 { position: relative; left: 41.66667% }
+ .el-col-sm-11 { width: 45.83333% }
+ .el-col-sm-offset-11 { margin-left: 45.83333% }
+ .el-col-sm-pull-11 { position: relative; right: 45.83333% }
+ .el-col-sm-push-11 { position: relative; left: 45.83333% }
+ .el-col-sm-12 { width: 50% }
+ .el-col-sm-offset-12 { margin-left: 50% }
+ .el-col-sm-pull-12 { position: relative; right: 50% }
+ .el-col-sm-push-12 { position: relative; left: 50% }
+ .el-col-sm-13 { width: 54.16667% }
+ .el-col-sm-offset-13 { margin-left: 54.16667% }
+ .el-col-sm-pull-13 { position: relative; right: 54.16667% }
+ .el-col-sm-push-13 { position: relative; left: 54.16667% }
+ .el-col-sm-14 { width: 58.33333% }
+ .el-col-sm-offset-14 { margin-left: 58.33333% }
+ .el-col-sm-pull-14 { position: relative; right: 58.33333% }
+ .el-col-sm-push-14 { position: relative; left: 58.33333% }
+ .el-col-sm-15 { width: 62.5% }
+ .el-col-sm-offset-15 { margin-left: 62.5% }
+ .el-col-sm-pull-15 { position: relative; right: 62.5% }
+ .el-col-sm-push-15 { position: relative; left: 62.5% }
+ .el-col-sm-16 { width: 66.66667% }
+ .el-col-sm-offset-16 { margin-left: 66.66667% }
+ .el-col-sm-pull-16 { position: relative; right: 66.66667% }
+ .el-col-sm-push-16 { position: relative; left: 66.66667% }
+ .el-col-sm-17 { width: 70.83333% }
+ .el-col-sm-offset-17 { margin-left: 70.83333% }
+ .el-col-sm-pull-17 { position: relative; right: 70.83333% }
+ .el-col-sm-push-17 { position: relative; left: 70.83333% }
+ .el-col-sm-18 { width: 75% }
+ .el-col-sm-offset-18 { margin-left: 75% }
+ .el-col-sm-pull-18 { position: relative; right: 75% }
+ .el-col-sm-push-18 { position: relative; left: 75% }
+ .el-col-sm-19 { width: 79.16667% }
+ .el-col-sm-offset-19 { margin-left: 79.16667% }
+ .el-col-sm-pull-19 { position: relative; right: 79.16667% }
+ .el-col-sm-push-19 { position: relative; left: 79.16667% }
+ .el-col-sm-20 { width: 83.33333% }
+ .el-col-sm-offset-20 { margin-left: 83.33333% }
+ .el-col-sm-pull-20 { position: relative; right: 83.33333% }
+ .el-col-sm-push-20 { position: relative; left: 83.33333% }
+ .el-col-sm-21 { width: 87.5% }
+ .el-col-sm-offset-21 { margin-left: 87.5% }
+ .el-col-sm-pull-21 { position: relative; right: 87.5% }
+ .el-col-sm-push-21 { position: relative; left: 87.5% }
+ .el-col-sm-22 { width: 91.66667% }
+ .el-col-sm-offset-22 { margin-left: 91.66667% }
+ .el-col-sm-pull-22 { position: relative; right: 91.66667% }
+ .el-col-sm-push-22 { position: relative; left: 91.66667% }
+ .el-col-sm-23 { width: 95.83333% }
+ .el-col-sm-offset-23 { margin-left: 95.83333% }
+ .el-col-sm-pull-23 { position: relative; right: 95.83333% }
+ .el-col-sm-push-23 { position: relative; left: 95.83333% }
+ .el-col-sm-24 { width: 100% }
+ .el-col-sm-offset-24 { margin-left: 100% }
+ .el-col-sm-pull-24 { position: relative; right: 100% }
+ .el-col-sm-push-24 { position: relative; left: 100% }
+}
+
+@media only screen and (min-width:992px) {
+ .el-col-md-0 { display: none }
+ .el-col-md-0 { width: 0% }
+ .el-col-md-offset-0 { margin-left: 0 }
+ .el-col-md-pull-0 { position: relative; right: 0 }
+ .el-col-md-push-0 { position: relative; left: 0 }
+ .el-col-md-1 { width: 4.16667% }
+ .el-col-md-offset-1 { margin-left: 4.16667% }
+ .el-col-md-pull-1 { position: relative; right: 4.16667% }
+ .el-col-md-push-1 { position: relative; left: 4.16667% }
+ .el-col-md-2 { width: 8.33333% }
+ .el-col-md-offset-2 { margin-left: 8.33333% }
+ .el-col-md-pull-2 { position: relative; right: 8.33333% }
+ .el-col-md-push-2 { position: relative; left: 8.33333% }
+ .el-col-md-3 { width: 12.5% }
+ .el-col-md-offset-3 { margin-left: 12.5% }
+ .el-col-md-pull-3 { position: relative; right: 12.5% }
+ .el-col-md-push-3 { position: relative; left: 12.5% }
+ .el-col-md-4 { width: 16.66667% }
+ .el-col-md-offset-4 { margin-left: 16.66667% }
+ .el-col-md-pull-4 { position: relative; right: 16.66667% }
+ .el-col-md-push-4 { position: relative; left: 16.66667% }
+ .el-col-md-5 { width: 20.83333% }
+ .el-col-md-offset-5 { margin-left: 20.83333% }
+ .el-col-md-pull-5 { position: relative; right: 20.83333% }
+ .el-col-md-push-5 { position: relative; left: 20.83333% }
+ .el-col-md-6 { width: 25% }
+ .el-col-md-offset-6 { margin-left: 25% }
+ .el-col-md-pull-6 { position: relative; right: 25% }
+ .el-col-md-push-6 { position: relative; left: 25% }
+ .el-col-md-7 { width: 29.16667% }
+ .el-col-md-offset-7 { margin-left: 29.16667% }
+ .el-col-md-pull-7 { position: relative; right: 29.16667% }
+ .el-col-md-push-7 { position: relative; left: 29.16667% }
+ .el-col-md-8 { width: 33.33333% }
+ .el-col-md-offset-8 { margin-left: 33.33333% }
+ .el-col-md-pull-8 { position: relative; right: 33.33333% }
+ .el-col-md-push-8 { position: relative; left: 33.33333% }
+ .el-col-md-9 { width: 37.5% }
+ .el-col-md-offset-9 { margin-left: 37.5% }
+ .el-col-md-pull-9 { position: relative; right: 37.5% }
+ .el-col-md-push-9 { position: relative; left: 37.5% }
+ .el-col-md-10 { width: 41.66667% }
+ .el-col-md-offset-10 { margin-left: 41.66667% }
+ .el-col-md-pull-10 { position: relative; right: 41.66667% }
+ .el-col-md-push-10 { position: relative; left: 41.66667% }
+ .el-col-md-11 { width: 45.83333% }
+ .el-col-md-offset-11 { margin-left: 45.83333% }
+ .el-col-md-pull-11 { position: relative; right: 45.83333% }
+ .el-col-md-push-11 { position: relative; left: 45.83333% }
+ .el-col-md-12 { width: 50% }
+ .el-col-md-offset-12 { margin-left: 50% }
+ .el-col-md-pull-12 { position: relative; right: 50% }
+ .el-col-md-push-12 { position: relative; left: 50% }
+ .el-col-md-13 { width: 54.16667% }
+ .el-col-md-offset-13 { margin-left: 54.16667% }
+ .el-col-md-pull-13 { position: relative; right: 54.16667% }
+ .el-col-md-push-13 { position: relative; left: 54.16667% }
+ .el-col-md-14 { width: 58.33333% }
+ .el-col-md-offset-14 { margin-left: 58.33333% }
+ .el-col-md-pull-14 { position: relative; right: 58.33333% }
+ .el-col-md-push-14 { position: relative; left: 58.33333% }
+ .el-col-md-15 { width: 62.5% }
+ .el-col-md-offset-15 { margin-left: 62.5% }
+ .el-col-md-pull-15 { position: relative; right: 62.5% }
+ .el-col-md-push-15 { position: relative; left: 62.5% }
+ .el-col-md-16 { width: 66.66667% }
+ .el-col-md-offset-16 { margin-left: 66.66667% }
+ .el-col-md-pull-16 { position: relative; right: 66.66667% }
+ .el-col-md-push-16 { position: relative; left: 66.66667% }
+ .el-col-md-17 { width: 70.83333% }
+ .el-col-md-offset-17 { margin-left: 70.83333% }
+ .el-col-md-pull-17 { position: relative; right: 70.83333% }
+ .el-col-md-push-17 { position: relative; left: 70.83333% }
+ .el-col-md-18 { width: 75% }
+ .el-col-md-offset-18 { margin-left: 75% }
+ .el-col-md-pull-18 { position: relative; right: 75% }
+ .el-col-md-push-18 { position: relative; left: 75% }
+ .el-col-md-19 { width: 79.16667% }
+ .el-col-md-offset-19 { margin-left: 79.16667% }
+ .el-col-md-pull-19 { position: relative; right: 79.16667% }
+ .el-col-md-push-19 { position: relative; left: 79.16667% }
+ .el-col-md-20 { width: 83.33333% }
+ .el-col-md-offset-20 { margin-left: 83.33333% }
+ .el-col-md-pull-20 { position: relative; right: 83.33333% }
+ .el-col-md-push-20 { position: relative; left: 83.33333% }
+ .el-col-md-21 { width: 87.5% }
+ .el-col-md-offset-21 { margin-left: 87.5% }
+ .el-col-md-pull-21 { position: relative; right: 87.5% }
+ .el-col-md-push-21 { position: relative; left: 87.5% }
+ .el-col-md-22 { width: 91.66667% }
+ .el-col-md-offset-22 { margin-left: 91.66667% }
+ .el-col-md-pull-22 { position: relative; right: 91.66667% }
+ .el-col-md-push-22 { position: relative; left: 91.66667% }
+ .el-col-md-23 { width: 95.83333% }
+ .el-col-md-offset-23 { margin-left: 95.83333% }
+ .el-col-md-pull-23 { position: relative; right: 95.83333% }
+ .el-col-md-push-23 { position: relative; left: 95.83333% }
+ .el-col-md-24 { width: 100% }
+ .el-col-md-offset-24 { margin-left: 100% }
+ .el-col-md-pull-24 { position: relative; right: 100% }
+ .el-col-md-push-24 { position: relative; left: 100% }
+}
+
+@media only screen and (min-width:1200px) {
+ .el-col-lg-0 { display: none }
+ .el-col-lg-0 { width: 0% }
+ .el-col-lg-offset-0 { margin-left: 0 }
+ .el-col-lg-pull-0 { position: relative; right: 0 }
+ .el-col-lg-push-0 { position: relative; left: 0 }
+ .el-col-lg-1 { width: 4.16667% }
+ .el-col-lg-offset-1 { margin-left: 4.16667% }
+ .el-col-lg-pull-1 { position: relative; right: 4.16667% }
+ .el-col-lg-push-1 { position: relative; left: 4.16667% }
+ .el-col-lg-2 { width: 8.33333% }
+ .el-col-lg-offset-2 { margin-left: 8.33333% }
+ .el-col-lg-pull-2 { position: relative; right: 8.33333% }
+ .el-col-lg-push-2 { position: relative; left: 8.33333% }
+ .el-col-lg-3 { width: 12.5% }
+ .el-col-lg-offset-3 { margin-left: 12.5% }
+ .el-col-lg-pull-3 { position: relative; right: 12.5% }
+ .el-col-lg-push-3 { position: relative; left: 12.5% }
+ .el-col-lg-4 { width: 16.66667% }
+ .el-col-lg-offset-4 { margin-left: 16.66667% }
+ .el-col-lg-pull-4 { position: relative; right: 16.66667% }
+ .el-col-lg-push-4 { position: relative; left: 16.66667% }
+ .el-col-lg-5 { width: 20.83333% }
+ .el-col-lg-offset-5 { margin-left: 20.83333% }
+ .el-col-lg-pull-5 { position: relative; right: 20.83333% }
+ .el-col-lg-push-5 { position: relative; left: 20.83333% }
+ .el-col-lg-6 { width: 25% }
+ .el-col-lg-offset-6 { margin-left: 25% }
+ .el-col-lg-pull-6 { position: relative; right: 25% }
+ .el-col-lg-push-6 { position: relative; left: 25% }
+ .el-col-lg-7 { width: 29.16667% }
+ .el-col-lg-offset-7 { margin-left: 29.16667% }
+ .el-col-lg-pull-7 { position: relative; right: 29.16667% }
+ .el-col-lg-push-7 { position: relative; left: 29.16667% }
+ .el-col-lg-8 { width: 33.33333% }
+ .el-col-lg-offset-8 { margin-left: 33.33333% }
+ .el-col-lg-pull-8 { position: relative; right: 33.33333% }
+ .el-col-lg-push-8 { position: relative; left: 33.33333% }
+ .el-col-lg-9 { width: 37.5% }
+ .el-col-lg-offset-9 { margin-left: 37.5% }
+ .el-col-lg-pull-9 { position: relative; right: 37.5% }
+ .el-col-lg-push-9 { position: relative; left: 37.5% }
+ .el-col-lg-10 { width: 41.66667% }
+ .el-col-lg-offset-10 { margin-left: 41.66667% }
+ .el-col-lg-pull-10 { position: relative; right: 41.66667% }
+ .el-col-lg-push-10 { position: relative; left: 41.66667% }
+ .el-col-lg-11 { width: 45.83333% }
+ .el-col-lg-offset-11 { margin-left: 45.83333% }
+ .el-col-lg-pull-11 { position: relative; right: 45.83333% }
+ .el-col-lg-push-11 { position: relative; left: 45.83333% }
+ .el-col-lg-12 { width: 50% }
+ .el-col-lg-offset-12 { margin-left: 50% }
+ .el-col-lg-pull-12 { position: relative; right: 50% }
+ .el-col-lg-push-12 { position: relative; left: 50% }
+ .el-col-lg-13 { width: 54.16667% }
+ .el-col-lg-offset-13 { margin-left: 54.16667% }
+ .el-col-lg-pull-13 { position: relative; right: 54.16667% }
+ .el-col-lg-push-13 { position: relative; left: 54.16667% }
+ .el-col-lg-14 { width: 58.33333% }
+ .el-col-lg-offset-14 { margin-left: 58.33333% }
+ .el-col-lg-pull-14 { position: relative; right: 58.33333% }
+ .el-col-lg-push-14 { position: relative; left: 58.33333% }
+ .el-col-lg-15 { width: 62.5% }
+ .el-col-lg-offset-15 { margin-left: 62.5% }
+ .el-col-lg-pull-15 { position: relative; right: 62.5% }
+ .el-col-lg-push-15 { position: relative; left: 62.5% }
+ .el-col-lg-16 { width: 66.66667% }
+ .el-col-lg-offset-16 { margin-left: 66.66667% }
+ .el-col-lg-pull-16 { position: relative; right: 66.66667% }
+ .el-col-lg-push-16 { position: relative; left: 66.66667% }
+ .el-col-lg-17 { width: 70.83333% }
+ .el-col-lg-offset-17 { margin-left: 70.83333% }
+ .el-col-lg-pull-17 { position: relative; right: 70.83333% }
+ .el-col-lg-push-17 { position: relative; left: 70.83333% }
+ .el-col-lg-18 { width: 75% }
+ .el-col-lg-offset-18 { margin-left: 75% }
+ .el-col-lg-pull-18 { position: relative; right: 75% }
+ .el-col-lg-push-18 { position: relative; left: 75% }
+ .el-col-lg-19 { width: 79.16667% }
+ .el-col-lg-offset-19 { margin-left: 79.16667% }
+ .el-col-lg-pull-19 { position: relative; right: 79.16667% }
+ .el-col-lg-push-19 { position: relative; left: 79.16667% }
+ .el-col-lg-20 { width: 83.33333% }
+ .el-col-lg-offset-20 { margin-left: 83.33333% }
+ .el-col-lg-pull-20 { position: relative; right: 83.33333% }
+ .el-col-lg-push-20 { position: relative; left: 83.33333% }
+ .el-col-lg-21 { width: 87.5% }
+ .el-col-lg-offset-21 { margin-left: 87.5% }
+ .el-col-lg-pull-21 { position: relative; right: 87.5% }
+ .el-col-lg-push-21 { position: relative; left: 87.5% }
+ .el-col-lg-22 { width: 91.66667% }
+ .el-col-lg-offset-22 { margin-left: 91.66667% }
+ .el-col-lg-pull-22 { position: relative; right: 91.66667% }
+ .el-col-lg-push-22 { position: relative; left: 91.66667% }
+ .el-col-lg-23 { width: 95.83333% }
+ .el-col-lg-offset-23 { margin-left: 95.83333% }
+ .el-col-lg-pull-23 { position: relative; right: 95.83333% }
+ .el-col-lg-push-23 { position: relative; left: 95.83333% }
+ .el-col-lg-24 { width: 100% }
+ .el-col-lg-offset-24 { margin-left: 100% }
+ .el-col-lg-pull-24 { position: relative; right: 100% }
+ .el-col-lg-push-24 { position: relative; left: 100% }
+}
+
+@media only screen and (min-width:1920px) {
+ .el-col-xl-0 { display: none }
+ .el-col-xl-0 { width: 0% }
+ .el-col-xl-offset-0 { margin-left: 0 }
+ .el-col-xl-pull-0 { position: relative; right: 0 }
+ .el-col-xl-push-0 { position: relative; left: 0 }
+ .el-col-xl-1 { width: 4.16667% }
+ .el-col-xl-offset-1 { margin-left: 4.16667% }
+ .el-col-xl-pull-1 { position: relative; right: 4.16667% }
+ .el-col-xl-push-1 { position: relative; left: 4.16667% }
+ .el-col-xl-2 { width: 8.33333% }
+ .el-col-xl-offset-2 { margin-left: 8.33333% }
+ .el-col-xl-pull-2 { position: relative; right: 8.33333% }
+ .el-col-xl-push-2 { position: relative; left: 8.33333% }
+ .el-col-xl-3 { width: 12.5% }
+ .el-col-xl-offset-3 { margin-left: 12.5% }
+ .el-col-xl-pull-3 { position: relative; right: 12.5% }
+ .el-col-xl-push-3 { position: relative; left: 12.5% }
+ .el-col-xl-4 { width: 16.66667% }
+ .el-col-xl-offset-4 { margin-left: 16.66667% }
+ .el-col-xl-pull-4 { position: relative; right: 16.66667% }
+ .el-col-xl-push-4 { position: relative; left: 16.66667% }
+ .el-col-xl-5 { width: 20.83333% }
+ .el-col-xl-offset-5 { margin-left: 20.83333% }
+ .el-col-xl-pull-5 { position: relative; right: 20.83333% }
+ .el-col-xl-push-5 { position: relative; left: 20.83333% }
+ .el-col-xl-6 { width: 25% }
+ .el-col-xl-offset-6 { margin-left: 25% }
+ .el-col-xl-pull-6 { position: relative; right: 25% }
+ .el-col-xl-push-6 { position: relative; left: 25% }
+ .el-col-xl-7 { width: 29.16667% }
+ .el-col-xl-offset-7 { margin-left: 29.16667% }
+ .el-col-xl-pull-7 { position: relative; right: 29.16667% }
+ .el-col-xl-push-7 { position: relative; left: 29.16667% }
+ .el-col-xl-8 { width: 33.33333% }
+ .el-col-xl-offset-8 { margin-left: 33.33333% }
+ .el-col-xl-pull-8 { position: relative; right: 33.33333% }
+ .el-col-xl-push-8 { position: relative; left: 33.33333% }
+ .el-col-xl-9 { width: 37.5% }
+ .el-col-xl-offset-9 { margin-left: 37.5% }
+ .el-col-xl-pull-9 { position: relative; right: 37.5% }
+ .el-col-xl-push-9 { position: relative; left: 37.5% }
+ .el-col-xl-10 { width: 41.66667% }
+ .el-col-xl-offset-10 { margin-left: 41.66667% }
+ .el-col-xl-pull-10 { position: relative; right: 41.66667% }
+ .el-col-xl-push-10 { position: relative; left: 41.66667% }
+ .el-col-xl-11 { width: 45.83333% }
+ .el-col-xl-offset-11 { margin-left: 45.83333% }
+ .el-col-xl-pull-11 { position: relative; right: 45.83333% }
+ .el-col-xl-push-11 { position: relative; left: 45.83333% }
+ .el-col-xl-12 { width: 50% }
+ .el-col-xl-offset-12 { margin-left: 50% }
+ .el-col-xl-pull-12 { position: relative; right: 50% }
+ .el-col-xl-push-12 { position: relative; left: 50% }
+ .el-col-xl-13 { width: 54.16667% }
+ .el-col-xl-offset-13 { margin-left: 54.16667% }
+ .el-col-xl-pull-13 { position: relative; right: 54.16667% }
+ .el-col-xl-push-13 { position: relative; left: 54.16667% }
+ .el-col-xl-14 { width: 58.33333% }
+ .el-col-xl-offset-14 { margin-left: 58.33333% }
+ .el-col-xl-pull-14 { position: relative; right: 58.33333% }
+ .el-col-xl-push-14 { position: relative; left: 58.33333% }
+ .el-col-xl-15 { width: 62.5% }
+ .el-col-xl-offset-15 { margin-left: 62.5% }
+ .el-col-xl-pull-15 { position: relative; right: 62.5% }
+ .el-col-xl-push-15 { position: relative; left: 62.5% }
+ .el-col-xl-16 { width: 66.66667% }
+ .el-col-xl-offset-16 { margin-left: 66.66667% }
+ .el-col-xl-pull-16 { position: relative; right: 66.66667% }
+ .el-col-xl-push-16 { position: relative; left: 66.66667% }
+ .el-col-xl-17 { width: 70.83333% }
+ .el-col-xl-offset-17 { margin-left: 70.83333% }
+ .el-col-xl-pull-17 { position: relative; right: 70.83333% }
+ .el-col-xl-push-17 { position: relative; left: 70.83333% }
+ .el-col-xl-18 { width: 75% }
+ .el-col-xl-offset-18 { margin-left: 75% }
+ .el-col-xl-pull-18 { position: relative; right: 75% }
+ .el-col-xl-push-18 { position: relative; left: 75% }
+ .el-col-xl-19 { width: 79.16667% }
+ .el-col-xl-offset-19 { margin-left: 79.16667% }
+ .el-col-xl-pull-19 { position: relative; right: 79.16667% }
+ .el-col-xl-push-19 { position: relative; left: 79.16667% }
+ .el-col-xl-20 { width: 83.33333% }
+ .el-col-xl-offset-20 { margin-left: 83.33333% }
+ .el-col-xl-pull-20 { position: relative; right: 83.33333% }
+ .el-col-xl-push-20 { position: relative; left: 83.33333% }
+ .el-col-xl-21 { width: 87.5% }
+ .el-col-xl-offset-21 { margin-left: 87.5% }
+ .el-col-xl-pull-21 { position: relative; right: 87.5% }
+ .el-col-xl-push-21 { position: relative; left: 87.5% }
+ .el-col-xl-22 { width: 91.66667% }
+ .el-col-xl-offset-22 { margin-left: 91.66667% }
+ .el-col-xl-pull-22 { position: relative; right: 91.66667% }
+ .el-col-xl-push-22 { position: relative; left: 91.66667% }
+ .el-col-xl-23 { width: 95.83333% }
+ .el-col-xl-offset-23 { margin-left: 95.83333% }
+ .el-col-xl-pull-23 { position: relative; right: 95.83333% }
+ .el-col-xl-push-23 { position: relative; left: 95.83333% }
+ .el-col-xl-24 { width: 100% }
+ .el-col-xl-offset-24 { margin-left: 100% }
+ .el-col-xl-pull-24 { position: relative; right: 100% }
+ .el-col-xl-push-24 { position: relative; left: 100% }
+}
+
+.el-progress { position: relative; line-height: 1 }
+.el-progress__text { font-size: 14px; color: #606266; display: inline-block; vertical-align: middle; margin-left: 10px; line-height: 1 }
+.el-progress__text i { vertical-align: middle; display: block }
+.el-progress--circle, .el-progress--dashboard { display: inline-block }
+.el-progress--circle .el-progress__text, .el-progress--dashboard .el-progress__text { position: absolute; top: 50%; left: 0; width: 100%; text-align: center; margin: 0; -webkit-transform: translate(0,-50%); transform: translate(0,-50%) }
+.el-progress--circle .el-progress__text i, .el-progress--dashboard .el-progress__text i { vertical-align: middle; display: inline-block }
+.el-progress--without-text .el-progress__text { display: none }
+.el-progress--without-text .el-progress-bar { padding-right: 0; margin-right: 0; display: block }
+.el-progress--text-inside .el-progress-bar { padding-right: 0; margin-right: 0 }
+.el-progress.is-success .el-progress-bar__inner { background-color: #67c23a }
+.el-progress.is-success .el-progress__text { color: #67c23a }
+.el-progress.is-warning .el-progress-bar__inner { background-color: #e6a23c }
+.el-progress.is-warning .el-progress__text { color: #e6a23c }
+.el-progress.is-exception .el-progress-bar__inner { background-color: #f56c6c }
+.el-progress.is-exception .el-progress__text { color: #f56c6c }
+.el-progress-bar { padding-right: 50px; display: inline-block; vertical-align: middle; width: 100%; margin-right: -55px; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-progress-bar__outer { height: 6px; border-radius: 100px; background-color: #ebeef5; overflow: hidden; position: relative; vertical-align: middle }
+.el-progress-bar__inner { position: absolute; left: 0; top: 0; height: 100%; background-color: #409eff; text-align: right; border-radius: 100px; line-height: 1; white-space: nowrap; -webkit-transition: width .6s ease; transition: width .6s ease }
+.el-progress-bar__inner::after { display: inline-block; content: ""; height: 100%; vertical-align: middle }
+.el-progress-bar__innerText { display: inline-block; vertical-align: middle; color: #fff; font-size: 12px; margin: 0 5px }
+
+@-webkit-keyframes progress {
+ 0% { background-position: 0 0 }
+ 100% { background-position: 32px 0 }
+}
+
+@keyframes progress {
+ 0% { background-position: 0 0 }
+ 100% { background-position: 32px 0 }
+}
+
+.el-upload { display: inline-block; text-align: center; cursor: pointer; outline: 0 }
+.el-upload__input { display: none }
+.el-upload__tip { font-size: 12px; color: #606266; margin-top: 7px }
+.el-upload iframe { position: absolute; z-index: -1; top: 0; left: 0; opacity: 0 }
+.el-upload--picture-card { background-color: #fbfdff; border: 1px dashed #c0ccda; border-radius: 6px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 148px; height: 148px; cursor: pointer; line-height: 146px; vertical-align: top }
+.el-upload--picture-card i { font-size: 28px; color: #8c939d }
+.el-upload--picture-card:hover { border-color: #409eff; color: #409eff }
+.el-upload:focus { border-color: #409eff; color: #409eff }
+.el-upload:focus .el-upload-dragger { border-color: #409eff }
+.el-upload-dragger { background-color: #fff; border: 1px dashed #d9d9d9; border-radius: 6px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 360px; height: 180px; text-align: center; cursor: pointer; position: relative; overflow: hidden }
+.el-upload-dragger .el-icon-upload { font-size: 67px; color: #c0c4cc; margin: 40px 0 16px; line-height: 50px }
+.el-upload-dragger + .el-upload__tip { text-align: center }
+.el-upload-dragger ~ .el-upload__files { border-top: 1px solid #dcdfe6; margin-top: 7px; padding-top: 5px }
+.el-upload-dragger .el-upload__text { color: #606266; font-size: 14px; text-align: center }
+.el-upload-dragger .el-upload__text em { color: #409eff; font-style: normal }
+.el-upload-dragger:hover { border-color: #409eff }
+.el-upload-dragger.is-dragover { background-color: rgba(32,159,255,.06); border: 2px dashed #409eff }
+.el-upload-list { margin: 0; padding: 0; list-style: none }
+.el-upload-list__item { -webkit-transition: all .5s cubic-bezier(.55, 0, .1, 1); transition: all .5s cubic-bezier(.55, 0, .1, 1); font-size: 14px; color: #606266; line-height: 1.8; margin-top: 5px; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 4px; width: 100% }
+.el-upload-list__item .el-progress { position: absolute; top: 20px; width: 100% }
+.el-upload-list__item .el-progress__text { position: absolute; right: 0; top: -13px }
+.el-upload-list__item .el-progress-bar { margin-right: 0; padding-right: 0 }
+.el-upload-list__item:first-child { margin-top: 10px }
+.el-upload-list__item .el-icon-upload-success { color: #67c23a }
+.el-upload-list__item .el-icon-close { display: none; position: absolute; top: 5px; right: 5px; cursor: pointer; opacity: .75; color: #606266 }
+.el-upload-list__item .el-icon-close:hover { opacity: 1 }
+.el-upload-list__item .el-icon-close-tip { display: none; position: absolute; top: 5px; right: 5px; font-size: 12px; cursor: pointer; opacity: 1; color: #409eff }
+.el-upload-list__item:hover { background-color: #f5f7fa }
+.el-upload-list__item:hover .el-icon-close { display: inline-block }
+.el-upload-list__item:hover .el-progress__text { display: none }
+.el-upload-list__item.is-success .el-upload-list__item-status-label { display: block }
+.el-upload-list__item.is-success .el-upload-list__item-name:focus, .el-upload-list__item.is-success .el-upload-list__item-name:hover { color: #409eff; cursor: pointer }
+.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip { display: inline-block }
+.el-upload-list__item.is-success:active, .el-upload-list__item.is-success:not(.focusing):focus { outline-width: 0 }
+.el-upload-list__item.is-success:active .el-icon-close-tip, .el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip { display: none }
+.el-upload-list__item.is-success:focus .el-upload-list__item-status-label, .el-upload-list__item.is-success:hover .el-upload-list__item-status-label { display: none }
+.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label { display: block }
+.el-upload-list__item-name { color: #606266; display: block; margin-right: 40px; overflow: hidden; padding-left: 4px; text-overflow: ellipsis; -webkit-transition: color .3s; transition: color .3s; white-space: nowrap }
+.el-upload-list__item-name [class^=el-icon] { height: 100%; margin-right: 7px; color: #909399; line-height: inherit }
+.el-upload-list__item-status-label { position: absolute; right: 5px; top: 0; line-height: inherit; display: none }
+.el-upload-list__item-delete { position: absolute; right: 10px; top: 0; font-size: 12px; color: #606266; display: none }
+.el-upload-list__item-delete:hover { color: #409eff }
+.el-upload-list--picture-card { margin: 0; display: inline; vertical-align: top }
+.el-upload-list--picture-card .el-upload-list__item { overflow: hidden; background-color: #fff; border: 1px solid #c0ccda; border-radius: 6px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 148px; height: 148px; margin: 0 8px 8px 0; display: inline-block }
+.el-upload-list--picture-card .el-upload-list__item .el-icon-check, .el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check { color: #fff }
+.el-upload-list--picture-card .el-upload-list__item .el-icon-close { display: none }
+.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label { display: none }
+.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text { display: block }
+.el-upload-list--picture-card .el-upload-list__item-name { display: none }
+.el-upload-list--picture-card .el-upload-list__item-thumbnail { width: 100%; height: 100% }
+.el-upload-list--picture-card .el-upload-list__item-status-label { position: absolute; right: -15px; top: -6px; width: 40px; height: 24px; background: #13ce66; text-align: center; -webkit-transform: rotate(45deg); transform: rotate(45deg); -webkit-box-shadow: 0 0 1pc 1px rgba(0,0,0,.2); box-shadow: 0 0 1pc 1px rgba(0,0,0,.2) }
+.el-upload-list--picture-card .el-upload-list__item-status-label i { font-size: 12px; margin-top: 11px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg) }
+.el-upload-list--picture-card .el-upload-list__item-actions { position: absolute; width: 100%; height: 100%; left: 0; top: 0; cursor: default; text-align: center; color: #fff; opacity: 0; font-size: 20px; background-color: rgba(0,0,0,.5); -webkit-transition: opacity .3s; transition: opacity .3s }
+.el-upload-list--picture-card .el-upload-list__item-actions::after { display: inline-block; content: ""; height: 100%; vertical-align: middle }
+.el-upload-list--picture-card .el-upload-list__item-actions span { display: none; cursor: pointer }
+.el-upload-list--picture-card .el-upload-list__item-actions span + span { margin-left: 15px }
+.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete { position: static; font-size: inherit; color: inherit }
+.el-upload-list--picture-card .el-upload-list__item-actions:hover { opacity: 1 }
+.el-upload-list--picture-card .el-upload-list__item-actions:hover span { display: inline-block }
+.el-upload-list--picture-card .el-progress { top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); bottom: auto; width: 126px }
+.el-upload-list--picture-card .el-progress .el-progress__text { top: 50% }
+.el-upload-list--picture .el-upload-list__item { overflow: hidden; z-index: 0; background-color: #fff; border: 1px solid #c0ccda; border-radius: 6px; -webkit-box-sizing: border-box; box-sizing: border-box; margin-top: 10px; padding: 10px 10px 10px 90px; height: 92px }
+.el-upload-list--picture .el-upload-list__item .el-icon-check, .el-upload-list--picture .el-upload-list__item .el-icon-circle-check { color: #fff }
+.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label { background: 0 0; -webkit-box-shadow: none; box-shadow: none; top: -2px; right: -12px }
+.el-upload-list--picture .el-upload-list__item:hover .el-progress__text { display: block }
+.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name { line-height: 70px; margin-top: 0 }
+.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i { display: none }
+.el-upload-list--picture .el-upload-list__item-thumbnail { vertical-align: middle; display: inline-block; width: 70px; height: 70px; float: left; position: relative; z-index: 1; margin-left: -80px; background-color: #fff }
+.el-upload-list--picture .el-upload-list__item-name { display: block; margin-top: 20px }
+.el-upload-list--picture .el-upload-list__item-name i { font-size: 70px; line-height: 1; position: absolute; left: 9px; top: 10px }
+.el-upload-list--picture .el-upload-list__item-status-label { position: absolute; right: -17px; top: -7px; width: 46px; height: 26px; background: #13ce66; text-align: center; -webkit-transform: rotate(45deg); transform: rotate(45deg); -webkit-box-shadow: 0 1px 1px #ccc; box-shadow: 0 1px 1px #ccc }
+.el-upload-list--picture .el-upload-list__item-status-label i { font-size: 12px; margin-top: 12px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg) }
+.el-upload-list--picture .el-progress { position: relative; top: -7px }
+.el-upload-cover { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; z-index: 10; cursor: default }
+.el-upload-cover::after { display: inline-block; content: ""; height: 100%; vertical-align: middle }
+.el-upload-cover img { display: block; width: 100%; height: 100% }
+.el-upload-cover__label { position: absolute; right: -15px; top: -6px; width: 40px; height: 24px; background: #13ce66; text-align: center; -webkit-transform: rotate(45deg); transform: rotate(45deg); -webkit-box-shadow: 0 0 1pc 1px rgba(0,0,0,.2); box-shadow: 0 0 1pc 1px rgba(0,0,0,.2) }
+.el-upload-cover__label i { font-size: 12px; margin-top: 11px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); color: #fff }
+.el-upload-cover__progress { display: inline-block; vertical-align: middle; position: static; width: 243px }
+.el-upload-cover__progress + .el-upload__inner { opacity: 0 }
+.el-upload-cover__content { position: absolute; top: 0; left: 0; width: 100%; height: 100% }
+.el-upload-cover__interact { position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.72); text-align: center }
+.el-upload-cover__interact .btn { display: inline-block; color: #fff; font-size: 14px; cursor: pointer; vertical-align: middle; -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); margin-top: 60px }
+.el-upload-cover__interact .btn i { margin-top: 0 }
+.el-upload-cover__interact .btn span { opacity: 0; -webkit-transition: opacity .15s linear; transition: opacity .15s linear }
+.el-upload-cover__interact .btn:not(:first-child) { margin-left: 35px }
+.el-upload-cover__interact .btn:hover { -webkit-transform: translateY(-13px); transform: translateY(-13px) }
+.el-upload-cover__interact .btn:hover span { opacity: 1 }
+.el-upload-cover__interact .btn i { color: #fff; display: block; font-size: 24px; line-height: inherit; margin: 0 auto 5px }
+.el-upload-cover__title { position: absolute; bottom: 0; left: 0; background-color: #fff; height: 36px; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 400; text-align: left; padding: 0 10px; margin: 0; line-height: 36px; font-size: 14px; color: #303133 }
+.el-upload-cover + .el-upload__inner { opacity: 0; position: relative; z-index: 1 }
+.el-progress { position: relative; line-height: 1 }
+.el-progress__text { font-size: 14px; color: #606266; display: inline-block; vertical-align: middle; margin-left: 10px; line-height: 1 }
+.el-progress__text i { vertical-align: middle; display: block }
+.el-progress--circle, .el-progress--dashboard { display: inline-block }
+.el-progress--circle .el-progress__text, .el-progress--dashboard .el-progress__text { position: absolute; top: 50%; left: 0; width: 100%; text-align: center; margin: 0; -webkit-transform: translate(0,-50%); transform: translate(0,-50%) }
+.el-progress--circle .el-progress__text i, .el-progress--dashboard .el-progress__text i { vertical-align: middle; display: inline-block }
+.el-progress--without-text .el-progress__text { display: none }
+.el-progress--without-text .el-progress-bar { padding-right: 0; margin-right: 0; display: block }
+.el-progress--text-inside .el-progress-bar { padding-right: 0; margin-right: 0 }
+.el-progress.is-success .el-progress-bar__inner { background-color: #67c23a }
+.el-progress.is-success .el-progress__text { color: #67c23a }
+.el-progress.is-warning .el-progress-bar__inner { background-color: #e6a23c }
+.el-progress.is-warning .el-progress__text { color: #e6a23c }
+.el-progress.is-exception .el-progress-bar__inner { background-color: #f56c6c }
+.el-progress.is-exception .el-progress__text { color: #f56c6c }
+.el-progress-bar { padding-right: 50px; display: inline-block; vertical-align: middle; width: 100%; margin-right: -55px; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-progress-bar__outer { height: 6px; border-radius: 100px; background-color: #ebeef5; overflow: hidden; position: relative; vertical-align: middle }
+.el-progress-bar__inner { position: absolute; left: 0; top: 0; height: 100%; background-color: #409eff; text-align: right; border-radius: 100px; line-height: 1; white-space: nowrap; -webkit-transition: width .6s ease; transition: width .6s ease }
+.el-progress-bar__inner::after { display: inline-block; content: ""; height: 100%; vertical-align: middle }
+.el-progress-bar__innerText { display: inline-block; vertical-align: middle; color: #fff; font-size: 12px; margin: 0 5px }
+
+@keyframes progress {
+ 0% { background-position: 0 0 }
+ 100% { background-position: 32px 0 }
+}
+
+.el-time-spinner { width: 100%; white-space: nowrap }
+.el-spinner { display: inline-block; vertical-align: middle }
+.el-spinner-inner { -webkit-animation: rotate 2s linear infinite; animation: rotate 2s linear infinite; width: 50px; height: 50px }
+.el-spinner-inner .path { stroke: #ececec; stroke-linecap: round; -webkit-animation: dash 1.5s ease-in-out infinite; animation: dash 1.5s ease-in-out infinite }
+
+@-webkit-keyframes rotate {
+ 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg) }
+}
+
+@keyframes rotate {
+ 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg) }
+}
+
+@-webkit-keyframes dash {
+ 0% { stroke-dasharray: 1,150; stroke-dashoffset: 0 }
+ 50% { stroke-dasharray: 90,150; stroke-dashoffset: -35 }
+ 100% { stroke-dasharray: 90,150; stroke-dashoffset: -124 }
+}
+
+@keyframes dash {
+ 0% { stroke-dasharray: 1,150; stroke-dashoffset: 0 }
+ 50% { stroke-dasharray: 90,150; stroke-dashoffset: -35 }
+ 100% { stroke-dasharray: 90,150; stroke-dashoffset: -124 }
+}
+
+.el-message { min-width: 380px; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 4px; border-width: 1px; border-style: solid; border-color: #ebeef5; position: fixed; left: 50%; top: 20px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: #edf2fc; -webkit-transition: opacity .3s,top .4s,-webkit-transform .4s; transition: opacity .3s,top .4s,-webkit-transform .4s; transition: opacity .3s,transform .4s,top .4s; transition: opacity .3s,transform .4s,top .4s,-webkit-transform .4s; overflow: hidden; padding: 15px 15px 15px 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-message.is-center { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center }
+.el-message.is-closable .el-message__content { padding-right: 16px }
+.el-message p { margin: 0 }
+.el-message--info .el-message__content { color: #909399 }
+.el-message--success { background-color: #f0f9eb; border-color: #e1f3d8 }
+.el-message--success .el-message__content { color: #67c23a }
+.el-message--warning { background-color: #fdf6ec; border-color: #faecd8 }
+.el-message--warning .el-message__content { color: #e6a23c }
+.el-message--error { background-color: #fef0f0; border-color: #fde2e2 }
+.el-message--error .el-message__content { color: #f56c6c }
+.el-message__icon { margin-right: 10px }
+.el-message__content { padding: 0; font-size: 14px; line-height: 1 }
+.el-message__content:focus { outline-width: 0 }
+.el-message__closeBtn { position: absolute; top: 50%; right: 15px; -webkit-transform: translateY(-50%); transform: translateY(-50%); cursor: pointer; color: #c0c4cc; font-size: 16px }
+.el-message__closeBtn:focus { outline-width: 0 }
+.el-message__closeBtn:hover { color: #909399 }
+.el-message .el-icon-success { color: #67c23a }
+.el-message .el-icon-error { color: #f56c6c }
+.el-message .el-icon-info { color: #909399 }
+.el-message .el-icon-warning { color: #e6a23c }
+.el-message-fade-enter, .el-message-fade-leave-active { opacity: 0; -webkit-transform: translate(-50%,-100%); transform: translate(-50%,-100%) }
+.el-badge { position: relative; vertical-align: middle; display: inline-block }
+.el-badge__content { background-color: #f56c6c; border-radius: 10px; color: #fff; display: inline-block; font-size: 12px; height: 18px; line-height: 18px; padding: 0 6px; text-align: center; white-space: nowrap; border: 1px solid #fff }
+.el-badge__content.is-fixed { position: absolute; top: 0; right: 10px; -webkit-transform: translateY(-50%) translateX(100%); transform: translateY(-50%) translateX(100%) }
+.el-badge__content.is-fixed.is-dot { right: 5px }
+.el-badge__content.is-dot { height: 8px; width: 8px; padding: 0; right: 0; border-radius: 50% }
+.el-badge__content--primary { background-color: #409eff }
+.el-badge__content--success { background-color: #67c23a }
+.el-badge__content--warning { background-color: #e6a23c }
+.el-badge__content--info { background-color: #909399 }
+.el-badge__content--danger { background-color: #f56c6c }
+.el-card { border-radius: 4px; border: 1px solid #ebeef5; background-color: #fff; overflow: hidden; color: #303133; -webkit-transition: .3s; transition: .3s }
+.el-card.is-always-shadow { -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1) }
+.el-card.is-hover-shadow:focus, .el-card.is-hover-shadow:hover { -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1) }
+.el-card__header { padding: 18px 20px; border-bottom: 1px solid #ebeef5; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-card__body { padding: 20px }
+.el-rate { height: 20px; line-height: 1 }
+.el-rate:active, .el-rate:focus { outline-width: 0 }
+.el-rate__item { display: inline-block; position: relative; font-size: 0; vertical-align: middle }
+.el-rate__icon { position: relative; display: inline-block; font-size: 18px; margin-right: 6px; color: #c0c4cc; -webkit-transition: .3s; transition: .3s }
+.el-rate__icon.hover { -webkit-transform: scale(1.15); transform: scale(1.15) }
+.el-rate__icon .path2 { position: absolute; left: 0; top: 0 }
+.el-rate__decimal { position: absolute; top: 0; left: 0; display: inline-block; overflow: hidden }
+.el-rate__text { font-size: 14px; vertical-align: middle }
+.el-steps { display: -webkit-box; display: -ms-flexbox; display: flex }
+.el-steps--simple { padding: 13px 8%; border-radius: 4px; background: #f5f7fa }
+.el-steps--horizontal { white-space: nowrap }
+.el-steps--vertical { height: 100%; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column; flex-flow: column }
+.el-step { position: relative; -ms-flex-negative: 1; flex-shrink: 1 }
+.el-step:last-of-type .el-step__line { display: none }
+.el-step:last-of-type.is-flex { -ms-flex-preferred-size: auto !important; flex-basis: auto !important; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0 }
+.el-step:last-of-type .el-step__description, .el-step:last-of-type .el-step__main { padding-right: 0 }
+.el-step__head { position: relative; width: 100% }
+.el-step__head.is-process { color: #303133; border-color: #303133 }
+.el-step__head.is-wait { color: #c0c4cc; border-color: #c0c4cc }
+.el-step__head.is-success { color: #67c23a; border-color: #67c23a }
+.el-step__head.is-error { color: #f56c6c; border-color: #f56c6c }
+.el-step__head.is-finish { color: #409eff; border-color: #409eff }
+.el-step__icon { position: relative; z-index: 1; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 24px; height: 24px; font-size: 14px; -webkit-box-sizing: border-box; box-sizing: border-box; background: #fff; -webkit-transition: .15s ease-out; transition: .15s ease-out }
+.el-step__icon.is-text { border-radius: 50%; border: 2px solid; border-color: inherit }
+.el-step__icon.is-icon { width: 40px }
+.el-step__icon-inner { display: inline-block; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; text-align: center; font-weight: 700; line-height: 1; color: inherit }
+.el-step__icon-inner[class*=el-icon]:not(.is-status) { font-size: 25px; font-weight: 400 }
+.el-step__icon-inner.is-status { -webkit-transform: translateY(1px); transform: translateY(1px) }
+.el-step__line { position: absolute; border-color: inherit; background-color: #c0c4cc }
+.el-step__line-inner { display: block; border-width: 1px; border-style: solid; border-color: inherit; -webkit-transition: .15s ease-out; transition: .15s ease-out; -webkit-box-sizing: border-box; box-sizing: border-box; width: 0; height: 0 }
+.el-step__main { white-space: normal; text-align: left }
+.el-step__title { font-size: 16px; line-height: 38px }
+.el-step__title.is-process { font-weight: 700; color: #303133 }
+.el-step__title.is-wait { color: #c0c4cc }
+.el-step__title.is-success { color: #67c23a }
+.el-step__title.is-error { color: #f56c6c }
+.el-step__title.is-finish { color: #409eff }
+.el-step__description { padding-right: 10%; margin-top: -5px; font-size: 12px; line-height: 20px; font-weight: 400 }
+.el-step__description.is-process { color: #303133 }
+.el-step__description.is-wait { color: #c0c4cc }
+.el-step__description.is-success { color: #67c23a }
+.el-step__description.is-error { color: #f56c6c }
+.el-step__description.is-finish { color: #409eff }
+.el-step.is-horizontal { display: inline-block }
+.el-step.is-horizontal .el-step__line { height: 2px; top: 11px; left: 0; right: 0 }
+.el-step.is-vertical { display: -webkit-box; display: -ms-flexbox; display: flex }
+.el-step.is-vertical .el-step__head { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; width: 24px }
+.el-step.is-vertical .el-step__main { padding-left: 10px; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1 }
+.el-step.is-vertical .el-step__title { line-height: 24px; padding-bottom: 8px }
+.el-step.is-vertical .el-step__line { width: 2px; top: 0; bottom: 0; left: 11px }
+.el-step.is-vertical .el-step__icon.is-icon { width: 24px }
+.el-step.is-center .el-step__head { text-align: center }
+.el-step.is-center .el-step__main { text-align: center }
+.el-step.is-center .el-step__description { padding-left: 20%; padding-right: 20% }
+.el-step.is-center .el-step__line { left: 50%; right: -50% }
+.el-step.is-simple { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-step.is-simple .el-step__head { width: auto; font-size: 0; padding-right: 10px }
+.el-step.is-simple .el-step__icon { background: 0 0; width: 16px; height: 16px; font-size: 12px }
+.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status) { font-size: 18px }
+.el-step.is-simple .el-step__icon-inner.is-status { -webkit-transform: scale(.8) translateY(1px); transform: scale(.8) translateY(1px) }
+.el-step.is-simple .el-step__main { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1 }
+.el-step.is-simple .el-step__title { font-size: 16px; line-height: 20px }
+.el-step.is-simple:not(:last-of-type) .el-step__title { max-width: 50%; word-break: break-all }
+.el-step.is-simple .el-step__arrow { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center }
+.el-step.is-simple .el-step__arrow::after, .el-step.is-simple .el-step__arrow::before { content: ''; display: inline-block; position: absolute; height: 15px; width: 1px; background: #c0c4cc }
+.el-step.is-simple .el-step__arrow::before { -webkit-transform: rotate(-45deg) translateY(-4px); transform: rotate(-45deg) translateY(-4px); -webkit-transform-origin: 0 0; transform-origin: 0 0 }
+.el-step.is-simple .el-step__arrow::after { -webkit-transform: rotate(45deg) translateY(4px); transform: rotate(45deg) translateY(4px); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100% }
+.el-step.is-simple:last-of-type .el-step__arrow { display: none }
+.el-carousel { position: relative }
+.el-carousel--horizontal { overflow-x: hidden }
+.el-carousel--vertical { overflow-y: hidden }
+.el-carousel__container { position: relative; height: 300px }
+.el-carousel__arrow { border: none; outline: 0; padding: 0; margin: 0; height: 36px; width: 36px; cursor: pointer; -webkit-transition: .3s; transition: .3s; border-radius: 50%; background-color: rgba(31,45,61,.11); color: #fff; position: absolute; top: 50%; z-index: 10; -webkit-transform: translateY(-50%); transform: translateY(-50%); text-align: center; font-size: 12px }
+.el-carousel__arrow--left { left: 16px }
+.el-carousel__arrow--right { right: 16px }
+.el-carousel__arrow:hover { background-color: rgba(31,45,61,.23) }
+.el-carousel__arrow i { cursor: pointer }
+.el-carousel__indicators { position: absolute; list-style: none; margin: 0; padding: 0; z-index: 2 }
+.el-carousel__indicators--horizontal { bottom: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%) }
+.el-carousel__indicators--vertical { right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%) }
+.el-carousel__indicators--outside { bottom: 26px; text-align: center; position: static; -webkit-transform: none; transform: none }
+.el-carousel__indicators--outside .el-carousel__indicator:hover button { opacity: .64 }
+.el-carousel__indicators--outside button { background-color: #c0c4cc; opacity: .24 }
+.el-carousel__indicators--labels { left: 0; right: 0; -webkit-transform: none; transform: none; text-align: center }
+.el-carousel__indicators--labels .el-carousel__button { height: auto; width: auto; padding: 2px 18px; font-size: 12px }
+.el-carousel__indicators--labels .el-carousel__indicator { padding: 6px 4px }
+.el-carousel__indicator { background-color: transparent; cursor: pointer }
+.el-carousel__indicator:hover button { opacity: .72 }
+.el-carousel__indicator--horizontal { display: inline-block; padding: 12px 4px }
+.el-carousel__indicator--vertical { padding: 4px 12px }
+.el-carousel__indicator--vertical .el-carousel__button { width: 2px; height: 15px }
+.el-carousel__indicator.is-active button { opacity: 1 }
+.el-carousel__button { display: block; opacity: .48; width: 30px; height: 2px; background-color: #fff; border: none; outline: 0; padding: 0; margin: 0; cursor: pointer; -webkit-transition: .3s; transition: .3s }
+.carousel-arrow-left-enter, .carousel-arrow-left-leave-active { -webkit-transform: translateY(-50%) translateX(-10px); transform: translateY(-50%) translateX(-10px); opacity: 0 }
+.carousel-arrow-right-enter, .carousel-arrow-right-leave-active { -webkit-transform: translateY(-50%) translateX(10px); transform: translateY(-50%) translateX(10px); opacity: 0 }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-carousel__item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: inline-block; overflow: hidden; z-index: 0 }
+.el-carousel__item.is-active { z-index: 2 }
+.el-carousel__item.is-animating { -webkit-transition: -webkit-transform .4s ease-in-out; transition: -webkit-transform .4s ease-in-out; transition: transform .4s ease-in-out; transition: transform .4s ease-in-out,-webkit-transform .4s ease-in-out }
+.el-carousel__item--card { width: 50%; -webkit-transition: -webkit-transform .4s ease-in-out; transition: -webkit-transform .4s ease-in-out; transition: transform .4s ease-in-out; transition: transform .4s ease-in-out,-webkit-transform .4s ease-in-out }
+.el-carousel__item--card.is-in-stage { cursor: pointer; z-index: 1 }
+.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask, .el-carousel__item--card.is-in-stage:hover .el-carousel__mask { opacity: .12 }
+.el-carousel__item--card.is-active { z-index: 2 }
+.el-carousel__mask { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-color: #fff; opacity: .24; -webkit-transition: .2s; transition: .2s }
+.fade-in-linear-enter-active, .fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.fade-in-linear-enter, .fade-in-linear-leave, .fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-linear-enter-active, .el-fade-in-linear-leave-active { -webkit-transition: opacity .2s linear; transition: opacity .2s linear }
+.el-fade-in-linear-enter, .el-fade-in-linear-leave, .el-fade-in-linear-leave-active { opacity: 0 }
+.el-fade-in-enter-active, .el-fade-in-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-fade-in-enter, .el-fade-in-leave-active { opacity: 0 }
+.el-zoom-in-center-enter-active, .el-zoom-in-center-leave-active { -webkit-transition: all .3s cubic-bezier(.55, 0, .1, 1); transition: all .3s cubic-bezier(.55, 0, .1, 1) }
+.el-zoom-in-center-enter, .el-zoom-in-center-leave-active { opacity: 0; -webkit-transform: scaleX(0); transform: scaleX(0) }
+.el-zoom-in-top-enter-active, .el-zoom-in-top-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center top; transform-origin: center top }
+.el-zoom-in-top-enter, .el-zoom-in-top-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-bottom-enter-active, .el-zoom-in-bottom-leave-active { opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: center bottom; transform-origin: center bottom }
+.el-zoom-in-bottom-enter, .el-zoom-in-bottom-leave-active { opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0) }
+.el-zoom-in-left-enter-active, .el-zoom-in-left-leave-active { opacity: 1; -webkit-transform: scale(1,1); transform: scale(1,1); -webkit-transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1); transition: transform .3s cubic-bezier(.23, 1, .32, 1),opacity .3s cubic-bezier(.23, 1, .32, 1),-webkit-transform .3s cubic-bezier(.23, 1, .32, 1); -webkit-transform-origin: top left; transform-origin: top left }
+.el-zoom-in-left-enter, .el-zoom-in-left-leave-active { opacity: 0; -webkit-transform: scale(.45,.45); transform: scale(.45,.45) }
+.collapse-transition { -webkit-transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out; transition: .3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out }
+.horizontal-collapse-transition { -webkit-transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out; transition: .3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out }
+.el-list-enter-active, .el-list-leave-active { -webkit-transition: all 1s; transition: all 1s }
+.el-list-enter, .el-list-leave-active { opacity: 0; -webkit-transform: translateY(-30px); transform: translateY(-30px) }
+.el-opacity-transition { -webkit-transition: opacity .3s cubic-bezier(.55, 0, .1, 1); transition: opacity .3s cubic-bezier(.55, 0, .1, 1) }
+.el-collapse { border-top: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5 }
+.el-collapse-item.is-disabled .el-collapse-item__header { color: #bbb; cursor: not-allowed }
+.el-collapse-item__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 48px; line-height: 48px; background-color: #fff; color: #303133; cursor: pointer; border-bottom: 1px solid #ebeef5; font-size: 13px; font-weight: 500; -webkit-transition: border-bottom-color .3s; transition: border-bottom-color .3s; outline: 0 }
+.el-collapse-item__arrow { margin: 0 8px 0 auto; -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s,-webkit-transform .3s; font-weight: 300 }
+.el-collapse-item__arrow.is-active { -webkit-transform: rotate(90deg); transform: rotate(90deg) }
+.el-collapse-item__header.focusing:focus:not(:hover) { color: #409eff }
+.el-collapse-item__header.is-active { border-bottom-color: transparent }
+.el-collapse-item__wrap { will-change: height; background-color: #fff; overflow: hidden; -webkit-box-sizing: border-box; box-sizing: border-box; border-bottom: 1px solid #ebeef5 }
+.el-collapse-item__content { padding-bottom: 25px; font-size: 13px; color: #303133; line-height: 1.769230769230769 }
+.el-collapse-item:last-child { margin-bottom: -1px }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-popper .popper__arrow, .el-popper .popper__arrow::after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid }
+.el-popper .popper__arrow { border-width: 6px; -webkit-filter: drop-shadow(0 2px 12px rgba(0,0,0,0.03)); filter: drop-shadow(0 2px 12px rgba(0, 0, 0, .03)) }
+.el-popper .popper__arrow::after { content: " "; border-width: 6px }
+.el-popper[x-placement^=top] { margin-bottom: 12px }
+.el-popper[x-placement^=top] .popper__arrow { bottom: -6px; left: 50%; margin-right: 3px; border-top-color: #ebeef5; border-bottom-width: 0 }
+.el-popper[x-placement^=top] .popper__arrow::after { bottom: 1px; margin-left: -6px; border-top-color: #fff; border-bottom-width: 0 }
+.el-popper[x-placement^=bottom] { margin-top: 12px }
+.el-popper[x-placement^=bottom] .popper__arrow { top: -6px; left: 50%; margin-right: 3px; border-top-width: 0; border-bottom-color: #ebeef5 }
+.el-popper[x-placement^=bottom] .popper__arrow::after { top: 1px; margin-left: -6px; border-top-width: 0; border-bottom-color: #fff }
+.el-popper[x-placement^=right] { margin-left: 12px }
+.el-popper[x-placement^=right] .popper__arrow { top: 50%; left: -6px; margin-bottom: 3px; border-right-color: #ebeef5; border-left-width: 0 }
+.el-popper[x-placement^=right] .popper__arrow::after { bottom: -6px; left: 1px; border-right-color: #fff; border-left-width: 0 }
+.el-popper[x-placement^=left] { margin-right: 12px }
+.el-popper[x-placement^=left] .popper__arrow { top: 50%; right: -6px; margin-bottom: 3px; border-right-width: 0; border-left-color: #ebeef5 }
+.el-popper[x-placement^=left] .popper__arrow::after { right: 1px; bottom: -6px; margin-left: -6px; border-right-width: 0; border-left-color: #fff }
+.el-tag { background-color: #ecf5ff; border-color: #d9ecff; color: #409eff; display: inline-block; height: 32px; padding: 0 10px; line-height: 30px; font-size: 12px; color: #409eff; border-width: 1px; border-style: solid; border-radius: 4px; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap }
+.el-tag.is-hit { border-color: #409eff }
+.el-tag .el-tag__close { color: #409eff }
+.el-tag .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag.el-tag--info { background-color: #f4f4f5; border-color: #e9e9eb; color: #909399 }
+.el-tag.el-tag--info.is-hit { border-color: #909399 }
+.el-tag.el-tag--info .el-tag__close { color: #909399 }
+.el-tag.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag.el-tag--success { background-color: #f0f9eb; border-color: #e1f3d8; color: #67c23a }
+.el-tag.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag.el-tag--warning { background-color: #fdf6ec; border-color: #faecd8; color: #e6a23c }
+.el-tag.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag.el-tag--danger { background-color: #fef0f0; border-color: #fde2e2; color: #f56c6c }
+.el-tag.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag .el-icon-close { border-radius: 50%; text-align: center; position: relative; cursor: pointer; font-size: 12px; height: 16px; width: 16px; line-height: 16px; vertical-align: middle; top: -1px; right: -5px }
+.el-tag .el-icon-close::before { display: block }
+.el-tag--dark { background-color: #409eff; border-color: #409eff; color: #fff }
+.el-tag--dark.is-hit { border-color: #409eff }
+.el-tag--dark .el-tag__close { color: #fff }
+.el-tag--dark .el-tag__close:hover { color: #fff; background-color: #66b1ff }
+.el-tag--dark.el-tag--info { background-color: #909399; border-color: #909399; color: #fff }
+.el-tag--dark.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--dark.el-tag--info .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--info .el-tag__close:hover { color: #fff; background-color: #a6a9ad }
+.el-tag--dark.el-tag--success { background-color: #67c23a; border-color: #67c23a; color: #fff }
+.el-tag--dark.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--dark.el-tag--success .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--success .el-tag__close:hover { color: #fff; background-color: #85ce61 }
+.el-tag--dark.el-tag--warning { background-color: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-tag--dark.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--dark.el-tag--warning .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #ebb563 }
+.el-tag--dark.el-tag--danger { background-color: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-tag--dark.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--dark.el-tag--danger .el-tag__close { color: #fff }
+.el-tag--dark.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f78989 }
+.el-tag--plain { background-color: #fff; border-color: #b3d8ff; color: #409eff }
+.el-tag--plain.is-hit { border-color: #409eff }
+.el-tag--plain .el-tag__close { color: #409eff }
+.el-tag--plain .el-tag__close:hover { color: #fff; background-color: #409eff }
+.el-tag--plain.el-tag--info { background-color: #fff; border-color: #d3d4d6; color: #909399 }
+.el-tag--plain.el-tag--info.is-hit { border-color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close { color: #909399 }
+.el-tag--plain.el-tag--info .el-tag__close:hover { color: #fff; background-color: #909399 }
+.el-tag--plain.el-tag--success { background-color: #fff; border-color: #c2e7b0; color: #67c23a }
+.el-tag--plain.el-tag--success.is-hit { border-color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close { color: #67c23a }
+.el-tag--plain.el-tag--success .el-tag__close:hover { color: #fff; background-color: #67c23a }
+.el-tag--plain.el-tag--warning { background-color: #fff; border-color: #f5dab1; color: #e6a23c }
+.el-tag--plain.el-tag--warning.is-hit { border-color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close { color: #e6a23c }
+.el-tag--plain.el-tag--warning .el-tag__close:hover { color: #fff; background-color: #e6a23c }
+.el-tag--plain.el-tag--danger { background-color: #fff; border-color: #fbc4c4; color: #f56c6c }
+.el-tag--plain.el-tag--danger.is-hit { border-color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close { color: #f56c6c }
+.el-tag--plain.el-tag--danger .el-tag__close:hover { color: #fff; background-color: #f56c6c }
+.el-tag--medium { height: 28px; line-height: 26px }
+.el-tag--medium .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--small { height: 24px; padding: 0 8px; line-height: 22px }
+.el-tag--small .el-icon-close { -webkit-transform: scale(.8); transform: scale(.8) }
+.el-tag--mini { height: 20px; padding: 0 5px; line-height: 19px }
+.el-tag--mini .el-icon-close { margin-left: -3px; -webkit-transform: scale(.7); transform: scale(.7) }
+.el-checkbox { color: #606266; font-weight: 500; font-size: 14px; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; margin-right: 30px }
+.el-checkbox.is-bordered { padding: 9px 20px 9px 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: normal; height: 40px }
+.el-checkbox.is-bordered.is-checked { border-color: #409eff }
+.el-checkbox.is-bordered.is-disabled { border-color: #ebeef5; cursor: not-allowed }
+.el-checkbox.is-bordered + .el-checkbox.is-bordered { margin-left: 10px }
+.el-checkbox.is-bordered.el-checkbox--medium { padding: 7px 20px 7px 10px; border-radius: 4px; height: 36px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { line-height: 17px; font-size: 14px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { height: 14px; width: 14px }
+.el-checkbox.is-bordered.el-checkbox--small { padding: 5px 15px 5px 10px; border-radius: 3px; height: 32px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { line-height: 15px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox.is-bordered.el-checkbox--mini { padding: 3px 15px 3px 10px; border-radius: 3px; height: 28px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { line-height: 12px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-checkbox__input.is-disabled .el-checkbox__inner { background-color: #edf2fc; border-color: #dcdfe6; cursor: not-allowed }
+.el-checkbox__input.is-disabled .el-checkbox__inner::after { cursor: not-allowed; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { cursor: not-allowed }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { border-color: #c0c4cc }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { background-color: #c0c4cc; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled + span.el-checkbox__label { color: #c0c4cc; cursor: not-allowed }
+.el-checkbox__input.is-checked .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-checked .el-checkbox__inner::after { -webkit-transform: rotate(45deg) scaleY(1); transform: rotate(45deg) scaleY(1) }
+.el-checkbox__input.is-checked + .el-checkbox__label { color: #409eff }
+.el-checkbox__input.is-focus .el-checkbox__inner { border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { content: ''; position: absolute; display: block; background-color: #fff; height: 2px; -webkit-transform: scale(.5); transform: scale(.5); left: 0; right: 0; top: 5px }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { display: none }
+.el-checkbox__inner { display: inline-block; position: relative; border: 1px solid #dcdfe6; border-radius: 2px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; z-index: 1; -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46); transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46) }
+.el-checkbox__inner:hover { border-color: #409eff }
+.el-checkbox__inner::after { -webkit-box-sizing: content-box; box-sizing: content-box; content: ""; border: 1px solid #fff; border-left: 0; border-top: 0; height: 7px; left: 4px; position: absolute; top: 1px; -webkit-transform: rotate(45deg) scaleY(0); transform: rotate(45deg) scaleY(0); width: 3px; -webkit-transition: -webkit-transform .15s ease-in .05s; transition: -webkit-transform .15s ease-in .05s; transition: transform .15s ease-in .05s; transition: transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s; -webkit-transform-origin: center; transform-origin: center }
+.el-checkbox__original { opacity: 0; outline: 0; position: absolute; margin: 0; width: 0; height: 0; z-index: -1 }
+.el-checkbox__label { display: inline-block; padding-left: 10px; line-height: 19px; font-size: 14px }
+.el-checkbox:last-of-type { margin-right: 0 }
+.el-checkbox-button { position: relative; display: inline-block }
+.el-checkbox-button__inner { display: inline-block; line-height: 1; font-weight: 500; white-space: nowrap; vertical-align: middle; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-left: 0; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; position: relative; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button__inner.is-round { padding: 12px 20px }
+.el-checkbox-button__inner:hover { color: #409eff }
+.el-checkbox-button__inner [class*=el-icon-] { line-height: .9 }
+.el-checkbox-button__inner [class*=el-icon-] + span { margin-left: 5px }
+.el-checkbox-button__original { opacity: 0; outline: 0; position: absolute; margin: 0; z-index: -1 }
+.el-checkbox-button.is-checked .el-checkbox-button__inner { color: #fff; background-color: #409eff; border-color: #409eff; -webkit-box-shadow: -1px 0 0 0 #8cc5ff; box-shadow: -1px 0 0 0 #8cc5ff }
+.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { border-left-color: #409eff }
+.el-checkbox-button.is-disabled .el-checkbox-button__inner { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5; -webkit-box-shadow: none; box-shadow: none }
+.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { border-left-color: #ebeef5 }
+.el-checkbox-button:first-child .el-checkbox-button__inner { border-left: 1px solid #dcdfe6; border-radius: 4px 0 0 4px; -webkit-box-shadow: none !important; box-shadow: none !important }
+.el-checkbox-button.is-focus .el-checkbox-button__inner { border-color: #409eff }
+.el-checkbox-button:last-child .el-checkbox-button__inner { border-radius: 0 4px 4px 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner { padding: 10px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner.is-round { padding: 10px 20px }
+.el-checkbox-button--small .el-checkbox-button__inner { padding: 9px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--small .el-checkbox-button__inner.is-round { padding: 9px 15px }
+.el-checkbox-button--mini .el-checkbox-button__inner { padding: 7px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--mini .el-checkbox-button__inner.is-round { padding: 7px 15px }
+.el-checkbox-group { font-size: 0 }
+.el-radio { color: #606266; font-weight: 500; line-height: 1; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; outline: 0; font-size: 14px; margin-right: 30px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none }
+.el-radio.is-bordered { padding: 12px 20px 0 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; height: 40px }
+.el-radio.is-bordered.is-checked { border-color: #409eff }
+.el-radio.is-bordered.is-disabled { cursor: not-allowed; border-color: #ebeef5 }
+.el-radio.is-bordered + .el-radio.is-bordered { margin-left: 10px }
+.el-radio--medium.is-bordered { padding: 10px 20px 0 10px; border-radius: 4px; height: 36px }
+.el-radio--medium.is-bordered .el-radio__label { font-size: 14px }
+.el-radio--medium.is-bordered .el-radio__inner { height: 14px; width: 14px }
+.el-radio--small.is-bordered { padding: 8px 15px 0 10px; border-radius: 3px; height: 32px }
+.el-radio--small.is-bordered .el-radio__label { font-size: 12px }
+.el-radio--small.is-bordered .el-radio__inner { height: 12px; width: 12px }
+.el-radio--mini.is-bordered { padding: 6px 15px 0 10px; border-radius: 3px; height: 28px }
+.el-radio--mini.is-bordered .el-radio__label { font-size: 12px }
+.el-radio--mini.is-bordered .el-radio__inner { height: 12px; width: 12px }
+.el-radio:last-child { margin-right: 0 }
+.el-radio__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-radio__input.is-disabled .el-radio__inner { background-color: #f5f7fa; border-color: #e4e7ed; cursor: not-allowed }
+.el-radio__input.is-disabled .el-radio__inner::after { cursor: not-allowed; background-color: #f5f7fa }
+.el-radio__input.is-disabled .el-radio__inner + .el-radio__label { cursor: not-allowed }
+.el-radio__input.is-disabled.is-checked .el-radio__inner { background-color: #f5f7fa; border-color: #e4e7ed }
+.el-radio__input.is-disabled.is-checked .el-radio__inner::after { background-color: #c0c4cc }
+.el-radio__input.is-disabled + span.el-radio__label { color: #c0c4cc; cursor: not-allowed }
+.el-radio__input.is-checked .el-radio__inner { border-color: #409eff; background: #409eff }
+.el-radio__input.is-checked .el-radio__inner::after { -webkit-transform: translate(-50%,-50%) scale(1); transform: translate(-50%,-50%) scale(1) }
+.el-radio__input.is-checked + .el-radio__label { color: #409eff }
+.el-radio__input.is-focus .el-radio__inner { border-color: #409eff }
+.el-radio__inner { border: 1px solid #dcdfe6; border-radius: 100%; width: 14px; height: 14px; background-color: #fff; position: relative; cursor: pointer; display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-radio__inner:hover { border-color: #409eff }
+.el-radio__inner::after { width: 4px; height: 4px; border-radius: 100%; background-color: #fff; content: ""; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%) scale(0); transform: translate(-50%,-50%) scale(0); -webkit-transition: -webkit-transform .15s ease-in; transition: -webkit-transform .15s ease-in; transition: transform .15s ease-in; transition: transform .15s ease-in,-webkit-transform .15s ease-in }
+.el-radio__original { opacity: 0; outline: 0; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; margin: 0 }
+.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { -webkit-box-shadow: 0 0 2px 2px #409eff; box-shadow: 0 0 2px 2px #409eff }
+.el-radio__label { font-size: 14px; padding-left: 10px }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-cascader-panel { display: -webkit-box; display: -ms-flexbox; display: flex; border-radius: 4px; font-size: 14px }
+.el-cascader-panel.is-bordered { border: solid 1px #e4e7ed; border-radius: 4px }
+.el-cascader-menu { min-width: 180px; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; border-right: solid 1px #e4e7ed }
+.el-cascader-menu:last-child { border-right: none }
+.el-cascader-menu:last-child .el-cascader-node { padding-right: 20px }
+.el-cascader-menu__wrap { height: 204px }
+.el-cascader-menu__list { position: relative; min-height: 100%; margin: 0; padding: 6px 0; list-style: none; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-cascader-menu__hover-zone { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none }
+.el-cascader-menu__empty-text { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); text-align: center; color: #c0c4cc }
+.el-cascader-node { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0 30px 0 20px; height: 34px; line-height: 34px; outline: 0 }
+.el-cascader-node.is-selectable.in-active-path { color: #606266 }
+.el-cascader-node.in-active-path, .el-cascader-node.is-active, .el-cascader-node.is-selectable.in-checked-path { color: #409eff; font-weight: 700 }
+.el-cascader-node:not(.is-disabled) { cursor: pointer }
+.el-cascader-node:not(.is-disabled):focus, .el-cascader-node:not(.is-disabled):hover { background: #f5f7fa }
+.el-cascader-node.is-disabled { color: #c0c4cc; cursor: not-allowed }
+.el-cascader-node__prefix { position: absolute; left: 10px }
+.el-cascader-node__postfix { position: absolute; right: 10px }
+.el-cascader-node__label { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; padding: 0 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
+.el-cascader-node > .el-radio { margin-right: 0 }
+.el-cascader-node > .el-radio .el-radio__label { padding-left: 0 }
+.el-cascader { display: inline-block; position: relative; font-size: 14px; line-height: 40px }
+.el-cascader:not(.is-disabled):hover .el-input__inner { cursor: pointer; border-color: #c0c4cc }
+.el-cascader .el-input { cursor: pointer }
+.el-cascader .el-input .el-input__inner { text-overflow: ellipsis }
+.el-cascader .el-input .el-input__inner:focus { border-color: #409eff }
+.el-cascader .el-input .el-icon-arrow-down { -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s,-webkit-transform .3s; font-size: 14px }
+.el-cascader .el-input .el-icon-arrow-down.is-reverse { -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg) }
+.el-cascader .el-input .el-icon-circle-close:hover { color: #909399 }
+.el-cascader .el-input.is-focus .el-input__inner { border-color: #409eff }
+.el-cascader--medium { font-size: 14px; line-height: 36px }
+.el-cascader--small { font-size: 13px; line-height: 32px }
+.el-cascader--mini { font-size: 12px; line-height: 28px }
+.el-cascader.is-disabled .el-cascader__label { z-index: 2; color: #c0c4cc }
+.el-cascader__dropdown { margin: 5px 0; font-size: 14px; background: #fff; border: solid 1px #e4e7ed; border-radius: 4px; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1) }
+.el-cascader__tags { position: absolute; left: 0; right: 30px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; line-height: normal; text-align: left; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-cascader__tags .el-tag { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; max-width: 100%; margin: 2px 0 2px 6px; text-overflow: ellipsis; background: #f0f2f5 }
+.el-cascader__tags .el-tag:not(.is-hit) { border-color: transparent }
+.el-cascader__tags .el-tag > span { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; overflow: hidden; text-overflow: ellipsis }
+.el-cascader__tags .el-tag .el-icon-close { -webkit-box-flex: 0; -ms-flex: none; flex: none; background-color: #c0c4cc; color: #fff }
+.el-cascader__tags .el-tag .el-icon-close:hover { background-color: #909399 }
+.el-cascader__suggestion-panel { border-radius: 4px }
+.el-cascader__suggestion-list { max-height: 204px; margin: 0; padding: 6px 0; font-size: 14px; color: #606266; text-align: center }
+.el-cascader__suggestion-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 34px; padding: 0 15px; text-align: left; outline: 0; cursor: pointer }
+.el-cascader__suggestion-item:focus, .el-cascader__suggestion-item:hover { background: #f5f7fa }
+.el-cascader__suggestion-item.is-checked { color: #409eff; font-weight: 700 }
+.el-cascader__suggestion-item > span { margin-right: 10px }
+.el-cascader__empty-text { margin: 10px 0; color: #c0c4cc }
+.el-cascader__search-input { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; height: 24px; min-width: 60px; margin: 2px 0 2px 15px; padding: 0; color: #606266; border: none; outline: 0; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-cascader__search-input::-webkit-input-placeholder { color: #c0c4cc }
+.el-cascader__search-input::-moz-placeholder { color: #c0c4cc }
+.el-cascader__search-input::-ms-input-placeholder { color: #c0c4cc }
+.el-cascader__search-input::placeholder { color: #c0c4cc }
+.el-color-predefine { display: -webkit-box; display: -ms-flexbox; display: flex; font-size: 12px; margin-top: 8px; width: 280px }
+.el-color-predefine__colors { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -ms-flex-wrap: wrap; flex-wrap: wrap }
+.el-color-predefine__color-selector { margin: 0 0 8px 8px; width: 20px; height: 20px; border-radius: 4px; cursor: pointer }
+.el-color-predefine__color-selector:nth-child(10n+1) { margin-left: 0 }
+.el-color-predefine__color-selector.selected { -webkit-box-shadow: 0 0 3px 2px #409eff; box-shadow: 0 0 3px 2px #409eff }
+.el-color-predefine__color-selector > div { display: -webkit-box; display: -ms-flexbox; display: flex; height: 100%; border-radius: 3px }
+.el-color-predefine__color-selector.is-alpha { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) }
+.el-color-hue-slider { position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; width: 280px; height: 12px; background-color: red; padding: 0 2px }
+.el-color-hue-slider__bar { position: relative; background: -webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red)); background: linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%); height: 100% }
+.el-color-hue-slider__thumb { position: absolute; cursor: pointer; -webkit-box-sizing: border-box; box-sizing: border-box; left: 0; top: 0; width: 4px; height: 100%; border-radius: 1px; background: #fff; border: 1px solid #f0f0f0; -webkit-box-shadow: 0 0 2px rgba(0,0,0,.6); box-shadow: 0 0 2px rgba(0,0,0,.6); z-index: 1 }
+.el-color-hue-slider.is-vertical { width: 12px; height: 180px; padding: 2px 0 }
+.el-color-hue-slider.is-vertical .el-color-hue-slider__bar { background: -webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red)); background: linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%) }
+.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb { left: 0; top: 0; width: 100%; height: 4px }
+.el-color-svpanel { position: relative; width: 280px; height: 180px }
+.el-color-svpanel__black, .el-color-svpanel__white { position: absolute; top: 0; left: 0; right: 0; bottom: 0 }
+.el-color-svpanel__white { background: -webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0))); background: linear-gradient(to right,#fff,rgba(255,255,255,0)) }
+.el-color-svpanel__black { background: -webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0))); background: linear-gradient(to top,#000,rgba(0,0,0,0)) }
+.el-color-svpanel__cursor { position: absolute }
+.el-color-svpanel__cursor > div { cursor: head; width: 4px; height: 4px; -webkit-box-shadow: 0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4); box-shadow: 0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4); border-radius: 50%; -webkit-transform: translate(-2px,-2px); transform: translate(-2px,-2px) }
+.el-color-alpha-slider { position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; width: 280px; height: 12px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) }
+.el-color-alpha-slider__bar { position: relative; background: -webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white)); background: linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%); height: 100% }
+.el-color-alpha-slider__thumb { position: absolute; cursor: pointer; -webkit-box-sizing: border-box; box-sizing: border-box; left: 0; top: 0; width: 4px; height: 100%; border-radius: 1px; background: #fff; border: 1px solid #f0f0f0; -webkit-box-shadow: 0 0 2px rgba(0,0,0,.6); box-shadow: 0 0 2px rgba(0,0,0,.6); z-index: 1 }
+.el-color-alpha-slider.is-vertical { width: 20px; height: 180px }
+.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar { background: -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white)); background: linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%) }
+.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb { left: 0; top: 0; width: 100%; height: 4px }
+.el-color-dropdown { width: 300px }
+.el-color-dropdown__main-wrapper { margin-bottom: 6px }
+.el-color-dropdown__main-wrapper::after { content: ""; display: table; clear: both }
+.el-color-dropdown__btns { margin-top: 6px; text-align: right }
+.el-color-dropdown__value { float: left; line-height: 26px; font-size: 12px; color: #000; width: 160px }
+.el-color-dropdown__btn { border: 1px solid #dcdcdc; color: #333; line-height: 24px; border-radius: 2px; padding: 0 20px; cursor: pointer; background-color: transparent; outline: 0; font-size: 12px }
+.el-color-dropdown__btn[disabled] { color: #ccc; cursor: not-allowed }
+.el-color-dropdown__btn:hover { color: #409eff; border-color: #409eff }
+.el-color-dropdown__link-btn { cursor: pointer; color: #409eff; text-decoration: none; padding: 15px; font-size: 12px }
+.el-color-dropdown__link-btn:hover { color: tint(#409eff,20%) }
+.el-color-picker { display: inline-block; position: relative; line-height: normal; height: 40px }
+.el-color-picker.is-disabled .el-color-picker__trigger { cursor: not-allowed }
+.el-color-picker--medium { height: 36px }
+.el-color-picker--medium .el-color-picker__trigger { height: 36px; width: 36px }
+.el-color-picker--medium .el-color-picker__mask { height: 34px; width: 34px }
+.el-color-picker--small { height: 32px }
+.el-color-picker--small .el-color-picker__trigger { height: 32px; width: 32px }
+.el-color-picker--small .el-color-picker__mask { height: 30px; width: 30px }
+.el-color-picker--small .el-color-picker__empty, .el-color-picker--small .el-color-picker__icon { -webkit-transform: translate3d(-50%,-50%,0) scale(.8); transform: translate3d(-50%,-50%,0) scale(.8) }
+.el-color-picker--mini { height: 28px }
+.el-color-picker--mini .el-color-picker__trigger { height: 28px; width: 28px }
+.el-color-picker--mini .el-color-picker__mask { height: 26px; width: 26px }
+.el-color-picker--mini .el-color-picker__empty, .el-color-picker--mini .el-color-picker__icon { -webkit-transform: translate3d(-50%,-50%,0) scale(.8); transform: translate3d(-50%,-50%,0) scale(.8) }
+.el-color-picker__mask { height: 38px; width: 38px; border-radius: 4px; position: absolute; top: 1px; left: 1px; z-index: 1; cursor: not-allowed; background-color: rgba(255,255,255,.7) }
+.el-color-picker__trigger { display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; height: 40px; width: 40px; padding: 4px; border: 1px solid #e6e6e6; border-radius: 4px; font-size: 0; position: relative; cursor: pointer }
+.el-color-picker__color { position: relative; display: block; -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #999; border-radius: 2px; width: 100%; height: 100%; text-align: center }
+.el-color-picker__color.is-alpha { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) }
+.el-color-picker__color-inner { position: absolute; left: 0; top: 0; right: 0; bottom: 0 }
+.el-color-picker__empty { font-size: 12px; color: #999; position: absolute; top: 50%; left: 50%; -webkit-transform: translate3d(-50%,-50%,0); transform: translate3d(-50%,-50%,0) }
+.el-color-picker__icon { display: inline-block; position: absolute; width: 100%; top: 50%; left: 50%; -webkit-transform: translate3d(-50%,-50%,0); transform: translate3d(-50%,-50%,0); color: #fff; text-align: center; font-size: 12px }
+.el-color-picker__panel { position: absolute; z-index: 10; padding: 6px; -webkit-box-sizing: content-box; box-sizing: content-box; background-color: #fff; border: 1px solid #ebeef5; border-radius: 4px; -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1); box-shadow: 0 2px 12px 0 rgba(0,0,0,.1) }
+.el-textarea { position: relative; display: inline-block; width: 100%; vertical-align: bottom; font-size: 14px }
+.el-textarea__inner { display: block; resize: vertical; padding: 5px 15px; line-height: 1.5; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; font-size: inherit; color: #606266; background-color: #fff; background-image: none; border: 1px solid #dcdfe6; border-radius: 4px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea__inner:hover { border-color: #c0c4cc }
+.el-textarea__inner:focus { outline: 0; border-color: #409eff }
+.el-textarea .el-input__count { color: #909399; background: #fff; position: absolute; font-size: 12px; bottom: 5px; right: 10px }
+.el-textarea.is-disabled .el-textarea__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-textarea.is-disabled .el-textarea__inner::placeholder { color: #c0c4cc }
+.el-textarea.is-exceed .el-textarea__inner { border-color: #f56c6c }
+.el-textarea.is-exceed .el-input__count { color: #f56c6c }
+.el-input { position: relative; font-size: 14px; display: inline-block; width: 100% }
+.el-input::-webkit-scrollbar { z-index: 11; width: 6px }
+.el-input::-webkit-scrollbar:horizontal { height: 6px }
+.el-input::-webkit-scrollbar-thumb { border-radius: 5px; width: 6px; background: #b4bccc }
+.el-input::-webkit-scrollbar-corner { background: #fff }
+.el-input::-webkit-scrollbar-track { background: #fff }
+.el-input::-webkit-scrollbar-track-piece { background: #fff; width: 6px }
+.el-input .el-input__clear { color: #c0c4cc; font-size: 14px; cursor: pointer; -webkit-transition: color .2s cubic-bezier(.645, .045, .355, 1); transition: color .2s cubic-bezier(.645, .045, .355, 1) }
+.el-input .el-input__clear:hover { color: #909399 }
+.el-input .el-input__count { height: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #909399; font-size: 12px }
+.el-input .el-input__count .el-input__count-inner { background: #fff; line-height: initial; display: inline-block; padding: 0 5px }
+.el-input__inner { -webkit-appearance: none; background-color: #fff; background-image: none; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; display: inline-block; font-size: inherit; height: 40px; line-height: 40px; outline: 0; padding: 0 15px; -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1); transition: border-color .2s cubic-bezier(.645, .045, .355, 1); width: 100% }
+.el-input__inner::-ms-reveal { display: none }
+.el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input__inner::placeholder { color: #c0c4cc }
+.el-input__inner:hover { border-color: #c0c4cc }
+.el-input__inner:focus { outline: 0; border-color: #409eff }
+.el-input__suffix { position: absolute; height: 100%; right: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s; pointer-events: none }
+.el-input__suffix-inner { pointer-events: all }
+.el-input__prefix { position: absolute; height: 100%; left: 5px; top: 0; text-align: center; color: #c0c4cc; -webkit-transition: all .3s; transition: all .3s }
+.el-input__icon { height: 100%; width: 25px; text-align: center; -webkit-transition: all .3s; transition: all .3s; line-height: 40px }
+.el-input__icon:after { content: ''; height: 100%; width: 0; display: inline-block; vertical-align: middle }
+.el-input__validateIcon { pointer-events: none }
+.el-input.is-active .el-input__inner { outline: 0; border-color: #409eff }
+.el-input.is-disabled .el-input__inner { background-color: #f5f7fa; border-color: #e4e7ed; color: #c0c4cc; cursor: not-allowed }
+.el-input.is-disabled .el-input__inner::-webkit-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-moz-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::-ms-input-placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__inner::placeholder { color: #c0c4cc }
+.el-input.is-disabled .el-input__icon { cursor: not-allowed }
+.el-input.is-exceed .el-input__inner { border-color: #f56c6c }
+.el-input.is-exceed .el-input__suffix .el-input__count { color: #f56c6c }
+.el-input--suffix .el-input__inner { padding-right: 30px }
+.el-input--prefix .el-input__inner { padding-left: 30px }
+.el-input--medium { font-size: 14px }
+.el-input--medium .el-input__inner { height: 36px; line-height: 36px }
+.el-input--medium .el-input__icon { line-height: 36px }
+.el-input--small { font-size: 13px }
+.el-input--small .el-input__inner { height: 32px; line-height: 32px }
+.el-input--small .el-input__icon { line-height: 32px }
+.el-input--mini { font-size: 12px }
+.el-input--mini .el-input__inner { height: 28px; line-height: 28px }
+.el-input--mini .el-input__icon { line-height: 28px }
+.el-input-group { line-height: normal; display: inline-table; width: 100%; border-collapse: separate; border-spacing: 0 }
+.el-input-group > .el-input__inner { vertical-align: middle; display: table-cell }
+.el-input-group__append, .el-input-group__prepend { background-color: #f5f7fa; color: #909399; vertical-align: middle; display: table-cell; position: relative; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 20px; width: 1px; white-space: nowrap }
+.el-input-group__append:focus, .el-input-group__prepend:focus { outline: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-select, .el-input-group__prepend .el-button, .el-input-group__prepend .el-select { display: inline-block; margin: -10px -20px }
+.el-input-group__append button.el-button, .el-input-group__append div.el-select .el-input__inner, .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, .el-input-group__prepend div.el-select .el-input__inner, .el-input-group__prepend div.el-select:hover .el-input__inner { border-color: transparent; background-color: transparent; color: inherit; border-top: 0; border-bottom: 0 }
+.el-input-group__append .el-button, .el-input-group__append .el-input, .el-input-group__prepend .el-button, .el-input-group__prepend .el-input { font-size: inherit }
+.el-input-group__prepend { border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group__append { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-input__inner { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input-group--append .el-input__inner { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-input-group--append .el-select .el-input.is-focus .el-input__inner { border-color: transparent }
+.el-input__inner::-ms-clear { display: none; width: 0; height: 0 }
+.el-button { display: inline-block; line-height: 1; white-space: nowrap; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-color: #dcdfe6; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; -webkit-transition: .1s; transition: .1s; font-weight: 500; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 4px }
+.el-button + .el-button { margin-left: 10px }
+.el-button.is-round { padding: 12px 20px }
+.el-button:focus, .el-button:hover { color: #409eff; border-color: #c6e2ff; background-color: #ecf5ff }
+.el-button:active { color: #3a8ee6; border-color: #3a8ee6; outline: 0 }
+.el-button::-moz-focus-inner { border: 0 }
+.el-button [class*=el-icon-] + span { margin-left: 5px }
+.el-button.is-plain:focus, .el-button.is-plain:hover { background: #fff; border-color: #409eff; color: #409eff }
+.el-button.is-plain:active { background: #fff; border-color: #3a8ee6; color: #3a8ee6; outline: 0 }
+.el-button.is-active { color: #3a8ee6; border-color: #3a8ee6 }
+.el-button.is-disabled, .el-button.is-disabled:focus, .el-button.is-disabled:hover { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5 }
+.el-button.is-disabled.el-button--text { background-color: transparent }
+.el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:focus, .el-button.is-disabled.is-plain:hover { background-color: #fff; border-color: #ebeef5; color: #c0c4cc }
+.el-button.is-loading { position: relative; pointer-events: none }
+.el-button.is-loading:before { pointer-events: none; content: ''; position: absolute; left: -1px; top: -1px; right: -1px; bottom: -1px; border-radius: inherit; background-color: rgba(255,255,255,.35) }
+.el-button.is-round { border-radius: 20px; padding: 12px 23px }
+.el-button.is-circle { border-radius: 50%; padding: 12px }
+.el-button--primary { color: #fff; background-color: #409eff; border-color: #409eff }
+.el-button--primary:focus, .el-button--primary:hover { background: #66b1ff; border-color: #66b1ff; color: #fff }
+.el-button--primary:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-active { background: #3a8ee6; border-color: #3a8ee6; color: #fff }
+.el-button--primary.is-disabled, .el-button--primary.is-disabled:active, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:hover { color: #fff; background-color: #a0cfff; border-color: #a0cfff }
+.el-button--primary.is-plain { color: #409eff; background: #ecf5ff; border-color: #b3d8ff }
+.el-button--primary.is-plain:focus, .el-button--primary.is-plain:hover { background: #409eff; border-color: #409eff; color: #fff }
+.el-button--primary.is-plain:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:active, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:hover { color: #8cc5ff; background-color: #ecf5ff; border-color: #d9ecff }
+.el-button--success { color: #fff; background-color: #67c23a; border-color: #67c23a }
+.el-button--success:focus, .el-button--success:hover { background: #85ce61; border-color: #85ce61; color: #fff }
+.el-button--success:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-active { background: #5daf34; border-color: #5daf34; color: #fff }
+.el-button--success.is-disabled, .el-button--success.is-disabled:active, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:hover { color: #fff; background-color: #b3e19d; border-color: #b3e19d }
+.el-button--success.is-plain { color: #67c23a; background: #f0f9eb; border-color: #c2e7b0 }
+.el-button--success.is-plain:focus, .el-button--success.is-plain:hover { background: #67c23a; border-color: #67c23a; color: #fff }
+.el-button--success.is-plain:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:active, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:hover { color: #a4da89; background-color: #f0f9eb; border-color: #e1f3d8 }
+.el-button--warning { color: #fff; background-color: #e6a23c; border-color: #e6a23c }
+.el-button--warning:focus, .el-button--warning:hover { background: #ebb563; border-color: #ebb563; color: #fff }
+.el-button--warning:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-active { background: #cf9236; border-color: #cf9236; color: #fff }
+.el-button--warning.is-disabled, .el-button--warning.is-disabled:active, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:hover { color: #fff; background-color: #f3d19e; border-color: #f3d19e }
+.el-button--warning.is-plain { color: #e6a23c; background: #fdf6ec; border-color: #f5dab1 }
+.el-button--warning.is-plain:focus, .el-button--warning.is-plain:hover { background: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-button--warning.is-plain:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:active, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:hover { color: #f0c78a; background-color: #fdf6ec; border-color: #faecd8 }
+.el-button--danger { color: #fff; background-color: #f56c6c; border-color: #f56c6c }
+.el-button--danger:focus, .el-button--danger:hover { background: #f78989; border-color: #f78989; color: #fff }
+.el-button--danger:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-active { background: #dd6161; border-color: #dd6161; color: #fff }
+.el-button--danger.is-disabled, .el-button--danger.is-disabled:active, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:hover { color: #fff; background-color: #fab6b6; border-color: #fab6b6 }
+.el-button--danger.is-plain { color: #f56c6c; background: #fef0f0; border-color: #fbc4c4 }
+.el-button--danger.is-plain:focus, .el-button--danger.is-plain:hover { background: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-button--danger.is-plain:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:active, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:hover { color: #f9a7a7; background-color: #fef0f0; border-color: #fde2e2 }
+.el-button--info { color: #fff; background-color: #909399; border-color: #909399 }
+.el-button--info:focus, .el-button--info:hover { background: #a6a9ad; border-color: #a6a9ad; color: #fff }
+.el-button--info:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-active { background: #82848a; border-color: #82848a; color: #fff }
+.el-button--info.is-disabled, .el-button--info.is-disabled:active, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:hover { color: #fff; background-color: #c8c9cc; border-color: #c8c9cc }
+.el-button--info.is-plain { color: #909399; background: #f4f4f5; border-color: #d3d4d6 }
+.el-button--info.is-plain:focus, .el-button--info.is-plain:hover { background: #909399; border-color: #909399; color: #fff }
+.el-button--info.is-plain:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:active, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:hover { color: #bcbec2; background-color: #f4f4f5; border-color: #e9e9eb }
+.el-button--medium { padding: 10px 20px; font-size: 14px; border-radius: 4px }
+.el-button--medium.is-round { padding: 10px 20px }
+.el-button--medium.is-circle { padding: 10px }
+.el-button--small { padding: 9px 15px; font-size: 12px; border-radius: 3px }
+.el-button--small.is-round { padding: 9px 15px }
+.el-button--small.is-circle { padding: 9px }
+.el-button--mini { padding: 7px 15px; font-size: 12px; border-radius: 3px }
+.el-button--mini.is-round { padding: 7px 15px }
+.el-button--mini.is-circle { padding: 7px }
+.el-button--text { border-color: transparent; color: #409eff; background: 0 0; padding-left: 0; padding-right: 0 }
+.el-button--text:focus, .el-button--text:hover { color: #66b1ff; border-color: transparent; background-color: transparent }
+.el-button--text:active { color: #3a8ee6; border-color: transparent; background-color: transparent }
+.el-button--text.is-disabled, .el-button--text.is-disabled:focus, .el-button--text.is-disabled:hover { border-color: transparent }
+.el-button-group { display: inline-block; vertical-align: middle }
+.el-button-group::after, .el-button-group::before { display: table; content: "" }
+.el-button-group::after { clear: both }
+.el-button-group > .el-button { float: left; position: relative }
+.el-button-group > .el-button + .el-button { margin-left: 0 }
+.el-button-group > .el-button.is-disabled { z-index: 1 }
+.el-button-group > .el-button:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-button-group > .el-button:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-button-group > .el-button:first-child:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-bottom-left-radius: 4px }
+.el-button-group > .el-button:first-child:last-child.is-round { border-radius: 20px }
+.el-button-group > .el-button:first-child:last-child.is-circle { border-radius: 50% }
+.el-button-group > .el-button:not(:first-child):not(:last-child) { border-radius: 0 }
+.el-button-group > .el-button:not(:last-child) { margin-right: -1px }
+.el-button-group > .el-button:not(.is-disabled):active, .el-button-group > .el-button:not(.is-disabled):focus, .el-button-group > .el-button:not(.is-disabled):hover { z-index: 1 }
+.el-button-group > .el-button.is-active { z-index: 1 }
+.el-button-group > .el-dropdown > .el-button { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-checkbox { color: #606266; font-weight: 500; font-size: 14px; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; margin-right: 30px }
+.el-checkbox.is-bordered { padding: 9px 20px 9px 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: normal; height: 40px }
+.el-checkbox.is-bordered.is-checked { border-color: #409eff }
+.el-checkbox.is-bordered.is-disabled { border-color: #ebeef5; cursor: not-allowed }
+.el-checkbox.is-bordered + .el-checkbox.is-bordered { margin-left: 10px }
+.el-checkbox.is-bordered.el-checkbox--medium { padding: 7px 20px 7px 10px; border-radius: 4px; height: 36px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { line-height: 17px; font-size: 14px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { height: 14px; width: 14px }
+.el-checkbox.is-bordered.el-checkbox--small { padding: 5px 15px 5px 10px; border-radius: 3px; height: 32px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { line-height: 15px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox.is-bordered.el-checkbox--mini { padding: 3px 15px 3px 10px; border-radius: 3px; height: 28px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { line-height: 12px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-checkbox__input.is-disabled .el-checkbox__inner { background-color: #edf2fc; border-color: #dcdfe6; cursor: not-allowed }
+.el-checkbox__input.is-disabled .el-checkbox__inner::after { cursor: not-allowed; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { cursor: not-allowed }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { border-color: #c0c4cc }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { background-color: #c0c4cc; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled + span.el-checkbox__label { color: #c0c4cc; cursor: not-allowed }
+.el-checkbox__input.is-checked .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-checked .el-checkbox__inner::after { -webkit-transform: rotate(45deg) scaleY(1); transform: rotate(45deg) scaleY(1) }
+.el-checkbox__input.is-checked + .el-checkbox__label { color: #409eff }
+.el-checkbox__input.is-focus .el-checkbox__inner { border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { content: ''; position: absolute; display: block; background-color: #fff; height: 2px; -webkit-transform: scale(.5); transform: scale(.5); left: 0; right: 0; top: 5px }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { display: none }
+.el-checkbox__inner { display: inline-block; position: relative; border: 1px solid #dcdfe6; border-radius: 2px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; z-index: 1; -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46); transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46) }
+.el-checkbox__inner:hover { border-color: #409eff }
+.el-checkbox__inner::after { -webkit-box-sizing: content-box; box-sizing: content-box; content: ""; border: 1px solid #fff; border-left: 0; border-top: 0; height: 7px; left: 4px; position: absolute; top: 1px; -webkit-transform: rotate(45deg) scaleY(0); transform: rotate(45deg) scaleY(0); width: 3px; -webkit-transition: -webkit-transform .15s ease-in .05s; transition: -webkit-transform .15s ease-in .05s; transition: transform .15s ease-in .05s; transition: transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s; -webkit-transform-origin: center; transform-origin: center }
+.el-checkbox__original { opacity: 0; outline: 0; position: absolute; margin: 0; width: 0; height: 0; z-index: -1 }
+.el-checkbox__label { display: inline-block; padding-left: 10px; line-height: 19px; font-size: 14px }
+.el-checkbox:last-of-type { margin-right: 0 }
+.el-checkbox-button { position: relative; display: inline-block }
+.el-checkbox-button__inner { display: inline-block; line-height: 1; font-weight: 500; white-space: nowrap; vertical-align: middle; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-left: 0; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; position: relative; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button__inner.is-round { padding: 12px 20px }
+.el-checkbox-button__inner:hover { color: #409eff }
+.el-checkbox-button__inner [class*=el-icon-] { line-height: .9 }
+.el-checkbox-button__inner [class*=el-icon-] + span { margin-left: 5px }
+.el-checkbox-button__original { opacity: 0; outline: 0; position: absolute; margin: 0; z-index: -1 }
+.el-checkbox-button.is-checked .el-checkbox-button__inner { color: #fff; background-color: #409eff; border-color: #409eff; -webkit-box-shadow: -1px 0 0 0 #8cc5ff; box-shadow: -1px 0 0 0 #8cc5ff }
+.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { border-left-color: #409eff }
+.el-checkbox-button.is-disabled .el-checkbox-button__inner { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5; -webkit-box-shadow: none; box-shadow: none }
+.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { border-left-color: #ebeef5 }
+.el-checkbox-button:first-child .el-checkbox-button__inner { border-left: 1px solid #dcdfe6; border-radius: 4px 0 0 4px; -webkit-box-shadow: none !important; box-shadow: none !important }
+.el-checkbox-button.is-focus .el-checkbox-button__inner { border-color: #409eff }
+.el-checkbox-button:last-child .el-checkbox-button__inner { border-radius: 0 4px 4px 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner { padding: 10px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner.is-round { padding: 10px 20px }
+.el-checkbox-button--small .el-checkbox-button__inner { padding: 9px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--small .el-checkbox-button__inner.is-round { padding: 9px 15px }
+.el-checkbox-button--mini .el-checkbox-button__inner { padding: 7px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--mini .el-checkbox-button__inner.is-round { padding: 7px 15px }
+.el-checkbox-group { font-size: 0 }
+.el-transfer { font-size: 14px }
+.el-transfer__buttons { display: inline-block; vertical-align: middle; padding: 0 30px }
+.el-transfer__button { display: block; margin: 0 auto; padding: 10px; border-radius: 50%; color: #fff; background-color: #409eff; font-size: 0 }
+.el-transfer__button.is-with-texts { border-radius: 4px }
+.el-transfer__button.is-disabled { border: 1px solid #dcdfe6; background-color: #f5f7fa; color: #c0c4cc }
+.el-transfer__button.is-disabled:hover { border: 1px solid #dcdfe6; background-color: #f5f7fa; color: #c0c4cc }
+.el-transfer__button:first-child { margin-bottom: 10px }
+.el-transfer__button:nth-child(2) { margin: 0 }
+.el-transfer__button i, .el-transfer__button span { font-size: 14px }
+.el-transfer__button [class*=el-icon-] + span { margin-left: 0 }
+.el-transfer-panel { border: 1px solid #ebeef5; border-radius: 4px; overflow: hidden; background: #fff; display: inline-block; vertical-align: middle; width: 200px; max-height: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; position: relative }
+.el-transfer-panel__body { height: 246px }
+.el-transfer-panel__body.is-with-footer { padding-bottom: 40px }
+.el-transfer-panel__list { margin: 0; padding: 6px 0; list-style: none; height: 246px; overflow: auto; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-transfer-panel__list.is-filterable { height: 194px; padding-top: 0 }
+.el-transfer-panel__item { height: 30px; line-height: 30px; padding-left: 15px; display: block !important }
+.el-transfer-panel__item + .el-transfer-panel__item { margin-left: 0 }
+.el-transfer-panel__item.el-checkbox { color: #606266 }
+.el-transfer-panel__item:hover { color: #409eff }
+.el-transfer-panel__item.el-checkbox .el-checkbox__label { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; -webkit-box-sizing: border-box; box-sizing: border-box; padding-left: 24px; line-height: 30px }
+.el-transfer-panel__item .el-checkbox__input { position: absolute; top: 8px }
+.el-transfer-panel__filter { text-align: center; margin: 15px; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; width: auto }
+.el-transfer-panel__filter .el-input__inner { height: 32px; width: 100%; font-size: 12px; display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 16px; padding-right: 10px; padding-left: 30px }
+.el-transfer-panel__filter .el-input__icon { margin-left: 5px }
+.el-transfer-panel__filter .el-icon-circle-close { cursor: pointer }
+.el-transfer-panel .el-transfer-panel__header { height: 40px; line-height: 40px; background: #f5f7fa; margin: 0; padding-left: 15px; border-bottom: 1px solid #ebeef5; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000 }
+.el-transfer-panel .el-transfer-panel__header .el-checkbox { display: block; line-height: 40px }
+.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label { font-size: 16px; color: #303133; font-weight: 400 }
+.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span { position: absolute; right: 15px; color: #909399; font-size: 12px; font-weight: 400 }
+.el-transfer-panel .el-transfer-panel__footer { height: 40px; background: #fff; margin: 0; padding: 0; border-top: 1px solid #ebeef5; position: absolute; bottom: 0; left: 0; width: 100%; z-index: 1 }
+.el-transfer-panel .el-transfer-panel__footer::after { display: inline-block; content: ""; height: 100%; vertical-align: middle }
+.el-transfer-panel .el-transfer-panel__footer .el-checkbox { padding-left: 20px; color: #606266 }
+.el-transfer-panel .el-transfer-panel__empty { margin: 0; height: 30px; line-height: 30px; padding: 6px 15px 0; color: #909399; text-align: center }
+.el-transfer-panel .el-checkbox__label { padding-left: 8px }
+.el-transfer-panel .el-checkbox__inner { height: 14px; width: 14px; border-radius: 3px }
+.el-transfer-panel .el-checkbox__inner::after { height: 6px; width: 3px; left: 4px }
+.el-container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -ms-flex-preferred-size: auto; flex-basis: auto; -webkit-box-sizing: border-box; box-sizing: border-box; min-width: 0 }
+.el-container.is-vertical { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column }
+.el-header { padding: 0 20px; -webkit-box-sizing: border-box; box-sizing: border-box; -ms-flex-negative: 0; flex-shrink: 0 }
+.el-aside { overflow: auto; -webkit-box-sizing: border-box; box-sizing: border-box; -ms-flex-negative: 0; flex-shrink: 0 }
+.el-main { display: block; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -ms-flex-preferred-size: auto; flex-basis: auto; overflow: auto; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 20px }
+.el-footer { padding: 0 20px; -webkit-box-sizing: border-box; box-sizing: border-box; -ms-flex-negative: 0; flex-shrink: 0 }
+.el-timeline { margin: 0; font-size: 14px; list-style: none }
+.el-timeline .el-timeline-item:last-child .el-timeline-item__tail { display: none }
+.el-timeline-item { position: relative; padding-bottom: 20px }
+.el-timeline-item__wrapper { position: relative; padding-left: 28px; top: -3px }
+.el-timeline-item__tail { position: absolute; left: 4px; height: 100%; border-left: 2px solid #e4e7ed }
+.el-timeline-item__icon { color: #fff; font-size: 13px }
+.el-timeline-item__node { position: absolute; background-color: #e4e7ed; border-radius: 50%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-timeline-item__node--normal { left: -1px; width: 12px; height: 12px }
+.el-timeline-item__node--large { left: -2px; width: 14px; height: 14px }
+.el-timeline-item__node--primary { background-color: #409eff }
+.el-timeline-item__node--success { background-color: #67c23a }
+.el-timeline-item__node--warning { background-color: #e6a23c }
+.el-timeline-item__node--danger { background-color: #f56c6c }
+.el-timeline-item__node--info { background-color: #909399 }
+.el-timeline-item__dot { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-timeline-item__content { color: #303133 }
+.el-timeline-item__timestamp { color: #909399; line-height: 1; font-size: 13px }
+.el-timeline-item__timestamp.is-top { margin-bottom: 8px; padding-top: 4px }
+.el-timeline-item__timestamp.is-bottom { margin-top: 8px }
+.el-link { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; vertical-align: middle; position: relative; text-decoration: none; outline: 0; cursor: pointer; padding: 0; font-size: 14px; font-weight: 500 }
+.el-link.is-underline:hover:after { content: ""; position: absolute; left: 0; right: 0; height: 0; bottom: 0; border-bottom: 1px solid #409eff }
+.el-link.is-disabled { cursor: not-allowed }
+.el-link [class*=el-icon-] + span { margin-left: 5px }
+.el-link.el-link--default { color: #606266 }
+.el-link.el-link--default:hover { color: #409eff }
+.el-link.el-link--default:after { border-color: #409eff }
+.el-link.el-link--default.is-disabled { color: #c0c4cc }
+.el-link.el-link--primary { color: #409eff }
+.el-link.el-link--primary:hover { color: #66b1ff }
+.el-link.el-link--primary:after { border-color: #409eff }
+.el-link.el-link--primary.is-disabled { color: #a0cfff }
+.el-link.el-link--primary.is-underline:hover:after { border-color: #409eff }
+.el-link.el-link--danger { color: #f56c6c }
+.el-link.el-link--danger:hover { color: #f78989 }
+.el-link.el-link--danger:after { border-color: #f56c6c }
+.el-link.el-link--danger.is-disabled { color: #fab6b6 }
+.el-link.el-link--danger.is-underline:hover:after { border-color: #f56c6c }
+.el-link.el-link--success { color: #67c23a }
+.el-link.el-link--success:hover { color: #85ce61 }
+.el-link.el-link--success:after { border-color: #67c23a }
+.el-link.el-link--success.is-disabled { color: #b3e19d }
+.el-link.el-link--success.is-underline:hover:after { border-color: #67c23a }
+.el-link.el-link--warning { color: #e6a23c }
+.el-link.el-link--warning:hover { color: #ebb563 }
+.el-link.el-link--warning:after { border-color: #e6a23c }
+.el-link.el-link--warning.is-disabled { color: #f3d19e }
+.el-link.el-link--warning.is-underline:hover:after { border-color: #e6a23c }
+.el-link.el-link--info { color: #909399 }
+.el-link.el-link--info:hover { color: #a6a9ad }
+.el-link.el-link--info:after { border-color: #909399 }
+.el-link.el-link--info.is-disabled { color: #c8c9cc }
+.el-link.el-link--info.is-underline:hover:after { border-color: #909399 }
+.el-divider { background-color: #dcdfe6; position: relative }
+.el-divider--horizontal { display: block; height: 1px; width: 100%; margin: 24px 0 }
+.el-divider--vertical { display: inline-block; width: 1px; height: 1em; margin: 0 8px; vertical-align: middle; position: relative }
+.el-divider__text { position: absolute; background-color: #fff; padding: 0 20px; font-weight: 500; color: #303133; font-size: 14px }
+.el-divider__text.is-left { left: 20px; -webkit-transform: translateY(-50%); transform: translateY(-50%) }
+.el-divider__text.is-center { left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%) }
+.el-divider__text.is-right { right: 20px; -webkit-transform: translateY(-50%); transform: translateY(-50%) }
+.el-image__error, .el-image__inner, .el-image__placeholder { width: 100%; height: 100% }
+.el-image { position: relative; display: inline-block; overflow: hidden }
+.el-image__inner { vertical-align: top }
+.el-image__inner--center { position: relative; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); display: block }
+.el-image__placeholder { background: #f5f7fa }
+.el-image__error { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 14px; background: #f5f7fa; color: #c0c4cc; vertical-align: middle }
+.el-image__preview { cursor: pointer }
+.el-image-viewer__wrapper { position: fixed; top: 0; right: 0; bottom: 0; left: 0 }
+.el-image-viewer__btn { position: absolute; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 50%; opacity: .8; cursor: pointer; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none }
+.el-image-viewer__close { top: 40px; right: 40px; width: 40px; height: 40px; font-size: 24px; color: #fff; background-color: #606266 }
+.el-image-viewer__canvas { width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-image-viewer__actions { left: 50%; bottom: 30px; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 282px; height: 44px; padding: 0 23px; background-color: #606266; border-color: #fff; border-radius: 22px }
+.el-image-viewer__actions__inner { width: 100%; height: 100%; text-align: justify; cursor: default; font-size: 23px; color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-pack: distribute; justify-content: space-around }
+.el-image-viewer__prev { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 44px; height: 44px; font-size: 24px; color: #fff; background-color: #606266; border-color: #fff; left: 40px }
+.el-image-viewer__next { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 44px; height: 44px; font-size: 24px; color: #fff; background-color: #606266; border-color: #fff; right: 40px; text-indent: 2px }
+.el-image-viewer__mask { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: .5; background: #000 }
+.viewer-fade-enter-active { -webkit-animation: viewer-fade-in .3s; animation: viewer-fade-in .3s }
+.viewer-fade-leave-active { -webkit-animation: viewer-fade-out .3s; animation: viewer-fade-out .3s }
+
+@-webkit-keyframes viewer-fade-in {
+ 0% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+ 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+}
+
+@keyframes viewer-fade-in {
+ 0% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+ 100% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+}
+
+@-webkit-keyframes viewer-fade-out {
+ 0% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+ 100% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+}
+
+@keyframes viewer-fade-out {
+ 0% { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); opacity: 1 }
+ 100% { -webkit-transform: translate3d(0,-20px,0); transform: translate3d(0,-20px,0); opacity: 0 }
+}
+
+.el-button { display: inline-block; line-height: 1; white-space: nowrap; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-color: #dcdfe6; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; -webkit-transition: .1s; transition: .1s; font-weight: 500; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 4px }
+.el-button + .el-button { margin-left: 10px }
+.el-button.is-round { padding: 12px 20px }
+.el-button:focus, .el-button:hover { color: #409eff; border-color: #c6e2ff; background-color: #ecf5ff }
+.el-button:active { color: #3a8ee6; border-color: #3a8ee6; outline: 0 }
+.el-button::-moz-focus-inner { border: 0 }
+.el-button [class*=el-icon-] + span { margin-left: 5px }
+.el-button.is-plain:focus, .el-button.is-plain:hover { background: #fff; border-color: #409eff; color: #409eff }
+.el-button.is-plain:active { background: #fff; border-color: #3a8ee6; color: #3a8ee6; outline: 0 }
+.el-button.is-active { color: #3a8ee6; border-color: #3a8ee6 }
+.el-button.is-disabled, .el-button.is-disabled:focus, .el-button.is-disabled:hover { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5 }
+.el-button.is-disabled.el-button--text { background-color: transparent }
+.el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:focus, .el-button.is-disabled.is-plain:hover { background-color: #fff; border-color: #ebeef5; color: #c0c4cc }
+.el-button.is-loading { position: relative; pointer-events: none }
+.el-button.is-loading:before { pointer-events: none; content: ''; position: absolute; left: -1px; top: -1px; right: -1px; bottom: -1px; border-radius: inherit; background-color: rgba(255,255,255,.35) }
+.el-button.is-round { border-radius: 20px; padding: 12px 23px }
+.el-button.is-circle { border-radius: 50%; padding: 12px }
+.el-button--primary { color: #fff; background-color: #409eff; border-color: #409eff }
+.el-button--primary:focus, .el-button--primary:hover { background: #66b1ff; border-color: #66b1ff; color: #fff }
+.el-button--primary:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-active { background: #3a8ee6; border-color: #3a8ee6; color: #fff }
+.el-button--primary.is-disabled, .el-button--primary.is-disabled:active, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:hover { color: #fff; background-color: #a0cfff; border-color: #a0cfff }
+.el-button--primary.is-plain { color: #409eff; background: #ecf5ff; border-color: #b3d8ff }
+.el-button--primary.is-plain:focus, .el-button--primary.is-plain:hover { background: #409eff; border-color: #409eff; color: #fff }
+.el-button--primary.is-plain:active { background: #3a8ee6; border-color: #3a8ee6; color: #fff; outline: 0 }
+.el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:active, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:hover { color: #8cc5ff; background-color: #ecf5ff; border-color: #d9ecff }
+.el-button--success { color: #fff; background-color: #67c23a; border-color: #67c23a }
+.el-button--success:focus, .el-button--success:hover { background: #85ce61; border-color: #85ce61; color: #fff }
+.el-button--success:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-active { background: #5daf34; border-color: #5daf34; color: #fff }
+.el-button--success.is-disabled, .el-button--success.is-disabled:active, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:hover { color: #fff; background-color: #b3e19d; border-color: #b3e19d }
+.el-button--success.is-plain { color: #67c23a; background: #f0f9eb; border-color: #c2e7b0 }
+.el-button--success.is-plain:focus, .el-button--success.is-plain:hover { background: #67c23a; border-color: #67c23a; color: #fff }
+.el-button--success.is-plain:active { background: #5daf34; border-color: #5daf34; color: #fff; outline: 0 }
+.el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:active, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:hover { color: #a4da89; background-color: #f0f9eb; border-color: #e1f3d8 }
+.el-button--warning { color: #fff; background-color: #e6a23c; border-color: #e6a23c }
+.el-button--warning:focus, .el-button--warning:hover { background: #ebb563; border-color: #ebb563; color: #fff }
+.el-button--warning:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-active { background: #cf9236; border-color: #cf9236; color: #fff }
+.el-button--warning.is-disabled, .el-button--warning.is-disabled:active, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:hover { color: #fff; background-color: #f3d19e; border-color: #f3d19e }
+.el-button--warning.is-plain { color: #e6a23c; background: #fdf6ec; border-color: #f5dab1 }
+.el-button--warning.is-plain:focus, .el-button--warning.is-plain:hover { background: #e6a23c; border-color: #e6a23c; color: #fff }
+.el-button--warning.is-plain:active { background: #cf9236; border-color: #cf9236; color: #fff; outline: 0 }
+.el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:active, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:hover { color: #f0c78a; background-color: #fdf6ec; border-color: #faecd8 }
+.el-button--danger { color: #fff; background-color: #f56c6c; border-color: #f56c6c }
+.el-button--danger:focus, .el-button--danger:hover { background: #f78989; border-color: #f78989; color: #fff }
+.el-button--danger:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-active { background: #dd6161; border-color: #dd6161; color: #fff }
+.el-button--danger.is-disabled, .el-button--danger.is-disabled:active, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:hover { color: #fff; background-color: #fab6b6; border-color: #fab6b6 }
+.el-button--danger.is-plain { color: #f56c6c; background: #fef0f0; border-color: #fbc4c4 }
+.el-button--danger.is-plain:focus, .el-button--danger.is-plain:hover { background: #f56c6c; border-color: #f56c6c; color: #fff }
+.el-button--danger.is-plain:active { background: #dd6161; border-color: #dd6161; color: #fff; outline: 0 }
+.el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:active, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:hover { color: #f9a7a7; background-color: #fef0f0; border-color: #fde2e2 }
+.el-button--info { color: #fff; background-color: #909399; border-color: #909399 }
+.el-button--info:focus, .el-button--info:hover { background: #a6a9ad; border-color: #a6a9ad; color: #fff }
+.el-button--info:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-active { background: #82848a; border-color: #82848a; color: #fff }
+.el-button--info.is-disabled, .el-button--info.is-disabled:active, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:hover { color: #fff; background-color: #c8c9cc; border-color: #c8c9cc }
+.el-button--info.is-plain { color: #909399; background: #f4f4f5; border-color: #d3d4d6 }
+.el-button--info.is-plain:focus, .el-button--info.is-plain:hover { background: #909399; border-color: #909399; color: #fff }
+.el-button--info.is-plain:active { background: #82848a; border-color: #82848a; color: #fff; outline: 0 }
+.el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:active, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:hover { color: #bcbec2; background-color: #f4f4f5; border-color: #e9e9eb }
+.el-button--medium { padding: 10px 20px; font-size: 14px; border-radius: 4px }
+.el-button--medium.is-round { padding: 10px 20px }
+.el-button--medium.is-circle { padding: 10px }
+.el-button--small { padding: 9px 15px; font-size: 12px; border-radius: 3px }
+.el-button--small.is-round { padding: 9px 15px }
+.el-button--small.is-circle { padding: 9px }
+.el-button--mini { padding: 7px 15px; font-size: 12px; border-radius: 3px }
+.el-button--mini.is-round { padding: 7px 15px }
+.el-button--mini.is-circle { padding: 7px }
+.el-button--text { border-color: transparent; color: #409eff; background: 0 0; padding-left: 0; padding-right: 0 }
+.el-button--text:focus, .el-button--text:hover { color: #66b1ff; border-color: transparent; background-color: transparent }
+.el-button--text:active { color: #3a8ee6; border-color: transparent; background-color: transparent }
+.el-button--text.is-disabled, .el-button--text.is-disabled:focus, .el-button--text.is-disabled:hover { border-color: transparent }
+.el-button-group { display: inline-block; vertical-align: middle }
+.el-button-group::after, .el-button-group::before { display: table; content: "" }
+.el-button-group::after { clear: both }
+.el-button-group > .el-button { float: left; position: relative }
+.el-button-group > .el-button + .el-button { margin-left: 0 }
+.el-button-group > .el-button.is-disabled { z-index: 1 }
+.el-button-group > .el-button:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0 }
+.el-button-group > .el-button:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0 }
+.el-button-group > .el-button:first-child:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-bottom-left-radius: 4px }
+.el-button-group > .el-button:first-child:last-child.is-round { border-radius: 20px }
+.el-button-group > .el-button:first-child:last-child.is-circle { border-radius: 50% }
+.el-button-group > .el-button:not(:first-child):not(:last-child) { border-radius: 0 }
+.el-button-group > .el-button:not(:last-child) { margin-right: -1px }
+.el-button-group > .el-button:not(.is-disabled):active, .el-button-group > .el-button:not(.is-disabled):focus, .el-button-group > .el-button:not(.is-disabled):hover { z-index: 1 }
+.el-button-group > .el-button.is-active { z-index: 1 }
+.el-button-group > .el-dropdown > .el-button { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--primary:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--success:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--warning:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--danger:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:first-child { border-right-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:last-child { border-left-color: rgba(255,255,255,.5) }
+.el-button-group .el-button--info:not(:first-child):not(:last-child) { border-left-color: rgba(255,255,255,.5); border-right-color: rgba(255,255,255,.5) }
+.el-calendar { background-color: #fff }
+.el-calendar__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 12px 20px; border-bottom: 1px solid #ebeef5 }
+.el-calendar__title { color: #000; -ms-flex-item-align: center; align-self: center }
+.el-calendar__body { padding: 12px 20px 35px }
+.el-calendar-table { table-layout: fixed; width: 100% }
+.el-calendar-table thead th { padding: 12px 0; color: #606266; font-weight: 400 }
+.el-calendar-table:not(.is-range) td.next, .el-calendar-table:not(.is-range) td.prev { color: #c0c4cc }
+.el-calendar-table td { border-bottom: 1px solid #ebeef5; border-right: 1px solid #ebeef5; vertical-align: top; -webkit-transition: background-color .2s ease; transition: background-color .2s ease }
+.el-calendar-table td.is-selected { background-color: #f2f8fe }
+.el-calendar-table td.is-today { color: #409eff }
+.el-calendar-table tr:first-child td { border-top: 1px solid #ebeef5 }
+.el-calendar-table tr td:first-child { border-left: 1px solid #ebeef5 }
+.el-calendar-table tr.el-calendar-table__row--hide-border td { border-top: none }
+.el-calendar-table .el-calendar-day { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 8px; height: 85px }
+.el-calendar-table .el-calendar-day:hover { cursor: pointer; background-color: #f2f8fe }
+.el-backtop { position: fixed; background-color: #fff; width: 40px; height: 40px; border-radius: 50%; color: #409eff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: 20px; -webkit-box-shadow: 0 0 6px rgba(0,0,0,.12); box-shadow: 0 0 6px rgba(0,0,0,.12); cursor: pointer; z-index: 5 }
+.el-backtop:hover { background-color: #f2f6fc }
+.el-page-header { display: -webkit-box; display: -ms-flexbox; display: flex; line-height: 24px }
+.el-page-header__left { display: -webkit-box; display: -ms-flexbox; display: flex; cursor: pointer; margin-right: 40px; position: relative }
+.el-page-header__left::after { content: ""; position: absolute; width: 1px; height: 16px; right: -20px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); background-color: #dcdfe6 }
+.el-page-header__left .el-icon-back { font-size: 18px; margin-right: 6px; -ms-flex-item-align: center; align-self: center }
+.el-page-header__title { font-size: 14px; font-weight: 500 }
+.el-page-header__content { font-size: 18px; color: #303133 }
+.el-checkbox { color: #606266; font-weight: 500; font-size: 14px; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; margin-right: 30px }
+.el-checkbox.is-bordered { padding: 9px 20px 9px 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: normal; height: 40px }
+.el-checkbox.is-bordered.is-checked { border-color: #409eff }
+.el-checkbox.is-bordered.is-disabled { border-color: #ebeef5; cursor: not-allowed }
+.el-checkbox.is-bordered + .el-checkbox.is-bordered { margin-left: 10px }
+.el-checkbox.is-bordered.el-checkbox--medium { padding: 7px 20px 7px 10px; border-radius: 4px; height: 36px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { line-height: 17px; font-size: 14px }
+.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { height: 14px; width: 14px }
+.el-checkbox.is-bordered.el-checkbox--small { padding: 5px 15px 5px 10px; border-radius: 3px; height: 32px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { line-height: 15px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox.is-bordered.el-checkbox--mini { padding: 3px 15px 3px 10px; border-radius: 3px; height: 28px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { line-height: 12px; font-size: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { height: 12px; width: 12px }
+.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { height: 6px; width: 2px }
+.el-checkbox__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-checkbox__input.is-disabled .el-checkbox__inner { background-color: #edf2fc; border-color: #dcdfe6; cursor: not-allowed }
+.el-checkbox__input.is-disabled .el-checkbox__inner::after { cursor: not-allowed; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { cursor: not-allowed }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { border-color: #c0c4cc }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { background-color: #f2f6fc; border-color: #dcdfe6 }
+.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { background-color: #c0c4cc; border-color: #c0c4cc }
+.el-checkbox__input.is-disabled + span.el-checkbox__label { color: #c0c4cc; cursor: not-allowed }
+.el-checkbox__input.is-checked .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-checked .el-checkbox__inner::after { -webkit-transform: rotate(45deg) scaleY(1); transform: rotate(45deg) scaleY(1) }
+.el-checkbox__input.is-checked + .el-checkbox__label { color: #409eff }
+.el-checkbox__input.is-focus .el-checkbox__inner { border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner { background-color: #409eff; border-color: #409eff }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::before { content: ''; position: absolute; display: block; background-color: #fff; height: 2px; -webkit-transform: scale(.5); transform: scale(.5); left: 0; right: 0; top: 5px }
+.el-checkbox__input.is-indeterminate .el-checkbox__inner::after { display: none }
+.el-checkbox__inner { display: inline-block; position: relative; border: 1px solid #dcdfe6; border-radius: 2px; -webkit-box-sizing: border-box; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; z-index: 1; -webkit-transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46); transition: border-color .25s cubic-bezier(.71, -.46, .29, 1.46),background-color .25s cubic-bezier(.71, -.46, .29, 1.46) }
+.el-checkbox__inner:hover { border-color: #409eff }
+.el-checkbox__inner::after { -webkit-box-sizing: content-box; box-sizing: content-box; content: ""; border: 1px solid #fff; border-left: 0; border-top: 0; height: 7px; left: 4px; position: absolute; top: 1px; -webkit-transform: rotate(45deg) scaleY(0); transform: rotate(45deg) scaleY(0); width: 3px; -webkit-transition: -webkit-transform .15s ease-in .05s; transition: -webkit-transform .15s ease-in .05s; transition: transform .15s ease-in .05s; transition: transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s; -webkit-transform-origin: center; transform-origin: center }
+.el-checkbox__original { opacity: 0; outline: 0; position: absolute; margin: 0; width: 0; height: 0; z-index: -1 }
+.el-checkbox__label { display: inline-block; padding-left: 10px; line-height: 19px; font-size: 14px }
+.el-checkbox:last-of-type { margin-right: 0 }
+.el-checkbox-button { position: relative; display: inline-block }
+.el-checkbox-button__inner { display: inline-block; line-height: 1; font-weight: 500; white-space: nowrap; vertical-align: middle; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; border-left: 0; color: #606266; -webkit-appearance: none; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; outline: 0; margin: 0; position: relative; -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1); transition: all .3s cubic-bezier(.645, .045, .355, 1); -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; padding: 12px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button__inner.is-round { padding: 12px 20px }
+.el-checkbox-button__inner:hover { color: #409eff }
+.el-checkbox-button__inner [class*=el-icon-] { line-height: .9 }
+.el-checkbox-button__inner [class*=el-icon-] + span { margin-left: 5px }
+.el-checkbox-button__original { opacity: 0; outline: 0; position: absolute; margin: 0; z-index: -1 }
+.el-checkbox-button.is-checked .el-checkbox-button__inner { color: #fff; background-color: #409eff; border-color: #409eff; -webkit-box-shadow: -1px 0 0 0 #8cc5ff; box-shadow: -1px 0 0 0 #8cc5ff }
+.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { border-left-color: #409eff }
+.el-checkbox-button.is-disabled .el-checkbox-button__inner { color: #c0c4cc; cursor: not-allowed; background-image: none; background-color: #fff; border-color: #ebeef5; -webkit-box-shadow: none; box-shadow: none }
+.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { border-left-color: #ebeef5 }
+.el-checkbox-button:first-child .el-checkbox-button__inner { border-left: 1px solid #dcdfe6; border-radius: 4px 0 0 4px; -webkit-box-shadow: none !important; box-shadow: none !important }
+.el-checkbox-button.is-focus .el-checkbox-button__inner { border-color: #409eff }
+.el-checkbox-button:last-child .el-checkbox-button__inner { border-radius: 0 4px 4px 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner { padding: 10px 20px; font-size: 14px; border-radius: 0 }
+.el-checkbox-button--medium .el-checkbox-button__inner.is-round { padding: 10px 20px }
+.el-checkbox-button--small .el-checkbox-button__inner { padding: 9px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--small .el-checkbox-button__inner.is-round { padding: 9px 15px }
+.el-checkbox-button--mini .el-checkbox-button__inner { padding: 7px 15px; font-size: 12px; border-radius: 0 }
+.el-checkbox-button--mini .el-checkbox-button__inner.is-round { padding: 7px 15px }
+.el-checkbox-group { font-size: 0 }
+.el-radio { color: #606266; font-weight: 500; line-height: 1; position: relative; cursor: pointer; display: inline-block; white-space: nowrap; outline: 0; font-size: 14px; margin-right: 30px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none }
+.el-radio.is-bordered { padding: 12px 20px 0 10px; border-radius: 4px; border: 1px solid #dcdfe6; -webkit-box-sizing: border-box; box-sizing: border-box; height: 40px }
+.el-radio.is-bordered.is-checked { border-color: #409eff }
+.el-radio.is-bordered.is-disabled { cursor: not-allowed; border-color: #ebeef5 }
+.el-radio.is-bordered + .el-radio.is-bordered { margin-left: 10px }
+.el-radio--medium.is-bordered { padding: 10px 20px 0 10px; border-radius: 4px; height: 36px }
+.el-radio--medium.is-bordered .el-radio__label { font-size: 14px }
+.el-radio--medium.is-bordered .el-radio__inner { height: 14px; width: 14px }
+.el-radio--small.is-bordered { padding: 8px 15px 0 10px; border-radius: 3px; height: 32px }
+.el-radio--small.is-bordered .el-radio__label { font-size: 12px }
+.el-radio--small.is-bordered .el-radio__inner { height: 12px; width: 12px }
+.el-radio--mini.is-bordered { padding: 6px 15px 0 10px; border-radius: 3px; height: 28px }
+.el-radio--mini.is-bordered .el-radio__label { font-size: 12px }
+.el-radio--mini.is-bordered .el-radio__inner { height: 12px; width: 12px }
+.el-radio:last-child { margin-right: 0 }
+.el-radio__input { white-space: nowrap; cursor: pointer; outline: 0; display: inline-block; line-height: 1; position: relative; vertical-align: middle }
+.el-radio__input.is-disabled .el-radio__inner { background-color: #f5f7fa; border-color: #e4e7ed; cursor: not-allowed }
+.el-radio__input.is-disabled .el-radio__inner::after { cursor: not-allowed; background-color: #f5f7fa }
+.el-radio__input.is-disabled .el-radio__inner + .el-radio__label { cursor: not-allowed }
+.el-radio__input.is-disabled.is-checked .el-radio__inner { background-color: #f5f7fa; border-color: #e4e7ed }
+.el-radio__input.is-disabled.is-checked .el-radio__inner::after { background-color: #c0c4cc }
+.el-radio__input.is-disabled + span.el-radio__label { color: #c0c4cc; cursor: not-allowed }
+.el-radio__input.is-checked .el-radio__inner { border-color: #409eff; background: #409eff }
+.el-radio__input.is-checked .el-radio__inner::after { -webkit-transform: translate(-50%,-50%) scale(1); transform: translate(-50%,-50%) scale(1) }
+.el-radio__input.is-checked + .el-radio__label { color: #409eff }
+.el-radio__input.is-focus .el-radio__inner { border-color: #409eff }
+.el-radio__inner { border: 1px solid #dcdfe6; border-radius: 100%; width: 14px; height: 14px; background-color: #fff; position: relative; cursor: pointer; display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-radio__inner:hover { border-color: #409eff }
+.el-radio__inner::after { width: 4px; height: 4px; border-radius: 100%; background-color: #fff; content: ""; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%) scale(0); transform: translate(-50%,-50%) scale(0); -webkit-transition: -webkit-transform .15s ease-in; transition: -webkit-transform .15s ease-in; transition: transform .15s ease-in; transition: transform .15s ease-in,-webkit-transform .15s ease-in }
+.el-radio__original { opacity: 0; outline: 0; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; margin: 0 }
+.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { -webkit-box-shadow: 0 0 2px 2px #409eff; box-shadow: 0 0 2px 2px #409eff }
+.el-radio__label { font-size: 14px; padding-left: 10px }
+.el-scrollbar { overflow: hidden; position: relative }
+.el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar, .el-scrollbar:hover > .el-scrollbar__bar { opacity: 1; -webkit-transition: opacity 340ms ease-out; transition: opacity 340ms ease-out }
+.el-scrollbar__wrap { overflow: scroll; height: 100% }
+.el-scrollbar__wrap--hidden-default { scrollbar-width: none }
+.el-scrollbar__wrap--hidden-default::-webkit-scrollbar { width: 0; height: 0 }
+.el-scrollbar__thumb { position: relative; display: block; width: 0; height: 0; cursor: pointer; border-radius: inherit; background-color: rgba(144,147,153,.3); -webkit-transition: .3s background-color; transition: .3s background-color }
+.el-scrollbar__thumb:hover { background-color: rgba(144,147,153,.5) }
+.el-scrollbar__bar { position: absolute; right: 2px; bottom: 2px; z-index: 1; border-radius: 4px; opacity: 0; -webkit-transition: opacity 120ms ease-out; transition: opacity 120ms ease-out }
+.el-scrollbar__bar.is-vertical { width: 6px; top: 2px }
+.el-scrollbar__bar.is-vertical > div { width: 100% }
+.el-scrollbar__bar.is-horizontal { height: 6px; left: 2px }
+.el-scrollbar__bar.is-horizontal > div { height: 100% }
+.el-cascader-panel { display: -webkit-box; display: -ms-flexbox; display: flex; border-radius: 4px; font-size: 14px }
+.el-cascader-panel.is-bordered { border: solid 1px #e4e7ed; border-radius: 4px }
+.el-cascader-menu { min-width: 180px; -webkit-box-sizing: border-box; box-sizing: border-box; color: #606266; border-right: solid 1px #e4e7ed }
+.el-cascader-menu:last-child { border-right: none }
+.el-cascader-menu:last-child .el-cascader-node { padding-right: 20px }
+.el-cascader-menu__wrap { height: 204px }
+.el-cascader-menu__list { position: relative; min-height: 100%; margin: 0; padding: 6px 0; list-style: none; -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-cascader-menu__hover-zone { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none }
+.el-cascader-menu__empty-text { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); text-align: center; color: #c0c4cc }
+.el-cascader-node { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0 30px 0 20px; height: 34px; line-height: 34px; outline: 0 }
+.el-cascader-node.is-selectable.in-active-path { color: #606266 }
+.el-cascader-node.in-active-path, .el-cascader-node.is-active, .el-cascader-node.is-selectable.in-checked-path { color: #409eff; font-weight: 700 }
+.el-cascader-node:not(.is-disabled) { cursor: pointer }
+.el-cascader-node:not(.is-disabled):focus, .el-cascader-node:not(.is-disabled):hover { background: #f5f7fa }
+.el-cascader-node.is-disabled { color: #c0c4cc; cursor: not-allowed }
+.el-cascader-node__prefix { position: absolute; left: 10px }
+.el-cascader-node__postfix { position: absolute; right: 10px }
+.el-cascader-node__label { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; padding: 0 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
+.el-cascader-node > .el-radio { margin-right: 0 }
+.el-cascader-node > .el-radio .el-radio__label { padding-left: 0 }
+.el-avatar { display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; overflow: hidden; color: #fff; background: #c0c4cc; width: 40px; height: 40px; line-height: 40px; font-size: 14px }
+.el-avatar > img { display: block; height: 100%; vertical-align: middle }
+.el-avatar--circle { border-radius: 50% }
+.el-avatar--square { border-radius: 4px }
+.el-avatar--icon { font-size: 18px }
+.el-avatar--large { width: 40px; height: 40px; line-height: 40px }
+.el-avatar--medium { width: 36px; height: 36px; line-height: 36px }
+.el-avatar--small { width: 28px; height: 28px; line-height: 28px }
+
+@-webkit-keyframes el-drawer-fade-in {
+ 0% { opacity: 0 }
+ 100% { opacity: 1 }
+}
+
+@keyframes el-drawer-fade-in {
+ 0% { opacity: 0 }
+ 100% { opacity: 1 }
+}
+
+@-webkit-keyframes rtl-drawer-in {
+ 0% { -webkit-transform: translate(100%,0); transform: translate(100%,0) }
+ 100% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+}
+
+@keyframes rtl-drawer-in {
+ 0% { -webkit-transform: translate(100%,0); transform: translate(100%,0) }
+ 100% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+}
+
+@-webkit-keyframes rtl-drawer-out {
+ 0% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+ 100% { -webkit-transform: translate(100%,0); transform: translate(100%,0) }
+}
+
+@keyframes rtl-drawer-out {
+ 0% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+ 100% { -webkit-transform: translate(100%,0); transform: translate(100%,0) }
+}
+
+@-webkit-keyframes ltr-drawer-in {
+ 0% { -webkit-transform: translate(-100%,0); transform: translate(-100%,0) }
+ 100% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+}
+
+@keyframes ltr-drawer-in {
+ 0% { -webkit-transform: translate(-100%,0); transform: translate(-100%,0) }
+ 100% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+}
+
+@-webkit-keyframes ltr-drawer-out {
+ 0% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+ 100% { -webkit-transform: translate(-100%,0); transform: translate(-100%,0) }
+}
+
+@keyframes ltr-drawer-out {
+ 0% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+ 100% { -webkit-transform: translate(-100%,0); transform: translate(-100%,0) }
+}
+
+@-webkit-keyframes ttb-drawer-in {
+ 0% { -webkit-transform: translate(0,-100%); transform: translate(0,-100%) }
+ 100% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+}
+
+@keyframes ttb-drawer-in {
+ 0% { -webkit-transform: translate(0,-100%); transform: translate(0,-100%) }
+ 100% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+}
+
+@-webkit-keyframes ttb-drawer-out {
+ 0% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+ 100% { -webkit-transform: translate(0,-100%); transform: translate(0,-100%) }
+}
+
+@keyframes ttb-drawer-out {
+ 0% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+ 100% { -webkit-transform: translate(0,-100%); transform: translate(0,-100%) }
+}
+
+@-webkit-keyframes btt-drawer-in {
+ 0% { -webkit-transform: translate(0,100%); transform: translate(0,100%) }
+ 100% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+}
+
+@keyframes btt-drawer-in {
+ 0% { -webkit-transform: translate(0,100%); transform: translate(0,100%) }
+ 100% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+}
+
+@-webkit-keyframes btt-drawer-out {
+ 0% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+ 100% { -webkit-transform: translate(0,100%); transform: translate(0,100%) }
+}
+
+@keyframes btt-drawer-out {
+ 0% { -webkit-transform: translate(0,0); transform: translate(0,0) }
+ 100% { -webkit-transform: translate(0,100%); transform: translate(0,100%) }
+}
+
+.el-drawer { position: absolute; -webkit-box-sizing: border-box; box-sizing: border-box; background-color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-shadow: 0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12); box-shadow: 0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12); overflow: hidden; outline: 0 }
+.el-drawer.rtl { -webkit-animation: rtl-drawer-out .3s; animation: rtl-drawer-out .3s }
+.el-drawer__open .el-drawer.rtl { -webkit-animation: rtl-drawer-in .3s 1ms; animation: rtl-drawer-in .3s 1ms }
+.el-drawer.ltr { -webkit-animation: ltr-drawer-out .3s; animation: ltr-drawer-out .3s }
+.el-drawer__open .el-drawer.ltr { -webkit-animation: ltr-drawer-in .3s 1ms; animation: ltr-drawer-in .3s 1ms }
+.el-drawer.ttb { -webkit-animation: ttb-drawer-out .3s; animation: ttb-drawer-out .3s }
+.el-drawer__open .el-drawer.ttb { -webkit-animation: ttb-drawer-in .3s 1ms; animation: ttb-drawer-in .3s 1ms }
+.el-drawer.btt { -webkit-animation: btt-drawer-out .3s; animation: btt-drawer-out .3s }
+.el-drawer__open .el-drawer.btt { -webkit-animation: btt-drawer-in .3s 1ms; animation: btt-drawer-in .3s 1ms }
+.el-drawer__wrapper { position: fixed; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; margin: 0 }
+.el-drawer__header { -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #72767b; display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 32px; padding: 20px; padding-bottom: 0 }
+.el-drawer__header > :first-child { -webkit-box-flex: 1; -ms-flex: 1; flex: 1 }
+.el-drawer__title { margin: 0; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; line-height: inherit; font-size: 1rem }
+.el-drawer__close-btn { border: none; cursor: pointer; font-size: 20px; color: inherit; background-color: transparent }
+.el-drawer__body { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; overflow: auto }
+.el-drawer__body > * { -webkit-box-sizing: border-box; box-sizing: border-box }
+.el-drawer.ltr, .el-drawer.rtl { height: 100%; top: 0; bottom: 0 }
+.el-drawer.btt, .el-drawer.ttb { width: 100%; left: 0; right: 0 }
+.el-drawer.ltr { left: 0 }
+.el-drawer.rtl { right: 0 }
+.el-drawer.ttb { top: 0 }
+.el-drawer.btt { bottom: 0 }
+.el-drawer__container { position: relative; left: 0; right: 0; top: 0; bottom: 0; height: 100%; width: 100% }
+.el-drawer-fade-enter-active { -webkit-animation: el-drawer-fade-in .3s; animation: el-drawer-fade-in .3s }
+.el-drawer-fade-leave-active { animation: el-drawer-fade-in .3s reverse }
+.el-popconfirm__main { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center }
+.el-popconfirm__icon { margin-right: 5px }
+.el-popconfirm__action { text-align: right; margin: 0 }
+.el-skeleton__item { background: #f2f2f2; display: inline-block; height: 16px; border-radius: 4px; width: 100% }
+.el-skeleton__circle { border-radius: 50%; width: 36px; height: 36px; line-height: 36px }
+.el-skeleton__circle--lg { width: 40px; height: 40px; line-height: 40px }
+.el-skeleton__circle--md { width: 28px; height: 28px; line-height: 28px }
+.el-skeleton__button { height: 40px; width: 64px; border-radius: 4px }
+.el-skeleton__p { width: 100% }
+.el-skeleton__p.is-last { width: 61% }
+.el-skeleton__p.is-first { width: 33% }
+.el-skeleton__text { width: 100%; height: 13px }
+.el-skeleton__caption { height: 12px }
+.el-skeleton__h1 { height: 20px }
+.el-skeleton__h3 { height: 18px }
+.el-skeleton__h5 { height: 16px }
+.el-skeleton__image { width: unset; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 0 }
+.el-skeleton__image svg { fill: #DCDDE0; width: 22%; height: 22% }
+
+@-webkit-keyframes el-skeleton-loading {
+ 0% { background-position: 100% 50% }
+ 100% { background-position: 0 50% }
+}
+
+@keyframes el-skeleton-loading {
+ 0% { background-position: 100% 50% }
+ 100% { background-position: 0 50% }
+}
+
+.el-skeleton { width: 100% }
+.el-skeleton__first-line { height: 16px; margin-top: 16px; background: #f2f2f2 }
+.el-skeleton__paragraph { height: 16px; margin-top: 16px; background: #f2f2f2 }
+.el-skeleton.is-animated .el-skeleton__item { background: -webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2)); background: linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%); background-size: 400% 100%; -webkit-animation: el-skeleton-loading 1.4s ease infinite; animation: el-skeleton-loading 1.4s ease infinite }
+.el-skeleton__item { background: #f2f2f2; display: inline-block; height: 16px; border-radius: 4px; width: 100% }
+.el-skeleton__circle { border-radius: 50%; width: 36px; height: 36px; line-height: 36px }
+.el-skeleton__circle--lg { width: 40px; height: 40px; line-height: 40px }
+.el-skeleton__circle--md { width: 28px; height: 28px; line-height: 28px }
+.el-skeleton__button { height: 40px; width: 64px; border-radius: 4px }
+.el-skeleton__p { width: 100% }
+.el-skeleton__p.is-last { width: 61% }
+.el-skeleton__p.is-first { width: 33% }
+.el-skeleton__text { width: 100%; height: 13px }
+.el-skeleton__caption { height: 12px }
+.el-skeleton__h1 { height: 20px }
+.el-skeleton__h3 { height: 18px }
+.el-skeleton__h5 { height: 16px }
+.el-skeleton__image { width: unset; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 0 }
+.el-skeleton__image svg { fill: #DCDDE0; width: 22%; height: 22% }
+.el-empty { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 40px 0 }
+.el-empty__image { width: 160px }
+.el-empty__image img { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; width: 100%; height: 100%; vertical-align: top; -o-object-fit: contain; object-fit: contain }
+.el-empty__image svg { fill: #DCDDE0; width: 100%; height: 100%; vertical-align: top }
+.el-empty__description { margin-top: 20px }
+.el-empty__description p { margin: 0; font-size: 14px; color: #909399 }
+.el-empty__bottom { margin-top: 20px }
+.el-descriptions-item { vertical-align: top }
+.el-descriptions-item__container { display: -webkit-box; display: -ms-flexbox; display: flex }
+.el-descriptions-item__container .el-descriptions-item__content, .el-descriptions-item__container .el-descriptions-item__label { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline }
+.el-descriptions-item__container .el-descriptions-item__content { -webkit-box-flex: 1; -ms-flex: 1; flex: 1 }
+.el-descriptions-item__label.has-colon::after { content: ':'; position: relative; top: -.5px }
+.el-descriptions-item__label.is-bordered-label { font-weight: 700; color: #909399; background: #fafafa }
+.el-descriptions-item__label:not(.is-bordered-label) { margin-right: 10px }
+.el-descriptions-item__content { word-break: break-word; overflow-wrap: break-word }
+.el-descriptions { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 14px; color: #303133 }
+.el-descriptions__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 20px }
+.el-descriptions__title { font-size: 16px; font-weight: 700 }
+.el-descriptions__body { color: #606266; background-color: #fff }
+.el-descriptions__body .el-descriptions__table { border-collapse: collapse; width: 100%; table-layout: fixed }
+.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell { -webkit-box-sizing: border-box; box-sizing: border-box; text-align: left; font-weight: 400; line-height: 1.5 }
+.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left { text-align: left }
+.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center { text-align: center }
+.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right { text-align: right }
+.el-descriptions .is-bordered { table-layout: auto }
+.el-descriptions .is-bordered .el-descriptions-item__cell { border: 1px solid #ebeef5; padding: 12px 10px }
+.el-descriptions :not(.is-bordered) .el-descriptions-item__cell { padding-bottom: 12px }
+.el-descriptions--medium.is-bordered .el-descriptions-item__cell { padding: 10px }
+.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell { padding-bottom: 10px }
+.el-descriptions--small { font-size: 12px }
+.el-descriptions--small.is-bordered .el-descriptions-item__cell { padding: 8px 10px }
+.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell { padding-bottom: 8px }
+.el-descriptions--mini { font-size: 12px }
+.el-descriptions--mini.is-bordered .el-descriptions-item__cell { padding: 6px 10px }
+.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell { padding-bottom: 6px }
+.el-descriptions-item { vertical-align: top }
+.el-descriptions-item__container { display: -webkit-box; display: -ms-flexbox; display: flex }
+.el-descriptions-item__container .el-descriptions-item__content, .el-descriptions-item__container .el-descriptions-item__label { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline }
+.el-descriptions-item__container .el-descriptions-item__content { -webkit-box-flex: 1; -ms-flex: 1; flex: 1 }
+.el-descriptions-item__label.has-colon::after { content: ':'; position: relative; top: -.5px }
+.el-descriptions-item__label.is-bordered-label { font-weight: 700; color: #909399; background: #fafafa }
+.el-descriptions-item__label:not(.is-bordered-label) { margin-right: 10px }
+.el-descriptions-item__content { word-break: break-word; overflow-wrap: break-word }
+.el-result { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 40px 30px }
+.el-result__icon svg { width: 64px; height: 64px }
+.el-result__title { margin-top: 20px }
+.el-result__title p { margin: 0; font-size: 20px; color: #303133; line-height: 1.3 }
+.el-result__subtitle { margin-top: 10px }
+.el-result__subtitle p { margin: 0; font-size: 14px; color: #606266; line-height: 1.3 }
+.el-result__extra { margin-top: 30px }
+.el-result .icon-success { fill: #67C23A }
+.el-result .icon-error { fill: #F56C6C }
+.el-result .icon-info { fill: #909399 }
+.el-result .icon-warning { fill: #E6A23C }
diff --git a/DataSendApi/Static/css/favicon.ico b/DataSendApi/Static/css/favicon.ico
new file mode 100644
index 0000000..60a5d9c
Binary files /dev/null and b/DataSendApi/Static/css/favicon.ico differ
diff --git a/DataSendApi/Static/css/fonts/element-icons.ttf b/DataSendApi/Static/css/fonts/element-icons.ttf
new file mode 100644
index 0000000..91b74de
Binary files /dev/null and b/DataSendApi/Static/css/fonts/element-icons.ttf differ
diff --git a/DataSendApi/Static/css/fonts/element-icons.woff b/DataSendApi/Static/css/fonts/element-icons.woff
new file mode 100644
index 0000000..02b9a25
Binary files /dev/null and b/DataSendApi/Static/css/fonts/element-icons.woff differ
diff --git a/DataSendApi/Static/json/pagejson.json b/DataSendApi/Static/json/pagejson.json
new file mode 100644
index 0000000..ae78315
--- /dev/null
+++ b/DataSendApi/Static/json/pagejson.json
@@ -0,0 +1,210 @@
+[
+ {
+ "id": "1",
+ "type": "学院概况数据集",
+ "data": [
+ {
+ "tablename": "ODS_ZZXXGKJCSJ",
+ "tabletitle": "中职学校概况基础数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/中职学校概况基础数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_XQJCSJ",
+ "tabletitle": "校区基础数据表(自动)",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/校区基础数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_XNSXJDSJ",
+ "tabletitle": "校内实训基地数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/校内实训基地数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_XWSXJDSJ",
+ "tabletitle": "校外实训基地数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/校外实训基地数据表数据填报模板.xls"
+ }
+ ]
+
+
+
+ },
+ {
+ "id": "2",
+ "type": "教育教学数据集",
+ "data": [
+ {
+ "tablename": "ODS_ZZKCXXSJ",
+ "tabletitle": "中职课程信息数据表(自动)",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/中职课程信息数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_ZZXKPKSJ",
+ "tabletitle": "中职巡课排课数据表(自动)",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/中职巡课排课数据表数据填报模板.xls"
+ }
+ ]
+
+
+
+ },
+ {
+ "id": "6",
+ "type": "教师发展数据集",
+ "data": [
+ {
+ "tablename": "ODS_JXPXSJ",
+ "tabletitle": "进修培训数据表(自动)",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/进修培训数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_ZZZSSJ",
+ "tabletitle": "资质证书数据表(自动)",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/资质证书数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_GZPJSJ",
+ "tabletitle": "工作评价数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/工作评价数据表数据填报模板.xls"
+ }
+ ]
+ },
+ {
+ "id": "3",
+ "type": "教材选用数据集",
+ "data": [
+ {
+ "tablename": "ODS_JCXYSJ",
+ "tabletitle": "教材选用数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/教材选用数据表数据填报模板.xls"
+ }
+ ]
+ },
+ {
+ "id": "4",
+ "type": "实习实训数据集",
+ "data": [
+ {
+ "tablename": "ODS_ZZSXJCSJ",
+ "tabletitle": "中职实习基础数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/中职实习基础数据表数据填报模板.xls"
+ }
+
+ ]
+ },
+ {
+ "id": "5",
+ "type": "日常活动数据集",
+ "data": [
+ {
+ "tablename": "ODS_DZZQKJCSJ",
+ "tabletitle": "党组织情况基础数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/党组织情况基础数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_DYFZQKJCSJ",
+ "tabletitle": "党员发展情况基础数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/党员发展情况基础数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_DJHDDYGBXXSJ",
+ "tabletitle": "党建活动党员干部学习数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/党建活动党员干部学习数据表数据填报模板.xls"
+ },
+
+ {
+ "tablename": "ODS_DJHDSHYKSJ",
+ "tabletitle": "党建活动三会一课数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/党建活动三会一课数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_DJHDDYDHSJ",
+ "tabletitle": "党建活动党员大会数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/党建活动党员大会数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_DJHDDYRCSJ",
+ "tabletitle": "党建活动党员日常数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/党建活动党员日常数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_DJHDDYZTDRSJ",
+ "tabletitle": "党建活动党员主题党日数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/党建活动党员主题党日数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_CJSXHDSJ",
+ "tabletitle": "参加赛事活动数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/参加赛事活动数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_ZZCJSTHDSJ",
+ "tabletitle": "职参加社团活动数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/职参加社团活动数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_DYHDSJ",
+ "tabletitle": "德育活动数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/德育活动数据表数据填报模板.xls"
+ }
+
+ ]
+ },
+ {
+ "id": "7",
+ "type": "学生综合素养数据集",
+ "data": [
+ {
+ "tablename": "ODS_WFJCKCJSJ",
+ "tabletitle": "文化基础课成绩数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/文化基础课成绩数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_XSZHCJPJSJ",
+ "tabletitle": "学生综合成绩与评价数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/学生综合成绩与评价数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_ZZBYQXSXSJ",
+ "tabletitle": "中职毕业去向【升学】数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/中职毕业去向【升学】数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_ZZBYQXJYSJ",
+ "tabletitle": "中职毕业去向【就业】数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/中职毕业去向【就业】数据表数据填报模板.xls"
+ },
+ {
+ "tablename": "ODS_ZZBYQXWJYSJ",
+ "tabletitle": "中职毕业去向【未就业】数据表",
+ "count": 0,
+ "downtemplatelink": "/Static/templateexcel/中职毕业去向【未就业】数据表数据填报模板.xls"
+ }
+
+ ]
+ }
+]
\ No newline at end of file
diff --git a/DataSendApi/Static/script/axios.js b/DataSendApi/Static/script/axios.js
new file mode 100644
index 0000000..b8fe750
--- /dev/null
+++ b/DataSendApi/Static/script/axios.js
@@ -0,0 +1,2 @@
+!function (e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).axios = t() }(this, (function () { "use strict"; function e(t) { return e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }, e(t) } function t(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function n(e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) } } function r(e, t, r) { return t && n(e.prototype, t), r && n(e, r), Object.defineProperty(e, "prototype", { writable: !1 }), e } function o(e, t) { return function () { return e.apply(t, arguments) } } var i, s = Object.prototype.toString, a = Object.getPrototypeOf, u = (i = Object.create(null), function (e) { var t = s.call(e); return i[t] || (i[t] = t.slice(8, -1).toLowerCase()) }), c = function (e) { return e = e.toLowerCase(), function (t) { return u(t) === e } }, f = function (t) { return function (n) { return e(n) === t } }, l = Array.isArray, d = f("undefined"); var h = c("ArrayBuffer"); var p = f("string"), m = f("function"), v = f("number"), y = function (t) { return null !== t && "object" === e(t) }, b = function (e) { if ("object" !== u(e)) return !1; var t = a(e); return !(null !== t && t !== Object.prototype && null !== Object.getPrototypeOf(t) || Symbol.toStringTag in e || Symbol.iterator in e) }, g = c("Date"), E = c("File"), w = c("Blob"), O = c("FileList"), S = c("URLSearchParams"); function R(t, n) { var r, o, i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, s = i.allOwnKeys, a = void 0 !== s && s; if (null != t) if ("object" !== e(t) && (t = [t]), l(t)) for (r = 0, o = t.length; r < o; r++)n.call(null, t[r], r, t); else { var u, c = a ? Object.getOwnPropertyNames(t) : Object.keys(t), f = c.length; for (r = 0; r < f; r++)u = c[r], n.call(null, t[u], u, t) } } var A, j = (A = "undefined" != typeof Uint8Array && a(Uint8Array), function (e) { return A && e instanceof A }), T = c("HTMLFormElement"), x = function (e) { var t = Object.prototype.hasOwnProperty; return function (e, n) { return t.call(e, n) } }(), C = c("RegExp"), N = function (e, t) { var n = Object.getOwnPropertyDescriptors(e), r = {}; R(n, (function (n, o) { !1 !== t(n, o, e) && (r[o] = n) })), Object.defineProperties(e, r) }, P = { isArray: l, isArrayBuffer: h, isBuffer: function (e) { return null !== e && !d(e) && null !== e.constructor && !d(e.constructor) && m(e.constructor.isBuffer) && e.constructor.isBuffer(e) }, isFormData: function (e) { var t = "[object FormData]"; return e && ("function" == typeof FormData && e instanceof FormData || s.call(e) === t || m(e.toString) && e.toString() === t) }, isArrayBufferView: function (e) { return "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && h(e.buffer) }, isString: p, isNumber: v, isBoolean: function (e) { return !0 === e || !1 === e }, isObject: y, isPlainObject: b, isUndefined: d, isDate: g, isFile: E, isBlob: w, isRegExp: C, isFunction: m, isStream: function (e) { return y(e) && m(e.pipe) }, isURLSearchParams: S, isTypedArray: j, isFileList: O, forEach: R, merge: function e() { for (var t = {}, n = function (n, r) { b(t[r]) && b(n) ? t[r] = e(t[r], n) : b(n) ? t[r] = e({}, n) : l(n) ? t[r] = n.slice() : t[r] = n }, r = 0, o = arguments.length; r < o; r++)arguments[r] && R(arguments[r], n); return t }, extend: function (e, t, n) { var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {}, i = r.allOwnKeys; return R(t, (function (t, r) { n && m(t) ? e[r] = o(t, n) : e[r] = t }), { allOwnKeys: i }), e }, trim: function (e) { return e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "") }, stripBOM: function (e) { return 65279 === e.charCodeAt(0) && (e = e.slice(1)), e }, inherits: function (e, t, n, r) { e.prototype = Object.create(t.prototype, r), e.prototype.constructor = e, Object.defineProperty(e, "super", { value: t.prototype }), n && Object.assign(e.prototype, n) }, toFlatObject: function (e, t, n, r) { var o, i, s, u = {}; if (t = t || {}, null == e) return t; do { for (i = (o = Object.getOwnPropertyNames(e)).length; i-- > 0;)s = o[i], r && !r(s, e, t) || u[s] || (t[s] = e[s], u[s] = !0); e = !1 !== n && a(e) } while (e && (!n || n(e, t)) && e !== Object.prototype); return t }, kindOf: u, kindOfTest: c, endsWith: function (e, t, n) { e = String(e), (void 0 === n || n > e.length) && (n = e.length), n -= t.length; var r = e.indexOf(t, n); return -1 !== r && r === n }, toArray: function (e) { if (!e) return null; if (l(e)) return e; var t = e.length; if (!v(t)) return null; for (var n = new Array(t); t-- > 0;)n[t] = e[t]; return n }, forEachEntry: function (e, t) { for (var n, r = (e && e[Symbol.iterator]).call(e); (n = r.next()) && !n.done;) { var o = n.value; t.call(e, o[0], o[1]) } }, matchAll: function (e, t) { for (var n, r = []; null !== (n = e.exec(t));)r.push(n); return r }, isHTMLForm: T, hasOwnProperty: x, hasOwnProp: x, reduceDescriptors: N, freezeMethods: function (e) { N(e, (function (t, n) { var r = e[n]; m(r) && (t.enumerable = !1, "writable" in t ? t.writable = !1 : t.set || (t.set = function () { throw Error("Can not read-only method '" + n + "'") })) })) }, toObjectSet: function (e, t) { var n = {}, r = function (e) { e.forEach((function (e) { n[e] = !0 })) }; return l(e) ? r(e) : r(String(e).split(t)), n }, toCamelCase: function (e) { return e.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g, (function (e, t, n) { return t.toUpperCase() + n })) }, noop: function () { }, toFiniteNumber: function (e, t) { return e = +e, Number.isFinite(e) ? e : t } }; function _(e, t, n, r, o) { Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = (new Error).stack, this.message = e, this.name = "AxiosError", t && (this.code = t), n && (this.config = n), r && (this.request = r), o && (this.response = o) } P.inherits(_, Error, { toJSON: function () { return { message: this.message, name: this.name, description: this.description, number: this.number, fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, config: this.config, code: this.code, status: this.response && this.response.status ? this.response.status : null } } }); var B = _.prototype, D = {};["ERR_BAD_OPTION_VALUE", "ERR_BAD_OPTION", "ECONNABORTED", "ETIMEDOUT", "ERR_NETWORK", "ERR_FR_TOO_MANY_REDIRECTS", "ERR_DEPRECATED", "ERR_BAD_RESPONSE", "ERR_BAD_REQUEST", "ERR_CANCELED", "ERR_NOT_SUPPORT", "ERR_INVALID_URL"].forEach((function (e) { D[e] = { value: e } })), Object.defineProperties(_, D), Object.defineProperty(B, "isAxiosError", { value: !0 }), _.from = function (e, t, n, r, o, i) { var s = Object.create(B); return P.toFlatObject(e, s, (function (e) { return e !== Error.prototype }), (function (e) { return "isAxiosError" !== e })), _.call(s, e.message, t, n, r, o), s.cause = e, s.name = e.name, i && Object.assign(s, i), s }; var F = "object" == ("undefined" == typeof self ? "undefined" : e(self)) ? self.FormData : window.FormData; function U(e) { return P.isPlainObject(e) || P.isArray(e) } function k(e) { return P.endsWith(e, "[]") ? e.slice(0, -2) : e } function L(e, t, n) { return e ? e.concat(t).map((function (e, t) { return e = k(e), !n && t ? "[" + e + "]" : e })).join(n ? "." : "") : t } var z = P.toFlatObject(P, {}, null, (function (e) { return /^is[A-Z]/.test(e) })); function q(t, n, r) { if (!P.isObject(t)) throw new TypeError("target must be an object"); n = n || new (F || FormData); var o, i = (r = P.toFlatObject(r, { metaTokens: !0, dots: !1, indexes: !1 }, !1, (function (e, t) { return !P.isUndefined(t[e]) }))).metaTokens, s = r.visitor || l, a = r.dots, u = r.indexes, c = (r.Blob || "undefined" != typeof Blob && Blob) && ((o = n) && P.isFunction(o.append) && "FormData" === o[Symbol.toStringTag] && o[Symbol.iterator]); if (!P.isFunction(s)) throw new TypeError("visitor must be a function"); function f(e) { if (null === e) return ""; if (P.isDate(e)) return e.toISOString(); if (!c && P.isBlob(e)) throw new _("Blob is not supported. Use a Buffer instead."); return P.isArrayBuffer(e) || P.isTypedArray(e) ? c && "function" == typeof Blob ? new Blob([e]) : Buffer.from(e) : e } function l(t, r, o) { var s = t; if (t && !o && "object" === e(t)) if (P.endsWith(r, "{}")) r = i ? r : r.slice(0, -2), t = JSON.stringify(t); else if (P.isArray(t) && function (e) { return P.isArray(e) && !e.some(U) }(t) || P.isFileList(t) || P.endsWith(r, "[]") && (s = P.toArray(t))) return r = k(r), s.forEach((function (e, t) { !P.isUndefined(e) && null !== e && n.append(!0 === u ? L([r], t, a) : null === u ? r : r + "[]", f(e)) })), !1; return !!U(t) || (n.append(L(o, r, a), f(t)), !1) } var d = [], h = Object.assign(z, { defaultVisitor: l, convertValue: f, isVisitable: U }); if (!P.isObject(t)) throw new TypeError("data must be an object"); return function e(t, r) { if (!P.isUndefined(t)) { if (-1 !== d.indexOf(t)) throw Error("Circular reference detected in " + r.join(".")); d.push(t), P.forEach(t, (function (t, o) { !0 === (!(P.isUndefined(t) || null === t) && s.call(n, t, P.isString(o) ? o.trim() : o, r, h)) && e(t, r ? r.concat(o) : [o]) })), d.pop() } }(t), n } function I(e) { var t = { "!": "%21", "'": "%27", "(": "%28", ")": "%29", "~": "%7E", "%20": "+", "%00": "\0" }; return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, (function (e) { return t[e] })) } function M(e, t) { this._pairs = [], e && q(e, this, t) } var J = M.prototype; function H(e) { return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]") } function V(e, t, n) { if (!t) return e; var r, o = n && n.encode || H, i = n && n.serialize; if (r = i ? i(t, n) : P.isURLSearchParams(t) ? t.toString() : new M(t, n).toString(o)) { var s = e.indexOf("#"); -1 !== s && (e = e.slice(0, s)), e += (-1 === e.indexOf("?") ? "?" : "&") + r } return e } J.append = function (e, t) { this._pairs.push([e, t]) }, J.toString = function (e) { var t = e ? function (t) { return e.call(this, t, I) } : I; return this._pairs.map((function (e) { return t(e[0]) + "=" + t(e[1]) }), "").join("&") }; var W, K = function () { function e() { t(this, e), this.handlers = [] } return r(e, [{ key: "use", value: function (e, t, n) { return this.handlers.push({ fulfilled: e, rejected: t, synchronous: !!n && n.synchronous, runWhen: n ? n.runWhen : null }), this.handlers.length - 1 } }, { key: "eject", value: function (e) { this.handlers[e] && (this.handlers[e] = null) } }, { key: "clear", value: function () { this.handlers && (this.handlers = []) } }, { key: "forEach", value: function (e) { P.forEach(this.handlers, (function (t) { null !== t && e(t) })) } }]), e }(), X = { silentJSONParsing: !0, forcedJSONParsing: !0, clarifyTimeoutError: !1 }, $ = "undefined" != typeof URLSearchParams ? URLSearchParams : M, Q = FormData, G = ("undefined" == typeof navigator || "ReactNative" !== (W = navigator.product) && "NativeScript" !== W && "NS" !== W) && "undefined" != typeof window && "undefined" != typeof document, Y = { isBrowser: !0, classes: { URLSearchParams: $, FormData: Q, Blob: Blob }, isStandardBrowserEnv: G, protocols: ["http", "https", "file", "blob", "url", "data"] }; function Z(e) { function t(e, n, r, o) { var i = e[o++], s = Number.isFinite(+i), a = o >= e.length; return i = !i && P.isArray(r) ? r.length : i, a ? (P.hasOwnProp(r, i) ? r[i] = [r[i], n] : r[i] = n, !s) : (r[i] && P.isObject(r[i]) || (r[i] = []), t(e, n, r[i], o) && P.isArray(r[i]) && (r[i] = function (e) { var t, n, r = {}, o = Object.keys(e), i = o.length; for (t = 0; t < i; t++)r[n = o[t]] = e[n]; return r }(r[i])), !s) } if (P.isFormData(e) && P.isFunction(e.entries)) { var n = {}; return P.forEachEntry(e, (function (e, r) { t(function (e) { return P.matchAll(/\w+|\[(\w*)]/g, e).map((function (e) { return "[]" === e[0] ? "" : e[1] || e[0] })) }(e), r, n, 0) })), n } return null } var ee = Y.isStandardBrowserEnv ? { write: function (e, t, n, r, o, i) { var s = []; s.push(e + "=" + encodeURIComponent(t)), P.isNumber(n) && s.push("expires=" + new Date(n).toGMTString()), P.isString(r) && s.push("path=" + r), P.isString(o) && s.push("domain=" + o), !0 === i && s.push("secure"), document.cookie = s.join("; ") }, read: function (e) { var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)")); return t ? decodeURIComponent(t[3]) : null }, remove: function (e) { this.write(e, "", Date.now() - 864e5) } } : { write: function () { }, read: function () { return null }, remove: function () { } }; function te(e, t) { return e && !/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t) ? function (e, t) { return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e }(e, t) : t } var ne = Y.isStandardBrowserEnv ? function () { var e, t = /(msie|trident)/i.test(navigator.userAgent), n = document.createElement("a"); function r(e) { var r = e; return t && (n.setAttribute("href", r), r = n.href), n.setAttribute("href", r), { href: n.href, protocol: n.protocol ? n.protocol.replace(/:$/, "") : "", host: n.host, search: n.search ? n.search.replace(/^\?/, "") : "", hash: n.hash ? n.hash.replace(/^#/, "") : "", hostname: n.hostname, port: n.port, pathname: "/" === n.pathname.charAt(0) ? n.pathname : "/" + n.pathname } } return e = r(window.location.href), function (t) { var n = P.isString(t) ? r(t) : t; return n.protocol === e.protocol && n.host === e.host } }() : function () { return !0 }; function re(e, t, n) { _.call(this, null == e ? "canceled" : e, _.ERR_CANCELED, t, n), this.name = "CanceledError" } P.inherits(re, _, { __CANCEL__: !0 }); var oe = P.toObjectSet(["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host", "if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization", "referer", "retry-after", "user-agent"]), ie = Symbol("internals"), se = Symbol("defaults"); function ae(e) { return e && String(e).trim().toLowerCase() } function ue(e) { return !1 === e || null == e ? e : P.isArray(e) ? e.map(ue) : String(e) } function ce(e, t, n, r) { return P.isFunction(r) ? r.call(this, t, n) : P.isString(t) ? P.isString(r) ? -1 !== t.indexOf(r) : P.isRegExp(r) ? r.test(t) : void 0 : void 0 } function fe(e, t) { t = t.toLowerCase(); for (var n, r = Object.keys(e), o = r.length; o-- > 0;)if (t === (n = r[o]).toLowerCase()) return n; return null } function le(e, t) { e && this.set(e), this[se] = t || null } function de(e, t) { var n = 0, r = function (e, t) { e = e || 10; var n, r = new Array(e), o = new Array(e), i = 0, s = 0; return t = void 0 !== t ? t : 1e3, function (a) { var u = Date.now(), c = o[s]; n || (n = u), r[i] = a, o[i] = u; for (var f = s, l = 0; f !== i;)l += r[f++], f %= e; if ((i = (i + 1) % e) === s && (s = (s + 1) % e), !(u - n < t)) { var d = c && u - c; return d ? Math.round(1e3 * l / d) : void 0 } } }(50, 250); return function (o) { var i = o.loaded, s = o.lengthComputable ? o.total : void 0, a = i - n, u = r(a); n = i; var c = { loaded: i, total: s, progress: s ? i / s : void 0, bytes: a, rate: u || void 0, estimated: u && s && i <= s ? (s - i) / u : void 0 }; c[t ? "download" : "upload"] = !0, e(c) } } function he(e) { return new Promise((function (t, n) { var r, o = e.data, i = le.from(e.headers).normalize(), s = e.responseType; function a() { e.cancelToken && e.cancelToken.unsubscribe(r), e.signal && e.signal.removeEventListener("abort", r) } P.isFormData(o) && Y.isStandardBrowserEnv && i.setContentType(!1); var u = new XMLHttpRequest; if (e.auth) { var c = e.auth.username || "", f = e.auth.password ? unescape(encodeURIComponent(e.auth.password)) : ""; i.set("Authorization", "Basic " + btoa(c + ":" + f)) } var l = te(e.baseURL, e.url); function d() { if (u) { var r = le.from("getAllResponseHeaders" in u && u.getAllResponseHeaders()); !function (e, t, n) { var r = n.config.validateStatus; n.status && r && !r(n.status) ? t(new _("Request failed with status code " + n.status, [_.ERR_BAD_REQUEST, _.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4], n.config, n.request, n)) : e(n) }((function (e) { t(e), a() }), (function (e) { n(e), a() }), { data: s && "text" !== s && "json" !== s ? u.response : u.responseText, status: u.status, statusText: u.statusText, headers: r, config: e, request: u }), u = null } } if (u.open(e.method.toUpperCase(), V(l, e.params, e.paramsSerializer), !0), u.timeout = e.timeout, "onloadend" in u ? u.onloadend = d : u.onreadystatechange = function () { u && 4 === u.readyState && (0 !== u.status || u.responseURL && 0 === u.responseURL.indexOf("file:")) && setTimeout(d) }, u.onabort = function () { u && (n(new _("Request aborted", _.ECONNABORTED, e, u)), u = null) }, u.onerror = function () { n(new _("Network Error", _.ERR_NETWORK, e, u)), u = null }, u.ontimeout = function () { var t = e.timeout ? "timeout of " + e.timeout + "ms exceeded" : "timeout exceeded", r = e.transitional || X; e.timeoutErrorMessage && (t = e.timeoutErrorMessage), n(new _(t, r.clarifyTimeoutError ? _.ETIMEDOUT : _.ECONNABORTED, e, u)), u = null }, Y.isStandardBrowserEnv) { var h = (e.withCredentials || ne(l)) && e.xsrfCookieName && ee.read(e.xsrfCookieName); h && i.set(e.xsrfHeaderName, h) } void 0 === o && i.setContentType(null), "setRequestHeader" in u && P.forEach(i.toJSON(), (function (e, t) { u.setRequestHeader(t, e) })), P.isUndefined(e.withCredentials) || (u.withCredentials = !!e.withCredentials), s && "json" !== s && (u.responseType = e.responseType), "function" == typeof e.onDownloadProgress && u.addEventListener("progress", de(e.onDownloadProgress, !0)), "function" == typeof e.onUploadProgress && u.upload && u.upload.addEventListener("progress", de(e.onUploadProgress)), (e.cancelToken || e.signal) && (r = function (t) { u && (n(!t || t.type ? new re(null, e, u) : t), u.abort(), u = null) }, e.cancelToken && e.cancelToken.subscribe(r), e.signal && (e.signal.aborted ? r() : e.signal.addEventListener("abort", r))); var p, m = (p = /^([-+\w]{1,25})(:?\/\/|:)/.exec(l)) && p[1] || ""; m && -1 === Y.protocols.indexOf(m) ? n(new _("Unsupported protocol " + m + ":", _.ERR_BAD_REQUEST, e)) : u.send(o || null) })) } Object.assign(le.prototype, { set: function (e, t, n) { var r = this; function o(e, t, n) { var o = ae(t); if (!o) throw new Error("header name must be a non-empty string"); var i = fe(r, o); (!i || !0 === n || !1 !== r[i] && !1 !== n) && (r[i || t] = ue(e)) } return P.isPlainObject(e) ? P.forEach(e, (function (e, n) { o(e, n, t) })) : o(t, e, n), this }, get: function (e, t) { if (e = ae(e)) { var n = fe(this, e); if (n) { var r = this[n]; if (!t) return r; if (!0 === t) return function (e) { for (var t, n = Object.create(null), r = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; t = r.exec(e);)n[t[1]] = t[2]; return n }(r); if (P.isFunction(t)) return t.call(this, r, n); if (P.isRegExp(t)) return t.exec(r); throw new TypeError("parser must be boolean|regexp|function") } } }, has: function (e, t) { if (e = ae(e)) { var n = fe(this, e); return !(!n || t && !ce(0, this[n], n, t)) } return !1 }, delete: function (e, t) { var n = this, r = !1; function o(e) { if (e = ae(e)) { var o = fe(n, e); !o || t && !ce(0, n[o], o, t) || (delete n[o], r = !0) } } return P.isArray(e) ? e.forEach(o) : o(e), r }, clear: function () { return Object.keys(this).forEach(this.delete.bind(this)) }, normalize: function (e) { var t = this, n = {}; return P.forEach(this, (function (r, o) { var i = fe(n, o); if (i) return t[i] = ue(r), void delete t[o]; var s = e ? function (e) { return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (function (e, t, n) { return t.toUpperCase() + n })) }(o) : String(o).trim(); s !== o && delete t[o], t[s] = ue(r), n[s] = !0 })), this }, toJSON: function (e) { var t = Object.create(null); return P.forEach(Object.assign({}, this[se] || null, this), (function (n, r) { null != n && !1 !== n && (t[r] = e && P.isArray(n) ? n.join(", ") : n) })), t } }), Object.assign(le, { from: function (e) { return P.isString(e) ? new this((i = {}, (t = e) && t.split("\n").forEach((function (e) { o = e.indexOf(":"), n = e.substring(0, o).trim().toLowerCase(), r = e.substring(o + 1).trim(), !n || i[n] && oe[n] || ("set-cookie" === n ? i[n] ? i[n].push(r) : i[n] = [r] : i[n] = i[n] ? i[n] + ", " + r : r) })), i)) : e instanceof this ? e : new this(e); var t, n, r, o, i }, accessor: function (e) { var t = (this[ie] = this[ie] = { accessors: {} }).accessors, n = this.prototype; function r(e) { var r = ae(e); t[r] || (!function (e, t) { var n = P.toCamelCase(" " + t);["get", "set", "has"].forEach((function (r) { Object.defineProperty(e, r + n, { value: function (e, n, o) { return this[r].call(this, t, e, n, o) }, configurable: !0 }) })) }(n, e), t[r] = !0) } return P.isArray(e) ? e.forEach(r) : r(e), this } }), le.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent"]), P.freezeMethods(le.prototype), P.freezeMethods(le); var pe = { http: he, xhr: he }, me = function (e) { if (P.isString(e)) { var t = pe[e]; if (!e) throw Error(P.hasOwnProp(e) ? "Adapter '".concat(e, "' is not available in the build") : "Can not resolve adapter '".concat(e, "'")); return t } if (!P.isFunction(e)) throw new TypeError("adapter is not a function"); return e }, ve = { "Content-Type": "application/x-www-form-urlencoded" }; var ye, be = { transitional: X, adapter: ("undefined" != typeof XMLHttpRequest ? ye = me("xhr") : "undefined" != typeof process && "process" === P.kindOf(process) && (ye = me("http")), ye), transformRequest: [function (e, t) { var n, r = t.getContentType() || "", o = r.indexOf("application/json") > -1, i = P.isObject(e); if (i && P.isHTMLForm(e) && (e = new FormData(e)), P.isFormData(e)) return o && o ? JSON.stringify(Z(e)) : e; if (P.isArrayBuffer(e) || P.isBuffer(e) || P.isStream(e) || P.isFile(e) || P.isBlob(e)) return e; if (P.isArrayBufferView(e)) return e.buffer; if (P.isURLSearchParams(e)) return t.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), e.toString(); if (i) { if (r.indexOf("application/x-www-form-urlencoded") > -1) return function (e, t) { return q(e, new Y.classes.URLSearchParams, Object.assign({ visitor: function (e, t, n, r) { return Y.isNode && P.isBuffer(e) ? (this.append(t, e.toString("base64")), !1) : r.defaultVisitor.apply(this, arguments) } }, t)) }(e, this.formSerializer).toString(); if ((n = P.isFileList(e)) || r.indexOf("multipart/form-data") > -1) { var s = this.env && this.env.FormData; return q(n ? { "files[]": e } : e, s && new s, this.formSerializer) } } return i || o ? (t.setContentType("application/json", !1), function (e, t, n) { if (P.isString(e)) try { return (t || JSON.parse)(e), P.trim(e) } catch (e) { if ("SyntaxError" !== e.name) throw e } return (n || JSON.stringify)(e) }(e)) : e }], transformResponse: [function (e) { var t = this.transitional || be.transitional, n = t && t.forcedJSONParsing, r = "json" === this.responseType; if (e && P.isString(e) && (n && !this.responseType || r)) { var o = !(t && t.silentJSONParsing) && r; try { return JSON.parse(e) } catch (e) { if (o) { if ("SyntaxError" === e.name) throw _.from(e, _.ERR_BAD_RESPONSE, this, null, this.response); throw e } } } return e }], timeout: 0, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN", maxContentLength: -1, maxBodyLength: -1, env: { FormData: Y.classes.FormData, Blob: Y.classes.Blob }, validateStatus: function (e) { return e >= 200 && e < 300 }, headers: { common: { Accept: "application/json, text/plain, */*" } } }; function ge(e, t) { var n = this || be, r = t || n, o = le.from(r.headers), i = r.data; return P.forEach(e, (function (e) { i = e.call(n, i, o.normalize(), t ? t.status : void 0) })), o.normalize(), i } function Ee(e) { return !(!e || !e.__CANCEL__) } function we(e) { if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted) throw new re } function Oe(e) { return we(e), e.headers = le.from(e.headers), e.data = ge.call(e, e.transformRequest), (e.adapter || be.adapter)(e).then((function (t) { return we(e), t.data = ge.call(e, e.transformResponse, t), t.headers = le.from(t.headers), t }), (function (t) { return Ee(t) || (we(e), t && t.response && (t.response.data = ge.call(e, e.transformResponse, t.response), t.response.headers = le.from(t.response.headers))), Promise.reject(t) })) } function Se(e, t) { t = t || {}; var n = {}; function r(e, t) { return P.isPlainObject(e) && P.isPlainObject(t) ? P.merge(e, t) : P.isPlainObject(t) ? P.merge({}, t) : P.isArray(t) ? t.slice() : t } function o(n) { return P.isUndefined(t[n]) ? P.isUndefined(e[n]) ? void 0 : r(void 0, e[n]) : r(e[n], t[n]) } function i(e) { if (!P.isUndefined(t[e])) return r(void 0, t[e]) } function s(n) { return P.isUndefined(t[n]) ? P.isUndefined(e[n]) ? void 0 : r(void 0, e[n]) : r(void 0, t[n]) } function a(n) { return n in t ? r(e[n], t[n]) : n in e ? r(void 0, e[n]) : void 0 } var u = { url: i, method: i, data: i, baseURL: s, transformRequest: s, transformResponse: s, paramsSerializer: s, timeout: s, timeoutMessage: s, withCredentials: s, adapter: s, responseType: s, xsrfCookieName: s, xsrfHeaderName: s, onUploadProgress: s, onDownloadProgress: s, decompress: s, maxContentLength: s, maxBodyLength: s, beforeRedirect: s, transport: s, httpAgent: s, httpsAgent: s, cancelToken: s, socketPath: s, responseEncoding: s, validateStatus: a }; return P.forEach(Object.keys(e).concat(Object.keys(t)), (function (e) { var t = u[e] || o, r = t(e); P.isUndefined(r) && t !== a || (n[e] = r) })), n } P.forEach(["delete", "get", "head"], (function (e) { be.headers[e] = {} })), P.forEach(["post", "put", "patch"], (function (e) { be.headers[e] = P.merge(ve) })); var Re = "1.1.3", Ae = {};["object", "boolean", "number", "function", "string", "symbol"].forEach((function (t, n) { Ae[t] = function (r) { return e(r) === t || "a" + (n < 1 ? "n " : " ") + t } })); var je = {}; Ae.transitional = function (e, t, n) { function r(e, t) { return "[Axios v1.1.3] Transitional option '" + e + "'" + t + (n ? ". " + n : "") } return function (n, o, i) { if (!1 === e) throw new _(r(o, " has been removed" + (t ? " in " + t : "")), _.ERR_DEPRECATED); return t && !je[o] && (je[o] = !0, console.warn(r(o, " has been deprecated since v" + t + " and will be removed in the near future"))), !e || e(n, o, i) } }; var Te = { assertOptions: function (t, n, r) { if ("object" !== e(t)) throw new _("options must be an object", _.ERR_BAD_OPTION_VALUE); for (var o = Object.keys(t), i = o.length; i-- > 0;) { var s = o[i], a = n[s]; if (a) { var u = t[s], c = void 0 === u || a(u, s, t); if (!0 !== c) throw new _("option " + s + " must be " + c, _.ERR_BAD_OPTION_VALUE) } else if (!0 !== r) throw new _("Unknown option " + s, _.ERR_BAD_OPTION) } }, validators: Ae }, xe = Te.validators, Ce = function () { function e(n) { t(this, e), this.defaults = n, this.interceptors = { request: new K, response: new K } } return r(e, [{ key: "request", value: function (e, t) { "string" == typeof e ? (t = t || {}).url = e : t = e || {}; var n = t = Se(this.defaults, t), r = n.transitional, o = n.paramsSerializer; void 0 !== r && Te.assertOptions(r, { silentJSONParsing: xe.transitional(xe.boolean), forcedJSONParsing: xe.transitional(xe.boolean), clarifyTimeoutError: xe.transitional(xe.boolean) }, !1), void 0 !== o && Te.assertOptions(o, { encode: xe.function, serialize: xe.function }, !0), t.method = (t.method || this.defaults.method || "get").toLowerCase(); var i = t.headers && P.merge(t.headers.common, t.headers[t.method]); i && P.forEach(["delete", "get", "head", "post", "put", "patch", "common"], (function (e) { delete t.headers[e] })), t.headers = new le(t.headers, i); var s = [], a = !0; this.interceptors.request.forEach((function (e) { "function" == typeof e.runWhen && !1 === e.runWhen(t) || (a = a && e.synchronous, s.unshift(e.fulfilled, e.rejected)) })); var u, c = []; this.interceptors.response.forEach((function (e) { c.push(e.fulfilled, e.rejected) })); var f, l = 0; if (!a) { var d = [Oe.bind(this), void 0]; for (d.unshift.apply(d, s), d.push.apply(d, c), f = d.length, u = Promise.resolve(t); l < f;)u = u.then(d[l++], d[l++]); return u } f = s.length; var h = t; for (l = 0; l < f;) { var p = s[l++], m = s[l++]; try { h = p(h) } catch (e) { m.call(this, e); break } } try { u = Oe.call(this, h) } catch (e) { return Promise.reject(e) } for (l = 0, f = c.length; l < f;)u = u.then(c[l++], c[l++]); return u } }, { key: "getUri", value: function (e) { return V(te((e = Se(this.defaults, e)).baseURL, e.url), e.params, e.paramsSerializer) } }]), e }(); P.forEach(["delete", "get", "head", "options"], (function (e) { Ce.prototype[e] = function (t, n) { return this.request(Se(n || {}, { method: e, url: t, data: (n || {}).data })) } })), P.forEach(["post", "put", "patch"], (function (e) { function t(t) { return function (n, r, o) { return this.request(Se(o || {}, { method: e, headers: t ? { "Content-Type": "multipart/form-data" } : {}, url: n, data: r })) } } Ce.prototype[e] = t(), Ce.prototype[e + "Form"] = t(!0) })); var Ne = function () { function e(n) { if (t(this, e), "function" != typeof n) throw new TypeError("executor must be a function."); var r; this.promise = new Promise((function (e) { r = e })); var o = this; this.promise.then((function (e) { if (o._listeners) { for (var t = o._listeners.length; t-- > 0;)o._listeners[t](e); o._listeners = null } })), this.promise.then = function (e) { var t, n = new Promise((function (e) { o.subscribe(e), t = e })).then(e); return n.cancel = function () { o.unsubscribe(t) }, n }, n((function (e, t, n) { o.reason || (o.reason = new re(e, t, n), r(o.reason)) })) } return r(e, [{ key: "throwIfRequested", value: function () { if (this.reason) throw this.reason } }, { key: "subscribe", value: function (e) { this.reason ? e(this.reason) : this._listeners ? this._listeners.push(e) : this._listeners = [e] } }, { key: "unsubscribe", value: function (e) { if (this._listeners) { var t = this._listeners.indexOf(e); -1 !== t && this._listeners.splice(t, 1) } } }], [{ key: "source", value: function () { var t; return { token: new e((function (e) { t = e })), cancel: t } } }]), e }(); var Pe = function e(t) { var n = new Ce(t), r = o(Ce.prototype.request, n); return P.extend(r, Ce.prototype, n, { allOwnKeys: !0 }), P.extend(r, n, null, { allOwnKeys: !0 }), r.create = function (n) { return e(Se(t, n)) }, r }(be); return Pe.Axios = Ce, Pe.CanceledError = re, Pe.CancelToken = Ne, Pe.isCancel = Ee, Pe.VERSION = Re, Pe.toFormData = q, Pe.AxiosError = _, Pe.Cancel = Pe.CanceledError, Pe.all = function (e) { return Promise.all(e) }, Pe.spread = function (e) { return function (t) { return e.apply(null, t) } }, Pe.isAxiosError = function (e) { return P.isObject(e) && !0 === e.isAxiosError }, Pe.formToJSON = function (e) { return Z(P.isHTMLForm(e) ? new FormData(e) : e) }, Pe }));
+//# sourceMappingURL=axios.min.js.map
\ No newline at end of file
diff --git a/DataSendApi/Static/script/element-ui.js b/DataSendApi/Static/script/element-ui.js
new file mode 100644
index 0000000..72bd1d3
--- /dev/null
+++ b/DataSendApi/Static/script/element-ui.js
@@ -0,0 +1 @@
+!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t(require("vue")) : "function" == typeof define && define.amd ? define("ELEMENT", ["vue"], t) : "object" == typeof exports ? exports.ELEMENT = t(require("vue")) : e.ELEMENT = t(e.Vue) }("undefined" != typeof self ? self : this, function (e) { return function (e) { var t = {}; function i(n) { if (t[n]) return t[n].exports; var r = t[n] = { i: n, l: !1, exports: {} }; return e[n].call(r.exports, r, r.exports, i), r.l = !0, r.exports } return i.m = e, i.c = t, i.d = function (e, t, n) { i.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n }) }, i.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, i.t = function (e, t) { if (1 & t && (e = i(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var n = Object.create(null); if (i.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var r in e) i.d(n, r, function (t) { return e[t] }.bind(null, r)); return n }, i.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return i.d(t, "a", t), t }, i.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, i.p = "/dist/", i(i.s = 49) }([function (t, i) { t.exports = e }, function (e, t, i) { var n = i(4); e.exports = function (e, t, i) { return void 0 === i ? n(e, t, !1) : n(e, i, !1 !== t) } }, function (e, t, i) { var n; !function (r) { "use strict"; var s = {}, a = /d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g, o = "[^\\s]+", l = /\[([^]*?)\]/gm, u = function () { }; function c(e, t) { for (var i = [], n = 0, r = e.length; n < r; n++)i.push(e[n].substr(0, t)); return i } function h(e) { return function (t, i, n) { var r = n[e].indexOf(i.charAt(0).toUpperCase() + i.substr(1).toLowerCase()); ~r && (t.month = r) } } function d(e, t) { for (e = String(e), t = t || 2; e.length < t;)e = "0" + e; return e } var p = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], f = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], m = c(f, 3), v = c(p, 3); s.i18n = { dayNamesShort: v, dayNames: p, monthNamesShort: m, monthNames: f, amPm: ["am", "pm"], DoFn: function (e) { return e + ["th", "st", "nd", "rd"][e % 10 > 3 ? 0 : (e - e % 10 != 10) * e % 10] } }; var g = { D: function (e) { return e.getDay() }, DD: function (e) { return d(e.getDay()) }, Do: function (e, t) { return t.DoFn(e.getDate()) }, d: function (e) { return e.getDate() }, dd: function (e) { return d(e.getDate()) }, ddd: function (e, t) { return t.dayNamesShort[e.getDay()] }, dddd: function (e, t) { return t.dayNames[e.getDay()] }, M: function (e) { return e.getMonth() + 1 }, MM: function (e) { return d(e.getMonth() + 1) }, MMM: function (e, t) { return t.monthNamesShort[e.getMonth()] }, MMMM: function (e, t) { return t.monthNames[e.getMonth()] }, yy: function (e) { return d(String(e.getFullYear()), 4).substr(2) }, yyyy: function (e) { return d(e.getFullYear(), 4) }, h: function (e) { return e.getHours() % 12 || 12 }, hh: function (e) { return d(e.getHours() % 12 || 12) }, H: function (e) { return e.getHours() }, HH: function (e) { return d(e.getHours()) }, m: function (e) { return e.getMinutes() }, mm: function (e) { return d(e.getMinutes()) }, s: function (e) { return e.getSeconds() }, ss: function (e) { return d(e.getSeconds()) }, S: function (e) { return Math.round(e.getMilliseconds() / 100) }, SS: function (e) { return d(Math.round(e.getMilliseconds() / 10), 2) }, SSS: function (e) { return d(e.getMilliseconds(), 3) }, a: function (e, t) { return e.getHours() < 12 ? t.amPm[0] : t.amPm[1] }, A: function (e, t) { return e.getHours() < 12 ? t.amPm[0].toUpperCase() : t.amPm[1].toUpperCase() }, ZZ: function (e) { var t = e.getTimezoneOffset(); return (t > 0 ? "-" : "+") + d(100 * Math.floor(Math.abs(t) / 60) + Math.abs(t) % 60, 4) } }, y = { d: ["\\d\\d?", function (e, t) { e.day = t }], Do: ["\\d\\d?" + o, function (e, t) { e.day = parseInt(t, 10) }], M: ["\\d\\d?", function (e, t) { e.month = t - 1 }], yy: ["\\d\\d?", function (e, t) { var i = +("" + (new Date).getFullYear()).substr(0, 2); e.year = "" + (t > 68 ? i - 1 : i) + t }], h: ["\\d\\d?", function (e, t) { e.hour = t }], m: ["\\d\\d?", function (e, t) { e.minute = t }], s: ["\\d\\d?", function (e, t) { e.second = t }], yyyy: ["\\d{4}", function (e, t) { e.year = t }], S: ["\\d", function (e, t) { e.millisecond = 100 * t }], SS: ["\\d{2}", function (e, t) { e.millisecond = 10 * t }], SSS: ["\\d{3}", function (e, t) { e.millisecond = t }], D: ["\\d\\d?", u], ddd: [o, u], MMM: [o, h("monthNamesShort")], MMMM: [o, h("monthNames")], a: [o, function (e, t, i) { var n = t.toLowerCase(); n === i.amPm[0] ? e.isPm = !1 : n === i.amPm[1] && (e.isPm = !0) }], ZZ: ["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z", function (e, t) { var i, n = (t + "").match(/([+-]|\d\d)/gi); n && (i = 60 * n[1] + parseInt(n[2], 10), e.timezoneOffset = "+" === n[0] ? i : -i) }] }; y.dd = y.d, y.dddd = y.ddd, y.DD = y.D, y.mm = y.m, y.hh = y.H = y.HH = y.h, y.MM = y.M, y.ss = y.s, y.A = y.a, s.masks = { default: "ddd MMM dd yyyy HH:mm:ss", shortDate: "M/D/yy", mediumDate: "MMM d, yyyy", longDate: "MMMM d, yyyy", fullDate: "dddd, MMMM d, yyyy", shortTime: "HH:mm", mediumTime: "HH:mm:ss", longTime: "HH:mm:ss.SSS" }, s.format = function (e, t, i) { var n = i || s.i18n; if ("number" == typeof e && (e = new Date(e)), "[object Date]" !== Object.prototype.toString.call(e) || isNaN(e.getTime())) throw new Error("Invalid Date in fecha.format"); t = s.masks[t] || t || s.masks.default; var r = []; return (t = (t = t.replace(l, function (e, t) { return r.push(t), "@@@" })).replace(a, function (t) { return t in g ? g[t](e, n) : t.slice(1, t.length - 1) })).replace(/@@@/g, function () { return r.shift() }) }, s.parse = function (e, t, i) { var n = i || s.i18n; if ("string" != typeof t) throw new Error("Invalid format in fecha.parse"); if (t = s.masks[t] || t, e.length > 1e3) return null; var r = {}, o = [], u = []; t = t.replace(l, function (e, t) { return u.push(t), "@@@" }); var c, h = (c = t, c.replace(/[|\\{()[^$+*?.-]/g, "\\$&")).replace(a, function (e) { if (y[e]) { var t = y[e]; return o.push(t[1]), "(" + t[0] + ")" } return e }); h = h.replace(/@@@/g, function () { return u.shift() }); var d = e.match(new RegExp(h, "i")); if (!d) return null; for (var p = 1; p < d.length; p++)o[p - 1](r, d[p], n); var f, m = new Date; return !0 === r.isPm && null != r.hour && 12 != +r.hour ? r.hour = +r.hour + 12 : !1 === r.isPm && 12 == +r.hour && (r.hour = 0), null != r.timezoneOffset ? (r.minute = +(r.minute || 0) - +r.timezoneOffset, f = new Date(Date.UTC(r.year || m.getFullYear(), r.month || 0, r.day || 1, r.hour || 0, r.minute || 0, r.second || 0, r.millisecond || 0))) : f = new Date(r.year || m.getFullYear(), r.month || 0, r.day || 1, r.hour || 0, r.minute || 0, r.second || 0, r.millisecond || 0), f }, e.exports ? e.exports = s : void 0 === (n = function () { return s }.call(t, i, t, e)) || (e.exports = n) }() }, function (e, t, i) { "use strict"; t.__esModule = !0; var n = a(i(65)), r = a(i(77)), s = "function" == typeof r.default && "symbol" == typeof n.default ? function (e) { return typeof e } : function (e) { return e && "function" == typeof r.default && e.constructor === r.default && e !== r.default.prototype ? "symbol" : typeof e }; function a(e) { return e && e.__esModule ? e : { default: e } } t.default = "function" == typeof r.default && "symbol" === s(n.default) ? function (e) { return void 0 === e ? "undefined" : s(e) } : function (e) { return e && "function" == typeof r.default && e.constructor === r.default && e !== r.default.prototype ? "symbol" : void 0 === e ? "undefined" : s(e) } }, function (e, t) { e.exports = function (e, t, i, n) { var r, s = 0; return "boolean" != typeof t && (n = i, i = t, t = void 0), function () { var a = this, o = Number(new Date) - s, l = arguments; function u() { s = Number(new Date), i.apply(a, l) } n && !r && u(), r && clearTimeout(r), void 0 === n && o > e ? u() : !0 !== t && (r = setTimeout(n ? function () { r = void 0 } : u, void 0 === n ? e - o : e)) } } }, function (e, t) { var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); "number" == typeof __g && (__g = i) }, function (e, t) { var i = /^(attrs|props|on|nativeOn|class|style|hook)$/; function n(e, t) { return function () { e && e.apply(this, arguments), t && t.apply(this, arguments) } } e.exports = function (e) { return e.reduce(function (e, t) { var r, s, a, o, l; for (a in t) if (r = e[a], s = t[a], r && i.test(a)) if ("class" === a && ("string" == typeof r && (l = r, e[a] = r = {}, r[l] = !0), "string" == typeof s && (l = s, t[a] = s = {}, s[l] = !0)), "on" === a || "nativeOn" === a || "hook" === a) for (o in s) r[o] = n(r[o], s[o]); else if (Array.isArray(r)) e[a] = r.concat(s); else if (Array.isArray(s)) e[a] = [r].concat(s); else for (o in s) r[o] = s[o]; else e[a] = t[a]; return e }, {}) } }, function (e, t) { var i = {}.hasOwnProperty; e.exports = function (e, t) { return i.call(e, t) } }, function (e, t, i) { "use strict"; t.__esModule = !0; var n, r = i(56), s = (n = r) && n.__esModule ? n : { default: n }; t.default = s.default || function (e) { for (var t = 1; t < arguments.length; t++) { var i = arguments[t]; for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]) } return e } }, function (e, t, i) { var n = i(10), r = i(19); e.exports = i(11) ? function (e, t, i) { return n.f(e, t, r(1, i)) } : function (e, t, i) { return e[t] = i, e } }, function (e, t, i) { var n = i(18), r = i(36), s = i(25), a = Object.defineProperty; t.f = i(11) ? Object.defineProperty : function (e, t, i) { if (n(e), t = s(t, !0), n(i), r) try { return a(e, t, i) } catch (e) { } if ("get" in i || "set" in i) throw TypeError("Accessors not supported!"); return "value" in i && (e[t] = i.value), e } }, function (e, t, i) { e.exports = !i(16)(function () { return 7 != Object.defineProperty({}, "a", { get: function () { return 7 } }).a }) }, function (e, t, i) { var n = i(39), r = i(26); e.exports = function (e) { return n(r(e)) } }, function (e, t, i) { var n = i(29)("wks"), r = i(22), s = i(5).Symbol, a = "function" == typeof s; (e.exports = function (e) { return n[e] || (n[e] = a && s[e] || (a ? s : r)("Symbol." + e)) }).store = n }, function (e, t) { var i = e.exports = { version: "2.6.2" }; "number" == typeof __e && (__e = i) }, function (e, t) { e.exports = function (e) { return "object" == typeof e ? null !== e : "function" == typeof e } }, function (e, t) { e.exports = function (e) { try { return !!e() } catch (e) { return !0 } } }, function (e, t, i) { var n = i(4), r = i(1); e.exports = { throttle: n, debounce: r } }, function (e, t, i) { var n = i(15); e.exports = function (e) { if (!n(e)) throw TypeError(e + " is not an object!"); return e } }, function (e, t) { e.exports = function (e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t } } }, function (e, t, i) { var n = i(38), r = i(30); e.exports = Object.keys || function (e) { return n(e, r) } }, function (e, t) { e.exports = !0 }, function (e, t) { var i = 0, n = Math.random(); e.exports = function (e) { return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + n).toString(36)) } }, function (e, t) { t.f = {}.propertyIsEnumerable }, function (e, t, i) { var n = i(5), r = i(14), s = i(59), a = i(9), o = i(7), l = function (e, t, i) { var u, c, h, d = e & l.F, p = e & l.G, f = e & l.S, m = e & l.P, v = e & l.B, g = e & l.W, y = p ? r : r[t] || (r[t] = {}), b = y.prototype, w = p ? n : f ? n[t] : (n[t] || {}).prototype; for (u in p && (i = t), i) (c = !d && w && void 0 !== w[u]) && o(y, u) || (h = c ? w[u] : i[u], y[u] = p && "function" != typeof w[u] ? i[u] : v && c ? s(h, n) : g && w[u] == h ? function (e) { var t = function (t, i, n) { if (this instanceof e) { switch (arguments.length) { case 0: return new e; case 1: return new e(t); case 2: return new e(t, i) }return new e(t, i, n) } return e.apply(this, arguments) }; return t.prototype = e.prototype, t }(h) : m && "function" == typeof h ? s(Function.call, h) : h, m && ((y.virtual || (y.virtual = {}))[u] = h, e & l.R && b && !b[u] && a(b, u, h))) }; l.F = 1, l.G = 2, l.S = 4, l.P = 8, l.B = 16, l.W = 32, l.U = 64, l.R = 128, e.exports = l }, function (e, t, i) { var n = i(15); e.exports = function (e, t) { if (!n(e)) return e; var i, r; if (t && "function" == typeof (i = e.toString) && !n(r = i.call(e))) return r; if ("function" == typeof (i = e.valueOf) && !n(r = i.call(e))) return r; if (!t && "function" == typeof (i = e.toString) && !n(r = i.call(e))) return r; throw TypeError("Can't convert object to primitive value") } }, function (e, t) { e.exports = function (e) { if (null == e) throw TypeError("Can't call method on " + e); return e } }, function (e, t) { var i = Math.ceil, n = Math.floor; e.exports = function (e) { return isNaN(e = +e) ? 0 : (e > 0 ? n : i)(e) } }, function (e, t, i) { var n = i(29)("keys"), r = i(22); e.exports = function (e) { return n[e] || (n[e] = r(e)) } }, function (e, t, i) { var n = i(14), r = i(5), s = r["__core-js_shared__"] || (r["__core-js_shared__"] = {}); (e.exports = function (e, t) { return s[e] || (s[e] = void 0 !== t ? t : {}) })("versions", []).push({ version: n.version, mode: i(21) ? "pure" : "global", copyright: "© 2019 Denis Pushkarev (zloirock.ru)" }) }, function (e, t) { e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",") }, function (e, t) { t.f = Object.getOwnPropertySymbols }, function (e, t) { e.exports = {} }, function (e, t, i) { var n = i(10).f, r = i(7), s = i(13)("toStringTag"); e.exports = function (e, t, i) { e && !r(e = i ? e : e.prototype, s) && n(e, s, { configurable: !0, value: t }) } }, function (e, t, i) { t.f = i(13) }, function (e, t, i) { var n = i(5), r = i(14), s = i(21), a = i(34), o = i(10).f; e.exports = function (e) { var t = r.Symbol || (r.Symbol = s ? {} : n.Symbol || {}); "_" == e.charAt(0) || e in t || o(t, e, { value: a.f(e) }) } }, function (e, t, i) { e.exports = !i(11) && !i(16)(function () { return 7 != Object.defineProperty(i(37)("div"), "a", { get: function () { return 7 } }).a }) }, function (e, t, i) { var n = i(15), r = i(5).document, s = n(r) && n(r.createElement); e.exports = function (e) { return s ? r.createElement(e) : {} } }, function (e, t, i) { var n = i(7), r = i(12), s = i(62)(!1), a = i(28)("IE_PROTO"); e.exports = function (e, t) { var i, o = r(e), l = 0, u = []; for (i in o) i != a && n(o, i) && u.push(i); for (; t.length > l;)n(o, i = t[l++]) && (~s(u, i) || u.push(i)); return u } }, function (e, t, i) { var n = i(40); e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) { return "String" == n(e) ? e.split("") : Object(e) } }, function (e, t) { var i = {}.toString; e.exports = function (e) { return i.call(e).slice(8, -1) } }, function (e, t, i) { var n = i(26); e.exports = function (e) { return Object(n(e)) } }, function (e, t, i) { "use strict"; var n = i(21), r = i(24), s = i(43), a = i(9), o = i(32), l = i(69), u = i(33), c = i(72), h = i(13)("iterator"), d = !([].keys && "next" in [].keys()), p = function () { return this }; e.exports = function (e, t, i, f, m, v, g) { l(i, t, f); var y, b, w, _ = function (e) { if (!d && e in S) return S[e]; switch (e) { case "keys": case "values": return function () { return new i(this, e) } }return function () { return new i(this, e) } }, x = t + " Iterator", C = "values" == m, k = !1, S = e.prototype, D = S[h] || S["@@iterator"] || m && S[m], E = D || _(m), $ = m ? C ? _("entries") : E : void 0, T = "Array" == t && S.entries || D; if (T && (w = c(T.call(new e))) !== Object.prototype && w.next && (u(w, x, !0), n || "function" == typeof w[h] || a(w, h, p)), C && D && "values" !== D.name && (k = !0, E = function () { return D.call(this) }), n && !g || !d && !k && S[h] || a(S, h, E), o[t] = E, o[x] = p, m) if (y = { values: C ? E : _("values"), keys: v ? E : _("keys"), entries: $ }, g) for (b in y) b in S || s(S, b, y[b]); else r(r.P + r.F * (d || k), t, y); return y } }, function (e, t, i) { e.exports = i(9) }, function (e, t, i) { var n = i(18), r = i(70), s = i(30), a = i(28)("IE_PROTO"), o = function () { }, l = function () { var e, t = i(37)("iframe"), n = s.length; for (t.style.display = "none", i(71).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("
diff --git a/DataSendApi/Views/Shared/_Layout.cshtml b/DataSendApi/Views/Shared/_Layout.cshtml
new file mode 100644
index 0000000..a2ac6e5
--- /dev/null
+++ b/DataSendApi/Views/Shared/_Layout.cshtml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ 数据上传推送
+
+
+
+
+
+
+
+
+
+ @RenderBody()
+
+
\ No newline at end of file
diff --git a/DataSendApi/Views/_ViewStart.cshtml b/DataSendApi/Views/_ViewStart.cshtml
new file mode 100644
index 0000000..efda124
--- /dev/null
+++ b/DataSendApi/Views/_ViewStart.cshtml
@@ -0,0 +1,3 @@
+@{
+ Layout = "~/Views/Shared/_Layout.cshtml";
+}
\ No newline at end of file
diff --git a/DataSendApi/Views/web.config b/DataSendApi/Views/web.config
new file mode 100644
index 0000000..2e074e0
--- /dev/null
+++ b/DataSendApi/Views/web.config
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DataSendApi/Web.Debug.config b/DataSendApi/Web.Debug.config
new file mode 100644
index 0000000..b9a9fde
--- /dev/null
+++ b/DataSendApi/Web.Debug.config
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DataSendApi/Web.Release.config b/DataSendApi/Web.Release.config
new file mode 100644
index 0000000..755e745
--- /dev/null
+++ b/DataSendApi/Web.Release.config
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DataSendApi/Web.config b/DataSendApi/Web.config
new file mode 100644
index 0000000..d08db96
--- /dev/null
+++ b/DataSendApi/Web.config
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DataSendApi/packages.config b/DataSendApi/packages.config
new file mode 100644
index 0000000..814b393
--- /dev/null
+++ b/DataSendApi/packages.config
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DataSendApi1130.rar b/DataSendApi1130.rar
new file mode 100644
index 0000000..9a52471
Binary files /dev/null and b/DataSendApi1130.rar differ
diff --git a/Document/220510全国职业教育智慧大脑院校中台[中职]数据标准及计算指标规划方案V2.pdf b/Document/220510全国职业教育智慧大脑院校中台[中职]数据标准及计算指标规划方案V2.pdf
new file mode 100644
index 0000000..d1ca8c3
--- /dev/null
+++ b/Document/220510全国职业教育智慧大脑院校中台[中职]数据标准及计算指标规划方案V2.pdf
@@ -0,0 +1,4984 @@
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+全国职业教育智慧大脑院校中台
+ 【中职】数据标准及计算指标
+ 规划方案
+
+ 教育部信息中心
+ 2022 年 5 月
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 文档修订历史
+
+版本 修订时间 修订说明 修订人
+
+ V1.0 2022 年 5 月 10 日 初作 杨小兵
+V1.2 2022 年 6 月 1 日 结构调整,逻辑校验 杨小兵
+V2.1 2022 年 6 月 23 日 杨小兵
+ 正式版发布
+
+ 目录
+
+前 言 ...........................................................................................................................5
+1 概述 ............................................................................................................................ 6
+
+ 1.1 数据标准的内涵 ....................................................................................................6
+ 1.2 数据标准分类 ....................................................................................................... 7
+ 1.3 数据标准在数据资产管理中的作用 ...................................................................... 7
+2 范围 ............................................................................................................................ 8
+3 术语和定义 ................................................................................................................. 8
+ 3.1 信息 ...................................................................................................................... 8
+ 3.2 数据 ......................................................................................................................9
+ 3.3 数据元素 .............................................................................................................. 9
+ 3.4 元数据 .................................................................................................................. 9
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 3.5 数据项 .................................................................................................................. 9
+ 3.6 数据类 .................................................................................................................. 9
+ 3.7 数据子类 .............................................................................................................. 9
+ 3.8 数据集 ................................................................................................................ 10
+ 3.9 数据子集 .............................................................................................................10
+4 数据体系结构 ............................................................................................................10
+ 4.1 元数据组成 .........................................................................................................10
+ 4.2 数据的层次结构 ................................................................................................. 10
+ 4.3 数据元素的结构 ................................................................................................. 10
+
+ 4.3.1 数据项组成 .................................................................................................. 10
+ 4.3.2 数据项名 ......................................................................................................11
+ 4.3.3 数据类型 ......................................................................................................11
+5 数据标准规范数据集 .................................................................................................13
+ 5.1 数据字典代码 ..................................................................................................... 13
+ 5.1.1 学院概况数据字典代码集 ............................................................................ 13
+ 5.1.2 教育教学数据字典代码集 ............................................................................ 17
+ 5.1.3 教材选用数据字典代码集 ............................................................................ 18
+ 5.1.4 实习实训数据字典代码集 ............................................................................ 20
+ 5.1.5 日常活动数据字典代码集 ............................................................................ 22
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 5.1.6 教师发展数据字典代码集 ............................................................................ 27
+ 5.1.7 学生综合素养数据字典代码集 ..................................................................... 27
+5.2 学院概况数据集 ..................................................................................................30
+ 5.2.1 学院概况数据子集 ....................................................................................... 30
+ 5.2.2 学校校区数据子集 ....................................................................................... 31
+ 5.2.3 实训基地数据子集 ....................................................................................... 32
+5.3 教育教学数据集 ................................................................................................. 35
+ 5.3.1 课程信息数据子集 ....................................................................................... 35
+ 5.3.2 排课巡课数据子集 ....................................................................................... 37
+5.4 教材选用数据集 ................................................................................................. 38
+ 5.4.1 教材选用数据子集 ....................................................................................... 38
+5.5 实习实训数据集 ..................................................................................................39
+ 5.5.1 实习实训数据子集 ....................................................................................... 39
+5.6 日常活动数据集 ..................................................................................................41
+ 5.6.1 党建活动数据子集 ....................................................................................... 41
+ 5.6.2 赛事活动数据子集 ....................................................................................... 48
+ 5.6.3 社团活动数据子集 ....................................................................................... 49
+ 5.6.4 德育活动数据子集 ....................................................................................... 50
+5.7 教师发展数据集 ................................................................................................. 52
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 5.7.1 进修培训数据子集 ....................................................................................... 52
+ 5.7.2 资质与证书数据子集 ....................................................................................53
+ 5.7.3 日常工作与评价数据子集 ............................................................................ 54
+ 5.8 学生综合素养数据集 .......................................................................................... 54
+ 5.8.1 文化基础课成绩数据子集 ............................................................................ 54
+ 5.8.2 综合素质评价数据子集 ................................................................................55
+ 5.8.3 毕业班学生意向分布数据子集 .....................................................................56
+ 5.9 附件 .................................................................................................................... 61
+ 5.9.1 附件一:全国职业教育智慧大脑视频流信息汇总表-模板 .......................... 61
+ 5.9.2 附件二:全国职业教育智慧大脑院校中台看板数据计算逻辑 ..................... 62
+ 5.9.3 附件三:全国职业教育智慧大脑院校中台接口采集规范文档 ..................... 78
+ 5.9.4 附件四:中职院校数据大屏效果展示 ........................................................127
+
+前言
+
+ 全国职业教育智慧大脑院校中台【中职】数据标准(以下简称数
+据标准)是保障司局与各中职院校数据内外部使用和交换的一致性和
+准确性的规范性约束,是数据资产管理的核心活动之一,通过数据标
+准的建设,可以有效提升数据质量、理清数据构成、打通数据孤岛、
+加快数据流通,释放数据价值。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 本标准旨在建立适用于全国职业教育智慧大脑院校中台数据标
+准管理信息体系,并规范定义基础的数据元素,为全国职业院校数据
+中台汇聚司局、院校管理、教育教学等维度数据,提供数据标准依据。
+
+ 本标准构建了一个基本的元数据模型,在此至上将数据元素的各
+种属性加以描述。统一规范了职业院校数据中台数据标准体系及相应
+数据元素的定义。对职业院校数据中台基本信息的数据元素划分,设
+计包括了学院概况、教育教学、实习实训、教师发展、日常活动、学
+生综合素养等业务管理数据子集,各数据子集按数据资产目录及信息
+组织划分为数据类,有些数据类还划分为子类。
+
+ 由于编写的水平和时间有限,难免有所纰漏,欢迎大家批评指正。
+
+1 概述
+
+ 数据标准是进行数据标准化的主要依据,构建一套完整的数据标
+准体系是开展数据标准管理的良好基础,有利于打通数据底层的互通
+性,提升数据的可用性。
+
+1.1 数据标准的内涵
+
+ 数据标准是指保障数据的内外部使用和交换的一致性和准确性的
+规范性约束。在数字化过程中,数据是业务活动在信息系统中的真实
+反映。由于业务对象在信息系统中以数据的形式存在,数据标准相关
+管理活动均需以业务为基础,并以标准的形式规范业务对象在各信息
+系统中的统一定义和应用。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+1.2 数据标准分类
+
+ 数据标准是进行数据标准化、消除数据业务歧义的主要参考和依
+据。对数据标准进行分类,将有利于数据标准的编制、查询、落地和
+维护。
+
+ 数据标准有多种分类方式,对于不同的分类方式,均采用以数据
+元数据标准制定的基本单元构建数据标准体系。
+
+1.3 数据标准在数据资产管理中的作用
+
+ 数据标准是数据资产管理多个活动职能的核心要素,主要体现在
+数据质量管理、主数据管理、元数据管理、数据模型管理和数据安全
+管理几个方面。
+
+ (1)、在数据质量管理方面,数据标准是数据质量稽核规则的主要
+参考依据,通过将数据质量稽核规则与数据标准关联,一方面可以实
+现字段级的数据质量校验,另一方面也可以直接构建较为通用的数据
+质量稽核规则体系,确保规则的全面性和可用性。
+
+ (2)、在主数据管理方面,需明确的是主数据是数据在特定应用场
+景下的一种展现方式,主要活动是提取核心数据并明确核心数据的唯
+一来源,因此,对于涵盖企业全部数据的数据标准而言,其可以作为
+主数据管理的数据标准。
+
+ (3)、在元数据管理方面,当将元数据管理的对象定义为结构化数
+据时,元数据管理主要指对结构化数据及其相关信息的管理,数据标
+准作为结构化数据相关信息的一部分,也是元数据管理的内容,具体
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 包括数据标准与结构化数据的关系映射。当将元数据管理的对象定义
+ 为数据标准体系时,元数据管理主要指对数据标准分类、数据项及其
+ 属性、数据项属性规则等的管理。
+
+ (4)、在数据模型管理方面,当数据标准的对象包含实体、属性和
+ 关系及其相关规则时,数据标准可作为数据模型管理的标准,用于数
+ 据库、数据仓库等系统的数据模型构建依据。
+
+ (5)、在数据安全管理方面,数据标准可包含业务敏感数据对象和
+ 属性,从而实现对数据安全管理相关规则的定义。
+
+ 2 范围
+
+ 本标准确立了全国职业教育智慧大脑院校中台数据信息的基本体
+ 系结构、数据元素的元数据结构。规定了全国职业教育智慧大脑院校
+ 中台数据元素以及数据结构信息代码。
+
+ 本标准适用于全国职业教育智慧大脑院校中台及各院校数据汇
+ 聚、共享的数据结构设计和使用。
+
+ 3 术语和定义
+
+ 下列术语和定义适用于本标准。
+
+3.1 信息
+
+ 以适合于通信、存储或处理的形式表示的关于事物状态及其运行
+ 规律的知识。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+3.2 数据
+
+ 信息的可再解释的形式化表示。它能够被计算机识别、存储和加
+工处理。
+
+3.3 数据元素
+
+ 通过定义、标识、表示以及允许值等一系列属性描述的数据单元,
+在特定的语义环境中是不可再分的最小数据单元。
+
+3.4 元数据
+
+ 描述具体的信息资源对象的数据,并能对该对象进行识别和管理,
+实现信息资源的有效发现与获取。
+
+3.5 数据项
+
+具有独立含义的最小标识单位。
+
+3.6 数据类
+
+描述同一对象(业务环节)的相关数据元素的集合。
+
+3.7 数据子类
+
+ 数据类所描述的业务环节如可以再分解成若干相对独立的对象,
+则相对独立的对象相关数据元素集合称为数据子类。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+3.8 数据集
+
+本标准描述的所有数据元素的集合。
+
+3.9 数据子集
+
+按数据资产目录划分的数据元素的集合。
+
+4 数据体系结构
+
+4.1 元数据组成
+
+4.2 数据的层次结构
+
+ 各管理数据子集按业务环节和流程将数据项划分为数据类、数据
+ 子类。
+
+4.3 数据元素的结构
+
+4.3.1 数据项组成
+
+ 数据项名:通常由中文简称的汉语拼音首字母(大写)组成,
+ 或标识语义的英文字母组成,与中文简称一一对应,宜在实际
+ 数据结构中采用;
+
+ 中文简称:所用的数据元的名称,具有语义,面向用户;
+ 类型:数据项容纳的数据类型,本标准在数据项中简称其为类
+
+ 型(一种属性);
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 长度:数据项能容纳的最大字符数(一种属性);
+ 约束:数据项约束状态的描述,即必备数据项或可选数据项;
+ 值空间:数据项取值的范围与规范(一种属性);
+ 以上 6 项组合了各业务数据子集的元数据结构。
+4.3.2 数据项名
+ 数据项名通常由“中文简称”每个汉字的拼音首字母(大写)组
+ 成,且与其一一对应,宜在实际数据结构中采用。
+4.3.3 数据类型
+4.3.3.1 字符型
+ 字符型为 C(Character),在信息系统中取用时,可以是可变长
+ 度,如 VARCHAR (MYSQL)。
+4.3.3.2 数值型
+ 数值型为 N(Number),可参与运算。
+4.3.3.3 二进制类型
+ 二进制类型为 B(Binary),宜在照片或超长文本采用。
+4.3.3.4 文本型
+ 文本型为 T(Text),宜用于数量较多的文字描述。本标准约定
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 长度大于 200 字符时采用文本型 T。
+
+4.3.3.5 约束
+
+ 可选数据元 O(Optional data element):在信息类/子类中定义,
+ 但不是必须在数据结构的实例中出现的数据元。
+
+ 必备数据元 M(Madatory data element):在信息类/子类中定义,
+ 应在数据结构的实例中出现的数据元。
+
+4.3.3.6 值空间
+
+ 数据元取值的格式、范围与规范。凡是可以代码化的,应采用代
+ 码。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5 数据标准规范数据集
+
+ (图:全国职业教育智慧大脑院校中台【中职】数据集)
+
+5.1 数据字典代码
+5.1.1 学院概况数据字典代码集
+
+5.1.1.1 syxxdm(双优学校代码)
+
+代码 名称
+ 1
+ 2 国家双优学校
+ 省级双优学校
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+0 否
+
+5.1.1.2 cydm(产业代码)
+
+代码 名称
+ 1
+ 2 第一产业
+ 3 第二产业
+ 第三产业
+
+5.1.1.3 dwxzdm(单位性质代码)
+
+遵守:GB/T 29808-2013 中 7.101 的规定。适用于各级各类学校
+
+(机构)教职工参加国内进修学习主办单位性质的分类,也适用于中
+
+等职业学校和高等学校毕业生就业单位的分类。
+
+代码 名称
+ 10
+ 11 机关
+ 12 省级以上党政机关
+ 20 省级以下党政机关
+ 21 事业单位
+ 22 科研设计单位
+ 23 高等学校
+ 24 其他教育单位
+ 25 医疗卫生单位
+ 29 体育文化单位
+ 30 其他事业单位
+ 31 企业
+ 32 国有企业
+ 33 中外合资企业
+ 民营(私营)企业
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+34 外资企业
+
+35 集体企业
+
+39 其他企业
+
+40 部队
+
+50 社会组织机构
+
+60 国际组织机构
+
+70 国防科工机构
+
+80 财政金融机构
+
+99 其他
+
+5.1.1.4 zcbmjbdm(支持部门级别代码)
+
+代码 名称
+ 1
+ 2 国家级
+ 3 省级
+ 0 地市级
+ 其他
+
+5.1.1.5 xxjdlbdm(实训基地类别代码)
+
+代码 名称
+ 1
+ 2 校内实训教学基地
+ 3 虚拟仿真实训基地
+ 4 校中厂
+ 0 开放实训基地
+ 其它
+
+5.1.1.6 xxlbdm(学校类别代码)
+
+参考信息技术 学习、教育和培训教育管理基础代码(GB/T
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+33782-2017)执行。 名称
+ 调整后中等职业学校
+ 代码 中等技术学校
+ 361 中等师范学校
+ 362 成人中等专业学校
+ 363 职业高中学校
+ 364 技工学校
+ 365 附设中职班
+ 366 其他中职机构
+ 368
+ 369
+
+5.1.1.7 xxjbzxzdm(学校举办者性质代码)
+
+参考信息技术 学习、教育和培训教育管理基础代码(GB/T
+
+33782-2017)执行。
+
+代码 名称
+811 省级教育部门
+812 省级其他部门(党政机关)
+821 地级教育部门
+822 地级其他部门(党政机关)
+831 县级教育部门
+832 县级其他部门(党政机关)
+891 地方企业
+999 民办
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.1.2 教育教学数据字典代码集
+
+5.1.2.1 kcfldm(课程分类代码)
+
+代码 名称
+ 1
+ 2 公共基础课
+ 3 专业核心课
+ 4 专业基础课
+ 5 军训
+ 6 社会实践
+ 7 综合实训
+ 8 认知实习
+ 岗位实习
+
+5.1.2.2 kclbdm(课程类别代码)
+
+代码 名称
+ 1 A 类(纯理论课)
+ 2 B 类((理论+实践)课
+ 3 C 类(纯实践课)
+
+5.1.2.3 kcxzdm(课程性质代码)
+
+代码 名称
+ 1
+ 2 公共课
+ 专业课
+
+5.1.2.4 kcsxdm(课程属性代码)
+
+代码 名称
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+1 必修课
+
+2 选修课
+
+5.1.2.5 xklbdm(学科类别代码)
+
+ 代码 名称
+ 14 思想政治
+ 21 语文
+ 15 历史
+ 22 数学
+ 36 信息技术
+ 33 艺术
+ 34 音乐
+ 35 美术
+ 32 体育与健康
+ 40 外语
+ 27 地理
+ 24 物理
+ 25 化学
+ 26 生物
+ 62 劳动与技术
+ 63 研究性学习活动(综合实践活动)
+ 65 社区服务(综合实践活动)
+ 66 社会实践(综合实践活动)
+ 37 通用技术
+010000 农林牧渔类
+020000 资源环境类
+030000 能源与新能源类
+040000 土木水利类
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+050000 加工制造类
+060000 石油化工类
+070000 轻纺食品类
+080000 交通运输类
+090000 信息技术类
+100000 医药卫生类
+110000 休闲保健类
+120000 财经商贸类
+130000 旅游服务类
+140000 文化艺术类
+150000 体育与健身
+160000 教育类
+170000 司法服务类
+180000 公共管理与服务类
+
+5.1.3 教材选用数据字典代码集
+
+5.1.3.1 jcxzdm(教材性质代码)
+
+代码 名称
+ 1
+ 2 国家统编教材
+ 3 国家规划教材
+ 4 省级规划教材
+ 5 校企合编教材
+ 6 自编教材
+ 0 讲义
+ 其他
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.1.3.2 jcsyccdm(教材适用层次代码)
+
+代码 名称
+ 1
+ 2 中职
+ 3 专科
+ 0 职业本科
+ 其他
+
+5.1.3.3 jchjqkdm(教材获奖情况代码)
+
+代码 名称
+ 1 首届国家教材建设奖优秀教材特等奖
+ 2 首届国家教材建设奖优秀教材一等奖
+ 3 首届国家教材建设奖优秀教材二等奖
+ 0 其他
+
+5.1.4 实习实训数据字典代码集
+
+5.1.4.1 sxlbdm(实习类别代码)
+
+代码 名称
+ 1
+ 2 认知实习
+ 0 岗位实习
+ 其他
+
+5.1.4.2 sxqxdm(实习去向代码)
+
+代码 名称
+ 1
+ 2 省内
+ 省外
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+3 境外
+
+5.1.4.3 sxdwlydm(实习单位来源代码)
+
+代码 名称
+ 1
+ 2 统一安排
+ 3 学校推荐
+ 自主选择
+
+5.1.4.4sxcslxdm(实习场所类型代码)
+
+代码 名称
+ 1
+ 2 校内实习实训基地
+ 校外实习实训基地
+
+5.1.4.5 zxapdm(住宿安排代码)
+
+代码 名称
+ 1
+ 2 实习单位统一安排
+ 3 学校统一安排
+ 学生自主安排
+
+5.1.4.6 zydkcddm(专业对口程度代码)
+
+代码 名称
+ 1
+ 2 基本对口
+ 0 对口
+ 专业不对口
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.1.4.7 bxgmzldm(购买保险种类代码)
+
+代码 名称
+ 1
+ 2 学生实习责任保险
+ 3 意外险
+ 0 其他保险
+ 未购买
+
+5.1.4.8bxgmfdm(保险购买方代码)
+
+代码 名称
+ 1
+ 2 学校
+ 0 企业
+ 其他
+
+5.1.5 日常活动数据字典代码集
+
+5.1.5.1 zbdwjbdm(主办单位级别代码)
+
+代码 名称
+ 1
+ 2 国际级
+ 3 国家级
+ 4 省部级
+ 5 地市级
+ 6 区县级
+ 0 校级
+ 其他
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.1.5.2 dyhdlxdm(德育活动类型代码)
+
+代码 名称
+ 1
+ 2 讲座报告
+ 3 征文演讲
+ 4 文艺表演
+ 5 参观走访
+ 6 志愿服务
+ 7 社会实践
+ 0 分享交流
+ 其他
+
+5.1.5.3 dyhdztdm(德育活动主题代码)
+
+代码 名称
+ 1 习近平新时代中国特色社会主义思想教育
+ 2 “四史”教育
+ 3 社会主义核心价值观教育
+ 4 爱国主义教育
+ 5 中华优秀传统文化教育
+ 6 法治教育
+ 7 国家安全教育
+ 8 劳动教育
+ 9 健康教育
+ 10 职业生涯教育
+ 0 其他
+
+5.1.5.4 sthdlxdm(社团活动类型代码)
+
+代码 名称
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+1 公益服务
+
+2 科学技术
+
+3 理论学习
+
+4 文艺体育
+
+5 其他
+
+5.1.5.5 dnldrzwdm(党内领导人员职务代码)
+
+代码 名称
+ 1
+ 2 书记
+ 3 副书记
+ 4 组织委员
+ 5 宣传委员
+ 6 纪检委员
+ 7 青年委员
+ 8 统战委员
+ 9 保密委员
+ 10 妇女委员
+ 其他
+
+5.1.5.6 xdylxdm(新党员类型代码)
+
+代码 名称
+ 1
+ 2 教职工
+ 3 学生
+ 其他
+
+5.1.5.7 xdyfzztdm(新党员发展状态代码)
+
+代码 名称
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+1 积极分子
+
+2 预备党员
+
+3 正式党员
+
+5.1.5.8 dygbxxpxzytjztdm(党员干部学习培训主要途径和载体代码)
+
+代码 名称
+ 1
+ 2 实践活动
+ 3 会议
+ 4 讲座报告
+ 5 学校定期集中学习
+ 6 支部定期集中学习
+ 7 微信 QQ
+ 8 移动端培训平台
+ 9 分发图书资料
+ 10 个人学习
+ 11 在线教育网站
+ 参观学习
+
+5.1.5.9 dygbxxpxnrdm(党员干部学习培训内容代码)
+
+代码 名称
+ 1 党的理论
+ 2 相关政策文件
+ 3 党规党纪及国家法律法规
+ 4 教育教学业务
+ 5 学校管理
+ 6 文化建设
+ 7 经济方面
+ 8 互联网与新媒体方面
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+9 心理健康
+
+10 师德师风
+
+11 其他
+
+5.1.5.10 djhdxsdm(党建活动形式代码)
+
+代码 名称
+ 1 实践活动
+ 2 会议
+ 3 讲座报告
+ 4 学校定期集中学习
+ 5 支部定期集中学习
+ 6 微信 QQ
+ 7 移动端培训平台
+ 8 分发图书资料
+ 9 个人学习
+ 10 在线教育网站/参观学习
+ 11 参观学习
+
+5.1.5.11 ztdrhdnrdm(主题党日活动内容代码)
+
+代码 名称
+ 1 尚未开展主题党日活动
+ 2 党内评议
+ 3 温暖关爱
+ 4 学习交流
+ 5 民主议事
+ 6 建言献策
+ 7 志愿服务
+ 8 外出参观
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 9 研究业务
+
+ 10 其他
+
+5.1.6 教师发展数据字典代码集
+
+暂无
+
+5.1.7 学生综合素养数据字典代码集
+
+5.1.7.1 wjylxdm(未就业类型代码)
+
+ 代码 名称
+ 1
+ 2 待就业
+ 3 不就业拟升学
+ 其他暂不就业
+
+5.1.7.2 sxjyhydm(实习/就业行业代码)
+
+参考国家国民经济行业分类标准(GB/T 4754-2017)执行
+
+ 代码 名称
+ A 农林牧渔业
+ B 采矿业
+ C 制造业
+ D 电力、热力、燃气及水生产和供应业
+ E 建筑业
+ F 批发和零售业
+ G 交通运输、仓储和邮政业
+ H 住宿和餐饮业
+ I 信息传输、软件和信息技术服务业
+ J 金融业
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+K 房地产业
+
+L 租赁和商务服务业
+
+M 科学研究和技术服务业
+
+N 水利、环境和公共设施管理业
+
+O 居民服务、修理和其他服务业
+
+P 教育
+
+Q 卫生和社会工作
+
+R 文化、体育和娱乐业
+
+S 公共管理、社会保障和社会组织
+
+T 国际组织
+
+0 其他
+
+5.1.7.3 jydwgmdm(就业单位规模代码)
+
+代码 名称
+ 1
+ 2 特大型
+ 3 大型
+ 4 中型
+ 5 小型
+ 微型
+
+5.1.7.4 jyqddm(就业渠道代码)
+
+代码 名称
+ 1
+ 2 学校推荐
+ 0 中介介绍
+ 其他
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.1.7.5 htqdqkdm(合同签订情况代码)
+
+代码 名称
+ 1
+ 2 未签
+ 3 1 年及以内
+ 4 1-2(含)年
+ 5 2-3(含)年
+ 3 年以上
+
+5.1.7.6 shbxqkdm(社会保险情况代码)
+
+代码 名称
+ 1
+ 2 三险
+ 3 五险
+ 4 三险一金
+ 0 五险一金
+ 没有社保
+
+5.1.7.7 sxqddm(升学渠道代码)
+
+代码 名称
+ 1
+ 2 贯通培养
+ 3 五年一贯制培养
+ 4 职教高考
+ 5 普通高考
+ 出国升学
+
+5.1.7.8 sxccdm(升学层次代码)
+
+代码 名称
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 1 专科
+
+ 2 职业本科
+
+ 3 普通本科
+
+ 4 硕士
+
+ 5 其他
+
+5.2 学院概况数据集
+
+5.2.1 学院概况数据子集
+
+5.2.1.1 ods_zzxxgkjcsj(中职学校概况基础数据表)
+
+[描述]该表用于收集学校基本信息,需严格按照数据项对应字段信息
+
+完成数据推送。每个学校只能有一条数据,不能重复,如果数据项字
+
+段有更新,可根据主键 ID 进行覆盖更新。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+xygkjcsjid 主键数据唯一性标识 C
+provincejgbm 省机构编码 C 32 位全局唯一编码字符
+provincejgmc 省机构名称 C 32 M
+cityjgbm 市机构编码 C
+cityjgmc 市机构名称 C 串
+countyjgbm 区县机构编码 C
+countyjgmc 区县机构名称 C 12 M 国标:六位代码
+xxjgdm 学校机构代码 C
+xxjgmc 学校名称 C 80 M
+xxlb 学校类别 C
+ 12 M 国标:六位代码
+xxsszgjyxzbm 学校所属主管教育行政部门 C
+xxjbzmc 学校举办者名称 C 80 M
+
+ 12 M 国标:六位代码
+
+ 80 M
+
+ 36 M 统一社会信用代码
+
+ 80 M
+
+ 2 M 引用:xxlbdm(学校类别
+
+ 代码)
+
+ 直接主管学校教育教学
+ 65 O
+
+ 业务省教育厅
+
+ 120 M 例:xx 教育局、单位名称、
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 法定代表人员姓名
+
+xxjbzxz 学校举办者性质 C 4 M 引用:xxjbzxzdm(学校
+
+ 举办者性质代码)
+
+xxfzrxm 学校负责人姓名(校长) C O
+jxrq
+xyjss 建校日期(年月) C 32 M yyyy-MM
+xyxss
+bxkszys 现有教职工总数 N 32 M 数字标识
+syxx
+ 现有学生数 N 32 M 数字标识
+sjcjsj
+ 本校开设专业数 N 32 M 数字标识
+ 引用:syxxdm(双优学
+ 是否国家双优学校/省级双优
+ C 32 M
+ 校代码)
+ 学校/否 yyyy-MM-dd
+
+ 数据采集时间 C 50 M
+ hh:mm:ss
+
+(1)采集周期和方式
+
+ 每个学校只推送一条数据,后续数据有更新时,按主键 ID 更
+
+新原有数据。
+
+5.2.2 学校校区数据子集
+
+5.2.2.1 ods_xqjcsj(校区基础数据表)
+
+[描述]该表用于收集学校下属校区基本信息,需严格按照数据项对应
+
+字段信息完成数据推送。每个校区只能有一条数据,且校区号不能重
+
+复,如果数据项字段有更新,可根据主键 ID 进行覆盖更新。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+xygkjcsjid 主键数据唯一性标识 C
+provincejgbm 省机构编码 C 32 位全局唯一编码字符
+provincejgmc 省机构名称 C 32 M
+cityjgbm 市机构编码 C
+cityjgmc 市机构名称 C 串
+
+ 12 M 国标:六位代码
+
+ 80 M
+
+ 12 M 国标:六位代码
+
+ 80 M
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+countyjgbm 区县机构编码 C 12 M 国标:六位代码
+countyjgmc 区县机构名称
+xxjgdm 学校机构代码 C 80 M
+xxjgmc 学校机构名称
+xqbh 校区编号 C 36 M 统一社会信用代码
+xqmc 校区名称
+xqjc 校区简称 C 80 M
+xqszdxzqh 校区所在地行政区划
+xqdz 校区地址 C 64 M 学校自编,不能重复
+xqyzbm 校区邮政编码
+xqlxdh 校区联系电话 C 180 M
+xqfzr 校区负责人
+xqjzgzs 校区教职工总数 C 60 M
+xqxszs 校区学生总数
+xqclrq 校区成立日期 C 50 O
+
+ C 300 O
+
+ C 35 O
+
+ C 35 O
+
+ C 36 O
+
+ N 10 M
+
+ N 10 M
+
+ C 50 O yyyy-MM-dd
+
+sjcjsj 数据采集时间 C 50 M yyyy-MM-dd
+
+ hh:mm:ss
+
+ (1)数据采集周期
+
+ 每个学校对应校区只推送一条数据,后续数据有更新时,按主
+
+键 ID 更新原有数据。
+
+5.2.3 实训基地数据子集
+
+5.2.3.1 ods_xnsxjdsj(校内实训基地数据表)
+
+[描述]该表用于收集校内培训基地明细数据,数据有更新时统计上
+
+报,当日数据需在 24 点之前完成推送。
+
+数据项名 中文简称 类型 长度 约束 值空间
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+gzzyqksjid 主键数据唯一性标识 C 32 O 32 位全局唯一编码字符串
+xxjgdm 学校机构代码
+xxjgmc 学校机构名称 C 36 O 统一社会信用代码
+sxjdh 实训基地号
+sxjdmc 实训基地名称 C 80 O
+clnd 成立年度
+mxzy 面向专业 C 32 O 学校自编:英文或者数字 32 位
+zcbm 被列为实训基地项目支
+pzrq 持部门 C 200 O
+sxss 批准日期
+sxxmzs 实训室数 C 10 O 例:2021
+ 实训项目总数
+ C 200 O
+
+ C 2 M 引用:zcbmjbdm(支持部门代
+
+ 码)
+
+ C 20 M yyyy-MM-dd 例:2021-02-03
+
+ N 30 M 数字标识,例:22
+
+ N 30 O 数字标识,例:33
+
+jdlb 基地类别 C 2 O 引用:xxjdlbdm(实训基地类别
+
+ 代码)
+
+jzmj 建筑面积 N 30 O 数字标识,平方米:22
+
+yqsbzs 仪器设备总数 N 12 O 数字标识,套:20
+
+sjjxgws 实践教学工位数 N 12 O 数字标识,个:120
+
+glryzz 管理人员(专职) C 12 O 数字标识
+
+glryjz 管理人员(兼职) C 12 O 数字标识
+
+sjcjsj 数据采集时间 C 60 O yyyy-MM-dd hh:mm:ss
+
+ (2)关键指标业务说明
+
+ 被列为实训基地项目支持部门:国家级/省级/地市级/其他
+
+ 基地类别:校内实训教学基地/虚拟仿真实训基地/校中厂/开放
+
+实训基地/其它
+
+ (3)数据采集周期
+
+ 全量推送:首次推送校外实训基地全量明细数据。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.2.3.2 ods_xwsxjdsj(校外实训基地数据表)
+
+[描述]该表用于收集校企合作校外实训基地明细数据,数据有更新时
+
+统计上报,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 O 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+sxsxjdh 实习实训基地号 C 36 O 统一社会信用代码
+sxsxjdmc 实习实训基地名称
+ytdwmc 依托单位名称 C 80 O
+ytdwxz 依托单位性质
+dwzzjgdm 单位组织机构代码 C 32 O 学校自编:英文或者数字 32 位
+zgzgzs 在岗职工总数
+szqy 所在区域 C 200 O
+xxdz 详细地址
+jdlxrxm 基地联系人姓名 C 300 O
+lxrdh 联系人电话
+lxryx 联系人邮箱 C 4 O 引用:dwxzdm(单位性质代码)
+jdclny 基地成立年月
+sshy 所属行业 C 60 M
+sscy 所属产业
+mxzy 面向专业 N 23 M 数字标识
+hzkssj 合作开始时间
+hzjssj 合作结束时间 C 120 O 省、是、区县
+hzxyqszt 合作协议签署状态
+hzzt 合作状态 C 2 O
+sjcjsj 数据采集时间
+ C 30 O
+
+ N 30 M
+
+ N 12 M
+
+ C 2 O yyyy-MM 例:1998-02
+
+ C 2 O 引用:sxhydm(实习行业代码)
+
+ C 4 O 引用:cydm(产业代码)
+
+ C 65 O
+
+ C 60 M yyyy-MM-dd
+
+ C 60 M yyyy-MM-dd
+
+ C 2 O 1-签署 2-续签 3-未签
+
+ C 2 O 1-正常 0-终止
+
+ C 60 O yyyy-MM-dd hh:mm:ss
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+(1)关键指标业务说明
+ 所属产业:第一产业/第二产业/第三产业
+ 合作协议签署状态:签署/续签/未签
+ 合作状态:正常/终止
+(2)数据采集周期
+ 全量推送:首次推送校外实训基地全量明细数据。
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.3 教育教学数据集
+
+5.3.1 课程信息数据子集
+
+5.3.1.1 ods_zzkcxxsj(中职课程信息数据表)
+
+[描述]该表用于收集学校课程信息明细数据,首次推送需全量进行推
+
+送,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+ssxqbh 所属校区编号 C 36 M 统一社会信用代码
+kcmc 课程名称
+kcdm 课程代码 C 80 M
+kclb 课程类别
+kcxz 课程性质 C 80 M 校区编号,和校区表保持一致
+kcsx 课程属性
+kcfl 课程分类 C 23 M
+
+ C 23 M
+
+ C 2 M 引用:kclbdm(课程类别代码)
+
+ C 2 M 引用:kcxzdm(课程性质代码)
+
+ C 2 M 引用:kcsxdm(课程属性代码)
+
+ C 2 M 引用:kcfldm(课程分类代码)
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+xklb 学科类别 C 10 M 引用:xklbdm(学科类别代码)
+
+sfzyhxkc 是否专业核心课程 C 2 M 0-是否 1-是
+
+lvjxss 理论教学时数 N 30 M 数字标识
+
+sjjxsy 实践教学时数 N 30 M 数字标识
+
+sjcjsj 数据采集时间 C 60 O yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 课程类别:A 类(纯理论课)/B 类((理论+实践)课)/C 类(纯实践课)
+
+ 课程性质:公共课/专业课
+
+ 课程属性:必修课/选修课
+
+ 课程分类:文化基础课/专业核心课/专业基础课/军训/社会实践
+
+/综合实训/认知实习/岗位实习
+
+ 学科类别:公共课—国家课程:思想政治/语文/历史/;公共
+
+课—其它公共课:数学/信息技术/艺术/音乐/美术/体育与健康/外语/
+
+地理/物理/化学/生物/劳动教育/研究性学习活动(综合实践活动)/社
+
+区服务(综合实践活动)/社会实践(综合实践活动)/通用技术/;专
+
+业课:农林牧渔类/资源环境类/能源与新能源类/土木水利类/加工制造
+
+类/石油化工类/轻纺食品类/交通运输类/信息技术类/医药卫生类/休
+
+闲保健类/财经商贸类/旅游服务类/文化艺术类/体育与健身/教育类/
+
+司法服务类/公共管理与服务类。
+
+ (2)数据采集周期
+
+ 全量推送:首次推送学校全量课程信息数据。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.3.2 排课巡课数据子集
+
+5.3.2.1 ods_zzxkpksj(中职巡课排课数据表)
+
+[描述]该表用于收集学校巡课排课明细数据,首次推送近一个月数
+
+据,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 O 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+ssxqbh 所属校区编号 C 36 O 统一社会信用代码
+nj 年级
+bj 班级 C 80 O
+xn 学年
+xq 学期 C 80 M
+zc 周次
+xqj 星期几 C 32 O 学校自定义
+skjc 上课节次
+skrq 上课日期 C 60 O 学校自定义
+kcmc 课程名称
+kcdm 课程代码 C 23 O 如:2021-2022 学年
+jgh 教工号
+jxbrs 教学班人数 C 23 O 如:第二学期
+skkssj 上课开始时间
+skjssj 上课结束时间 C 2 O 数字标识:1
+sdxsrs 实到学生人数
+jsdkqk 教师到课情况 C 4 O 例如:星期一
+xkr 巡课人
+ C 32 O 数字标识:2
+
+ C 32 M 上课当天日期:yyyy-MM-dd
+
+ C 2 M
+
+ C 2 M
+
+ C 2 O
+
+ N 12 M 数字标识
+
+ C 32 M 上开开始时间例如:9:00
+
+ C 32 M 上课结束时间例如:22:00
+
+ C 12 M
+
+ C 2 M 1-正常 0-异常
+
+ C 32 O
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)数据采集周期
+
+ 全量推送:首次推送近一个月数据。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.4 教材选用数据集
+
+5.4.1 教材选用数据子集
+
+5.4.1.1 ods_jcxysj(教材选用数据表)
+
+[描述]该表用于收集学校教材选用结果数据,数据有更新时统计上
+
+报,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+jcmc 教材名称 C 36 M 统一社会信用代码
+jcbh 教材编号
+jcxz 教材性质 C 80 M
+isbn ISBN 号
+zzxm 作者 C 150 M
+cbrq 出版日期
+cbs 出版社 C 80 M 学校自编,不能重复
+sycc 适用层次
+jg 价格(元) C 2 M 引用:jcxzdm(教材性质代码)
+bc 版次
+yc 印次 C 200 M 例:9787040195194
+
+ C 100 O 作者姓名多个用逗号隔开
+
+ N 23 O yyyy-MM-dd 例:2006-07-01
+
+ C 120 O 如:高等教育初版社
+
+ C 2 O 引用:jcsyccdm(教材适用层次
+
+ 代码)
+
+ C 30 O 例:22.3
+
+ N 30 M 数字标识,例:1
+
+ N 12 M 数字标识,例:2
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+sfylxc 是否有练习册 C 2 O 0-否 1-是
+sfyjcjf 是否有教参教辅
+ C 2 O 0-否 1-是
+
+hjqk 获奖情况 C 2 O 引用:jchjqkdm(教材获奖情况
+
+ 代码)
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 教材性质:国家统编教材/国家规划教材/省级规划教材/校企合
+
+作开发教材/自编教材/讲义/其他
+
+ 适用层次:中职/高职专科/高职本科/其他
+
+ 获奖情况:首届国家教材建设奖优秀教材特等奖/首届国家教
+
+材建设奖优秀教材一等奖/首届国家教材建设奖优秀教材二等奖/其他
+
+ (2)数据采集周期
+
+ 全量推送:首次推送学校全量教材选用数据。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.5 实习实训数据集
+
+5.5.1 实习实训数据子集
+
+5.5.1.1 ods_zzsxjcsj(中职实习基础数据表)
+
+[描述]该表用于收集学生实习过程数据,首次推送近一学期数据,增
+
+量数据按日统计上报,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzsxjysjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+ C 36 M 统一社会信用代码
+
+ C 80 M
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+xsxh 学生学号 C 45 M
+xsxm 学生姓名
+zymc 专业名称 C 45 M
+xn 学年
+xq 学期 C 120 M
+sxbj 实习班级
+sxxmmc 实习项目名称 C 50 M 例:2021-2022 学年
+sxlb 实习类别
+sxsfks 实习是否开始 C 50 M 例:第一学期
+sxsfjs 实习是否结束
+sxhy 实习行业 C 100 M 学校自编
+sxkssj 实习开始时间
+sxjssj 实习结束时间 C 250 M
+sxqx 实习去向
+sxdwly 实习单位来源 C 2 M 引用:sxlbdm(实习类别代码)
+
+ C 2 M 数字标识:0-否,1-是
+
+ C 2 M 数字标识:0-否,1-是
+
+ C 4 M 引用:sxjyhydm(实习/就业行
+
+ 业代码)
+
+ C 32 M yyyy-MM-dd
+
+ C 32 M yyyy-MM-dd
+
+ C 2 O 引用:sxqxdm(实习去向代码)
+
+ C 2 M 引用:sxdwlydm(实习单位来
+
+ 源代码)
+
+sxcslx 实习场所类型 C 2 M 引用:sxcslxdm(实习场所类型
+
+ 代码)
+
+sxjdh 实训基地号 C 2 M 引用:实训基地数据子集,校内
+sxdwmc 实习单位名称
+sxdwdz 实习单位地址 外实训基地号
+sxgwmc 实习岗位名称
+zsap 住宿安排 C 165 O
+zydkcd 专业对口程度
+ C 132 O
+
+ C 110 O
+
+ C 2 O 引用:zxapdm(住宿安排代码)
+
+ C 2 O 引用:zydkcddm(专业对口程
+
+ 度代码)
+
+gmbxzl 购买保险种类 C 2 O 引用:bxgmzldm(购买保险种
+
+ 类代码)
+
+bxgmf 保险购买方 C 2 O 引用:bxgmfdm(保险购买方代
+
+ 码)
+
+sjcjsj 数据采集时间 C 64 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键业务指标说明
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 实习类别:认知实习/跟岗实习/顶岗实习/其他。
+ 实习去向:省内/省外/境外。
+ 实习单位来源:统一安排/学校推荐/自主选择。
+ 实习场所类型:校内实习实训基地/校外实习实训基地。
+ 住宿安排:实习单位统一安排/学校统一安排/学生自主安排。
+ 专业对口程度:基本对口/专业不对口/对口。
+ 购买保险种类:学生实习责任保险/意外险/其他保险/未购买。
+ 保险购买方为下拉菜单:学校/企业/其他。
+(2)采集周期和方式
+ 全量推送:首次推送近一学期的数据。
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.6 日常活动数据集
+
+5.6.1 党建活动数据子集
+
+5.6.1.1 ods_dzzqkjcsj(党组织情况基础数据表)
+
+[描述]该表用于收集学校党组织情况明细数据,包括:党委、党总支、
+
+党支部等。首次推送需全量推送,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+dzzlx 党组织类型 C 36 M 统一社会信用代码
+
+ C 80 M
+
+ C 100 M
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+dzzmc 党组织名称 C 100 M
+dzzbh 党组织编号
+sjdzz 隶属上级党组织 C 100 M 学校自编
+dnldxm 党内领导姓名
+dnldjgh 党内领导教工号 C 100 O
+
+dnldzw 党内领导职务 C 32 O
+
+ C 35 O
+
+ 引用:dnldrzwdm(党内领导人
+
+ C 60 O 员职务代码),多选多个职务代
+
+ 码之间用“||”关联,如 1||2||3
+
+ 数字标识:是 ods_dyfzqkjcsj
+
+dzzdyrs 党组织党员人数 N 32 M (党员发展情况基础数据表)总
+
+ 和
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 党内领导职务多选:书记/副书记/组织委员/宣传委员/纪检委
+
+员/青年委员/统战委员/保密委员/妇女委员/其他
+
+ (2)采集周期和方式
+
+ 全量推送:首次全量推送。如有数据更新,依据主键 ID 更新
+
+即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.6.1.2 ods_dyfzqkjcsj(党员发展情况基础数据表)
+
+[描述]该表用收集党员发展情况基础明细数据,包括:预备党员、正
+
+式党员。首次推送需全量推送,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+ C 36 M 统一社会信用代码
+
+ C 80 M
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+dzzlx 党组织类型 C 100 M
+dzzmc 党组织名称
+dzzbh 党组织编号 C 100 M
+xdylx 新党员类型
+dyxm 姓名 C 100 M 学校自编
+rybh 人员编号
+ C 2 M 引用:xdylxdm(新党员类型代
+
+ 码)
+
+ C 32 M
+
+ C 35 O
+
+ 引用:xdyfzztdm(新党员发展
+
+xdyfzzt 党员发展状态 C 2 M 状态代码)只取正式党员和预备
+
+ 党员
+
+cwjjfzrq 成为积极份子日期 C 32 O yyyy-MM-dd
+
+cwybdyrq 成为预备党员日期 C 32 O yyyy-MM-dd
+
+zzrq 成为正式党员日期 C 32 O yyyy-MM-dd
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (3)关键指标业务说明
+
+ 新党员类型:教职工/学生/其他。
+
+ 当前状态:预备党员/正式党员,本次只统计预备党员、正式
+
+党员数据。
+
+ (4)采集周期和方式
+
+ 全量推送:首次全量推送。如有数据更新,依据主键 ID 更新
+
+即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.6.1.3 ods_djhddygbxxsj(党建活动党员干部学习数据表)
+
+[描述]该表用于收集党建活动党员干部学习结果数据,首次推送近一
+
+学期数据,当日数据需在 24 点之前完成推送。
+
+数据项名 中文简称 类型 长度 约束 值空间
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+gzzyqksjid 主键数据唯一性标识 C 32 M 32 位全局唯一编码字符串
+xxjgdm 学校机构代码
+xxjgmc 学校机构名称 C 36 M 统一社会信用代码
+dzzmc 党组织名称
+dzzbh 党组织编号 C 80 M
+
+ C 100 M
+
+ C 100 O 学校自编
+
+ 引用:dygbxxpxzytjztdm(党员
+
+dygbxxpxzytjzt 党员干部学习培训主要 干部学习培训主要途径和载体代
+ 途径和载体 C 100 O
+
+ 码),多选多个代码之间用“||”
+
+ 关联,如 1||2||3
+
+ 引用:5.1.5.9dygbxxpxnrdm
+
+dygbxxpxnr 党员干部学习培训内容 C 32 O (党员干部学习培训内容代码),
+
+ 多选多个代码之间用“||”关联,
+
+ 如 1||2||3
+
+hdkssj 活动开始时间 C 35 M
+
+hdjssj 活动结束时间 C 60 M
+
+cyrs 参与人数 N 32 M
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 党员干部学习培训主要途径和载体为多选项:实践活动/会议/
+
+讲座报告/学校定期集中学习/支部定期集中学习/微信 QQ/移动端培训
+
+平台/分发图书资料/个人学习/在线教育网站/参观学习。
+
+ 党员干部学习培训内容:党的理论/相关政策文件/党规党纪及
+
+国家法律法规/教育教学业务/学校管理/文化建设/经济方面/互联网与
+
+新媒体方面/心理健康/师德师风/其他。
+
+ (2)采集周期和方式
+
+ 全量推送:首次推送近一学期数据。如有数据更新,依据主键
+
+ID 更新即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.6.1.4 ods_djhdshyksj(党建活动三会一课数据表)
+
+[描述]该表用于收集党建活动三会一课结果数据,首次推送近一学期
+
+数据,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+dzzmc 党组织名称 C 36 M 统一社会信用代码
+dzzbh 党组织编号
+ C 80 M
+
+ C 100 M
+
+ C 100 M 学校自编
+
+hdxs 活动形式 引用:djhdxsdm(党建活动形
+ C 100 M
+
+ 式代码)
+
+dkzjr 党课主讲人 C 32 O
+
+hdnr 活动内容 C 500 O
+
+hdkssj 活动开始时间 C 35 M
+
+hdjssj 活动结束时间 C 60 M
+
+cyrs 参与人数 N 32 M
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 活动形式:实践活动/会议/讲座报告/学校定期集中学习/支部定
+
+期集中学习/微信 QQ/移动端培训平台/分发图书资料/个人学习/在线教
+
+育网站/参观学习。(内容不对)
+
+ (2)采集周期和方式
+
+ 全量推送:首次推送近一学期数据。如有数据更新,依据主键
+
+ID 更新即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.6.1.5 ods_djhddydhsj(党建活动党员大会数据表)
+
+[描述]该表用于收集党建活动党员大会结果数据,首次推送近一学期
+
+数据,当日数据需在 24 点之前完成推送。
+
+数据项名 中文简称 类型 长度 约束 值空间
+
+gzzyqksjid 主键数据唯一性标识 C 32 M 32 位全局唯一编码字符串
+
+xxjgdm 学校机构代码 C 36 M 统一社会信用代码
+
+xxjgmc 学校机构名称 C 80 M
+
+dzzmc 党组织名称 C 100 M
+
+dzzbh 党组织编号 C 100 O 学校自编
+
+hddd 活动地点 C 32 O
+
+hdnr 活动内容 C 300 O
+
+hdkssj 活动开始时间 C 35 M
+
+hdjssj 活动结束时间 C 60 M
+
+cyrs 参与人数 N 32 M
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)采集周期和方式
+
+ 全量推送:首次推送近一学期数据。如有数据更新,依据主键
+
+ID 更新即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.6.1.6 ods_djhddyrcsj(党建活动党员日常数据表)
+
+[描述]该表用于收集党建活动党员日常结果数据,首次推送近一学期
+
+数据,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+ C 32 M 32 位全局唯一编码字符串
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+xxjgdm 学校机构代码 C 36 M 统一社会信用代码
+
+xxjgmc 学校机构名称 C 80 M
+
+dzzmc 党组织名称 C 100 M
+
+dzzbh 党组织编号 C 100 M 学校自编
+
+hddd 活动地点 C 32 O
+
+hdnr 活动内容 C 300 O
+
+hdkssj 活动开始时间 C 35 M
+
+hdjssj 活动结束时间 C 60 M
+
+cyrs 参与人数 N 32 M
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)采集周期和方式
+
+ 全量推送:首次推送近一学期数据。如有数据更新,依据主键
+
+ID 更新即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.6.1.7 ods_djhddyztdrsj(党建活动党员主题党日数据表)
+
+[描述]该表用于收集党建活动党员主题党日结果数据,首次推送近一
+
+学期数据,当日数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+dzzmc 党组织名称 C 36 M 统一社会信用代码
+dzzbh 党组织编号
+hddd 活动地点 C 80 M
+hdnr 活动内容
+ C 100 M
+
+ C 100 M 学校自编
+
+ C 32 O
+
+ 引用:ztdrhdnrdm(主题党日活
+ C 300 O
+
+ 动内容代码),多选多个代码之
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 间用“||”关联,如 1||2||3
+
+hdkssj 活动开始时间 C 35 M
+hdjssj 活动结束时间
+cyrs 参与人数 C 60 M
+sjcjsj 数据采集时间
+ N 32 M
+
+ C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+ 活动内容:尚未开展主题党日活动/党内评议/温暖关爱/学习交
+流/民主议事/建言献策/志愿服务/外出参观/研究业务/其他。
+ (2)采集周期和方式
+ 全量推送:首次推送近一学期数据。如有数据更新,依据主键
+ID 更新即可。
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.6.2 赛事活动数据子集
+
+5.6.2.1 ods_cjsxhdsj(参加赛事活动数据表)
+
+[描述]该表用于收集参加赛事活动结果数据,首次推送近三个月数
+
+据,新增数据需在 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 O 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+hdmc 活动名称 C 36 O 统一社会信用代码
+hdzt 活动主题
+hdxs 活动形式 C 80 O
+
+ C 32 O
+
+ C 63 M
+
+ C 200 M
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+hdnr 活动内容 C 300 M
+zbdw 主办单位
+ C 200 O
+
+zbdwjb 主办单位级别 C 2 O 引用:zbdwjbdm(主办单位级
+
+ 别代码)
+
+hdksrq 活动开始日期 C 100 O yyyy-MM-dd
+
+hdjsrq 活动结束日期 C 100 O yyyy-MM-dd
+
+xffzr 校方负责人 C 32 M
+
+cyjss 参与教师数 N 32 O 数字标识,例:10
+
+cyxss 参与学生数 N 32 O 数字标识,例:20
+
+sjcjsj 数据采集时间 C 60 O yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 主办单位级别:国际级/国家级/省部级/地市级/区县级/校级/其
+
+他。
+
+ (2)采集周期和方式
+
+ 全量推送:首次推送只推送近 3 个月的赛事活动数据。如有数
+
+据更新,依据主键 ID 更新覆盖即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.6.3 社团活动数据子集
+
+5.6.3.1 ods_cjsthdsj(参加社团活动数据表)
+
+[描述]该表用于收集参加社团活动结果数据,首次推送近三个月数
+
+据,新增数据需在当日 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+
+ C 36 M 统一社会信用代码
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+xxjgmc 学校机构名称 C 80 M
+cyxss 参与学生数
+ N 32 M 数字标识:20
+
+cjsthdlx 参加社团活动类型 引用:sthdlxdm(社团活动类型
+ C 200 O
+
+ 代码)
+
+cjsthdkssj 参加社团活动开始时间 C 100 O yyyy-MM-dd
+
+cjsthdjssj 参加社团活动结束时间 C 100 O yyyy-MM-dd
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)采集周期和方式
+
+ 全量推送:首次推送近 3 个月数据。如有数据更新,依据主键
+
+ID 更新即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.6.4 德育活动数据子集
+
+5.6.4.1 ods_dyhdsj(德育活动数据表)
+
+[描述]该表用于收集参加德育活动结果数据,首次推送近三个月数
+
+据,新增数据需在当日 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+hdmc 活动名称 C 36 M 统一社会信用代码
+sszt 所属专题
+hdbk 活动版块 C 180 M
+hdzt 活动主题
+ C 132 M
+hdlx 活动类型
+ C 163 O
+
+ C 200 O
+
+ C 2 O 引用:dyhdztdm(德育活动主
+
+ 题代码)
+
+ C 2 M 引用:dyhdlxdm(德育活动类
+
+ 型代码)
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+hdnr 活动内容 C 300 O 150 字以内
+zbdw 主办单位
+ C 200 M
+
+zbdwjb 主办单位级别 C 2 M 引用:zbdwjbdm(主办单位级
+
+ 别代码)
+
+hdksrq 活动开始日期 C 200 M yyyy-MM-dd
+
+hdjsrq 活动结束日期 C 200 M yyyy-MM-dd
+
+xffzr 校方负责人 C 32 O
+
+cybjs 参与班级数 N 32 M 数字标识,例:20
+
+cyjss 参与教师数 N 32 M 数字标识,例:10
+
+cyxss 参与学生数 N 32 M 数字标识,例:20
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (3)关键指标业务说明
+
+ 所属专题:教育部部署专题活动(每年更新。如,2021 年为
+
+“少年工匠心向党青春奋进新时代”,2022 年为“技能成才 强国有
+
+我”)/“文明风采”活动/其他(学校自行定义,注明内容)
+
+ 活动板块:教育部部署专题活动子板块,(如 2021 年活动板
+
+块有:“我们一起学党史”活动/“写给 2035 的我”寄语/红色基因传
+
+承活动)/
+
+ 活动主题:习近平新时代中国特色社会主义思想教育/“四史”
+
+教育/社会主义核心价值观教育/爱国主义教育/中华优秀传统文化教
+
+育/法治教育/国家安全教育/劳动教育/健康教育/职业生涯教育/其他。
+
+ 活动类型:讲座报告/征文演讲/文艺表演/参观走访/志愿服务/
+
+社会实践/分享交流/其他
+
+ 主办单位级别:国家级/省级/地市级/区县级/校级/
+
+ (4)采集周期和方式
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 全量推送:首次推送只推送近 3 个月的德育活动数据。如有数
+据更新,依据主键 ID 更新覆盖即可。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送。
+
+5.7 教师发展数据集
+
+5.7.1 进修培训数据子集
+
+5.7.1.1 ods_jxpxsj(进修培训数据表)
+
+[描述]该表用于收集学校教师进修培训活动参与情况结果数据,按日
+
+统计上报,新增数据需在当日 24 点之前完成推送。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+ C 36 M 统一社会信用代码
+
+ C 80 M
+
+jxpxhdbh 进修培训活动编号 C 32 M 学校自定义,同一个活动编号一
+
+ 致,例:JXXD202206080001
+
+jxpxhdmc 进修培训活动名称 C 80 M
+
+jxpxhdzt 进修培训活动主题 C 63 O
+
+jxpxhdnrjj 进修培训活动内容简介 C 200 O
+
+jxpxhdsj 进修培训活动培训时间 C 100 M yyyy-MM-dd
+
+zjr 主讲人姓名 C 23 O
+drpxhdcyjss 当日培训活动参与教师
+sjcjsj 数 N 23 M 数字标识,例 230
+ 数据采集时间
+ C 60 M yyyy-MM-dd hh:mm:ss
+
+(1)关键指标业务说明
+
+ 进修培训活动编号:学校自定义 32 位英文、数字编码,同一
+
+个活动编号一致,如:JXXD202206080001。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ (2)数据采集周期
+ 每产生一次培训活动,推送一次数据,同一个活动如果需要多
+天培训,每天需进行增量推送,并且同步更新当日培训活动参与教师
+数量。
+
+5.7.2 资质与证书数据子集
+
+5.7.2.1 ods_zzzssj(资质证书数据表)
+
+[描述]该表用于收集学校教师持有资质与证书结果数据,每个学校只
+
+能有一条数据,首次推送全量推送,如果数据有发生变更,可根据主
+
+键 ID 更新当前数据。
+
+数据项名 中文简称 类型 长度 约束 值空间
+
+gzzyqksjid 主键数据唯一性标识 C 32 M 32 位全局唯一编码字符串
+
+xxjgdm 学校机构代码 C 36 M 统一社会信用代码
+
+xxjgmc 学校机构名称 C 80 M
+
+jszgzrs 教师资格证人数 N 32 M 数字标识,例:123
+
+gjzcrs 高级职称人数 N 80 M 数字标识,例:123
+
+zjzcrs 中级职称人数 N 63 M 数字标识,例:123
+
+cjzcrs 初级职称人数 N 200 M 数字标识,例:123
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)数据采集周期
+
+ 每个学校只能有一条数据,首次推送全量推送,如果数据有发
+
+生变更,可根据主键 ID 更新当前数据。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.7.3 日常工作与评价数据子集
+
+5.7.3.1 ods_gzpjsj(工作评价数据表)
+
+[描述]该表用于收集学校教师日常工作评价结果数据,每个学校只能
+
+有一条数据,首次推送全量推送,如果数据有发生变更,可根据主键
+
+ID 更新当前数据。
+
+数据项名 中文简称 类型 长度 约束 值空间
+
+gzzyqksjid 主键数据唯一性标识 C 32 M 32 位全局唯一编码字符串
+
+xxjgdm 学校机构代码 C 36 M 统一社会信用代码
+
+xxjgmc 学校机构名称 C 80 M
+
+gzrztjcs 工作日志提交次数 N 32 M 数字标识,例:123
+
+hpjsrs 好评教师人数 N 80 M 数字标识,例:123
+
+tsgwjsrs 特殊岗位教师人数 N 63 M 数字标识,例:123
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)数据采集周期
+
+ 每个学校只能有一条数据,首次推送全量推送,如果数据有发
+
+生变更,可根据主键 ID 更新当前数据。
+
+5.8 学生综合素养数据集
+
+5.8.1 文化基础课成绩数据子集
+
+5.8.1.1 ods_wfjckcjsj(文化基础课成绩数据表)
+
+[描述]该表用于课程分类为文化基础课成绩结果数据,首次推送近一
+学期数据,如果数据有发生变更,可根据主键 ID 更新当前数据。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+
+gzzyqksjid 主键数据唯一性标识 C 32 M 32 位全局唯一编码字符串
+
+xxjgdm 学校机构代码 C 36 M 统一社会信用代码
+
+xxjgmc 学校机构名称 C 80 M
+
+xn 学年 N 32 M 例:2021-2022 学年
+
+xq 学期 N 80 M 例:第一学期
+
+nj 年级 C 60 M 学校自编
+
+bj 班级 C 60 M 学校自编
+
+zymc 专业名称 C 163 O
+
+kcmc 课程名称 C 120 M
+
+kcfl 课程分类 C 5 M 引用:kcfldm(课程分类代码)
+
+rkjs 任课教师 C 5 O
+
+kccj 课程成绩 C 5 M 数字标识,例:98
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 课程分类:文化基础课/专业核心课/专业基础课/军训/社会实践
+
+/综合实训/认知实习/岗位实习。注:此表只收集课程分类为文化基础
+
+课的成绩信息
+
+ (2)数据采集周期
+
+ 全量推送:首次推送近一学期的数据。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送
+
+5.8.2 综合素质评价数据子集
+
+5.8.2.1 ods_xszhcjpjsj(学生综合成绩与评价数据表)
+
+[描述]该表用于收集学生综合成绩与评价明细数据,首次推送近一学
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+期数据,如果数据有发生变更,可根据主键 ID 更新当前数据。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+
+gzzyqksjid 主键数据唯一性标识 C 32 M 32 位全局唯一编码字符串
+
+xxjgdm 学校机构代码 C 36 M 统一社会信用代码
+
+xxjgmc 学校机构名称 C 80 M
+
+xn 学年 N 32 M 例:2021-2022 学年
+
+xq 学期 N 80 M 例:第一学期
+
+zymc 专业名称 C 163 O
+
+nj 年级 C 60 M 学校自编
+
+bj 班级 C 60 M 学校自编
+
+xjh 学籍号 N 63 O 数字标识,例:123
+
+xsxm 学生姓名 C 120 M
+
+sxzzcj 思想政治成绩 N 5 M 数字标识,例:98
+
+whkcj 文化课成绩 N 5 M 数字标识,例:97
+
+zyjnkccj 专业技能课程成绩 N 5 M 数字标识,例:96
+
+xstzjkcj 学生体质健康成绩 N 5 M 数字标识,例:97
+
+zhpj 综合评价成绩 N 5 M 数字标识,例:98
+
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+ (1)数据采集周期
+
+ 全量推送:首次推送近一学期的数据。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送
+
+5.8.3 毕业班学生意向分布数据子集
+
+5.8.3.1 ods_zzbyqxsxsj(中职毕业去向【升学】数据表)
+
+[描述]该表用于收集学生毕业去向升学明细数据,首次推送近一学期
+的数据。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+
+zzsxjysjid 主键数据唯一性标识 C 32 M 32 位全局唯一编码字符串
+
+xxjgdm 学校机构代码 C 36 M 统一社会信用代码
+
+xxjgmc 学校机构名称 C 80 M
+
+xh 学号 C 64 M
+
+xm 姓名 C 65 M
+
+zymc 专业名称 C 34 M
+
+bjmc 班级名称 C 45 O
+
+sfzh 身份证号 C 36 O
+
+sxqd 升学渠道 C 2 O 引用:sxqddm(升学渠道代码)
+
+xxmc 学校名称 C 68 O
+
+lqzy 录取专业 C 68 O
+
+fs 分数 C 12 O
+
+sxcc 升学层次 C 2 O 引用:sxccdm(升学层次代码)
+
+sjcjsj 数据采集时间 C 64 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 升学渠道:贯通培养、五年一贯制培养、职教高考、普通高考、
+
+出国。
+
+ 升学层次:专科、职业本科、普通本科。
+
+ (2)数据采集周期
+
+ 全量推送:首次推送近一学期的数据。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送
+
+5.8.3.2 ods_zzbyqxjysj(中职毕业去向【就业】数据表)
+
+[描述]该表用于收集学生毕业去向就业明细数据,首次推送近一学期
+的数据。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+数据项名 中文简称 类型 长度 约束 值空间
+
+zzsxjysjid 主键数据唯一性标识 C 32 M 32 位全局唯一编码字符串
+
+xxjgdm 学校机构代码 C 36 M 统一社会信用代码
+
+xxjgmc 学校机构名称 C 80 M
+
+xh 学号 C 64 M
+
+xm 姓名 C 120 M
+
+zymc 专业名称 C 120 M
+
+bjmc 班级名称 C 64 O
+
+sfzh 身份证号 C 36 M
+
+sfxqhzdw 就业单位是否校企合作单 C 2 M 0-否 1-是
+
+ 位
+
+jydwmc 就业单位名称 C 124 O
+
+jydwhy 就业单位行业 C 10 M 引用:sxjyhydm(实习/就业行业
+
+ 代码)
+
+jydwxz 就业单位性质 C 4 O 引用:dwxzdm(单位性质代码)
+
+jydwgm 就业单位规模 C 2 O 引用:jydwgmdm(就业单位规
+
+ 模代码)
+
+jyqd 就业渠道 C 2 O 引用:jyqddm(就业渠道代码)
+
+htqdqk 合同签订情况 C 2 O 引用:htqdqkdm(合同签订情况
+
+ 代码)
+
+qxx 起薪线(元) C 12 O
+
+sfdk 是否对口 C 2 M 0-否 1-是
+
+jyrq 就业日期 C 56 M yyyy-MM-dd
+
+zzcy 是否自主创业 C 2 M 0-否 1-是
+
+cyxmmc 创业项目名称 C 164 O
+
+lhjy 是否灵活就业 C 2 M 0-否 1-是
+
+gznr 工作内容 C 300 O
+
+sjcjsj 数据采集时间 C 64 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 就业单位性质:机关/事业单位/民营/国企/其他。
+
+ 就业单位规模:特大型、大型、中型、小型、微型。
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 起薪线是指本专业应届就业毕业生就业当月的薪资。
+ 是否对口:是/否,对口就业主要包括学生在符合本专业人才
+培养目标岗位就业、升入更高层次学校上学、参军。
+ 是否自主创业:是/否。
+ 是否灵活就业:是/否。
+ 工作内容:灵活就业人员需简要填写工作内容。
+ 就业渠道为下拉菜单:学校推荐/中介介绍/其他
+ 合同签订情况:未签/1 年及以内/1-2(含)年/2-3(含)年/3
+年以上。
+ 社会保险情况:没有社保/三险/五险/三险一金/五险一金。
+ (2)采集周期和方式
+ 全量推送:首次推送近一学期的数据。
+ 增量推送:新增/修改数据每天 24 点前完成推送
+
+5.8.3.3 ods_zzbyqxwjysj(中职毕业去向【未就业】数据表)
+
+[描述]该表用于收集学生毕业去向未就业明细数据,首次推送近一学
+
+期的数据。
+
+ 数据项名 中文简称 类型 长度 约束 值空间
+zzsxjysjid 主键数据唯一性标识
+xxjgdm 学校机构代码 C 32 M 32 位全局唯一编码字符串
+xxjgmc 学校机构名称
+xh 学号 C 36 M 统一社会信用代码
+xm 姓名
+zymc 专业名称 C 80 M
+
+ C 36 M
+
+ C 65 M
+
+ C 65 O
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+bjmc 班级名称 C 34 O
+
+sfzh 身份证号 C 36 O 敏感数据,可不上上报,置为 null
+
+wjylx 未就业类型 C 2 M 引用:wjylxdm(未就业类型代码)
+
+sjcjsj 数据采集时间 C 64 M yyyy-MM-dd hh:mm:ss
+
+ (1)关键指标业务说明
+
+ 未就业类型:待就业、不就业拟升学、其他暂不就业。
+
+ (2)采集周期和方式
+
+ 全量推送:首次推送近一学期的数据。
+
+ 增量推送:新增/修改数据每天 24 点前完成推送
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.9 附件
+5.9.1 附件一:全国职业教育智慧大脑视频流信息汇总表-模板
+
+ 全国职业教育智慧大脑视频流信息汇总表
+
+ 省区域 省区域 市区域 市区域 区县区 区县区 学校机 学校名称 教室名称 设备 ID 设备点
+序号 名称 域代码 域名称 构代码 视频播放地址
+
+ 代码 名称 代码 位名称
+ 1 440000 广东省 440100
+ 124400004558 教学大楼 iDS-8108LHFH-K2-V 教师跟
+ 广州市 440105 海珠区 -208-209
+ xx 学校 20820210602CCCHG18 踪 xxx rtsp://xxxxxxx
+ 63013X
+ 501120WVLU002
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.9.2 附件二:全国职业教育智慧大脑院校中台看板数据计算逻辑
+
+ 全国职业教育智慧大脑院校中台看板数据计算逻辑-中职院校大屏
+
+序号 模块分类 指标大类 指标子类 计算逻辑 计算间隔 计算公式
+ 1 学院概况
+ 2 当前在岗教职工 截至到今天(不含) 每天凌晨 00:30 计 select xyjss(现有教职工总数) from ods_zzxxgkjcsj(中
+ 3 总数
+ 4 的数据 算一次 职学校概况基础数据表)where xxjgdm(学校机构代码)
+
+ 5 = '当前学校统一社会信息代码'
+
+ 教师、学生、专业 截至到今天(不含) 每天凌晨 00:30 计 select xyxss(现有学生数) from ods_zzxxgkjcsj(中职
+ 当前在校生总数
+ 的数据 算一次 学校概况基础数据表)where xxjgdm(学校机构代码)
+ 数
+ = '当前学校统一社会信息代码'
+
+ 截至到今天(不含) 每天凌晨 00:30 计 select bxkszys(本校开设专业数) from ods_zzxxgkjcsj
+
+ 本校开设专业数 的数据 算一次 (中职学校概况基础数据表)where xxjgdm(学校机构
+
+ 代码) = '当前学校统一社会信息代码'
+
+ 今日开课数 计算当天的数据,排 select count(1) from ods_zzxkpks(j 中职巡课排课数据表)
+ 课 ods_zzxkpks(j 中职 where skrq(上课日期)='当天' and xxjgdm(学校机构
+ 代码) = '当前学校统一社会信息代码'
+ 每天凌晨 00:30 计
+ 今日动态 巡课排课数据))上
+
+ 算一次
+ 课日期是当天的开课
+ 数。
+
+ 今日实验实训项 课程类型为,B 类 每天凌晨 00:50 计 select count(*) from ods_zzxkpks(j 中职巡课排课数据表)
+ A1 join ods_zzkcxxsj(中职课程信息数据表)A2 on
+ 目数 ((理论+实践)课 算一次 A1.kcdm(课程代码)= A2. kcdm(课程代码)where
+ A1.skrq(上课日期)='当天' and A1.xxjgdm(学校机构
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 代码) = '当前学校统一社会信息代码'
+
+ select sum(t1.lvjxss) from (select lvjxss(理论教学时
+
+ 数),kcdm(课程代码) from ods_zzkcxxsj(中职课程信息数
+
+ 据表) where xklb(学科类别)='1' and xxjgdm(学校机构代
+
+ 今日国家三科课 计算学科类别=1 且 每天凌晨 1:00 计算 码)='统一社会信用代码' ) t1
+
+6 时总数 在当天上课的课时总 一次 inner join
+
+ 数 (select kcdm(课程代码) from ods_zzxkpksj(中职巡课排
+
+ 课数据表)where xxjgdm(学校机构代码) = '当前学
+
+ 校统一社会信息代码' and skrq(上课日期)='当天') t2
+
+ on t1.kcdm=t2.kcdm
+
+ 当天时间在实习时间 select count(*) from ods_zzsxjcsj(中职实习基础数据
+
+ 今日校外实习人 范围内,并且实习已 每天凌晨 1:00 计算 表) where 当天时间>=sxkssj(实习开始时间)and 当
+
+7 数 开始,且在校外实习, 一次 天时间<=sxjssj(实习结束时间)and sxsfks(实习是否
+
+ 实习未结束的实习人 开始)=1 and sxsfjs(实习是否结束)=0 and sxcslx(实习
+
+ 员信息 场所类型)='2'
+
+ select xqmc(校区名称),(xqjzgzs(校区教职工总
+
+8 各个校区 截至到今天(不含) 每天凌晨 1:00 计算 数)+xqxszs(校区学生总数)) from ods_xqjcs(j 校区基础数
+
+ 的数据 一次 据表)where xxjgdm(学校机构代码)= '当前学校统一社
+
+ 会信息代码' group by xqmc(校区名称)
+
+ 校区动态 select t1.sxjdmc(实训基地名称),coung(distinct t2.xsxh(学
+
+ 截至到今天(不含) 每天凌晨 1:00 计算 生学号)) from (select sxjdh(实习基地号),sxjdmc(实训基
+
+9 校内实训基地 的数据 一次 地名称) from ods_xnsxjdsj(校内实训基地数据表) where
+
+ xxjgdm(学校机构代码)='统一社会信用代码') t1
+
+ inner join
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ (select sxjdh(实习基地号),xsxh(学生学号),sxcslx(实习场
+ 所类型) from ods_zzsxjcsj(中职实习基础数据表) where
+ xxjgdm(学校机构代码)='统一社会信用代码' and
+ sxcslx(实习场所类型)='1'(校内实习实训基地)) t2
+ on t1.sxjdh(实习基地号)=t2.sxjdh(实习基地号) group by
+ t1.sxjdmc(实训基地名称)
+
+ select t1.sxjdmc(实训基地名称),coung(distinct t2.xsxh(学
+
+10 校外实训基地 截至到今天(不含) 每天凌晨 1:00 计算 生学号)) from (select sxjdh(实习基地号),sxjdmc(实训基
+
+ 的数据 一次 地名称) from ods_xwsxjdsj(校外实训基地数据表) where
+
+ xxjgdm(学校机构代码)='统一社会信用代码') t1
+
+ select kcmc(课程名称),concat_ws('_',skkssj(上课开始时
+
+11 本日课表 本日课表 当天的课表数据 每天凌晨 1:00 计算 间),skjssj(上课结束时间)) from ods_zzxkpksj(中职巡课
+
+ 一次 排课数据表)where xxjgdm(学校机构代码) = '当前
+
+ 学校统一社会信息代码' and skrq(上课日期)='当天'
+
+ 本周实到学生 本周截至到昨天的数 每天凌晨 1:30 计算 select sum(sdxsrs(实到学生数)) from ods_zzxkpksj
+
+12 (人次) 据 一次 (中职巡课排课数据表) where skrq(上课日期)='
+
+ 本周' and xxjgdm(学校机构代码)='统一社会信用代码'
+
+ 上周实到学生 每天凌晨 1:30 计算 select sum(sdxsrs(实到学生数)) from ods_zzxkpksj
+
+13 教育教学 学生到课情况 (人次) 计算上周的数据 一次 (中职巡课排课数据表) where skrq(上课日期)='
+
+ 本周' and xxjgdm(学校机构代码)='统一社会信用代码'
+
+ 本周截至到昨天的数 1、本周到课率:(本周实到学生数/应到学生总数) *
+
+14 到课率(%) 据占比,上周截至到 每天凌晨 1:30 计算 100
+
+ 昨天的数据占比 一次 2、上周到课率:(上周实到学生数/应到学生总数) *
+
+ 100
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 本周到课情况(到课
+
+15 到课情况较上周 率)-上周到课情况 每天凌晨 1:30 计算 本周到课率-上周到课率,正值增加,负值减少
+
+ 增加或减少 (到课率),正值增 一次
+
+ 加,负值减少
+
+ 本周截至到昨天的数 每天凌晨 1:30 计算 select sum(jxbrs(教学班人数)) from ods_zzxkpksj
+
+16 应到学生总人次 据,jxbrs(教学班人 一次 (中职巡课排课数据表) where skrq(上课日期)='
+
+ 数)总和 本周' and xxjgdm(学校机构代码)='统一社会信用代码'
+
+ select count(*) from ods_zzxkpksj(中职巡课排课数
+
+17 本周实到教师 本周截至到昨天的数 每天凌晨 1:30 计算 据表) where skrq(上课日期)='本周' and jsdkqk(教
+
+ (人次) 据 一次 师到课情况)= 1 and xxjgdm(学校机构代码) = '当前
+
+ 学校统一社会信息代码'
+
+ select count(*) from ods_zzxkpksj(中职巡课排课数
+
+18 上周实到教师 计算上周的数据 每天凌晨 1:30 计算 据表) where skrq(上课日期)='上周' and jsdkqk(教
+
+ (人次) 一次 师到课情况)= 1 and xxjgdm(学校机构代码) = '当前
+
+ 学校统一社会信息代码'
+
+ 教师到课情况 本周截至到昨天的数 1、本周到课率:(本周实到教师数/应到教师总数) *
+
+19 到课率(%) 据占比,上周截至到 每天凌晨 1:30 计算 100
+
+ 昨天的数据占比 一次 2、上周到课率:(上周实到教师数/应到教师总数) *
+
+ 100
+
+ 本周到课情况(到课
+
+20 到课情况较上周 率)-上周到课情况 每天凌晨 1:30 计算 本周到课率-上周到课率,正值增加,负值减少
+
+ 增加或减少 (到课率),正值增 一次
+
+ 加,负值减少
+
+21 应到教师总人次 jsdkqk(教师到课情 每天凌晨 1:30 计算 select count(*) from ods_zzxkpksj(中职巡课排课数
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 况)1-正常 一次 据表) where skrq(上课日期)='本周' and jsdkqk(教
+ 师到课情况)='1' and xxjgdm(学校机构代码) = '当前
+ 学校统一社会信息代码'
+
+ //1、专业基础课课程数
+
+ select count(DISTINCT kcdm(课程代码))from
+
+ ods_zzxkpksj(中职职巡课排课数据表)A1 join
+
+ 本周截至到昨天的数 每天凌晨 1:30 计算 ods_zzkcxxs(j 中职课程信息数据表)A2 on A1.kcdm(课
+
+22 专业基础课占比 据 一次 程代码)= A2. .kcdm(课程代码)where A1.skrq(上课
+
+ 日期)='本周' and A1.xxjgdm(学校机构代码) = '当前
+
+ 学校统一社会信息代码' and A2.kcfl = 2
+
+ //2、专业基础课占比:
+
+ 专业基础课课程数/课程总数 * 100 ,保留两位小数。
+
+ //1、公共课课程数
+
+ 本周开课类型分 select count(DISTINCT kcdm(课程代码))from
+
+ 布 ods_zzxkpksj(中职巡课排课数据表)A1 join
+
+ 本周截至到昨天的数 每天凌晨 1:30 计算 ods_zzkcxxs(j 中职课程信息数据表)A2 on A1.kcdm(课
+
+23 公共课占比 据 一次 程代码)= A2. .kcdm(课程代码)where A1.skrq(上课
+
+ 日期)='本周' and A1.xxjgdm(学校机构代码) = '当前
+
+ 学校统一社会信息代码' and A2.kcfl = 1
+
+ //2、公共课占比:
+
+ 公共课课程数/课程总数 * 100 ,保留两位小数。
+
+ //1、专业课课程数
+
+24 专业课占比 本周截至到昨天的数 每天凌晨 1:30 计算 select count(DISTINCT kcdm(课程代码))from
+
+ 据 一次 ods_zzxkpksj(中职巡课排课数据表)A1 join
+
+ ods_zzkcxxs(j 中职课程信息数据表)A2 on A1.kcdm(课
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 程代码)= A2. .kcdm(课程代码)where A1.skrq(上课
+ 日期)='本周' and A1.xxjgdm(学校机构代码) = '当前
+ 学校统一社会信息代码' and A2.kcfl = 3
+ //2、专业课占比:
+ 专业课课程数/课程总数 * 100 ,保留两位小数。
+
+ select count(DISTINCT kcdm(课程代码))from
+
+ ods_zzxkpksj(中职巡课排课数据表)A1 join
+
+25 课程总数 本周截至到昨天的数 每天凌晨 1:30 计算 ods_zzkcxxs(j 中职课程信息数据表)A2 on A1.kcdm(课
+
+ 据 一次 程代码)= A2. .kcdm(课程代码)where A1.skrq(上课
+
+ 日期)='本周' and A1.xxjgdm(学校机构代码) = '当前
+
+ 学校统一社会信息代码'
+
+ 截至当前本学期 select jcxz(教材性质),count(jcbh(教材编号)) from
+ 已选用的不同教
+26 教材选用 教材性质 材性质数量 截至到今天(不含) 每天凌晨 4:30 计算 ds_jcxysj(教材选用数据表) where xxjgdm(学校机构代
+
+ 的数据 一次 码) = '当前学校统一社会信息代码' group by jcxz(教材
+
+ 性质)
+
+ select count(distinct sxxmmc(实习项目名称)) from
+
+27 当前实习实训项 根据实习项目名称去 每天凌晨 3:30 计算 ods_zzsxjcsj(中职实习基础数据表)where xxjgdm(学
+
+ 目数 重 一次 校机构代码) = '当前学校统一社会信息代码' and
+
+ sxlb(实习类别) in ('1'(认知实习),'2'(跟岗实习))
+
+ 实习实训 认知实习与跟岗 1:实习中人数
+ 实习 select count(distinct xsxh(学生学号)) from ods_zzsxjcs(j 中
+
+28 实习中人数占比 截至到今天(不含) 每天凌晨 3:30 计算 职实习基础数据表)where xxjgdm(学校机构代码) =
+
+ 的数据 一次 '当前学校统一社会信息代码' and sxlb(实习类别) in
+
+ ('1'(认知实习),'2'(跟岗实习)
+
+ and sxsfks(实习是否开始)='1' and sxsfjs(实习是否结
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 束)='0'
+ 2:应实习人数
+ select count(*) from ods_zzsxjcsj(中职实习基础数据
+ 表) where xxjgdm(学校机构代码) = '当前学校统一
+ 社会信息代码'
+ 3:实习中人数占比
+ (实习中人数/应实习人数)*100
+
+ 1:实习已结束人数
+
+ select count(distinct xsxh(学生学号)) from ods_zzsxjcs(j 中
+
+ 职实习基础数据表)where xxjgdm(学校机构代码) =
+
+ '当前学校统一社会信息代码' and sxlb(实习类别) in
+
+ ('1'(认知实习),'2'(跟岗实习)
+
+ and sxsfks(实习是否开始)='1' and sxsfjs(实习是否结
+
+29 实习结束人数占 截至到今天(不含) 每天凌晨 3:30 计算 束)='1'
+
+ 比 的数据 一次 2:应实习人数
+
+ select count(*) from ods_zzsxjcsj(中职实习基础数据
+
+ 表) where xxjgdm(学校机构代码) = '当前学校统一
+
+ 社会信息代码'
+
+ 3:实习已结束人数占比
+
+ (实习已结束人数/应实习人数)*100
+
+ 1:未实习人数
+
+ 截至到今天(不含) 每天凌晨 3:30 计算 select count(distinct xsxh(学生学号)) from ods_zzsxjcs(j 中
+
+30 未实习人数占比 的数据 一次 职实习基础数据表)where xxjgdm(学校机构代码) =
+
+ '当前学校统一社会信息代码' and sxlb(实习类别) in
+
+ ('1'(认知实习),'2'(跟岗实习)
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ and sxsfks(实习是否开始)='0' and sxsfjs(实习是否结
+ 束)='0'
+ 2:应实习人数
+ select count(*) from ods_zzsxjcsj(中职实习基础数据
+ 表) where xxjgdm(学校机构代码) = '当前学校统一
+ 社会信息代码'
+ 3:未实习人数占比
+ (未实习人数/应实习人数)*100
+
+ select sxhy(实习行业),count(*) from ods_zzsxjcsj(中职实
+
+ 习基础数据表)where xxjgdm(学校机构代码) = '当
+
+31 热门行业实习人 截至到今天(不含) 每天凌晨 3:30 计算 前学校统一社会信息代码' and sxlb(实习类别) in ('1'(认
+
+ 员分布情况 的数据 一次 知实习),'2'(跟岗实习)
+
+ and sxsfks(实习是否开始)='1' and sxsfjs(实习是否结
+
+ 束)='0' group by sxhy(实习行业)
+
+ select count(distinct sxxmmc(实习项目名称)) from
+
+32 当前实习实训项 根据实习项目名称去 每天凌晨 3:30 计算 ods_zzsxjcsj(中职实习基础数据表)where xxjgdm(学
+
+ 目数 重 一次 校机构代码) = '当前学校统一社会信息代码' and
+
+ sxlb(实习类别) in ('3'(顶岗实习))
+
+ 1:实习中人数
+
+ 顶岗实习 select count(distinct xsxh(学生学号)) from ods_zzsxjcs(j 中
+
+ 截至到今天(不含) 每天凌晨 3:30 计算 职实习基础数据表)where xxjgdm(学校机构代码) =
+
+33 实习中人数占比 的数据 一次 '当前学校统一社会信息代码' and sxlb(实习类别) in
+
+ ('3'(顶岗实习)
+
+ and sxsfks(实习是否开始)='1' and sxsfjs(实习是否结
+
+ 束)='0'
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 2:应实习人数
+ select count(*) from ods_zzsxjcsj(中职实习基础数据
+ 表) where xxjgdm(学校机构代码) = '当前学校统一
+ 社会信息代码'
+ 3:实习中人数占比
+ (实习中人数/应实习人数)*100
+
+ 1:实习已结束人数
+
+ select count(distinct xsxh(学生学号)) from ods_zzsxjcs(j 中
+
+ 职实习基础数据表)where xxjgdm(学校机构代码) =
+
+ '当前学校统一社会信息代码' and sxlb(实习类别) in
+
+ ('3'(顶岗实习)
+
+ 实习结束人数占 截至到今天(不含) 每天凌晨 3:30 计算 and sxsfks(实习是否开始)='1' and sxsfjs(实习是否结
+
+34 比 的数据 一次 束)='1'
+
+ 2:应实习人数
+
+ select count(*) from ods_zzsxjcsj(中职实习基础数据
+
+ 表) where xxjgdm(学校机构代码) = '当前学校统一
+
+ 社会信息代码'
+
+ 3:实习已结束人数占比
+
+ (实习已结束人数/应实习人数)*100
+
+ 1:未实习人数
+
+ select count(distinct xsxh(学生学号)) from ods_zzsxjcs(j 中
+
+35 未实习人数占比 截至到今天(不含) 每天凌晨 3:30 计算 职实习基础数据表)where xxjgdm(学校机构代码) =
+
+ 的数据 一次 '当前学校统一社会信息代码' and sxlb(实习类别) in
+
+ ('3'(顶岗实习)
+
+ and sxsfks(实习是否开始)='0' and sxsfjs(实习是否结
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 束)='0'
+ 2:应实习人数
+ select count(*) from ods_zzsxjcsj(中职实习基础数据
+ 表) where xxjgdm(学校机构代码) = '当前学校统一
+ 社会信息代码'
+ 3:未实习人数占比
+ (未实习人数/应实习人数)*100
+
+ select sxhy(实习行业),count(*) from ods_zzsxjcsj(中职实
+
+ 习基础数据表)where xxjgdm(学校机构代码) = '当
+
+36 热门行业实习人 截至到今天(不含) 每天凌晨 3:30 计算 前学校统一社会信息代码' and sxlb(实习类别) in ('3'(顶
+ 员分布情况
+ 的数据 一次 岗实习)
+
+ and sxsfks(实习是否开始)='1' and sxsfjs(实习是否结
+
+ 束)='0' group by sxhy(实习行业)
+
+37 本日课表 本日课表 本日课表 仅计算当前的日期 select kcmc(课程名称),concat(skkssj(上课开始时
+ 党建活动 间),'~',skjssj(上课结束时间)) from ods_zzxkpksj(中
+ 每天凌晨 1:00 计算
+ 职巡课排课数据表) where xxjgdm(学校机构代码) =
+ 一次
+ '当前学校统一社会信息代码' and skrq(上课日期)='
+ 当天日期'
+
+ 截至到今天(不含) 每天凌晨 2:00 计算 select count(*) from ods_dzzqkjcsj(党组织情况基础数据
+
+38 党组织个数 的数据 一次 表)where xxjgdm(学校机构代码) = '当前学校统一
+ 日常活动
+ 社会信息代码'
+39
+ 党员总数 截至到今天(不含)
+ select count(*) from ods_dyfzqkjcs(j 党员发展情况基础数
+
+ 的数据,xdyfzzt(新 每天凌晨 2:00 计算
+ 据表)where xdyfzz(t 党员发展状态)in(2,3)and xxjgdm
+
+ 党员发展状态)等于 一次
+ (学校机构代码) = '当前学校统一社会信息代码'
+
+ 2-预备党员 3-正式
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 党员人员总数。
+
+ 截至到今天(不含) 每天凌晨 1:00 计算 select count(*) from ods_cjsxhdsj(参加赛事活动数据表)
+
+40 活动数 的数据 一次 where xxjgdm(学校机构代码) = '当前学校统一社会
+
+ 信息代码'
+
+ 赛事活动 select sum(cyjss(参与教师数))+sum(cyxss(参与学生
+
+41 参与人数 截至到今天(不含) 每天凌晨 1:00 计算 数)) from ods_cjsxhdsj(参加赛事活动数据表)where
+
+ 的数据 一次 xxjgdm(学校机构代码) = '当前学校统一社会信息代
+
+ 码'
+
+ 截至到今天(不含) 每天凌晨 2:00 计算 select count(*) from ods_cjsthdsj(参加社团活动数据表)
+
+42 活动数 的数据 一次 where xxjgdm(学校机构代码) = '当前学校统一社会
+
+ 信息代码'
+
+ 社团活动
+
+ 截至到今天(不含) 每天凌晨 2:00 计算 select sum(cyxss(参与学生数)) from ods_cjsthdsj(参
+
+43 参与人数 的数据 一次 加社团活动数据表) where xxjgdm(学校机构代码) =
+
+ '当前学校统一社会信息代码'
+
+ 截至到今天(不含) 每天凌晨 2:00 计算 select count(*) from ods_dyhdsj(德育活动数据表)where
+
+44 活动数 的数据 一次 xxjgdm(学校机构代码) = '当前学校统一社会信息代
+
+ 码'
+
+ 德育活动
+
+ 截至到今天(不含) 每天凌晨 1:00 计算 select sum(cyjss(参与教师数))+sum(cyxss(参与学生
+
+45 参与人数 的数据 一次 数)) from ods_dyhdsj(德育活动数据表) where xxjgdm
+
+ (学校机构代码) = '当前学校统一社会信息代码'
+
+ 截至到今天(不含) 每天凌晨 2:00 计算 select * from(
+
+46 其他 党建 的数据 一次
+
+ select '党员干部学习' as djlx,count(*) as cnt from
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ ods_djhddygbxxsj(党建活动党员干部学习数据表)
+ where xxjgdm(学校机构代码) = '当前学校统一社会
+ 信息代码'
+ union all
+ select '三会一课' as djlx,count(*) as cnt from
+ ods_djhdshyksj(党建活动三会一课数据表) where
+ xxjgdm(学校机构代码) = '当前学校统一社会信息代
+ 码'
+ union all
+ select '党员大会' as djlx,count(*) as cnt from
+ ods_djhddydhsj(党建活动党员大会数据表) where
+ xxjgdm(学校机构代码) = '当前学校统一社会信息代
+ 码'
+ union all
+ select '党员日常' as djlx,count(*) as cnt from
+ ods_djhddyrcsj(党建活动党员日常数据表) where
+ xxjgdm(学校机构代码) = '当前学校统一社会信息代
+ 码'
+ union all
+ select '党员主题党日' as djlx,count(*) as cnt from
+ ods_djhddyztdrsj(党建活动党员主题党日数据表)
+ where xxjgdm(学校机构代码) = '当前学校统一社会
+ 信息代码'
+ )t
+
+47 德育 截至到今天(不含) 每天凌晨 1:00 计算 select hdlx(活动类型),count(*) from ods_dyhdsj(德育活
+
+ 的数据 一次 动数据表) where xxjgdm(学校机构代码) = '当前学
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 校统一社会信息代码' group by hdlx(活动类型)
+
+ 进修培训活动 截至到今天(不含) 每天凌晨 2:30 计算 select count(distinct jxpxhdbh(进修培训活动编号)) from
+
+48 (次) 的数据 一次 ods_jxpxsj(进修培训数据表)where xxjgdm(学校机构
+
+ 代码) = '当前学校统一社会信息代码'
+
+ 进修培训
+
+ 截至到今天(不含) 每天凌晨 2:30 计算 select sum(drpxhdcyjss(当日培训活动参与教师数))
+
+49 参与教师数(人) 的数据 一次 from ods_jxpxsj(进修培训数据表)where xxjgdm(学校
+
+ 机构代码) = '当前学校统一社会信息代码'
+
+ 有教师资格证人 截至到今天(不含) 每天凌晨 2:30 计算 select sum(jszgzrs(教师资格证人数)) from ods_zzzssj
+
+50 数(人) 的数据 一次 (资质证书数据表) where xxjgdm(学校机构代码) =
+
+ '当前学校统一社会信息代码'
+
+ 有中级职称人数 截至到今天(不含) 每天凌晨 2:30 计算 select sum(zjzcrs(中级职称人数)) from ods_zzzssj(资
+ (人)
+51 资质与证书 的数据 一次 质证书数据表) where xxjgdm(学校机构代码) = '当
+ 教师发展
+ 前学校统一社会信息代码'
+
+ 有高级职称人数 截至到今天(不含) 每天凌晨 2:30 计算 select sum(gjzcrs(高级职称人数)) from ods_zzzssj(资
+
+52 (人) 的数据 一次 质证书数据表) where xxjgdm(学校机构代码) = '当
+
+ 前学校统一社会信息代码'
+
+ 工作日志提交 截至到今天(不含) 每天凌晨 2:30 计算 select sum(gzrztjcs(工作日志提交次数)) from ods_gzpjsj
+
+53 (次) 的数据 一次 (工作评价数据表) where xxjgdm(学校机构代码) =
+
+ '当前学校统一社会信息代码'
+
+ 日常工作与评价 select sum(hpjsrs(好评教师人数)) from ods_gzpjsj(工
+ 截至到今天(不含) 每天凌晨 2:30 计算
+54 好评价教师(人) 作评价数据表) where xxjgdm(学校机构代码) = '当
+ 的数据 一次
+ 前学校统一社会信息代码'
+
+55 特殊岗位教师 截至到今天(不含) 每天凌晨 2:30 计算 select sum(tsgwjsr(s 特殊岗位教师人数)) from ods_gzpjsj
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ (人) 的数据 一次 (工作评价数据表) where xxjgdm(学校机构代码) =
+ '当前学校统一社会信息代码'
+
+ select concat(zymc(专业名称),nj(年级),' ',bj(班
+
+56 文化基础课成绩 文化基础课成绩 截至到今天(不含) 每天凌晨 1:00 计算 级)),kcmc(课程名称),kccj(课程成绩) from
+
+ 的数据 一次 ods_wfjckcjsj(文化基础课成绩数据表) where xxjgdm
+
+ (学校机构代码) = '当前学校统一社会信息代码'
+
+ select * from(
+
+ select concat(zymc(专业名称),nj(年级),' ',bj(班级)),'
+
+ 思想政治' kcmc,sxzzcj(思想政治成绩) from
+
+ ods_xszhcjpjsj(学生综合成绩与评价数据表) where
+
+ xxjgdm(学校机构代码) = '当前学校统一社会信息代
+
+ 码'
+
+ 学生综合素养 unioin all
+ select concat(zymc(专业名称),nj(年级),' ',bj(班级)),'
+
+ 截至到今天(不含) 每天凌晨 1:00 计算 文化课' kcmc,whkcj(文化课成绩) from ods_xszhcjpjsj
+
+57 综合素质评价 综合素质评价 的数据 一次 (学生综合成绩与评价数据表) where xxjgdm(学校
+
+ 机构代码) = '当前学校统一社会信息代码'
+
+ unioin all
+
+ select concat(zymc(专业名称),nj(年级),' ',bj(班级)),'
+
+ 专业技能' kcmc,zyjnkccj(专业技能课程成绩) from
+
+ ods_xszhcjpjsj(学生综合成绩与评价数据表) where
+
+ xxjgdm(学校机构代码) = '当前学校统一社会信息代
+
+ 码'
+
+ unioin all
+
+ select concat(zymc(专业名称),nj(年级),' ',bj(班级)),'
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 学生健康' kcmc,xstzjkcj(学生体质健康成绩) from
+ ods_xszhcjpjsj(学生综合成绩与评价数据表) where
+ xxjgdm(学校机构代码) = '当前学校统一社会信息代
+ 码'
+ )t
+
+ select lx,xsrs/sum(xsrs)*100 as bl from(
+
+ select '升学' as lx, count(*) as xsrs from ods_zzbyqxsxs(j 中
+
+ 职毕业去向【升学】数据表) where xxjgdm(学校机
+
+ 构代码) = '当前学校统一社会信息代码'
+
+ union all
+
+ select '直接就业' as lx, count(*) as xsrs from
+
+58 毕业生类型 截至到今天(不含) 每天凌晨 1:00 计算 ods_zzbyqxjysj(中职毕业去向【就业】数据表) where
+
+ 的数据 一次 xxjgdm(学校机构代码) = '当前学校统一社会信息代
+
+ 码'
+
+ 毕业班学生意向 union all
+ 分布 select '未选择' as lx, count(*) as xsrs from ods_zzbyqxwjysj
+ (中职毕业去向【未就业】数据表) where xxjgdm(学
+
+ 校机构代码) = '当前学校统一社会信息代码'
+
+ ) t group by lx
+
+ select jydwhy(就业单位行业),count(*) as xsrs from
+
+ ods_zzbyqxjysj(中职毕业去向【就业】数据表)
+
+59 就业行业分布 截至到今天(不含) 每天凌晨 1:00 计算 where xxjgdm(学校机构代码) = '当前学校统一社会
+
+ 的数据 一次 信息代码'
+
+ group by jydwhy(就业单位行业) order by xsrs desc limit
+
+ 5
+全国职业教育智慧大脑院校中台【中职】数据标准
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.9.3 附件三:全国职业教育智慧大脑院校中台接口采集规范文档
+
+1、API 文件简介
+
+ 简介:数据中台数据接口采集API是基于数据中台平台提供数据
+采集服务。采集接口格式设计完全遵循RESTful,您可以通过数据接
+口采集API,依照文档与自己服务进行集成,定制属于您自己的采集
+服务。
+
+2、用户申请资质接口
+
+接口描述:用户申请资质接口
+
+请求 URL:
+
+http://202.205.188.198:9000/prod-api/api/web/collect/
+interface/applyFor
+
+请求方式:POST
+
+请求参数:
+
+ 参数名 必选 类型 说明
+company 是 string 申请学校名称
+username 是 string 申请人
+explain 是 string 申请说明
+phone 是 string 联系电话
+
+ 返回示例:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+{
+ "returnCode": 200,
+ "returnMessage": "success:,
+ "returnData": {
+ }
+
+ }
+
+3、用户授权接口
+
+接口描述:用户授权接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/oauth2/login
+
+请求方式:GET
+
+请求参数:
+
+ 参数名 必选 类型 说明
+grant_type 授权类型(直接填 password)
+client_id 是 string 客户标识
+username 用户名
+password 是 string 密码
+
+返回示例: 是 string
+
+ 是 string
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+{
+ "code": 200,
+ "msg": "ok",
+ "data": {
+ "access_token": "xxxxx",
+ "refresh_token": "xxxxx",
+ "expires_in": 7199,
+ "refresh_expires_in": 2591999,
+ "client_id": "xxxx",
+ "scope": "",
+ "openid": "xxx",
+ "client_secret":"xxxx"
+ }
+
+}
+
+返回参数说明:
+
+ 参数名 类型 说明
+access_token string 令牌
+refresh_token string 刷新令牌
+expires_in int 令牌有效期
+refresh_expires_in int 刷新令牌有效期
+client_id string 客户标识
+scope string 身份
+openid string openid
+client_secret string 客户刷新令牌秘钥
+
+4、用户授权 token 刷新接口
+
+接口描述:用户授权 token 刷新接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/oauth2/refresh
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求方式:GET
+
+请求参数:
+
+ 参数名 必选 类型 说明
+grant_type 处理类型(直接 refresh_token)
+client_id 是 string 客户标识
+client_secret 刷新秘钥
+refresh_token 是 string 刷新令牌
+
+ 返回示例: 是 string
+
+ 是 string
+
+{
+ "code": 200,
+ "msg": "ok",
+ "data": {
+ "access_token": "xxxx",
+ "refresh_token": "xx",
+ "expires_in": xx,
+ "refresh_expires_in": xx,
+ "client_id": "xx",
+ "scope": "",
+ "openid": "xxx"
+ }
+
+}
+
+返回参数说明:
+
+ 参数名 类型 说明
+access_token string 令牌
+refresh_token string 刷新令牌
+expires_in int 令牌有效期
+refresh_expires_in int 刷新令牌有效期
+client_id string 客户标识
+scope string 身份
+openid string openid
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5、数据采集接口
+
+接口描述:数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: : POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName": "xxxxxxxxxxxx",
+ "fileds": [
+ {
+ "tenant_id": "xxxx",
+ "area_name": "xxxx",
+ "tenant_name": "xxxx",
+ "teacher_name": "xxxx",
+ "device_id": "xxxx",
+ "teacher_id": "xxxx",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "person_type": "xxxx",
+ "class_id": "xxxx",
+ "data_reception_time": "xxxx",
+ "student_id": "xxxx",
+ "face_similarity": "xxxx",
+ "student_name": "xxxx",
+ "caller_name": "xxxx",
+ "device_name": "xxxx",
+ "event_type": "xxxx",
+ "body_temperature": "xxxx",
+ "creat_time": "xxxx",
+ "inout_type": "xxxx",
+ "caller_id": "xxxx",
+ "id": "xxxx",
+ "student_num": "xxxx",
+ "class_name": "xxxx",
+ "card": "xxxx",
+ "sign_way": "xxxx"
+},
+{
+ "tenant_id": "xxxx",
+ "area_name": "xxxx",
+ "tenant_name": "xxxx",
+ "teacher_name": "xxxx",
+ "device_id": "xxxx",
+ "teacher_id": "xxxx",
+ "person_type": "xxxx",
+ "class_id": "xxxx",
+ "data_reception_time": "xxxx",
+ "student_id": "xxxx",
+ "face_similarity": "xxxx",
+ "student_name": "xxxx",
+ "caller_name": "xxxx",
+ "device_name": "xxxx",
+ "event_type": "xxxx",
+ "body_temperature": "xxxx",
+ "creat_time": "xxxx",
+ "inout_type": "xxxx",
+ "caller_id": "xxxx",
+ "id": "xxxx",
+ "student_num": "xxxx",
+ "class_name": "xxxx",
+ "card": "xxxx",
+ "sign_way": "xxxx"
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ },
+ ]
+ }
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+
+ "returnData": {
+ "size": 1,
+ "time": "2022-04-15T09:48:55.938"
+
+ },
+ "returnCount": null
+}
+
+6、增量数据结果查询
+
+接口描述: 增量数据结果查询(时间段)
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/getRe
+sultsBytime
+
+请求方式:POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 参数名 必选 类型 说明
+startTime 开始时间(YYYY-mm-dd HH:mm:ss)
+endTime 是 string 结束时间(YYYY-mm-dd HH:mm:ss)
+page 页数
+limit 是 string 每页大小
+tableName 模糊匹配表名(空值查询所有)
+ 是 int
+请求示例:
+ 是 int
+
+ 是 string
+
+{
+ "startTime": "2022-04-15 09:48:00",
+ "endTime": "2022-04-15 09:49:00",
+ "page": "3",
+ "limit": "3",
+ "tableName": "o"
+
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+
+ "returnMessage": "成功",
+
+ "returnData": [
+ {
+ "id": 9,
+ "type": "IncrSync",
+ "sysName": "sa",
+ "timestamps": "2022-04-15T09:48:55.348",
+ "tableName": "ods_gzzyqksj",
+ "collectNum": 1,
+ "storageNum": 0,
+
+ "remark": "数据字段数量与数据对象字段数量不符或者主键
+
+为 null 请检查数据...."
+
+ }
+ ],
+ "returnCount": null
+}
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+返回类:
+
+ 参数名 说明
+timestamps 接受时间与每次调用增量采集接口返回 time 时间对应
+sysName 调用用户名
+tableName 表名
+collectNum 接受到数据数量
+storageNum 入库数量
+remark 异常信息等备注
+
+7、中职学校概况基础数据表
+
+接口描述:中职学校概况数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求示例:
+
+{
+ "dataObjName":"ods_zzxxgkjcsj",
+ "fileds":[
+ {
+ "xygkjcsjid":"xxx",
+ "provincejgbm":"xxx",
+ "provincejgmc":"xxx",
+ "cityjgbm":"xxx",
+ "cityjgmc":"xxx",
+ "countyjgbm":"xxx",
+ "countyjgmc":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "xxlb":"xxx",
+ "xxjbzmc":"xxx",
+ "xxjbzxz":"xxx",
+ "xxfzrxm":"xxx",
+ "jxrq":"xxx",
+ "xyjss":"xxx",
+ "xyxss":"xxx",
+ "bxkszys":"xxx",
+ "syxx":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+
+ {
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+ }
+
+8、校区基础数据表
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+简要描述: 校区基础数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_xqjcsj",
+ "fileds":[
+ {
+ "xygkjcsjid":"xxx",
+ "provincejgbm":"xxx",
+ "provincejgmc":"xxx",
+ "cityjgbm":"xxx",
+ "cityjgmc":"xxx",
+ "countyjgbm":"xxx",
+ "countyjgmc":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "xqbh":"xxx",
+ "xqmc":"xxx",
+ "xqjc":"xxx",
+ "xqszdxzqh":"xxx",
+ "xqdz":"xxx",
+ "xqyzbm":"xxx",
+ "xqlxdh":"xxx",
+ "xqfzr":"xxx",
+ "xqjzgzs":"xxx",
+ "xqxszs":"xxx",
+ "xqclrq":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+9、校内实训基地数据表
+
+接口描述: 校内实训基地数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_xnsxjdsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "sxjdh":"xxx",
+ "sxjdmc":"xxx",
+ "clnd":"xxx",
+ "mxzy":"xxx",
+ "zcbm":"xxx",
+ "pzrq":"xxx",
+ "sxss":"xxx",
+ "sxxmzs":"xxx",
+ "jdlb":"xxx",
+ "jzmj":"xxx",
+ "yqsbzs":"xxx",
+ "sjjxgws":"xxx",
+ "glryzz":"xxx",
+ "glryjz":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+10、校外实训基地数据表
+
+接口描述: 校外实训基地数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "dataObjName":"ods_xwsxjdsj",
+ "fileds":[
+
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "sxsxjdh":"xxx",
+ "sxsxjdmc":"xxx",
+ "ytdwmc":"xxx",
+ "ytdwxz":"xxx",
+ "dwzzjgdm":"xxx",
+ "zgzgzs":"xxx",
+ "szqy":"xxx",
+ "xxdz":"xxx",
+ "jdlxrxm":"xxx",
+ "lxrdh":"xxx",
+ "lxryx":"xxx",
+ "jdclny":"xxx",
+ "sshy":"xxx",
+ "sscy":"xxx",
+ "mxzy":"xxx",
+ "hzkssj":"xxx",
+ "hzjssj":"xxx",
+ "hzxyqszt":"xxx",
+ "hzzt":"xxx",
+ "sjcjsj":"xxx"
+
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+
+ "returnData": null,
+ "returnCount": null
+}
+
+11、中职课程信息数据表
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+接口描述: 中职课程信息数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_zzkcxxsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "ssxqbh":"xxx",
+ "kcmc":"xxx",
+ "kcdm":"xxx",
+ "kclb":"xxx",
+ "kcxz":"xxx",
+ "kcsx":"xxx",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "kcfl":"xxx",
+ "xklb":"xxx",
+ "sfzyhxkc":"xxx",
+ "lvjxss":"xxx",
+ "sjjxsy":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+12、中职巡课排课数据表
+
+接口描述: 中职巡课排课数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_zzxkpksj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "ssxqbh":"xxx",
+ "nj":"xxx",
+ "bj":"xxx",
+ "xn":"xxx",
+ "xq":"xxx",
+ "zc":"xxx",
+ "xqj":"xxx",
+ "skjc":"xxx",
+ "skrq":"xxx",
+ "kcmc":"xxx",
+ "kcdm":"xxx",
+ "jgh":"xxx",
+ "jxbrs":"xxx",
+ "skkssj":"xxx",
+ "skjssj":"xxx",
+ "sdxsrs":"xxx",
+ "jsdkqk":"xxx",
+ "xkr":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+13、教材选用数据表
+
+接口描述: 教材选用数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+ 请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "dataObjName":"ods_jcxysj",
+ "fileds":[
+
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "jcmc":"xxx",
+ "jcbh":"xxx",
+ "jcxz":"xxx",
+ "isbn":"xxx",
+ "zzxm":"xxx",
+ "cbrq":"xxx",
+ "cbs":"xxx",
+ "sycc":"xxx",
+ "jg":"xxx",
+ "bc":"xxx",
+ "yc":"xxx",
+ "sfylxc":"xxx",
+ "sfyjcjf":"xxx",
+ "hjqk":"xxx",
+ "sjcjsj":"xxx"
+
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+
+ "returnData": null,
+ "returnCount": null
+}
+
+14、中职实习基础数据表
+
+接口描述:中职实习基础数据采集接口
+
+请求 URL:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_zzsxjcsj",
+ "fileds":[
+ {
+ "gzsxjysjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "xsxh":"xxx",
+ "xsxm":"xxx",
+ "zymc":"xxx",
+ "xn":"xxx",
+ "xq":"xxx",
+ "sxbj":"xxx",
+ "sxxmmc":"xxx",
+ "sxlb":"xxx",
+ "sxsfks":"xxx",
+ "sxsfjs":"xxx",
+ "sxhy":"xxx",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "sxkssj":"xxx",
+ "sxjssj":"xxx",
+ "sxqx":"xxx",
+ "sxdwly":"xxx",
+ "sxcslx":"xxx",
+ "sxjdh":"xxx",
+ "sxdwmc":"xxx",
+ "sxdwdz":"xxx",
+ "sxgwmc":"xxx",
+ "zsap":"xxx",
+ "zydkcd":"xxx",
+ "gmbxzl":"xxx",
+ "bxgmf":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+15、党组织情况基础数据表
+
+接口描述:党组织情况基础数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_dzzqkjcsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "dzzlx":"xxx",
+ "dzzmc":"xxx",
+ "dzzbh":"xxx",
+ "sjdzz":"xxx",
+ "dnldxm":"xxx",
+ "dnldjgh":"xxx",
+ "dnldzw":"xxx",
+ "dzzdyrs":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+}
+
+16、党员发展情况基础数据表
+
+接口描述: 党员发展情况基础数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_dyfzqkjcsj",
+ "fileds":[
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "dzzlx":"xxx",
+ "dzzmc":"xxx",
+ "dzzbh":"xxx",
+ "xdylx":"xxx",
+ "dyxm":"xxx",
+ "rybh":"xxx",
+ "xdyfzzt":"xxx",
+ "cwjjfzrq":"xxx",
+ "cwybdyrq":"xxx",
+ "zzrq":"xxx",
+ "sjcjsj":"xxx"
+
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+17、党建活动党员干部学习数据表
+
+接口描述: 党建活动党员干部学习数据采集接口
+
+请求 URL:
+
+ http://ip:prot/prod-api/api/web/collect/interface/saveI
+ ncrData
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_djhddygbxxsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "dzzmc":"xxx",
+ "dzzbh":"xxx",
+ "dygbxxpxzytjzt":"xxx",
+ "dygbxxpxnr":"xxx",
+ "hdkssj":"xxx",
+ "hdjssj":"xxx",
+ "cyrs":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+18、党建活动三会一课数据表
+
+接口描述: 党建活动三会一课数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "dataObjName":"ods_djhdshyksj",
+ "fileds":[
+
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "dzzmc":"xxx",
+ "dzzbh":"xxx",
+ "hdxs":"xxx",
+ "dkzjr":"xxx",
+ "hdnr":"xxx",
+ "hdkssj":"xxx",
+ "hdjssj":"xxx",
+ "cyrs":"xxx",
+ "sjcjsj":"xxx"
+
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+19、党建活动党员大会数据表
+
+接口描述:党建活动党员大会数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_djhddydhsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "dzzmc":"xxx",
+ "dzzbh":"xxx",
+ "hddd":"xxx",
+ "hdnr":"xxx",
+ "hdkssj":"xxx",
+ "hdjssj":"xxx",
+ "cyrs":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+20、党建活动党员日常数据表
+
+接口描述: 党建活动党员日常数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "dataObjName":"ods_djhddyrcsj",
+ "fileds":[
+
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "dzzmc":"xxx",
+ "dzzbh":"xxx",
+ "hddd":"xxx",
+ "hdnr":"xxx",
+ "hdkssj":"xxx",
+ "hdjssj":"xxx",
+ "cyrs":"xxx",
+ "sjcjsj":"xxx"
+
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+21、党建活动党员主题党日数据表
+
+接口描述: 党建活动党员主题党日数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_djhddyztdrsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "dzzmc":"xxx",
+ "dzzbh":"xxx",
+ "hddd":"xxx",
+ "hdnr":"xxx",
+ "hdkssj":"xxx",
+ "hdjssj":"xxx",
+ "cyrs":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+}
+
+22、参加赛事活动数据表
+
+接口描述: 参加赛事活动数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_cjsxhdsj",
+ "fileds":[
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "hdmc":"xxx",
+ "hdzt":"xxx",
+ "hdxs":"xxx",
+ "hdnr":"xxx",
+ "zbdw":"xxx",
+ "zbdwjb":"xxx",
+ "hdksrq":"xxx",
+ "hdjsrq":"xxx",
+ "xffzr":"xxx",
+ "cyjss":"xxx",
+ "cyxss":"xxx",
+ "sjcjsj":"xxx"
+
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+23、参加社团活动数据表
+
+接口描述: 参加社团活动数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_cjsthdsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "xsxh":"xxx",
+ "xsxm":"xxx",
+ "cjsthdlx":"xxx",
+ "cjsthdsj":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+}
+
+24、德育活动数据表
+
+接口描述: 德育活动数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例
+
+{
+ "dataObjName":"ods_dyhdsj",
+ "fileds":[
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "hdmc":"xxx",
+ "sszt":"xxx",
+ "hdbk":"xxx",
+ "hdzt":"xxx",
+ "hdlx":"xxx",
+ "hdnr":"xxx",
+ "zbdw":"xxx",
+ "zbdwjb":"xxx",
+ "hdksrq":"xxx",
+ "hdjsrq":"xxx",
+ "xffzr":"xxx",
+ "cybjs":"xxx",
+ "cyjss":"xxx",
+ "cyxss":"xxx",
+ "sjcjsj":"xxx"
+
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+25、进修培训数据表
+
+简要描述: 校内实训基地数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_jxpxsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "jxpxhdbh":"xxx",
+ "jxpxhdmc":"xxx",
+ "jxpxhdzt":"xxx",
+ "jxpxhdnrjj":"xxx",
+ "jxpxhdsj":"xxx",
+ "zjr":"xxx",
+ "drpxhdcyjss":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+26、资质证书数据表
+
+接口描述: 资质证书数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+{
+ "dataObjName":"ods_zzzssj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "jszgzrs":"xxx",
+ "gjzcrs":"xxx",
+ "zjzcrs":"xxx",
+ "cjzcrs":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+
+{
+
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+}
+
+27、工作评价数据表
+
+接口描述: 工作评价数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_gzpjsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "gzrztjcs":"xxx",
+ "hpjsrs":"xxx",
+ "tsgwjsrs":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+28、文化基础课成绩数据表
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+接口描述: 文化基础课成绩数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_wfjckcjsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "xn":"xxx",
+ "xq":"xxx",
+ "nj":"xxx",
+ "bj":"xxx",
+ "zymc":"xxx",
+ "kcmc":"xxx",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "kcfl":"xxx",
+ "rkjs":"xxx",
+ "kccj":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+29、学生综合成绩与评价数据表
+
+简要描述: 学生综合成绩与评价数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ 参数名 必选 类型 说明
+ 是 string 数据对象名称
+dataObjName 是 List 数据集
+fileds
+
+请求示例:
+
+{
+ "dataObjName":"ods_xszhcjpjsj",
+ "fileds":[
+ {
+ "gzzyqksjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "xn":"xxx",
+ "xq":"xxx",
+ "nj":"xxx",
+ "bj":"xxx",
+ "xjh":"xxx",
+ "xsxm":"xxx",
+ "sxzzcj":"xxx",
+ "whkcj":"xxx",
+ "zyjnkccj":"xxx",
+ "xstzjkcj":"xxx",
+ "zhpj":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+30、中职毕业去向【升学】数据表
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+接口描述: 中职毕业去向【升学】数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_zzbyqxsxsj",
+ "fileds":[
+ {
+ "zzsxjysjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "xh":"xxx",
+ "xm":"xxx",
+ "zymc":"xxx",
+ "bjmc":"xxx",
+ "sfzh":"xxx",
+ "sxqd":"xxx",
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "xxmc":"xxx",
+ "lqzy":"xxx",
+ "fs":"xxx",
+ "sxcc":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+31、中职毕业去向【就业】数据表
+
+接口描述:中职毕业去向【就业】数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式:POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ "dataObjName":"ods_zzbyqxsxsj",
+ "fileds":[
+ {
+ "zzsxjysjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "xh":"xxx",
+ "xm":"xxx",
+ "zymc":"xxx",
+ "bjmc":"xxx",
+ "sfzh":"xxx",
+ "sfxqhzdw":"xxx",
+ "jydwmc":"xxx",
+ "jydwhy":"xxx",
+ "jydwxz":"xxx",
+ "jydwgm":"xxx",
+ "jyqd":"xxx",
+ "htqdqk":"xxx",
+ "qxx":"xxx",
+ "shbxqk":"xxx",
+ "sfdk":"xxx",
+ "jyrq":"xxx",
+ "zzcy":"xxx",
+ "cyxmmc":"xxx",
+ "lhjy":"xxx",
+ "gznr":"xxx",
+ "sjcjsj":"xxx"
+ }
+ ]
+
+}
+
+返回示例:
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+ "returnData": null,
+ "returnCount": null
+
+}
+
+32、中职毕业去向【未就业】数据表
+
+接口描述:中职毕业去向【未就业】数据采集接口
+
+请求 URL:
+
+http://ip:prot/prod-api/api/web/collect/interface/saveI
+ncrData
+
+请求方式: POST
+
+请求头:
+
+ 参数名 必选 类型 值 说明
+connect 是 string 类型 令牌
+Content-Type 是 application/json
+
+请求参数:
+
+ 参数名 必选 类型 说明
+dataObjName 是 string 数据对象名称
+fileds 是 List 数据集
+
+请求示例:
+
+{
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+ "dataObjName":"ods_zzbyqxwjysj",
+ "fileds":[
+
+ {
+ "zzsxjysjid":"xxx",
+ "xxjgdm":"xxx",
+ "xxjgmc":"xxx",
+ "xh":"xxx",
+ "xm":"xxx",
+ "zymc":"xxx",
+ "bjmc":"xxx",
+ "sfzh":"xxx",
+ "wjylx":"xxx",
+ "sjcjsj":"xxx"
+
+ }
+ ]
+}
+
+返回示例:
+
+{
+ "returnCode": "200",
+ "returnMessage": "成功",
+
+ "returnData": null,
+ "returnCount": null
+}
+ 全国职业教育智慧大脑院校中台【中职】数据标准
+
+5.9.4 附件四:中职院校数据大屏效果展示
+
\ No newline at end of file
diff --git a/Document/全国职业教育智慧大脑院校中台数据对接流程.pdf b/Document/全国职业教育智慧大脑院校中台数据对接流程.pdf
new file mode 100644
index 0000000..7cbd5d1
--- /dev/null
+++ b/Document/全国职业教育智慧大脑院校中台数据对接流程.pdf
@@ -0,0 +1,58 @@
+ 全国职业教育智慧大脑院校中台
+ 数据对接流程
+
+一、背景:
+ 全国职业院校数据中台汇聚司局、院校管理、教育教学等维度数
+
+据,提供常态化数据采集、规范管理、监测预警、统计分析、大屏展
+示等功能,根据司局业务需求,需逐步实现百所院校数据对接,为提
+高院校数据对接效率,减少沟通成本,特制定本流程。
+二、范围:
+
+ 本流程用于指导全国各院校与职业教育智慧大脑院校数据中台
+之间确认数据对接流程、验证数据逻辑、实现数据上报。
+三、对接流程:
+
+ 数据对接流程需通过获标准、理数据、调接口、推数据、验逻辑、
+显数据六个步骤完成。
+
+ (一)获标准
+ 1、学校对接需经教育部确认之后,由教育部老师添加学校对接
+联系人至全国职业院校数据中台-对接专家微信群。
+ 2、群内获取《全国职业教育智慧大脑院校中台数据标准及计算
+指标规划方案》文档(以下简称文档)。
+ (二)理数据
+ 1、根据文档中数据标准规范及附件一、附件二所提供的信息,
+结合院校实际情况,进行数据整理。
+ 2、数据整理过程中如有问题,可在群内联系技术支撑人员进行
+
+答疑。
+ (三)调接口
+ 1、联系技术支撑人员获取数据推送接口 IP 地址和端口。
+ 2、根据文档附件三调用用户申请资质接口,申请成功后技术支
+
+撑人会提供账号以及密码,以便后续数据推送操作。
+ 3、数据推送之前可通过技术支撑人员提供的账号和密码调用用
+
+户授权接口来获取 token 令牌以及 refreshToken 令牌,token 令牌时
+效为 5 分钟,学校需在临近 token 令牌失效的时间,通过 refreshToken
+令牌调用用户授权 token 刷新接口来获取新的 Token 令牌,保证授权
+时间不过期。
+
+ (四)推数据
+ 1、学校数据推送,需根据文档附件三中的数据增量采集接口,
+来实现数据推送。
+ 2、学校对已推送的数据是否成功,可通过调用增量数据结果查
+询接口,查看已推送数据情况。
+ (五)验逻辑
+ 数据推送完毕之后,可联系技术支撑人员针对已推送上来的数据
+进行数据验证,针对验证不通过的问题数据,学校根据技术支撑人员
+建议重新进行推送。
+
+ (六)显数据
+ 学校数据推送完毕,通过统一模型计算,可进行数据大屏展示,
+具体展示效果如下图所示:
+
+ 教育部信息中心
+ 2022 年 05 月 30 日
+
\ No newline at end of file
diff --git a/Document/总述-开发标注.xlsx b/Document/总述-开发标注.xlsx
new file mode 100644
index 0000000..6cc83d4
Binary files /dev/null and b/Document/总述-开发标注.xlsx differ
diff --git a/zhdn.dmp b/zhdn.dmp
new file mode 100644
index 0000000..fcc3bba
Binary files /dev/null and b/zhdn.dmp differ
diff --git a/代码生成器/Program.cs b/代码生成器/Program.cs
new file mode 100644
index 0000000..e77d4b9
--- /dev/null
+++ b/代码生成器/Program.cs
@@ -0,0 +1,144 @@
+using System;
+using System.Collections.Generic;
+
+namespace 代码生成器
+{
+ public class 列对象
+ {
+ public string 英文列名 { get; set; }
+ public string 中文列名 { get; set; }
+ public string 列类型 { get; set; }
+ public string 列长度 { get; set; }
+ public string 是否可空 { get; set; }
+ }
+ public class 表对象
+ {
+ public string 英文表名 { get; set; }
+ public string 中文表名 { get; set; }
+ public List<列对象> 列对象集合 { get; set; } = new List<列对象>();
+ }
+ class Program
+ {
+ static void Main(string[] args)
+ {
+
+ string 中职学校概况基础数据表 = @"中职巡课排课数据表 ods_zzxkpksj
+数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识 C 32 O 32 位全局唯一编码字符串
+xxjgdm 学校机构代码 C 36 O 统一社会信用代码
+xxjgmc 学校机构名称 C 80 O
+ssxqbh 所属校区编号 C 80 M
+nj 年级 C 32 O 学校自定义
+bj 班级 C 60 O 学校自定义
+xn 学年 C 23 O 如:2021-2022 学年
+xq 学期 C 23 O 如:第二学期
+zc 周次 C 2 O 数字标识:1
+xqj 星期几 C 4 O 例如:星期一
+skjc 上课节次 C 32 O 数字标识:2
+skrq 上课日期 C 32 M 上课当天日期:yyyy-MM-dd
+kcmc 课程名称 C 2 M
+kcdm 课程代码 C 2 M
+jgh 教工号 C 2 O
+jxbrs 教学班人数 N 12 M 数字标识
+skkssj 上课开始时间 C 32 M 上开开始时间例如:9:00
+skjssj 上课结束时间 C 32 M 上课结束时间例如:22:00
+sdxsrs 实到学生人数 C 12 M
+jsdkqk 教师到课情况 C 2 M 1-正常 0-异常
+xkr 巡课人 C 32 O
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+";
+ string _temp = 中职学校概况基础数据表;
+ //获取表明与描述
+ 表对象 _表对象 = new 表对象()
+ {
+ 英文表名 = _temp.Split('\n')[0].Split(' ')[2],
+ 中文表名 = _temp.Split('\n')[0].Split(' ')[0]
+ };
+ foreach (var item in _temp.Split('\n'))
+ {
+ var itemLst = item.Split(' ');
+ if (itemLst.Length <= 5 || item.Contains("数据项名") || itemLst[0] == "" || item.Contains(_表对象.中文表名)) { continue; }
+
+
+
+ 列对象 _列对象 = new 列对象();
+ _列对象.英文列名 = itemLst[0];
+ _列对象.中文列名 = itemLst[1];
+ _列对象.列类型 = itemLst[2];
+ _列对象.列长度 = itemLst[3];
+ _列对象.是否可空 = itemLst[4];
+ _表对象.列对象集合.Add(_列对象);
+ }
+ string input = $@"
+using DataSendApi.Program.CustomizeAttribute;
+
+namespace DataSendApi.Program.Model
+{{
+ ///
+ /// {_表对象.中文表名}
+ ///
+ [CustomizeTable(ChineseTableName = ""{_表对象.中文表名}"", DatabaseTableName = ""{_表对象.英文表名.ToUpper()}"")]
+ public class {_表对象.英文表名.ToUpper()}Entity : BaseEntity
+ {{
+
+";
+ int i = 0;
+ foreach (var item in _表对象.列对象集合)
+ {
+ i++;
+ var 列类型 = item.列类型 == "C" ? "string" : "decimal";
+
+ input += $@"
+ ///
+ /// {item.中文列名}
+ ///
+ [CustomizeField(
+ ChineseColumnName = ""{item.中文列名}"",
+ ColumnLength = {item.列长度},
+ ColumnType = ""{列类型}"",
+ DatabaseColumnName = ""{item.英文列名.ToUpper()}"",
+ IsDatabase = true,
+ IsApi = true,
+ IsExcelVerify = false,
+ IsPrimaryKey = {(i == 1 ? "true" : "false")},
+ IsJson = false,
+ JsonName = """",
+ ColumnFormat ="""",
+ IsExcel = true,
+ IsNull = {(item.是否可空 == "M" ? "false" : "true")}
+ )]
+ public {列类型} {item.英文列名.ToUpper()} {{ get; set; }}
+";
+ }
+ input += $@"
+ ///
+ /// 是否推送(0:否 1:推送)
+ ///
+ [CustomizeField(
+ ChineseColumnName = ""是否推送"",
+ ColumnLength = 2,
+ ColumnType = ""string"",
+ DatabaseColumnName = ""IsPush"",
+ IsDatabase = true,
+ IsApi = false,
+ IsExcelVerify = false,
+ IsPrimaryKey = false,
+ IsJson = false,
+ JsonName = """",
+ ColumnFormat = """",
+ IsExcel = false,
+ IsNull = false
+ )]
+ public string IsPush {{ get; set; }}
+
+ }}
+}}
+";
+
+ Console.WriteLine(input);
+ Console.Read();
+ }
+ }
+}
+
diff --git a/代码生成器/Properties/AssemblyInfo.cs b/代码生成器/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..e6892cf
--- /dev/null
+++ b/代码生成器/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("代码生成器")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("代码生成器")]
+[assembly: AssemblyCopyright("Copyright © 2022")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("74dd4e72-625f-4fc7-ab49-9a62cf743ddb")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
+//通过使用 "*",如下所示:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/代码生成器/代码生成器.csproj b/代码生成器/代码生成器.csproj
new file mode 100644
index 0000000..f6e2b49
--- /dev/null
+++ b/代码生成器/代码生成器.csproj
@@ -0,0 +1,52 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {74DD4E72-625F-4FC7-AB49-9A62CF743DDB}
+ Exe
+ 代码生成器
+ 代码生成器
+ v4.0
+ 512
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/代码生成器/创建基础数据.txt b/代码生成器/创建基础数据.txt
new file mode 100644
index 0000000..026328b
--- /dev/null
+++ b/代码生成器/创建基础数据.txt
@@ -0,0 +1,418 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace DieyuLearn.Test
+{
+
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ string _temp = @"syxxdm 双优学校代码
+代码 名称
+1 国家双优学校
+2 省级双优学校
+0 否
+cydm 产业代码
+代码 名称
+1 第一产业
+2 第二产业
+3 第三产业
+dwxzdm 单位性质代码
+代码 名称
+10 机关
+11 省级以上党政机关
+12 省级以下党政机关
+20 事业单位
+21 科研设计单位
+22 高等学校
+23 其他教育单位
+24 医疗卫生单位
+25 体育文化单位
+29 其他事业单位
+30 企业
+31 国有企业
+32 中外合资企业
+33 民营(私营)企业
+34 外资企业
+35 集体企业
+39 其他企业
+40 部队
+50 社会组织机构
+60 国际组织机构
+70 国防科工机构
+80 财政金融机构
+99 其他
+zcbmjbdm 支持部门级别代码
+代码 名称
+1 国家级
+2 省级
+3 地市级
+0 其他
+xxjdlbdm 实训基地类别代码
+代码 名称
+1 校内实训教学基地
+2 虚拟仿真实训基地
+3 校中厂
+4 开放实训基地
+0 其它
+xxlbdm 学校类别代码
+代码 名称
+361 调整后中等职业学校
+362 中等技术学校
+363 中等师范学校
+364 成人中等专业学校
+365 职业高中学校
+366 技工学校
+368 附设中职班
+369 其他中职机构
+xxjbzxzdm 学校举办者性质代码
+代码 名称
+811 省级教育部门
+812 省级其他部门(党政机关)
+821 地级教育部门
+822 地级其他部门(党政机关)
+831 县级教育部门
+832 县级其他部门(党政机关)
+891 地方企业
+999 民办
+kcfldm 课程分类代码
+代码 名称
+1 公共基础课
+2 专业核心课
+3 专业基础课
+4 军训
+5 社会实践
+6 综合实训
+7 认知实习
+8 岗位实习
+kclbdm 课程类别代码
+代码 名称
+1 A 类(纯理论课)
+2 B 类((理论+实践)课
+3 C 类(纯实践课)
+kcxzdm 课程性质代码
+代码 名称
+1 公共课
+2 专业课
+kcsxdm 课程属性代码
+代码 名称
+1 必修课
+2 选修课
+xklbdm 学科类别代码
+代码 名称
+14 思想政治
+21 语文
+15 历史
+22 数学
+36 信息技术
+33 艺术
+34 音乐
+35 美术
+32 体育与健康
+40 外语
+27 地理
+24 物理
+25 化学
+26 生物
+62 劳动与技术
+63 研究性学习活动(综合实践活动)
+65 社区服务(综合实践活动)
+66 社会实践(综合实践活动)
+37 通用技术
+10000 农林牧渔类
+20000 资源环境类
+30000 能源与新能源类
+40000 土木水利类
+50000 加工制造类
+60000 石油化工类
+70000 轻纺食品类
+80000 交通运输类
+90000 信息技术类
+100000 医药卫生类
+110000 休闲保健类
+120000 财经商贸类
+130000 旅游服务类
+140000 文化艺术类
+150000 体育与健身
+160000 教育类
+170000 司法服务类
+180000 公共管理与服务类
+jcxzdm 教材性质代码
+代码 名称
+1 国家统编教材
+2 国家规划教材
+3 省级规划教材
+4 校企合编教材
+5 自编教材
+6 讲义
+0 其他
+jcsyccdm 教材适用层次代码
+代码 名称
+1 中职
+2 专科
+3 职业本科
+0 其他
+jchjqkdm 教材获奖情况代码
+代码 名称
+1 首届国家教材建设奖优秀教材特等奖
+2 首届国家教材建设奖优秀教材一等奖
+3 首届国家教材建设奖优秀教材二等奖
+0 其他
+sxlbdm 实习类别代码
+代码 名称
+1 认知实习
+2 岗位实习
+0 其他
+sxqxdm 实习去向代码
+代码 名称
+1 省内
+2 省外
+3 境外
+sxdwlydm 实习单位来源代码
+代码 名称
+1 统一安排
+2 学校推荐
+3 自主选择
+sxcslxdm 实习场所类型代码
+代码 名称
+1 校内实习实训基地
+2 校外实习实训基地
+zxapdm 住宿安排代码
+代码 名称
+1 实习单位统一安排
+2 学校统一安排
+3 学生自主安排
+zydkcddm 专业对口程度代码
+代码 名称
+1 基本对口
+2 对口
+0 专业不对口
+bxgmzldm 购买保险种类代码
+代码 名称
+1 学生实习责任保险
+2 意外险
+3 其他保险
+0 未购买
+bxgmfdm 保险购买方代码
+代码 名称
+1 学校
+2 企业
+0 其他
+zbdwjbdm 主办单位级别代码
+代码 名称
+1 国际级
+2 国家级
+3 省部级
+4 地市级
+5 区县级
+6 校级
+0 其他
+dyhdlxdm 德育活动类型代码
+代码 名称
+1 讲座报告
+2 征文演讲
+3 文艺表演
+4 参观走访
+5 志愿服务
+6 社会实践
+7 分享交流
+0 其他
+dyhdztdm 德育活动主题代码
+代码 名称
+1 习近平新时代中国特色社会主义思想教育
+2 “四史”教育
+3 社会主义核心价值观教育
+4 爱国主义教育
+5 中华优秀传统文化教育
+6 法治教育
+7 国家安全教育
+8 劳动教育
+9 健康教育
+10 职业生涯教育
+0 其他
+sthdlxdm 社团活动类型代码
+代码 名称
+1 公益服务
+2 科学技术
+3 理论学习
+4 文艺体育
+5 其他
+dnldrzwdm 党内领导人员职务代码
+代码 名称
+1 书记
+2 副书记
+3 组织委员
+4 宣传委员
+5 纪检委员
+6 青年委员
+7 统战委员
+8 保密委员
+9 妇女委员
+10 其他
+xdylxdm 新党员类型代码
+代码 名称
+1 教职工
+2 学生
+3 其他
+xdyfzztdm 新党员发展状态代码
+代码 名称
+1 积极分子
+2 预备党员
+3 正式党员
+dygbxxpxzytjztdm 党员干部学习培训主要途径和载体代码
+代码 名称
+1 实践活动
+2 会议
+3 讲座报告
+4 学校定期集中学习
+5 支部定期集中学习
+6 微信 QQ
+7 移动端培训平台
+8 分发图书资料
+9 个人学习
+10 在线教育网站
+11 参观学习
+dygbxxpxnrdm 党员干部学习培训内容代码
+代码 名称
+1 党的理论
+2 相关政策文件
+3 党规党纪及国家法律法规
+4 教育教学业务
+5 学校管理
+6 文化建设
+7 经济方面
+8 互联网与新媒体方面
+9 心理健康
+10 师德师风
+11 其他
+djhdxsdm 党建活动形式代码
+代码 名称
+1 实践活动
+2 会议
+3 讲座报告
+4 学校定期集中学习
+5 支部定期集中学习
+6 微信 QQ
+7 移动端培训平台
+8 分发图书资料
+9 个人学习
+10 在线教育网站/参观学习
+11 参观学习
+ztdrhdnrdm 主题党日活动内容代码
+代码 名称
+1 尚未开展主题党日活动
+2 党内评议
+3 温暖关爱
+4 学习交流
+5 民主议事
+6 建言献策
+7 志愿服务
+8 外出参观
+9 研究业务
+10 其他
+wjylxdm 未就业类型代码
+代码 名称
+1 待就业
+2 不就业拟升学
+3 其他暂不就业
+sxjyhydm 实习/就业行业代码
+代码 名称
+A 农林牧渔业
+B 采矿业
+C 制造业
+D 电力、热力、燃气及水生产和供应业
+E 建筑业
+F 批发和零售业
+G 交通运输、仓储和邮政业
+H 住宿和餐饮业
+I 信息传输、软件和信息技术服务业
+J 金融业
+K 房地产业
+L 租赁和商务服务业
+M 科学研究和技术服务业
+N 水利、环境和公共设施管理业
+O 居民服务、修理和其他服务业
+P 教育
+Q 卫生和社会工作
+R 文化、体育和娱乐业
+S 公共管理、社会保障和社会组织
+T 国际组织
+0 其他
+jydwgmdm 就业单位规模代码
+代码 名称
+1 特大型
+2 大型
+3 中型
+4 小型
+5 微型
+jyqddm 就业渠道代码
+代码 名称
+1 学校推荐
+2 中介介绍
+0 其他
+htqdqkdm 合同签订情况代码
+代码 名称
+1 未签
+2 1 年及以内
+3 1-2(含)年
+4 2-3(含)年
+5 3 年以上
+shbxqkdm 社会保险情况代码
+代码 名称
+1 三险
+2 五险
+3 三险一金
+4 五险一金
+0 没有社保
+sxqddm 升学渠道代码
+代码 名称
+1 贯通培养
+2 五年一贯制培养
+3 职教高考
+4 普通高考
+5 出国升学
+sxccdm 升学层次代码
+代码 名称
+1 专科
+2 职业本科
+3 普通本科
+4 硕士
+5 其他
+";
+ _temp = _temp.Replace(" ", "‖").Replace("\r", "").Replace("\t", "");
+ string input = string.Empty;
+ string ZDLX = string.Empty;
+ string ZDLXMC = string.Empty;
+ string DM = string.Empty;
+ string MC = string.Empty;
+ for (int i = 0; i < _temp.Split('\n').Length; i++)
+ {
+ var itemLst = _temp.Split('\n');
+ var item = itemLst[i];
+
+ if (item == "" || item.Split('‖').Length < 2) continue;
+ string ZDID = Guid.NewGuid().ToString().Replace("-","");
+ if ((i + 1 < itemLst.Length) &&itemLst[i + 1] == "代码‖名称")
+ {
+ ZDLX = item.Split('‖')[0];
+ ZDLXMC = item.Split('‖')[1];
+ continue;
+ }
+ if (item == "代码‖名称") continue;
+
+
+ DM = item.Split('‖')[0];
+ MC = item.Split('‖')[1];
+ input += $@"
+INSERT INTO ods_GGZD VALUES ('{ZDID}','{ZDLX}','{ZDLXMC}','{DM}','{MC}');";
+
+ }
+
+ Console.WriteLine(input);
+ Console.Read();
+ }
+ }
+}
+
diff --git a/代码生成器/创建表.txt b/代码生成器/创建表.txt
new file mode 100644
index 0000000..eb0a6cc
--- /dev/null
+++ b/代码生成器/创建表.txt
@@ -0,0 +1,112 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace DieyuLearn.Test
+{
+ public class 列对象
+ {
+ public string 英文列名 { get; set; }
+ public string 中文列名 { get; set; }
+ public string 列类型 { get; set; }
+ public string 列长度 { get; set; }
+ public string 是否可空 { get; set; }
+ }
+ public class 表对象
+ {
+ public string 英文表名 { get; set; }
+ public string 中文表名 { get; set; }
+ public List<列对象> 列对象集合 { get; set; } = new List<列对象>();
+ }
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ string 中职学校概况基础数据表 = @"中职巡课排课数据表 ods_zzxkpksj
+数据项名 中文简称 类型 长度 约束 值空间
+gzzyqksjid 主键数据唯一性标识 C 32 O 32 位全局唯一编码字符串
+xxjgdm 学校机构代码 C 36 O 统一社会信用代码
+xxjgmc 学校机构名称 C 80 O
+ssxqbh 所属校区编号 C 80 M
+nj 年级 C 32 O 学校自定义
+bj 班级 C 60 O 学校自定义
+xn 学年 C 23 O 如:2021-2022 学年
+xq 学期 C 23 O 如:第二学期
+zc 周次 C 2 O 数字标识:1
+xqj 星期几 C 4 O 例如:星期一
+skjc 上课节次 C 32 O 数字标识:2
+skrq 上课日期 C 32 M 上课当天日期:yyyy-MM-dd
+kcmc 课程名称 C 2 M
+kcdm 课程代码 C 2 M
+jgh 教工号 C 2 O
+jxbrs 教学班人数 N 12 M 数字标识
+skkssj 上课开始时间 C 32 M 上开开始时间例如:9:00
+skjssj 上课结束时间 C 32 M 上课结束时间例如:22:00
+sdxsrs 实到学生人数 C 12 M
+jsdkqk 教师到课情况 C 2 M 1-正常 0-异常
+xkr 巡课人 C 32 O
+sjcjsj 数据采集时间 C 60 M yyyy-MM-dd hh:mm:ss
+
+";
+ string _temp = 中职学校概况基础数据表;
+ //获取表明与描述
+ 表对象 _表对象 = new 表对象()
+ {
+ 英文表名 = _temp.Split('\n')[0].Split(' ')[2],
+ 中文表名 = _temp.Split('\n')[0].Split(' ')[0]
+ };
+ foreach (var item in _temp.Split('\n'))
+ {
+ var itemLst = item.Split(' ');
+ if (itemLst.Length <= 5 || item.Contains("数据项名") || itemLst[0] == "" || item.Contains(_表对象.中文表名)) { continue; }
+
+
+
+ 列对象 _列对象 = new 列对象();
+ _列对象.英文列名 = itemLst[0];
+ _列对象.中文列名 = itemLst[1];
+ _列对象.列类型 = itemLst[2];
+ _列对象.列长度 = itemLst[3];
+ _列对象.是否可空 = itemLst[4];
+ _表对象.列对象集合.Add(_列对象);
+ }
+ string input = $@"
+create table {_表对象.英文表名}
+(
+";
+ 列对象 _主键列 = new 列对象();
+ foreach (var item in _表对象.列对象集合)
+ {
+ if (string.IsNullOrEmpty(_主键列.英文列名))
+ {
+ _主键列 = item;
+ }
+
+ string 类型拼接 = string.Empty;
+ if (item.列类型 == "C")
+ 类型拼接 = $"varchar2({item.列长度})";
+ if (item.列类型 == "N")
+ 类型拼接 = "number";
+
+ input += $@" {item.英文列名} {类型拼接} {(item.是否可空 == "M" ? "not null" : string.Empty)},
+";
+ }
+ input = input.Substring(0, input.Length - 3);
+ input += @"
+);
+";
+ input += $@"alter table {_表对象.英文表名} add constraint {_表对象.英文表名}_{_主键列.英文列名} primary key ({_主键列.英文列名});
+";
+ input += $@"comment on table {_表对象.英文表名} is '{_表对象.中文表名}';
+";
+ foreach (var item in _表对象.列对象集合)
+ {
+ input += $@"comment on column {_表对象.英文表名}.{item.英文列名} is '{item.中文列名}';
+";
+ }
+ Console.WriteLine(input);
+ Console.Read();
+ }
+ }
+}
+