Gogs il y a 3 ans
Parent
commit
1ed76b69a1
100 fichiers modifiés avec 3901 ajouts et 153 suppressions
  1. 2 0
      .gitignore
  2. 18 2
      src/account/control_user.py
  3. 1 0
      src/account/views_backstage.py
  4. 1 0
      src/api/control_auth.py
  5. 663 114
      src/api/controls.py
  6. 5 0
      src/api/urls_backstage.py
  7. 109 4
      src/api/views.py
  8. 30 0
      src/common/common_control.py
  9. 32 0
      src/common/common_functions.py
  10. 36 5
      src/common/core_views.py
  11. 149 28
      src/common/models.py
  12. 1 0
      src/css/app.ece0f4b6.css
  13. 1 0
      src/css/chunk-03d7540c.62224e06.css
  14. 1 0
      src/css/chunk-06335b5a.7b41d4d6.css
  15. 1 0
      src/css/chunk-08095a24.c27e2fc6.css
  16. 1 0
      src/css/chunk-096c3c33.7e507771.css
  17. 1 0
      src/css/chunk-0a6249ef.c27f1396.css
  18. 1 0
      src/css/chunk-0eef71e0.04de889e.css
  19. 1 0
      src/css/chunk-15ba467f.7b41d4d6.css
  20. 1 0
      src/css/chunk-17112d5a.c67d6563.css
  21. 1 0
      src/css/chunk-1ddb05f5.c27f1396.css
  22. 1 0
      src/css/chunk-246a435b.ef369395.css
  23. 1 0
      src/css/chunk-2a4ba9fc.0d0683bb.css
  24. 1 0
      src/css/chunk-326d6aba.0f83c9a2.css
  25. 1 0
      src/css/chunk-354d3e22.8f2c8a88.css
  26. 1 0
      src/css/chunk-45d58480.1043c743.css
  27. 1 0
      src/css/chunk-48811468.6716da64.css
  28. 1 0
      src/css/chunk-54639cb9.ae600981.css
  29. 1 0
      src/css/chunk-596656cd.aa739c96.css
  30. 1 0
      src/css/chunk-66b29214.7b41d4d6.css
  31. 1 0
      src/css/chunk-68914996.0625d6d6.css
  32. 1 0
      src/css/chunk-6b9b32f3.451ddc1d.css
  33. 1 0
      src/css/chunk-6e78c83f.2c93acd4.css
  34. 1 0
      src/css/chunk-7054657e.f2e59cbf.css
  35. 1 0
      src/css/chunk-74e9431e.4f350cd4.css
  36. 1 0
      src/css/chunk-798f253a.f2e59cbf.css
  37. 1 0
      src/css/chunk-7acb4b80.46421206.css
  38. 1 0
      src/css/chunk-911c6a4a.b73918d3.css
  39. 1 0
      src/css/chunk-a7a55ae8.7b41d4d6.css
  40. 1 0
      src/css/chunk-adbc7876.370b9ade.css
  41. 1 0
      src/css/chunk-b2aa225a.eea55874.css
  42. 1 0
      src/css/chunk-bea7b73c.3a584b60.css
  43. 1 0
      src/css/chunk-cee74608.db8514e5.css
  44. 1 0
      src/css/chunk-d15446f2.62224e06.css
  45. 1 0
      src/css/chunk-d4ec2828.d34bdcfb.css
  46. 1 0
      src/css/chunk-e66b47aa.7b41d4d6.css
  47. 1 0
      src/css/chunk-e930a1bc.54539899.css
  48. 1 0
      src/css/chunk-edeb7ee0.7b41d4d6.css
  49. 1 0
      src/css/chunk-f7d51d94.698fd63c.css
  50. 1 0
      src/css/chunk-fb87d290.3d8506b4.css
  51. 5 0
      src/css/chunk-vendors.c55c7e7c.css
  52. BIN
      src/favicon.ico
  53. BIN
      src/fonts/element-icons.535877f5.woff
  54. BIN
      src/fonts/element-icons.732389de.ttf
  55. BIN
      src/fonts/fontawesome-webfont.674f50d2.eot
  56. BIN
      src/fonts/fontawesome-webfont.af7ae505.woff2
  57. BIN
      src/fonts/fontawesome-webfont.b06871f2.ttf
  58. BIN
      src/fonts/fontawesome-webfont.fee66e71.woff
  59. BIN
      src/fonts/iconfont.5e134160.woff
  60. BIN
      src/fonts/iconfont.830f3890.ttf
  61. BIN
      src/fonts/iconfont.c2bc4977.eot
  62. 2671 0
      src/img/fontawesome-webfont.912ec66d.svg
  63. 89 0
      src/img/iconfont.a0b5c9e8.svg
  64. BIN
      src/img/logo.56ae0f9e.png
  65. BIN
      src/img/survey_bg.1591555b.png
  66. 1 0
      src/index.html
  67. 2 0
      src/js/app.788116cf.js
  68. 1 0
      src/js/app.788116cf.js.map
  69. 2 0
      src/js/chunk-03d7540c.5ff233a3.js
  70. 1 0
      src/js/chunk-03d7540c.5ff233a3.js.map
  71. 2 0
      src/js/chunk-06335b5a.7f5262ea.js
  72. 1 0
      src/js/chunk-06335b5a.7f5262ea.js.map
  73. 2 0
      src/js/chunk-08095a24.c624ac9b.js
  74. 1 0
      src/js/chunk-08095a24.c624ac9b.js.map
  75. 2 0
      src/js/chunk-096c3c33.f4ffbd35.js
  76. 1 0
      src/js/chunk-096c3c33.f4ffbd35.js.map
  77. 2 0
      src/js/chunk-0a6249ef.7404ff86.js
  78. 1 0
      src/js/chunk-0a6249ef.7404ff86.js.map
  79. 2 0
      src/js/chunk-0eef71e0.f394fc96.js
  80. 1 0
      src/js/chunk-0eef71e0.f394fc96.js.map
  81. 2 0
      src/js/chunk-15ba467f.4afec998.js
  82. 1 0
      src/js/chunk-15ba467f.4afec998.js.map
  83. 2 0
      src/js/chunk-17112d5a.95a0e0ae.js
  84. 1 0
      src/js/chunk-17112d5a.95a0e0ae.js.map
  85. 2 0
      src/js/chunk-1ddb05f5.da4c3275.js
  86. 1 0
      src/js/chunk-1ddb05f5.da4c3275.js.map
  87. 2 0
      src/js/chunk-246a435b.6039609f.js
  88. 1 0
      src/js/chunk-246a435b.6039609f.js.map
  89. 2 0
      src/js/chunk-2a4ba9fc.bbc17388.js
  90. 1 0
      src/js/chunk-2a4ba9fc.bbc17388.js.map
  91. 2 0
      src/js/chunk-326d6aba.78a79590.js
  92. 1 0
      src/js/chunk-326d6aba.78a79590.js.map
  93. 2 0
      src/js/chunk-354d3e22.5335f2e8.js
  94. 1 0
      src/js/chunk-354d3e22.5335f2e8.js.map
  95. 2 0
      src/js/chunk-45d58480.b275cb4b.js
  96. 1 0
      src/js/chunk-45d58480.b275cb4b.js.map
  97. 2 0
      src/js/chunk-48811468.3d36d6ec.js
  98. 1 0
      src/js/chunk-48811468.3d36d6ec.js.map
  99. 2 0
      src/js/chunk-54639cb9.83c0c8f0.js
  100. 0 0
      src/js/chunk-54639cb9.83c0c8f0.js.map

+ 2 - 0
.gitignore

@@ -2,3 +2,5 @@
 *.log
 *migrations*
 .idea
+templates/*
+static/*

+ 18 - 2
src/account/control_user.py

@@ -196,14 +196,30 @@ def get_user_personal_info(request):
     info = info[0] if info else {}
     return info
 
+def get_new_message(uid):
+    """
+    """
+    ruid = ",%s]" % uid
+    vuid = '"id": %s,' % uid 
+    qset = cm.Notice.objects.filter(receiver_id__icontains=ruid).filter(~Q(viewer_id__icontains=vuid))
+    return list(qset.values("id","name"))
+
 def get_account_info(request):
     """
     """
     id = request.user.id
-    print id,99999
     info = format_user(*[id])
     info = info[0] if info else {}
-    info["p"] = ["Product.*.*"]
+    role_id = info["role_id"]
+    try:
+        permissions = json.loads(cm.Role.objects.filter(id=role_id).first().permissions)
+    except:
+        permissions = []
+    perms = []
+    for p in permissions:
+        perms.append(p["label"])
+    info["permissions"] = perms
+    info["notices"] = get_new_message(info["id"])
     return info
 
 def get_user_list(request):

+ 1 - 0
src/account/views_backstage.py

@@ -27,6 +27,7 @@ class InfoView(cv.AdminView):
             users = cu.get_account_info(request)
             return cv.to_suc(users)
         except Exception as e:
+            cv.tracefail()
             return cv.to_fail(e)
 
 class UserInfoView(cv.BaseView):

+ 1 - 0
src/api/control_auth.py

@@ -23,6 +23,7 @@ def add_wxauth_info(request):
     obj.nickname = vals.get("nickname")
     obj.avatar = vals.get("avatar")
     obj.save()
+    request.session["wxuser"] = {"uid":obj.id,"name":obj.nickname}
     return obj
 
 

Fichier diff supprimé car celui-ci est trop grand
+ 663 - 114
src/api/controls.py


+ 5 - 0
src/api/urls_backstage.py

@@ -32,6 +32,11 @@ urlpatterns = [
     url(r'^uploadfile$', views.UploadFileView.as_view()),
     url(r'^signup/verify$', views.SignupVerifyView.as_view()),
     url(r'^phcode$', views.GetPhoneCodeView.as_view()),
+    url(r'^casci/list$', views.CASCIList.as_view()),
+    url(r'^casci/detail$', views.CASCIDetail.as_view()),
+    url(r'^casci/analyse$', views.CASCIAnalyseDetail.as_view()),
+    url(r'^article/forward$', views.ArticleForwardView.as_view()),
+    url(r'^news/list$', views.NewsListView.as_view()),
 
 
 ]

+ 109 - 4
src/api/views.py

@@ -17,7 +17,7 @@ import common.common_control as ccc
 import common.common_functions as ccf
 from utils.cloopen_sms import cloopensms
 import control_auth as ca
-from utils.aliyun_sms import send_sms
+from utils.aliyun_sms import *
 
 APPID = "wx2938132b773c7b5a" 
 APPSECRET = "1707d86ef4d9894775ebac21d87390e6"
@@ -600,6 +600,22 @@ class ArticleListView(cv.BaseView):
             rst = ctl.get_article_list(request)
             return cv.to_suc(rst)
         except Exception as e: 
+            cv.tracefail()
+            return cv.to_fail(e)
+
+class NewsListView(cv.BaseView):
+    def get(self, request):
+        """#知识服务(小程序)
+        @keyword:关键词搜索
+        @order_by:排序,read_num,forward_num,publish_time
+        @page:页码
+        @page_size:每页数量控制,默认为10
+        """
+        try:
+            rst = ctl.get_news_list(request)
+            return cv.to_suc(rst)
+        except Exception as e: 
+            cv.tracefail()
             return cv.to_fail(e)
 
 class JournalsListView(cv.BaseView):
@@ -637,6 +653,7 @@ class SearchView(cv.BaseView):
             rst = ctl.search(request)
             return cv.to_suc(rst)
         except Exception as e: 
+            cv.tracefail()
             return cv.to_fail(e)
 
 
@@ -693,6 +710,7 @@ class DetailView(cv.BaseView):
             rst = ctl.get_detail_info(request)
             return cv.to_suc(rst)
         except Exception as e: 
+            cv.tracefail()
             return cv.to_fail(e)
 
 
@@ -718,6 +736,7 @@ class UserCollectionView(cv.BaseView):
             rst = ctl.get_user_collection(request)
             return cv.to_suc(rst)
         except Exception as e: 
+            cv.tracefail()
             return cv.to_fail(e)
 
 
@@ -736,11 +755,18 @@ class UserSignupView(cv.BaseView):
         @organizer_unit:所属单位
         @phone:手机号
         @email:邮箱
+        @type:conference/activity
+        @tax_company:发票单位
+        @idcard:身份证
+        @remark1:备注1
+        @remark2:备注2
+        @remark3:备注3
         """
         try:
             rst = ctl.do_signup(request)
             return cv.to_suc(rst)
         except Exception as e: 
+            cv.tracefail()
             return cv.to_fail(e)
 
     def put(self, request):
@@ -854,15 +880,16 @@ class SignupVerifyView(cv.BaseView):
             rst = ctl.verify_signup(request)
             return cv.to_suc(rst)
         except Exception as e: 
+            cv.to_fail()
             return cv.to_fail(e)
 
 
 class GetPhoneCodeView(cv.BaseView):
-    def send_resetpwd_code_msg(self,phone,content,template_id="SMS_190465337"):
+    def send_resetpwd_code_msg(self,phone,content):
         """重置密码短信验证码
         """
         #if settings.SEND_SMS:
-        rst,msg = send_sms(phone,content,template_id)
+        rst,msg = send_phcode(phone,content)
         return rst,msg
 
     def post(self, request):
@@ -877,7 +904,7 @@ class GetPhoneCodeView(cv.BaseView):
         valid_time = 60*2
 
         if codetype == "changephone":
-            rst,msg = self.send_resetpwd_code_msg(phone,rcode,"SMS_190465337")
+            rst,msg = self.send_resetpwd_code_msg(phone,rcode)
         else:
             rst,msg = self.send_resetpwd_code_msg(phone,rcode)
         if rst:
@@ -885,3 +912,81 @@ class GetPhoneCodeView(cv.BaseView):
             return cv.to_suc({})
         else:
             return cv.to_fail(msg)
+
+
+class CASCIList(cv.BaseView):
+    def get(self, request):
+        """#指数列表(小程序)
+        @signup_id:1,期刊id
+        @date:"2021-09-18","2021-09-17,2021-0918",日期如果是范围用逗号分隔
+        """
+        qdata = request.json
+        need_params = ["date"]
+        mse = ccf.check_params(*need_params,**qdata)
+        if mse:
+            raise ce.TipException(mse)
+        try:
+            need_params.extend(["signup_id","keyword"])
+            vals = ccf.get_need_params(*need_params,**qdata)
+            rst = ctl.get_casci_list(**vals)
+            return cv.to_suc(rst)
+        except Exception as e:
+            cv.tracefail()
+            return cv.to_fail(e)
+
+
+class CASCIDetail(cv.BaseView):
+    def get(self, request):
+        """#指数详情(小程序)
+        @id:1,期刊id
+        """
+        qdata = request.json
+        need_params = ["id"]
+        mse = ccf.check_params(*need_params,**qdata)
+        if mse:
+            raise ce.TipException(mse)
+        try:
+            vals = ccf.get_need_params(*need_params,**qdata)
+            rst = ctl.get_casci_detail(**vals)
+            return cv.to_suc(rst)
+        except Exception as e:
+            cv.tracefail()
+            return cv.to_fail(e)
+
+
+class CASCIAnalyseDetail(cv.BaseView):
+    def get(self, request):
+        """#指数分析(小程序)
+        @id:1,期刊id
+        """
+        qdata = request.json
+        need_params = ["id"]
+        mse = ccf.check_params(*need_params,**qdata)
+        if mse:
+            raise ce.TipException(mse)
+        try:
+            vals = ccf.get_need_params(*need_params,**qdata)
+            rst = ctl.get_casci_analyse(**vals)
+            return cv.to_suc(rst)
+        except Exception as e:
+            cv.tracefail()
+            return cv.to_fail(e)
+
+
+class ArticleForwardView(cv.BaseView):
+    def get(self, request):
+        """#文章转发成功(小程序)
+        @id:1,文章id
+        """
+        qdata = request.json
+        need_params = ["id"]
+        mse = ccf.check_params(*need_params,**qdata)
+        if mse:
+            raise ce.TipException(mse)
+        try:
+            vals = ccf.get_need_params(*need_params,**qdata)
+            rst = ctl.article_forward_success(**vals)
+            return cv.to_suc(rst)
+        except Exception as e:
+            cv.tracefail()
+            return cv.to_fail(e)

+ 30 - 0
src/common/common_control.py

@@ -96,6 +96,7 @@ def upload_to_oss(request):
     from utils.upload_to_oss import TedOSS
     tedoss = TedOSS()
     url = tedoss.upload_from_str(upload_file.chunks(),dest)
+    print url
     return url
 
     #url = dest.replace(settings.STATIC_ROOT,settings.HOST)
@@ -110,6 +111,35 @@ def upload_to_oss(request):
     #return rst
 
 
+def ueditor_to_oss(request):
+    """
+    """
+    upload_file = request.FILES['upfile']
+    ext = os.path.splitext(upload_file.name)[-1]
+    timestamp = str(int(time.time()*1000))
+    dest = "upload/"+ timestamp + ext
+
+    from utils.upload_to_oss import TedOSS
+    tedoss = TedOSS()
+    url = tedoss.upload_from_str(upload_file.chunks(),dest)
+    print url
+    return url
+
+
+def notice_upload_to_oss(request):
+    """
+    """
+    upload_file = request.FILES['file']
+    ext = os.path.splitext(upload_file.name)[-1]
+    timestamp = str(int(time.time()*1000))
+    dest = "upload/"+ timestamp + ext
+
+    from utils.upload_to_oss import TedOSS
+    tedoss = TedOSS()
+    url = tedoss.upload_from_str(upload_file.chunks(),dest)
+    rst = {"url":url,"type":request.POST.get("type"),"name":upload_file.name}
+    return rst
+
 if __name__ == "__main__":
     #测试
     print get_pparents_info(1550,[])

+ 32 - 0
src/common/common_functions.py

@@ -1,4 +1,5 @@
 # coding:utf-8
+import collections
 import calendar
 import hashlib
 import datetime
@@ -6,6 +7,7 @@ import re
 import M2Crypto
 from PIL import Image,ImageDraw
 import requests
+import math
 
 def get_month_dates(month="202008"):
     """
@@ -218,6 +220,36 @@ def get_weathear_by_city(district_id):
         return None
     return None
 
+def calc_casci(rd,zd,rn,zn):
+    """
+    rd:日均阅读数
+    zd:日均转发数
+    rn:篇均阅读数
+    zn:篇均转发数
+    """
+    O = 0.65*math.log(rd+1) + 0.35*math.log(zd*10+1)
+    A = 0.65*math.log(rn+1) + 0.35*math.log(zn*10+1)
+    CASCI = (0.6*O+0.4*A) * 100
+    return round(CASCI,2)
+    
+def get_24hours():
+    """获取24小时
+    """
+    return ["%s:00" % str(x).zfill(2) for x in range(0,25)]
+
+def get_weeks():
+    """
+    """
+    w = collections.OrderedDict()
+    w[1] = u"周一"
+    w[2] = u"周二"
+    w[3] = u"周三"
+    w[4] = u"周四"
+    w[5] = u"周五"
+    w[6] = u"周六"
+    w[7] = u"周天"
+    return w
+
 if __name__ == "__main__":
     print make_password("123456")
     pass

+ 36 - 5
src/common/core_views.py

@@ -30,13 +30,27 @@ import common.error_info as ce
 
 logger = logging.getLogger(__name__)
 
-
+class XJsonResponse(JsonResponse):
+    def __init__(self, data, encoder=DjangoJSONEncoder, safe=True,                 
+                 json_dumps_params=None, **kwargs):                                
+        if safe and not isinstance(data, dict):                                    
+            raise TypeError(                                                       
+                'In order to allow non-dict objects to be serialized set the '  
+                'safe parameter to False.'                                         
+            )                                                                      
+        if json_dumps_params is None:                                              
+            json_dumps_params = {}                                                 
+        kwargs.setdefault('content_type', 'application/json')                      
+        data = json.dumps(data, cls=encoder, **json_dumps_params)                  
+        data = data.replace(" null,",'"",')
+        data = data.replace(" null",'""')
+        data = data.replace("None",'')
+        super(JsonResponse, self).__init__(content=data, **kwargs)                                                                                                                             
 class CusDjangoJSONEncoder(json.JSONEncoder):
     """
     JSONEncoder subclass that knows how to encode date/time, decimal types and UUIDs.
     """
     def default(self, o):
-        # See "Date Time String Format" in the ECMA-262 specification.
         if isinstance(o, datetime.datetime):
             r = datetime.datetime.strftime(o,'%Y-%m-%d %H:%M:%S')
             return r
@@ -57,11 +71,28 @@ class CusDjangoJSONEncoder(json.JSONEncoder):
             return str(o)
         elif isinstance(o, Promise):
             return six.text_type(o)
-        #elif isinstance(o, CallableBool):
-        #    return bool(o)
         else:
             return super(DjangoJSONEncoder, self).default(o)
 
+	def encode(self, o):                                                           
+		"""
+		"""
+        if isinstance(o, basestring):                                              
+            if isinstance(o, str):                                                 
+                _encoding = self.encoding                                          
+                if (_encoding is not None                                          
+                        and not (_encoding == 'utf-8')):                           
+                    o = o.decode(_encoding)                                        
+            if self.ensure_ascii:                                                  
+                return encode_basestring_ascii(o)                                  
+            else:                                                                  
+                return encode_basestring(o)                                        
+
+        chunks = self.iterencode(o, _one_shot=True)                                
+        if not isinstance(chunks, (list, tuple)):                                  
+            chunks = list(chunks)                                                  
+        return ''.join(chunks) 
+
 def isMobile(ua):
     """
     """
@@ -269,7 +300,7 @@ def to_suc(data={}):
     info["data"] = data
     info["code"] = 0
     info["message"] = "success"
-    return JsonResponse(info,encoder=CusDjangoJSONEncoder)
+    return XJsonResponse(info,encoder=CusDjangoJSONEncoder)
 
 def to_fail(e=None):
     info = {}

+ 149 - 28
src/common/models.py

@@ -10,7 +10,7 @@ class Journal(models.Model):
     #organizer_id = models.IntegerField(u"学科id",blank=True,null=True)
     subject_id = models.IntegerField(u"学科id",blank=True,null=True)
     organizer_id = models.IntegerField(u"主办单位",blank=True,null=True)
-    name = models.CharField(u"期刊名称",max_length=50)
+    name = models.CharField(u"期刊名称",max_length=50,unique=True)
     cname = models.CharField(u"期刊中文名称",max_length=255)
     ename = models.CharField(u"期刊英文名称",max_length=255)
     img = models.TextField(u"封面图片")
@@ -27,6 +27,8 @@ class Journal(models.Model):
     website = models.CharField(u"期刊官网",max_length=100,blank=True,null=True)
     corganizers = models.CharField(u"所属机构",max_length=100,blank=True,null=True)
     editorialAddress = models.CharField(u"编辑部地址",max_length=255,blank=True,null=True)
+    appid = models.CharField(u"appid",max_length=255,blank=True,null=True)
+    appsecret = models.CharField(u"secret",max_length=255,blank=True,null=True)
 
     status = models.SmallIntegerField(u"状态",default=1)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
@@ -43,6 +45,7 @@ class Branch(models.Model):
     """
     branch_id = models.CharField(u"分院id",max_length=50,blank=True,null=True)
     name = models.CharField(u"名称",max_length=50)
+    city = models.CharField(u"城市",max_length=50,blank=True,null=True)
 
     status = models.SmallIntegerField(u"状态",default=1)
 
@@ -56,10 +59,11 @@ class Organizer(models.Model):
     """
     branch_id = models.IntegerField(u"分院id",blank=True,null=True)
     organizer_id = models.CharField(u"单位id",max_length=50,blank=True,null=True)
-    name = models.CharField(u"单位名称",max_length=50)
+    name = models.CharField(u"单位名称",max_length=50,unique=True)
     img = models.TextField(u"封面图片")
     desc = models.TextField(u"单位描述")
     order = models.IntegerField(u"排序字段",default=0)
+    is_top = models.IntegerField(u"是否置顶",default=0)
 
     status = models.SmallIntegerField(u"状态",default=1)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
@@ -85,9 +89,10 @@ class Subject(models.Model):
     """学科
     """
     subject_id = models.CharField(u"单位id",max_length=50,blank=True,null=True)
-    name = models.CharField(u"单位名称",max_length=50)
+    name = models.CharField(u"单位名称",max_length=50,unique=True)
     desc = models.TextField(u"单位描述")
     order = models.IntegerField(u"排序字段",default=0)
+    is_top = models.IntegerField(u"是否置顶",default=0)
 
     status = models.SmallIntegerField(u"状态",default=1)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
@@ -111,11 +116,18 @@ class Article(models.Model):
     author = models.CharField(u"主编",max_length=100,blank=True,null=True)
     read_num = models.IntegerField(u"阅读量",default=0)
     forward_num = models.IntegerField(u"转发量",default=0)
+    news_media_id = models.CharField(u"微信公众号图文信息id",max_length=255,blank=True,null=True)
 
     publish_time = models.DateTimeField(u"出版时间", auto_now_add=True)
     status = models.SmallIntegerField(u"状态",default=1)
+    cid = models.IntegerField(u"创建人id",blank=True,null=True)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
+    chour = models.CharField(u"创建整点时间",max_length=10,blank=True,null=True)
+    cweek = models.IntegerField(u"创建星期", blank=True,null=True)
     uptime = models.DateTimeField(u"修改时间", auto_now_add=True)
+    publish_info = models.CharField(u"出版信息", max_length=255,blank=True,null=True)
+    doi = models.CharField(u"DOI信息", max_length=255,blank=True,null=True)
+    author_unit = models.CharField(u"作者单位", max_length=255,blank=True,null=True)
 
     class Meta:
         db_table = "ted_article"
@@ -128,9 +140,9 @@ class HotWord(models.Model):
     name = models.CharField(u"期刊名称",max_length=50)
     is_active = models.SmallIntegerField(u"状态",default=1)
 
-    cid = models.IntegerField(u"创建人id")
-    cname = models.CharField(u"创建人",max_length=50)
+    status = models.SmallIntegerField(u"状态",default=1)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
+    uptime = models.DateTimeField(u"修改时间", auto_now_add=True)
 
     class Meta:
         db_table = "ted_hotword"
@@ -143,9 +155,9 @@ class ColdWord(models.Model):
     name = models.CharField(u"期刊名称",max_length=50)
     is_active = models.SmallIntegerField(u"状态",default=1)
 
-    cid = models.IntegerField(u"创建人id")
-    cname = models.CharField(u"创建人",max_length=50)
+    status = models.SmallIntegerField(u"状态",default=1)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
+    uptime = models.DateTimeField(u"修改时间", auto_now_add=True)
 
     class Meta:
         db_table = "ted_coldword"
@@ -158,9 +170,9 @@ class SenWord(models.Model):
     name = models.CharField(u"期刊名称",max_length=50)
     is_active = models.SmallIntegerField(u"状态",default=1)
 
-    cid = models.IntegerField(u"创建人id")
-    cname = models.CharField(u"创建人",max_length=50)
+    #status = models.SmallIntegerField(u"状态",default=1)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
+    #uptime = models.DateTimeField(u"修改时间", auto_now_add=True)
 
     class Meta:
         db_table = "ted_senword"
@@ -171,10 +183,12 @@ class Banners(models.Model):
     """Banner位
     """
     name = models.CharField(u"广告名称", max_length=255, blank=True,null=True)
-    img = models.TextField(u"封面图", max_length=255, blank=True,null=True)
+    img = models.CharField(u"跳转链接", max_length=255, blank=True,null=True)
+    seltype = models.CharField(u"跳转链接", max_length=255, blank=True,null=True)
+    selval = models.IntegerField(u"跳转链接", blank=True,null=True)
     url = models.TextField(u"跳转链接", max_length=255, blank=True,null=True)
     is_active = models.SmallIntegerField(u"状态",default=1)
-    is_jump = models.SmallIntegerField(u"是否跳转",default=0)
+    is_jump = models.SmallIntegerField(u"状态",default=1)
 
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
 
@@ -189,12 +203,14 @@ class Conference(models.Model):
     conference_id = models.CharField(u"会议id",max_length=50,blank=True,null=True)
 
     name = models.CharField(u"期刊名称",max_length=255)
+    contype = models.CharField(u"会议类型",max_length=255,blank=True,null=True)
     img = models.TextField(u"封面图片")
     organizer_id = models.IntegerField(u"主办方id",blank=True,null=True)
-    begin_time = models.DateTimeField(u"创建时间", auto_now_add=True)
-    end_time = models.DateTimeField(u"创建时间", auto_now_add=True)
+    begin_time = models.DateTimeField(u"创建时间", blank=True,null=True)
+    end_time = models.DateTimeField(u"创建时间", blank=True,null=True)
     city = models.CharField(u"市",max_length=50)
-    address = models.TextField(u"区")
+    address = models.TextField(u"区",blank=True,null=True)
+    online_address = models.TextField(u"线上会议地址",blank=True,null=True)
     desc = models.TextField(u"简介")
     is_signup = models.SmallIntegerField(u"是否可报名",default=0)
     signup_fields = models.TextField(u"报名信息字段")
@@ -203,6 +219,7 @@ class Conference(models.Model):
     is_recommend = models.SmallIntegerField(u"是否推荐",default=0)
     speaker = models.TextField(u"会议主讲人",blank=True,null=True)
     content = models.TextField(u"会议详情")
+    sign_note = models.TextField(u"报名须知",blank=True,null=True)
 
     status = models.SmallIntegerField(u"状态",default=1)
     cid = models.IntegerField(u"创建人id")
@@ -243,10 +260,10 @@ class Activity(models.Model):
     journal_id = models.IntegerField(u"期刊id",default=0)
     activity_id = models.CharField(u"会议id",max_length=50,blank=True,null=True)
 
-    name = models.CharField(u"活动名称",max_length=50)
+    name = models.CharField(u"期刊名称",max_length=50)
     img = models.TextField(u"封面图片")
-    begin_time = models.DateTimeField(u"开始时间", auto_now_add=True)
-    end_time = models.DateTimeField(u"结束时间", auto_now_add=True)
+    begin_time = models.DateTimeField(u"创建时间", blank=True,null=True)
+    end_time = models.DateTimeField(u"创建时间", blank=True,null=True)
     desc = models.TextField(u"简介")
     province = models.CharField(u"省",max_length=50)
     city = models.CharField(u"市",max_length=50)
@@ -259,9 +276,11 @@ class Activity(models.Model):
     speaker = models.TextField(u"会议主讲人",blank=True,null=True)
     the_host = models.CharField(u"主办方",max_length=255,blank=True,null=True)
     to_undertake = models.CharField(u"承办方",max_length=255,blank=True,null=True)
-    type = models.SmallIntegerField(u"活动类型",default=0)
+    signup_fields = models.TextField(u"报名信息字段",blank=True,null=True)
 
     status = models.SmallIntegerField(u"状态",default=1)
+    is_signup = models.SmallIntegerField(u"是否可报名",default=1)
+    type = models.SmallIntegerField(u"状态",default=1)
     cid = models.IntegerField(u"创建人id",default=0)
     cname = models.CharField(u"创建人",max_length=50,blank=True,null=True)
     upid = models.IntegerField(u"创建人id",default=0)
@@ -297,6 +316,7 @@ class Signup(models.Model):
     user_id = models.IntegerField(u"期刊id",default=0)
     conference_id = models.IntegerField(u"会议id",default=0)
     conference_name = models.CharField(u"会议名称",max_length=255)
+    type = models.CharField(u"会议名称",max_length=255,default="conference")
 
     name = models.CharField(u"姓名",max_length=50)
     sex = models.SmallIntegerField(u"会议名称",blank=True,null=True)
@@ -304,9 +324,12 @@ class Signup(models.Model):
     job = models.CharField(u"职务",max_length=255,blank=True)
     title = models.CharField(u"职称",max_length=255,null=True)
     is_caos = models.SmallIntegerField(u"是否中科院单位",blank=True,null=True)
-    organizer_unit = models.CharField(u"所属单位",max_length=255)
-    phone = models.CharField(u"职称",max_length=11,null=True)
-    email = models.CharField(u"职称",max_length=11,null=True)
+    organizer_unit = models.CharField(u"所属单位",max_length=255,blank=True,null=True)
+    organizer_city = models.CharField(u"所属单位城市",max_length=255,blank=True,null=True)
+    organizer_college = models.CharField(u"所属院所",max_length=255,blank=True,null=True)
+    organizer_journal = models.CharField(u"期刊单位",max_length=255,blank=True,null=True)
+    phone = models.CharField(u"职称",max_length=13,null=True)
+    email = models.CharField(u"职称",max_length=50,null=True)
     signup_status = models.SmallIntegerField(u"状态",default=0)
     hotel_id = models.IntegerField(u"会议id",blank=True,null=True)
     room_id = models.IntegerField(u"会议id",blank=True,null=True)
@@ -324,6 +347,13 @@ class Signup(models.Model):
     billbankno = models.CharField(u"银行账号",max_length=255,null=True,blank=True)
     reject_reason = models.TextField(u"驳回原因",null=True,blank=True)
     verify_qrcode = models.TextField(u"核销二维码",null=True,blank=True)
+    begin_time = models.DateTimeField(u"创建时间", blank=True,null=True)
+    end_time = models.DateTimeField(u"创建时间", blank=True,null=True)
+    tax_company = models.CharField(u"发票单位",max_length=255,null=True,blank=True)
+    idcard = models.CharField(u"身份证",max_length=255,null=True,blank=True)
+    remark1 = models.CharField(u"备注1",max_length=255,null=True,blank=True)
+    remark2 = models.CharField(u"备注2",max_length=255,null=True,blank=True)
+    remark3 = models.CharField(u"备注3",max_length=255,null=True,blank=True)
 
     status = models.SmallIntegerField(u"状态",default=1)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
@@ -379,11 +409,11 @@ class Room(models.Model):
     layout_id = models.CharField(u"房型id",max_length=255)
     name = models.CharField(u"名称",max_length=50)
     room_type = models.CharField(u"状态",max_length=200)
-    enable_number = models.IntegerField(u"可住人数",default=1)
-    room_number = models.IntegerField(u"客房数量",default=1)
+    enable_number = models.CharField(u"可住人数",default=1,max_length=50)
+    room_number = models.CharField(u"客房数量",default=1,max_length=50)
     surplus_number = models.IntegerField(u"剩余客房数量",default=0)
-    room_area = models.IntegerField(u"面积",default=0)
-    floor = models.IntegerField(u"楼层",default=0)
+    room_area = models.CharField(u"面积",default=0,max_length=50)
+    floor = models.CharField(u"楼层",default=0,max_length=50)
     bed_type = models.CharField(u"床型",max_length=50)
     food_condition = models.CharField(u"餐食情况",max_length=255)
     window_condition = models.CharField(u"餐食情况",max_length=255)
@@ -419,7 +449,7 @@ class UserInfo(models.Model):
     realname = models.CharField(u"真实名称", max_length=255, blank=True, null=True)
     permissions = models.TextField(u"权限", blank=True,null=True)
     openid = models.CharField(u"微信openid", max_length=64, blank=True,null=True)
-    avatar = models.CharField(u"手机号", max_length=64, blank=True,null=True)
+    avatar = models.TextField(u"手机号", max_length=255, blank=True,null=True)
     nickname = models.CharField(u"手机号", max_length=64, blank=True,null=True)
     is_active = models.SmallIntegerField(u"是否激活可用",default=0)
 
@@ -475,6 +505,7 @@ class Role(models.Model):
     """
     name = models.CharField(u"名字", max_length=255, blank=True,null=True)
     permissions = models.TextField(u"权限", blank=True,null=True)
+    inner = models.SmallIntegerField(u"内部角色",default=0)
 
     status = models.SmallIntegerField(u"状态",default=1)
     cid = models.IntegerField(u"创建人id")
@@ -506,7 +537,7 @@ class OperationLogConfig(models.Model):
     op_view = models.CharField(u"操作模块", max_length=100,blank=True,null=True)
     op_action_flag = models.CharField(u"操作类型", max_length=50)
     op_module = models.CharField(u"操作模块",max_length=255,blank=True,null=True)
-    op_template = models.TextField(u"操作日志模板")
+    op_template = models.TextField(u"操作日志模板",blank=True,null=True)
     op_url = models.CharField(u"URL", max_length=255)
     op_response = models.TextField(u"URL", max_length=255, blank=True, null=True)
     order = models.IntegerField(u"排序字段",blank=True,null=True)
@@ -526,7 +557,8 @@ class OperationLog(models.Model):
     op_user_id = models.IntegerField(u"操作员id")
     op_user_ip = models.CharField(u"操作员ip",max_length=100)
     op_config = models.ForeignKey(OperationLogConfig)
-    op_request = models.TextField(u"request body", default="")
+    op_request = models.TextField(u"request body", blank=True,null=True)
+    op_response = models.TextField(u"response body", blank=True,null=True)
     is_suc = models.BooleanField(u"是否成功", default=True)
     error_msg = models.TextField(u"错误信息", max_length=255, blank=True, null=True)
     ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
@@ -585,6 +617,7 @@ class Message(models.Model):
     fileurl = models.CharField(u"附件地址",max_length=50,blank=True,null=True)
     filename = models.CharField(u"附件名称",max_length=50,blank=True,null=True)
     template_qrcode = models.TextField(u"问卷二维码",max_length=255,blank=True,null=True)
+    dwz_url = models.CharField(u"短链接",max_length=255,blank=True,null=True)
     type = models.IntegerField(u"消息类型",default=0)
     widget = models.TextField(u"组件",blank=True,null=True)
 
@@ -623,3 +656,91 @@ class City(models.Model):
         db_table = "ted_city"                                                          
         verbose_name = u"城市信息"                                                 
         app_label = "common"
+
+
+class JournalCASCI(models.Model):
+    """期刊CASCI数据
+    """
+    journal_id = models.CharField(u"单位id",max_length=50,blank=True,null=True)
+    journal_name = models.CharField(u"单位id",max_length=50,blank=True,null=True)
+    journal_img = models.TextField(u"单位id",max_length=50,blank=True,null=True)
+    article_count = models.IntegerField(u"文章总数量",blank=True,null=True)                  
+    article_count_mp = models.IntegerField(u"文章公众号数量",blank=True,null=True)                  
+    article_count_xcx = models.IntegerField(u"文章小程序数量",blank=True,null=True)                  
+    read_num = models.IntegerField(u"总阅读量",blank=True,null=True)                  
+    read_num_mp = models.IntegerField(u"公众号阅读量",blank=True,null=True)                  
+    read_num_xcx = models.IntegerField(u"小程序阅读量",blank=True,null=True)                  
+    zan_num = models.IntegerField(u"总点赞量",blank=True,null=True)                  
+    zan_num_mp = models.IntegerField(u"公众号点赞量",blank=True,null=True)                  
+    zan_num_xcx = models.IntegerField(u"小程序点赞量",blank=True,null=True)                  
+    zhuanfa_num = models.IntegerField(u"总转发量",blank=True,null=True)                  
+    zhuanfa_num_mp = models.IntegerField(u"公众号转发量",blank=True,null=True)                  
+    zhuanfa_num_xcx = models.IntegerField(u"小程序转发量",blank=True,null=True)                  
+    casci = models.FloatField(u"casci",blank=True,null=True)                  
+    rank = models.IntegerField(u"小程序转发量",blank=True,null=True,default=1)                  
+    date = models.DateField(u"统计日期",blank=True,null=True)
+
+    ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
+
+    class Meta:
+        db_table = "ted_journal_casci"
+        verbose_name = u"期刊CASCI数据"
+        app_label = "common"
+
+
+class JournalArticleAnalyse(models.Model):
+    """期刊文章阅读与转发量分析
+    """
+    journal_id = models.IntegerField(u"单位id",max_length=50,blank=True,null=True)
+    article_id = models.IntegerField(u"文章id",max_length=50,blank=True,null=True)
+    article_name = models.CharField(u"文章名称",max_length=255,blank=True,null=True)
+    read_num = models.IntegerField(u"总阅读量",blank=True,null=True)                  
+    read_num_mp = models.IntegerField(u"公众号阅读量",blank=True,null=True)                  
+    read_num_xcx = models.IntegerField(u"小程序阅读量",blank=True,null=True)                  
+    zhuanfa_num = models.IntegerField(u"总转发量",blank=True,null=True)                  
+    zhuanfa_num_mp = models.IntegerField(u"公众号转发量",blank=True,null=True)                  
+    zhuanfa_num_xcx = models.IntegerField(u"小程序转发量",blank=True,null=True)                  
+
+    date = models.DateField(u"统计日期",blank=True,null=True)
+
+    ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
+
+    class Meta:
+        db_table = "ted_journal_article_analyse"
+        verbose_name = u"期刊文章阅读月转发量分析"
+        app_label = "common"
+
+
+class SearchKeyword(models.Model):
+    """
+    """
+    name = models.CharField(u"期刊名称",max_length=50)
+    cid = models.IntegerField(u"创建人id",blank=True,null=True)
+    ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
+
+    class Meta:
+        db_table = "ted_search_keyword"
+        verbose_name = u"冷词"
+        app_label = "common"
+
+
+class News(models.Model):
+    """资讯
+    """
+    journal_id = models.IntegerField(u"期刊id")
+    name = models.CharField(u"期刊名称",max_length=50)
+    img = models.TextField(u"封面图片")
+    desc = models.TextField(u"期刊描述")
+    content = models.TextField(u"期刊描述")
+    read_num = models.IntegerField(u"阅读量",default=0)
+    forward_num = models.IntegerField(u"转发量",default=0)
+    news_media_id = models.CharField(u"微信公众号图文信息id",max_length=255,blank=True,null=True)
+
+    status = models.SmallIntegerField(u"状态",default=1)
+    cid = models.IntegerField(u"创建人id",blank=True,null=True)
+    ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
+
+    class Meta:
+        db_table = "ted_news"
+        verbose_name = u"资讯"
+        app_label = "common"

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/app.ece0f4b6.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-03d7540c.62224e06.css


+ 1 - 0
src/css/chunk-06335b5a.7b41d4d6.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.preview .el-form-item{margin-bottom:15px}.preview label,.preview p{line-height:25px!important}

+ 1 - 0
src/css/chunk-08095a24.c27e2fc6.css

@@ -0,0 +1 @@
+.editor[data-v-0aef4bc4]{width:100%;margin:0 auto;position:relative;z-index:0}.editor[data-v-0aef4bc4] .toolbar{border:1px solid #ccc}.editor[data-v-0aef4bc4] .text{border:1px solid #ccc;min-height:500px}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-096c3c33.7e507771.css


+ 1 - 0
src/css/chunk-0a6249ef.c27f1396.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.signup_mannage .bh{font-size:14px;color:#666;line-height:27px;margin-bottom:10px}.signup_mannage .bh label{color:#333;font-size:16px;display:inline-block;padding-right:10px}.signup_mannage .hotel .el-dialog{margin-top:30px!important}.signup_mannage .hotel .el-dialog .el-form-item{margin-bottom:10px}

+ 1 - 0
src/css/chunk-0eef71e0.04de889e.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.account_active{color:green}.account_nactive{color:red}.preview .el-form-item{margin-bottom:15px}.preview label,.preview p{line-height:25px!important}

+ 1 - 0
src/css/chunk-15ba467f.7b41d4d6.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.preview .el-form-item{margin-bottom:15px}.preview label,.preview p{line-height:25px!important}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-17112d5a.c67d6563.css


+ 1 - 0
src/css/chunk-1ddb05f5.c27f1396.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.signup_mannage .bh{font-size:14px;color:#666;line-height:27px;margin-bottom:10px}.signup_mannage .bh label{color:#333;font-size:16px;display:inline-block;padding-right:10px}.signup_mannage .hotel .el-dialog{margin-top:30px!important}.signup_mannage .hotel .el-dialog .el-form-item{margin-bottom:10px}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-246a435b.ef369395.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-2a4ba9fc.0d0683bb.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-326d6aba.0f83c9a2.css


+ 1 - 0
src/css/chunk-354d3e22.8f2c8a88.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.checker .el-dialog__footer{text-align:right}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-45d58480.1043c743.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-48811468.6716da64.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-54639cb9.ae600981.css


+ 1 - 0
src/css/chunk-596656cd.aa739c96.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.sub_detail h1{display:inline-block;margin-bottom:10px;vertical-align:top;width:75%}.sub_detail h1 .name{font-size:16px;color:#333;margin-bottom:10px}.sub_detail h1 .desc{color:#666;font-size:14px;line-height:26px}

+ 1 - 0
src/css/chunk-66b29214.7b41d4d6.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.preview .el-form-item{margin-bottom:15px}.preview label,.preview p{line-height:25px!important}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-68914996.0625d6d6.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-6b9b32f3.451ddc1d.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-6e78c83f.2c93acd4.css


+ 1 - 0
src/css/chunk-7054657e.f2e59cbf.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-74e9431e.4f350cd4.css


+ 1 - 0
src/css/chunk-798f253a.f2e59cbf.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-7acb4b80.46421206.css


+ 1 - 0
src/css/chunk-911c6a4a.b73918d3.css

@@ -0,0 +1 @@
+.signup_mannage .bh{font-size:14px;color:#666;line-height:27px;margin-bottom:10px}.signup_mannage .bh label{color:#333;font-size:16px;display:inline-block;padding-right:10px}.signup_mannage .hotel .el-dialog{margin-top:30px!important}.signup_mannage .hotel .el-dialog .el-form-item{margin-bottom:10px}#map{overflow:hidden;width:300px;height:300px}

+ 1 - 0
src/css/chunk-a7a55ae8.7b41d4d6.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.preview .el-form-item{margin-bottom:15px}.preview label,.preview p{line-height:25px!important}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-adbc7876.370b9ade.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-b2aa225a.eea55874.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-bea7b73c.3a584b60.css


+ 1 - 0
src/css/chunk-cee74608.db8514e5.css

@@ -0,0 +1 @@
+.preview .el-form-item{margin-bottom:15px}.preview label,.preview p{line-height:25px!important}.hotel .el-dialog{margin-top:30px!important}.desc{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;white-space:normal}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-d15446f2.62224e06.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-d4ec2828.d34bdcfb.css


+ 1 - 0
src/css/chunk-e66b47aa.7b41d4d6.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.preview .el-form-item{margin-bottom:15px}.preview label,.preview p{line-height:25px!important}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-e930a1bc.54539899.css


+ 1 - 0
src/css/chunk-edeb7ee0.7b41d4d6.css

@@ -0,0 +1 @@
+.el-pagination button,.el-pagination li{border:1px solid #cacaca!important;background-color:#fff!important}.el-pagination .active{border:none!important;background:#3895fe!important}.preview .el-form-item{margin-bottom:15px}.preview label,.preview p{line-height:25px!important}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-f7d51d94.698fd63c.css


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/css/chunk-fb87d290.3d8506b4.css


Fichier diff supprimé car celui-ci est trop grand
+ 5 - 0
src/css/chunk-vendors.c55c7e7c.css


BIN
src/favicon.ico


BIN
src/fonts/element-icons.535877f5.woff


BIN
src/fonts/element-icons.732389de.ttf


BIN
src/fonts/fontawesome-webfont.674f50d2.eot


BIN
src/fonts/fontawesome-webfont.af7ae505.woff2


BIN
src/fonts/fontawesome-webfont.b06871f2.ttf


BIN
src/fonts/fontawesome-webfont.fee66e71.woff


BIN
src/fonts/iconfont.5e134160.woff


BIN
src/fonts/iconfont.830f3890.ttf


BIN
src/fonts/iconfont.c2bc4977.eot


Fichier diff supprimé car celui-ci est trop grand
+ 2671 - 0
src/img/fontawesome-webfont.912ec66d.svg


Fichier diff supprimé car celui-ci est trop grand
+ 89 - 0
src/img/iconfont.a0b5c9e8.svg


BIN
src/img/logo.56ae0f9e.png


BIN
src/img/survey_bg.1591555b.png


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/index.html


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/app.788116cf.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/app.788116cf.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-03d7540c.5ff233a3.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-03d7540c.5ff233a3.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-06335b5a.7f5262ea.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-06335b5a.7f5262ea.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-08095a24.c624ac9b.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-08095a24.c624ac9b.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-096c3c33.f4ffbd35.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-096c3c33.f4ffbd35.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-0a6249ef.7404ff86.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-0a6249ef.7404ff86.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-0eef71e0.f394fc96.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-0eef71e0.f394fc96.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-15ba467f.4afec998.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-15ba467f.4afec998.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-17112d5a.95a0e0ae.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-17112d5a.95a0e0ae.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-1ddb05f5.da4c3275.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-1ddb05f5.da4c3275.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-246a435b.6039609f.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-246a435b.6039609f.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-2a4ba9fc.bbc17388.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-2a4ba9fc.bbc17388.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-326d6aba.78a79590.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-326d6aba.78a79590.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-354d3e22.5335f2e8.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-354d3e22.5335f2e8.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-45d58480.b275cb4b.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-45d58480.b275cb4b.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-48811468.3d36d6ec.js


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
src/js/chunk-48811468.3d36d6ec.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 2 - 0
src/js/chunk-54639cb9.83c0c8f0.js


+ 0 - 0
src/js/chunk-54639cb9.83c0c8f0.js.map


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff