├── .idea ├── Huaxiang.iml ├── misc.xml ├── modules.xml └── vcs.xml ├── Huaxiang ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py ├── README.md ├── _trial_temp.lock └── symlink ├── _trial_temp ├── _trial_marker └── test.log ├── biaoqian ├── __init__.py ├── admin.py ├── apps.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── jiguang ├── __init__.py ├── admin.py ├── apps.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── kanban ├── __init__.py ├── admin.py ├── apps.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── login ├── __init__.py ├── admin.py ├── apps.py ├── migrations │ └── __init__.py ├── models.py ├── testdb.py ├── tests.py └── views.py ├── manage.py ├── static ├── css │ ├── animate.min.css │ ├── bootstrap.min.css │ ├── bootstrap.min14ed.css │ ├── demo │ │ └── webuploader-demo.min.css │ ├── font-awesome.min93e3.css │ ├── login.min.css │ ├── patterns │ │ ├── Thumbs.db │ │ ├── header-profile-skin-1.png │ │ ├── header-profile-skin-3.png │ │ ├── header-profile.png │ │ └── shattered.png │ ├── plugins │ │ ├── awesome-bootstrap-checkbox │ │ │ └── awesome-bootstrap-checkbox.css │ │ ├── blueimp │ │ │ ├── css │ │ │ │ └── blueimp-gallery.min.css │ │ │ └── img │ │ │ │ ├── Thumbs.db │ │ │ │ ├── error.png │ │ │ │ ├── error.svg │ │ │ │ ├── loading.gif │ │ │ │ ├── play-pause.png │ │ │ │ ├── play-pause.svg │ │ │ │ ├── video-play.png │ │ │ │ └── video-play.svg │ │ ├── bootstrap-table │ │ │ └── bootstrap-table.min.css │ │ ├── chosen │ │ │ ├── chosen-sprite.png │ │ │ ├── chosen-sprite@2x.png │ │ │ └── chosen.css │ │ ├── clockpicker │ │ │ └── clockpicker.css │ │ ├── codemirror │ │ │ ├── ambiance.css │ │ │ └── codemirror.css │ │ ├── colorpicker │ │ │ ├── css │ │ │ │ └── bootstrap-colorpicker.min.css │ │ │ └── img │ │ │ │ └── bootstrap-colorpicker │ │ │ │ ├── Thumbs.db │ │ │ │ ├── alpha-horizontal.png │ │ │ │ ├── alpha.png │ │ │ │ ├── hue-horizontal.png │ │ │ │ ├── hue.png │ │ │ │ └── saturation.png │ │ ├── cropper │ │ │ └── cropper.min.css │ │ ├── dataTables │ │ │ └── dataTables.bootstrap.css │ │ ├── datapicker │ │ │ └── datepicker3.css │ │ ├── dropzone │ │ │ ├── basic.css │ │ │ └── dropzone.css │ │ ├── footable │ │ │ ├── fonts │ │ │ │ ├── footable.eot │ │ │ │ ├── footable.svg │ │ │ │ ├── footable.ttf │ │ │ │ ├── footable.woff │ │ │ │ └── footabled41d.eot │ │ │ └── footable.core.css │ │ ├── fullcalendar │ │ │ ├── fullcalendar.css │ │ │ └── fullcalendar.print.css │ │ ├── iCheck │ │ │ ├── custom.css │ │ │ ├── green.png │ │ │ └── green@2x.png │ │ ├── images │ │ │ ├── sort_asc.png │ │ │ ├── sort_desc.png │ │ │ ├── sprite-skin-flat.png │ │ │ ├── spritemap.png │ │ │ └── spritemap@2x.png │ │ ├── ionRangeSlider │ │ │ ├── ion.rangeSlider.css │ │ │ └── ion.rangeSlider.skinFlat.css │ │ ├── jasny │ │ │ └── jasny-bootstrap.min.css │ │ ├── jqgrid │ │ │ └── ui.jqgridffe4.css │ │ ├── jsTree │ │ │ └── style.min.css │ │ ├── markdown │ │ │ └── bootstrap-markdown.min.css │ │ ├── morris │ │ │ └── morris-0.4.3.min.css │ │ ├── nouslider │ │ │ └── jquery.nouislider.css │ │ ├── plyr │ │ │ ├── plyr.css │ │ │ └── sprite.svg │ │ ├── simditor │ │ │ └── simditor.css │ │ ├── steps │ │ │ └── jquery.steps.css │ │ ├── summernote │ │ │ ├── summernote-bs3.css │ │ │ └── summernote.css │ │ ├── sweetalert │ │ │ └── sweetalert.css │ │ ├── switchery │ │ │ └── switchery.css │ │ ├── toastr │ │ │ └── toastr.min.css │ │ ├── treeview │ │ │ └── bootstrap-treeview.css │ │ └── webuploader │ │ │ └── webuploader.css │ ├── style.min.css │ └── style.min862f.css ├── fonts │ ├── fontawesome-webfont93e3.eot │ ├── fontawesome-webfont93e3.svg │ ├── fontawesome-webfont93e3.ttf │ ├── fontawesome-webfont93e3.woff │ ├── fontawesome-webfont93e3.woff2 │ ├── fontawesome-webfontd41d.eot │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ ├── glyphicons-halflings-regular.woff2 │ └── glyphicons-halflings-regulard41d.eot ├── img │ ├── a1.jpg │ ├── a2.jpg │ ├── a3.jpg │ ├── a4.jpg │ ├── a5.jpg │ ├── a6.jpg │ ├── a7.jpg │ ├── a8.jpg │ ├── a9.jpg │ ├── bg.png │ ├── iconfont-logo.png │ ├── icons.png │ ├── index.jpg │ ├── index_4.jpg │ ├── loading-upload.gif │ ├── locked.png │ ├── login-background.jpg │ ├── p1.jpg │ ├── p2.jpg │ ├── p3.jpg │ ├── p_big1.jpg │ ├── p_big2.jpg │ ├── p_big3.jpg │ ├── pay.png │ ├── profile.jpg │ ├── profile_big.jpg │ ├── profile_small.jpg │ ├── progress.png │ ├── qr_code.png │ ├── success.png │ ├── user.png │ └── wenku_logo.png ├── js │ ├── bootstrap.min.js │ ├── contabs.min.js │ ├── content.min.js │ ├── demo │ │ ├── bootstrap-table-demo.min.js │ │ ├── echarts-demo.min.js │ │ ├── flot-demo.min.js │ │ ├── form-advanced-demo.min.js │ │ ├── form-validate-demo.min.js │ │ ├── layer-demo.min.js │ │ ├── morris-demo.min.js │ │ ├── peity-demo.min.js │ │ ├── rickshaw-demo.min.js │ │ ├── sparkline-demo.min.js │ │ ├── treeview-demo.min.js │ │ └── webuploader-demo.min.js │ ├── hplus.min.js │ ├── jquery-ui-1.10.4.min.js │ ├── jquery-ui.custom.min.js │ ├── jquery.min.js │ ├── plugins │ │ ├── beautifyhtml │ │ │ └── beautifyhtml.js │ │ ├── blueimp │ │ │ └── jquery.blueimp-gallery.min.js │ │ ├── bootstrap-table │ │ │ ├── bootstrap-table-mobile.min.js │ │ │ ├── bootstrap-table.min.js │ │ │ └── locale │ │ │ │ └── bootstrap-table-zh-CN.min.js │ │ ├── chartJs │ │ │ └── Chart.min.js │ │ ├── chosen │ │ │ └── chosen.jquery.js │ │ ├── clockpicker │ │ │ └── clockpicker.js │ │ ├── codemirror │ │ │ ├── codemirror.js │ │ │ └── mode │ │ │ │ └── javascript │ │ │ │ └── javascript.js │ │ ├── colorpicker │ │ │ └── bootstrap-colorpicker.min.js │ │ ├── cropper │ │ │ └── cropper.min.js │ │ ├── dataTables │ │ │ ├── dataTables.bootstrap.js │ │ │ └── jquery.dataTables.js │ │ ├── datapicker │ │ │ └── bootstrap-datepicker.js │ │ ├── diff_match_patch │ │ │ └── diff_match_patch.js │ │ ├── dropzone │ │ │ └── dropzone.js │ │ ├── easypiechart │ │ │ └── jquery.easypiechart.js │ │ ├── echarts │ │ │ └── echarts-all.js │ │ ├── fancybox │ │ │ ├── blank.gif │ │ │ ├── fancybox_loading.gif │ │ │ ├── fancybox_loading@2x.gif │ │ │ ├── fancybox_overlay.png │ │ │ ├── fancybox_sprite.png │ │ │ ├── fancybox_sprite@2x.png │ │ │ ├── jquery.fancybox.css │ │ │ └── jquery.fancybox.js │ │ ├── flot │ │ │ ├── curvedLines.js │ │ │ ├── jquery.flot.js │ │ │ ├── jquery.flot.pie.js │ │ │ ├── jquery.flot.resize.js │ │ │ ├── jquery.flot.spline.js │ │ │ ├── jquery.flot.symbol.js │ │ │ └── jquery.flot.tooltip.min.js │ │ ├── footable │ │ │ └── footable.all.min.js │ │ ├── fullcalendar │ │ │ └── fullcalendar.min.js │ │ ├── gritter │ │ │ ├── images │ │ │ │ ├── Thumbs.db │ │ │ │ ├── gritter-light.png │ │ │ │ ├── gritter.png │ │ │ │ └── ie-spacer.gif │ │ │ ├── jquery.gritter.css │ │ │ └── jquery.gritter.min.js │ │ ├── iCheck │ │ │ └── icheck.min.js │ │ ├── ionRangeSlider │ │ │ └── ion.rangeSlider.min.js │ │ ├── jasny │ │ │ └── jasny-bootstrap.min.js │ │ ├── jeditable │ │ │ └── jquery.jeditable.js │ │ ├── jqgrid │ │ │ ├── i18n │ │ │ │ └── grid.locale-cnffe4.js │ │ │ └── jquery.jqGrid.minffe4.js │ │ ├── jquery-ui │ │ │ └── jquery-ui.min.js │ │ ├── jsKnob │ │ │ └── jquery.knob.js │ │ ├── jsTree │ │ │ └── jstree.min.js │ │ ├── jvectormap │ │ │ ├── jquery-jvectormap-1.2.2.min.js │ │ │ └── jquery-jvectormap-world-mill-en.js │ │ ├── layer │ │ │ ├── extend │ │ │ │ └── layer.ext.js │ │ │ ├── laydate-v1.1.zip │ │ │ ├── laydate-v1.1 │ │ │ │ ├── demo.html │ │ │ │ ├── layDate官网.url │ │ │ │ ├── laydate │ │ │ │ │ ├── laydate.js │ │ │ │ │ ├── need │ │ │ │ │ │ └── laydate.css │ │ │ │ │ └── skins │ │ │ │ │ │ ├── dahong │ │ │ │ │ │ ├── icon.png │ │ │ │ │ │ └── laydate.css │ │ │ │ │ │ ├── default │ │ │ │ │ │ ├── icon.png │ │ │ │ │ │ └── laydate.css │ │ │ │ │ │ └── molv │ │ │ │ │ │ ├── icon.png │ │ │ │ │ │ └── laydate.css │ │ │ │ └── 更新日志.txt │ │ │ ├── laydate │ │ │ │ ├── laydate.js │ │ │ │ ├── need │ │ │ │ │ └── laydate.css │ │ │ │ └── skins │ │ │ │ │ ├── dahong │ │ │ │ │ ├── icon.png │ │ │ │ │ └── laydate.css │ │ │ │ │ ├── default │ │ │ │ │ ├── icon.png │ │ │ │ │ └── laydate.css │ │ │ │ │ └── molv │ │ │ │ │ ├── icon.png │ │ │ │ │ └── laydate.css │ │ │ ├── layer.min.js │ │ │ ├── layim │ │ │ │ ├── layim.css │ │ │ │ ├── layim.js │ │ │ │ └── loading.gif │ │ │ └── skin │ │ │ │ ├── layer.css │ │ │ │ ├── layer.ext.css │ │ │ │ └── moon │ │ │ │ └── style.css │ │ ├── markdown │ │ │ ├── bootstrap-markdown.js │ │ │ ├── bootstrap-markdown.zh.js │ │ │ ├── markdown.js │ │ │ └── to-markdown.js │ │ ├── metisMenu │ │ │ └── jquery.metisMenu.js │ │ ├── morris │ │ │ ├── morris.js │ │ │ └── raphael-2.1.0.min.js │ │ ├── nestable │ │ │ └── jquery.nestable.js │ │ ├── nouslider │ │ │ └── jquery.nouislider.min.js │ │ ├── pace │ │ │ └── pace.min.js │ │ ├── peity │ │ │ └── jquery.peity.min.js │ │ ├── plyr │ │ │ └── plyr.js │ │ ├── preetyTextDiff │ │ │ └── jquery.pretty-text-diff.min.js │ │ ├── prettyfile │ │ │ └── bootstrap-prettyfile.js │ │ ├── rickshaw │ │ │ ├── rickshaw.min.js │ │ │ └── vendor │ │ │ │ └── d3.v3.js │ │ ├── simditor │ │ │ ├── hotkeys.js │ │ │ ├── module.js │ │ │ ├── simditor.js │ │ │ └── uploader.js │ │ ├── slimscroll │ │ │ └── jquery.slimscroll.min.js │ │ ├── sparkline │ │ │ └── jquery.sparkline.min.js │ │ ├── staps │ │ │ └── jquery.steps.min.js │ │ ├── suggest │ │ │ └── bootstrap-suggest.min.js │ │ ├── summernote │ │ │ ├── summernote-zh-CN.js │ │ │ └── summernote.min.js │ │ ├── sweetalert │ │ │ └── sweetalert.min.js │ │ ├── switchery │ │ │ └── switchery.js │ │ ├── toastr │ │ │ └── toastr.min.js │ │ ├── treeview │ │ │ └── bootstrap-treeview.js │ │ ├── validate │ │ │ ├── jquery.validate.min.js │ │ │ └── messages_zh.min.js │ │ └── webuploader │ │ │ ├── index.html │ │ │ └── webuploader.min.js │ └── welcome.min.js └── plugins │ └── fullavatareditor │ └── scripts │ ├── fullAvatarEditor.js │ ├── jQuery.Cookie.js │ ├── swfobject.js │ └── test.js └── templates ├── 404.html ├── 500.html ├── ABtest.html ├── GET ├── aaa.html ├── agile_board.html ├── apply_auth.html ├── approve_auth.html ├── article.html ├── badges_labels.html ├── baobiao.html ├── basic_gallery.html ├── blog.html ├── blueimp.html ├── buttons.html ├── calendar.html ├── carousel.html ├── chat_view.html ├── clients.html ├── code_editor.html ├── contacts.html ├── create_label.html ├── create_people.html ├── css_animation.html ├── diff.html ├── draggable_panels.html ├── empty_page.html ├── faq.html ├── favicon.ico ├── file_manager.html ├── fontawesome.html ├── form_advanced.html ├── form_avatar.html ├── form_basic.html ├── form_builder.html ├── form_editors.html ├── form_file_upload.html ├── form_markdown.html ├── form_simditor.html ├── form_validate.html ├── form_webuploader.html ├── form_wizard.html ├── forum_main.html ├── forum_post.html ├── glyphicons.html ├── graph_echarts.html ├── graph_flot.html ├── graph_metrics.html ├── graph_morris.html ├── graph_peity.html ├── graph_rickshaw.html ├── graph_sparkline.html ├── grid_options.html ├── hexing.html ├── iconfont.html ├── icons.html ├── index-2.html ├── index.html ├── index_3.html ├── index_4.html ├── index_v1.html ├── index_v148b2.html ├── index_v2.html ├── index_v3.html ├── index_v4.html ├── index_v5.html ├── invoice.html ├── invoice_print.html ├── javascript;.html ├── jstree.html ├── label_repertort.html ├── layer.html ├── layerdate.html ├── layouts.html ├── lockscreen.html ├── login.html ├── login_v2.html ├── mail_compose.html ├── mail_detail.html ├── mailbox.html ├── modal_window.html ├── nestable_list.html ├── notifications.html ├── people_scene.html ├── pin_board.html ├── plyr.html ├── profile.html ├── project_detail.html ├── projects.html ├── register.html ├── search_results.html ├── social_feed.html ├── spinners.html ├── suggest.html ├── sweetalert.html ├── table_basic.html ├── table_bootstrap.html ├── table_data_tables.html ├── table_foo_table.html ├── table_jqgrid.html ├── tabs_panels.html ├── teams_board.html ├── timeline.html ├── timeline_v2.html ├── toastr_notifications.html ├── tree_view.html ├── tree_view_v2.html ├── tuisong.html ├── typography.html ├── validation.html ├── webim.html ├── widgets.html ├── yonghu360.html └── yunying.html /.idea/Huaxiang.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 26 | 27 | 28 | 31 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Huaxiang/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/Huaxiang/__init__.py -------------------------------------------------------------------------------- /Huaxiang/settings.py: -------------------------------------------------------------------------------- 1 | """ 2 | Django settings for Huaxiang project. 3 | 4 | Generated by 'django-admin startproject' using Django 2.0. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/2.0/topics/settings/ 8 | 9 | For the full list of settings and their values, see 10 | https://docs.djangoproject.com/en/2.0/ref/settings/ 11 | """ 12 | 13 | import os 14 | 15 | # Build paths inside the project like this: os.path.join(BASE_DIR, ...) 16 | BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 17 | 18 | 19 | # Quick-start development settings - unsuitable for production 20 | # See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/ 21 | 22 | # SECURITY WARNING: keep the secret key used in production secret! 23 | SECRET_KEY = '1)86+ajgbxet7^fx*yn00j2+%f@z6av6j(rc%r=z%!0#(3!uy8' 24 | 25 | # SECURITY WARNING: don't run with debug turned on in production! 26 | DEBUG = True 27 | 28 | ALLOWED_HOSTS = [] 29 | 30 | 31 | # Application definition 32 | 33 | INSTALLED_APPS = [ 34 | 'django.contrib.admin', 35 | 'django.contrib.auth', 36 | 'django.contrib.contenttypes', 37 | 'django.contrib.sessions', 38 | 'django.contrib.messages', 39 | 'django.contrib.staticfiles', 40 | 'django.contrib.sites', 41 | 'login', 42 | 'kanban', 43 | 'biaoqian' 44 | ] 45 | 46 | MIDDLEWARE = [ 47 | 'django.middleware.security.SecurityMiddleware', 48 | 'django.contrib.sessions.middleware.SessionMiddleware', 49 | 'django.middleware.common.CommonMiddleware', 50 | 'django.middleware.csrf.CsrfViewMiddleware', 51 | 'django.contrib.auth.middleware.AuthenticationMiddleware', 52 | 'django.contrib.messages.middleware.MessageMiddleware', 53 | 'django.middleware.clickjacking.XFrameOptionsMiddleware', 54 | ] 55 | 56 | ROOT_URLCONF = 'Huaxiang.urls' 57 | 58 | 59 | 60 | TEMPLATES = [ 61 | { 62 | 'BACKEND': 'django.template.backends.django.DjangoTemplates', 63 | 'DIRS': [os.path.join(BASE_DIR, 'templates')] 64 | , 65 | 'APP_DIRS': True, 66 | 'OPTIONS': { 67 | 'context_processors': [ 68 | 'django.template.context_processors.debug', 69 | 'django.template.context_processors.request', 70 | 'django.contrib.auth.context_processors.auth', 71 | 'django.contrib.messages.context_processors.messages', 72 | ], 73 | }, 74 | }, 75 | ] 76 | 77 | WSGI_APPLICATION = 'Huaxiang.wsgi.application' 78 | 79 | 80 | # Database 81 | # https://docs.djangoproject.com/en/2.0/ref/settings/#databases 82 | 83 | DATABASES = { 84 | 'default': { 85 | 'ENGINE': 'django.db.backends.mysql', 86 | 'NAME': 'huaxiang', 87 | 'USER': 'root', 88 | 'PASSWORD': 'wal139491007', 89 | 'HOST': '127.0.0.1', 90 | 'posr': 3306, 91 | 'CAHRSET': 'UTF8' 92 | } 93 | } 94 | 95 | 96 | # Password validation 97 | # https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators 98 | 99 | AUTH_PASSWORD_VALIDATORS = [ 100 | { 101 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 102 | }, 103 | { 104 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 105 | }, 106 | { 107 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 108 | }, 109 | { 110 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 111 | }, 112 | ] 113 | 114 | 115 | # Internationalization 116 | # https://docs.djangoproject.com/en/2.0/topics/i18n/ 117 | 118 | #LANGUAGE_CODE = 'en-us' 119 | LANGUAGE_CODE = 'zh-Hans' 120 | 121 | #TIME_ZONE = 'UTC' 122 | TIME_ZONE = 'Asia/Shanghai' 123 | 124 | USE_I18N = True 125 | 126 | USE_L10N = True 127 | 128 | USE_TZ = True 129 | 130 | 131 | # Static files (CSS, JavaScript, Images) 132 | # https://docs.djangoproject.com/en/2.0/howto/static-files/ 133 | 134 | STATIC_URL = '/static/' 135 | # 指针引用,可以改成名字,你需要的文件夹名字也改 136 | 137 | STATICFILES_DIRS=( 138 | os.path.join(BASE_DIR,'static'), 139 | ) -------------------------------------------------------------------------------- /Huaxiang/urls.py: -------------------------------------------------------------------------------- 1 | """Huaxiang URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/2.0/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: path('', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Import the include() function: from django.urls import include, path 14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 15 | """ 16 | from django.contrib import admin 17 | from django.urls import path 18 | from django.conf.urls import url,include 19 | from login import views 20 | from django.contrib import admin 21 | 22 | urlpatterns = [ 23 | path('admin/', admin.site.urls), #管理员 24 | url(r'^index', views.index), 25 | url(r'^login',views.singin), 26 | url(r'^apply_auth',views.apply), 27 | url(r'^approve_auth',views.approve), 28 | url(r'^baobiao', views.baobiao), 29 | # url(r'^$', views.signin) 30 | url(r'^register',views.register), 31 | url(r'^yonghu360',views.yonghu360), 32 | # 看板模块 33 | url('^jiguang/',include('jiguang.urls')), 34 | url('^kanban/',include('kanban.urls')), # 包含看板APP的urls 35 | url('^biaoqian/',include('biaoqian.urls')) # 包含看板APP的urls 36 | 37 | ] 38 | -------------------------------------------------------------------------------- /Huaxiang/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for Huaxiang project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Huaxiang.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Huaxiang 2 | 基于Hadoop和Django开发的用户画像系统 3 | 4 | 用户基础数据文件保存在HIVE数据仓库 5 | 6 | 标签、人群等数据保存在MongoDB,统计数据,系统功能数据保存在Mysql 7 | -------------------------------------------------------------------------------- /_trial_temp.lock/symlink: -------------------------------------------------------------------------------- 1 | 6488 -------------------------------------------------------------------------------- /_trial_temp/_trial_marker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/_trial_temp/_trial_marker -------------------------------------------------------------------------------- /_trial_temp/test.log: -------------------------------------------------------------------------------- 1 | 2018-03-30 16:15:46+0800 [-] Log opened. 2 | -------------------------------------------------------------------------------- /biaoqian/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/biaoqian/__init__.py -------------------------------------------------------------------------------- /biaoqian/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /biaoqian/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BiaoqianConfig(AppConfig): 5 | name = 'biaoqian' 6 | -------------------------------------------------------------------------------- /biaoqian/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/biaoqian/migrations/__init__.py -------------------------------------------------------------------------------- /biaoqian/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | # 这里写MongoDB的标签 -------------------------------------------------------------------------------- /biaoqian/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /biaoqian/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from django.conf.urls import url 3 | from biaoqian import views 4 | from django.contrib import admin 5 | 6 | urlpatterns = [ 7 | url(r'^create_label', views.create_label), 8 | url(r'^label_repertory', views.label_repertory), 9 | url(r'^create_people', views.create_people), 10 | url(r'^people_scene', views.people_scene), 11 | ] -------------------------------------------------------------------------------- /biaoqian/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render,render_to_response 2 | from django.core.serializers.json import DjangoJSONEncoder 3 | from django.shortcuts import HttpResponse 4 | from django.http import JsonResponse 5 | from django import forms 6 | from django.forms.models import model_to_dict 7 | 8 | from .models import * 9 | from django.core import serializers 10 | import json 11 | 12 | # Create your views here. 13 | 14 | def create_label(request): 15 | return render(request,'create_label.html') 16 | 17 | def label_repertory(request): 18 | return render(request,'label_repertort.html') 19 | 20 | def create_people(request): 21 | return render(request,'create_people.html') 22 | 23 | def people_scene(request): 24 | return render(request,'people_scene.html') -------------------------------------------------------------------------------- /jiguang/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/jiguang/__init__.py -------------------------------------------------------------------------------- /jiguang/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /jiguang/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class JiguangConfig(AppConfig): 5 | name = 'jiguang' 6 | -------------------------------------------------------------------------------- /jiguang/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/jiguang/migrations/__init__.py -------------------------------------------------------------------------------- /jiguang/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /jiguang/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /jiguang/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from django.conf.urls import url 3 | from jiguang import views 4 | from django.contrib import admin 5 | 6 | urlpatterns = [ 7 | url(r'^tuisong', views.tuisong,name='tuisong'), 8 | url(r'^ABtest', views.ab_test,name='abtest') 9 | ] -------------------------------------------------------------------------------- /jiguang/views.py: -------------------------------------------------------------------------------- 1 | # -*- coding=utf-8 -*- 2 | from django.core.serializers.json import DjangoJSONEncoder 3 | from django.shortcuts import render,render_to_response 4 | from django.shortcuts import HttpResponse 5 | from django.http import JsonResponse 6 | from django import forms 7 | from django.forms.models import model_to_dict 8 | 9 | from .models import * 10 | from django.core import serializers 11 | import json 12 | # Create your views here. 13 | 14 | import logging 15 | 16 | def tuisong(request): 17 | return render(request, 'tuisong.html') 18 | 19 | def ab_test(request): 20 | return render(request, 'ABtest.html') -------------------------------------------------------------------------------- /kanban/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/kanban/__init__.py -------------------------------------------------------------------------------- /kanban/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /kanban/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class KanbanConfig(AppConfig): 5 | name = 'kanban' 6 | -------------------------------------------------------------------------------- /kanban/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/kanban/migrations/__init__.py -------------------------------------------------------------------------------- /kanban/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | #-*-coding:utf-8-*- 5 | from django.http import HttpResponse 6 | from .models import App_statistic 7 | 8 | # 增删改查数据,先创建对象 9 | def testdb(requests): 10 | test1 = App_statistic(uname='赖伟',ename='Stefan',email='laiwei@aurao.com',password='wal139491007') 11 | test1.save() 12 | return HttpResponse('

添加用户成功

') 13 | 14 | def query(): 15 | response = "" 16 | app_sta = App_statistic.objects.All().values() # 为什么加values,因为之前返回的是对象,values返回字典 17 | city = App_statistic.objects.all().distinct('city').values() # filter用来过滤条件,支持in like 多用filter吧 18 | app_date = App_statistic.objects.all().distinct('dt').values() 19 | # app_static = App_statistic.objects.filter().values(''city','new_count') 20 | app_new = App_statistic.objects.filter().values('city', 'new_count') 21 | app_active = App_statistic.objects.filter().values('city', 'active_uconut') 22 | data = city+app_date+app_new+app_active 23 | 24 | #models.UserInfo.objects.all().values('user') #只取user列 25 | #models.UserInfo.objects.all().values_list('id','user') # 取id和user 生成一个列表 26 | #response2 = App_statistic.objects.get(id=1) # get是用来获取对象 27 | #response3 = App_statistic.objects.filter(id=1).order_by("uname")[0:2] 28 | 29 | 30 | # return HttpResponse('

'+response+'

') # 应该能返回一个list或dict 供前台显示 31 | 32 | def update(request): 33 | App_statistic.objects.filter(id=1).update(uname="zhouxing") 34 | return HttpResponse('

更新成功

') 35 | # App_statistic.objects.all().update() 36 | 37 | def delete(request): 38 | App_statistic.objects.filter(id=1).delete() 39 | return HttpResponse('

删除成功

') 40 | 41 | class App(TestCase): 42 | #def setUp(self): 43 | #App_statistic.objects.create(name="lion", sound="roar") 44 | #App_statistic.objects.create(name="cat", sound="meow") 45 | 46 | def test_query(self): 47 | app_active = App_statistic.objects.filter().values('city', 'active_uconut') 48 | print(type(app_active)) 49 | 50 | def test_speak(self): 51 | print(1) 52 | -------------------------------------------------------------------------------- /kanban/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from django.conf.urls import url 3 | from kanban import views 4 | from django.contrib import admin 5 | 6 | urlpatterns = [ 7 | url(r'^graph_echarts', views.kanban1,name='kanban1'), 8 | url(r'^aaa',views.aaa_test), 9 | url(r'^yunying',views.yunying), 10 | url(r'^hexing',views.hexing), 11 | ] -------------------------------------------------------------------------------- /kanban/views.py: -------------------------------------------------------------------------------- 1 | # -*- coding=utf-8 -*- 2 | from django.core.serializers.json import DjangoJSONEncoder 3 | from django.shortcuts import render,render_to_response 4 | from django.shortcuts import HttpResponse 5 | from django.http import JsonResponse 6 | from django import forms 7 | from django.forms.models import model_to_dict 8 | 9 | from .models import * 10 | from django.core import serializers 11 | import json 12 | # Create your views here. 13 | 14 | import logging 15 | 16 | # Get an instance of a logger 17 | logger = logging.getLogger(__name__) 18 | 19 | def kanban1(request): 20 | 21 | # logger.error('加载客户端看板成功') 22 | # values_list 返回的就是元组,values返回的queryset 23 | # qu_rsult = App_statistic.objects.all().values_list('city', flat=True).distinct() 24 | # #app_new = App_statistic.objects.all().values_list('city', flat=True).distinct()# filter用来过滤条件,支持in like 多用filter吧 25 | # app_new = json.dumps(list(qu_rsult), cls=DjangoJSONEncoder) 26 | # u_dict = model_to_dict(u) 27 | # logger.error(type(app_new)) 28 | # logger.error('前面美执行') 29 | return render(request, 'graph_echarts.html') 30 | 31 | def yunying(request): 32 | return render(request, 'yunying.html') 33 | 34 | def hexing(request): 35 | qu_rsult = top_statistic.objects.all().values() 36 | 37 | dict6 = { 38 | {'value':qu_rsult.top1_category,'name':qu_rsult.top1_rate}, 39 | {'value': qu_rsult.top2_category, 'name': qu_rsult.top2_rate}, 40 | {'value': qu_rsult.top3_category, 'name': qu_rsult.top3_rate}, 41 | {'value': qu_rsult.top4_category, 'name': qu_rsult.top4_rate}, 42 | {'value': qu_rsult.top5_category, 'name': qu_rsult.top5_rate}, 43 | {'value': qu_rsult.top6_category, 'name': qu_rsult.top6_rate} 44 | } 45 | return render(request, 'hexing.html',dict6) 46 | 47 | # def app_count(request): 48 | 49 | def kanban2(request): 50 | if request.method == 'GET': 51 | data = {'data': [ 52 | {'value': 335, 'name': '直接访问'}, 53 | {'value': 310, 'name': '邮件营销'}, 54 | {'value': 234, 'name': '联盟广告'}, 55 | {'value': 135, 'name': '视频广告'}, 56 | {'value': 1548, 'name': '搜索引擎'} 57 | ], 58 | 'categories': ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']} 59 | return JsonResponse(data) 60 | 61 | 62 | 63 | def aaa_test(request): 64 | app_sta = App_statistic.objects.all().values() # 为什么加values,因为之前返回的是对象,values返回字典 65 | city = App_statistic.objects.all().distinct('city').values() # filter用来过滤条件,支持in like 多用filter吧 66 | app_date = App_statistic.objects.all().distinct('dt').values() 67 | # app_static = App_statistic.objects.filter().values(''city','new_count') 68 | app_new = App_statistic.objects.filter().values('city', 'new_count') 69 | app_active = App_statistic.objects.filter().values('city', 'active_uconut') 70 | logger.error(type(app_new)) 71 | return render(request,'aaa.html',{'app_new':app_new}) 72 | 73 | # app端新增 74 | def app_count(request): 75 | app_sta = App_statistic.objects.All().values() #为什么加values,因为之前返回的是对象,values返回字典 76 | city = App_statistic.objects.all().distinct('city').values() # filter用来过滤条件,支持in like 多用filter吧 77 | app_date = App_statistic.objects.all().distinct('dt').values() 78 | # app_static = App_statistic.objects.filter().values(''city','new_count') 79 | app_new = App_statistic.objects.filter().values('city', 'new_count') 80 | app_active = App_statistic.objects.filter().values('city', 'active_uconut') 81 | return JsonResponse(app_sta) 82 | 83 | def quset(): 84 | qu_rsult = App_statistic.objects.all().values_list('city', flat=True).distinct() 85 | return qu_rsult 86 | 87 | -------------------------------------------------------------------------------- /login/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/login/__init__.py -------------------------------------------------------------------------------- /login/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /login/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class LoginConfig(AppConfig): 5 | name = 'login' 6 | -------------------------------------------------------------------------------- /login/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/login/migrations/__init__.py -------------------------------------------------------------------------------- /login/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | # 类名是表名 其他是字段 数据库名在setting里面设置过了 5 | class Admin_user(models.Model): 6 | uname = models.CharField(max_length=50) # label='用户名' 7 | ename = models.CharField(max_length=20) 8 | email = models.EmailField(max_length=50) 9 | password = models.CharField(max_length=50) 10 | 11 | -------------------------------------------------------------------------------- /login/testdb.py: -------------------------------------------------------------------------------- 1 | #-*-coding:utf-8-*- 2 | from django.http import HttpResponse 3 | from .models import Admin_user 4 | 5 | # 增删改查数据,先创建对象 6 | def testdb(requests): 7 | test1 = Admin_user(uname='赖伟',ename='Stefan',email='laiwei@aurao.com',password='wal139491007') 8 | test1.save() 9 | return HttpResponse('

添加用户成功

') 10 | 11 | def query(request): 12 | response = "" 13 | list = Admin_user.objects.all() #select * 14 | response1 = Admin_user.objects.filter(id=1) # filter用来过滤条件,支持in like 多用filter吧 15 | response2 = Admin_user.objects.get(id=1) # get是用来获取对象 16 | response3 = Admin_user.objects.filter(id=1).order_by("uname")[0:2] 17 | 18 | for data in response3: 19 | response += data 20 | 21 | return HttpResponse('

'+response+'

') # 应该能返回一个list或dict 供前台显示 22 | 23 | def update(request): 24 | Admin_user.objects.filter(id=1).update(uname="zhouxing") 25 | return HttpResponse('

更新成功

') 26 | # Admin_user.objects.all().update() 27 | 28 | def delete(request): 29 | Admin_user.objects.filter(id=1).delete() 30 | return HttpResponse('

删除成功

') 31 | 32 | if __name__ == '__main__': 33 | print(1) -------------------------------------------------------------------------------- /login/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /login/views.py: -------------------------------------------------------------------------------- 1 | # -*- coding:utf-8 -*- 2 | from django.shortcuts import render,render_to_response 3 | from django.shortcuts import HttpResponse 4 | from django import forms 5 | from django.http import HttpResponse,HttpResponseRedirect 6 | from django.template import RequestContext 7 | from django.contrib import auth 8 | from .models import Admin_user 9 | # from .models import User 10 | import pdb 11 | import logging 12 | 13 | # Get an instance of a logger 14 | logger = logging.getLogger(__name__) 15 | 16 | def index(request): 17 | logger.error('Something went wrong!') 18 | return render(request, 'index.html') 19 | def kanban(request): 20 | logger.error('Something went wrong!') 21 | return render(request,'basic_gallery.html') 22 | 23 | def create_label(request): 24 | logger.error('Something aaa!') 25 | return render(request, 'article.html') 26 | 27 | def login(request): 28 | logger.error('Something went wrong!') 29 | return render(request,'login.html', {'state': "登陆"}) 30 | 31 | def singin(request): 32 | if request.POST: 33 | # 获取表单信息 34 | email = request.POST.get('email') 35 | password = request.POST.get('password') 36 | userResult = Admin_user.objects.filter(email=email,password=password) 37 | if (len(userResult) > 0): 38 | return render(request, 'index.html') 39 | else: 40 | return render(request, 'login.html', {'state': "用户名或密码错误"}) 41 | else: 42 | logger.error('不对劲') 43 | return render(request, 'login.html', {'state': "请登陆"}) 44 | #{{ state }} 那边这样接受 应该也可以传dict 45 | 46 | 47 | def register(request): 48 | if request.POST: 49 | email = request.POST.get('email') 50 | # pdb.set_trace() 51 | filterResult = Admin_user.objects.filter(email=email) 52 | if len(filterResult) > 0: 53 | return render(request, 'login.html', {"state": "用户已存在"}) 54 | else: 55 | password = request.POST.get('password') 56 | uname = request.POST.get('uname') 57 | # 将表单写入数据库 58 | user = Admin_user.objects.create(uname=uname, password=password) 59 | return render(request, 'login.html', {'state', '注册成功'}) 60 | else: 61 | return render(request,"login.html",{'state':'请注册'}) 62 | 63 | def apply(request): 64 | return render(request, 'apply_auth.html') 65 | 66 | def approve(request): 67 | return render(request, 'approve_auth.html') 68 | 69 | def yonghu360(request): 70 | return render(request, 'yonghu360.html') 71 | 72 | def baobiao(request): 73 | return render(request, 'baobiao.html') -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Huaxiang.settings") 7 | try: 8 | from django.core.management import execute_from_command_line 9 | except ImportError as exc: 10 | raise ImportError( 11 | "Couldn't import Django. Are you sure it's installed and " 12 | "available on your PYTHONPATH environment variable? Did you " 13 | "forget to activate a virtual environment?" 14 | ) from exc 15 | execute_from_command_line(sys.argv) 16 | -------------------------------------------------------------------------------- /static/css/login.min.css: -------------------------------------------------------------------------------- 1 | html{height:100%}body.signin{height:auto;background:url(../img/login-background.jpg) no-repeat center fixed;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;color:rgba(255,255,255,.95)}.signinpanel{width:750px;margin:10% auto 0}.signinpanel .logopanel{float:none;width:auto;padding:0;background:0 0}.signinpanel .signin-info ul{list-style:none;padding:0;margin:20px 0}.signinpanel .form-control{display:block;margin-top:15px}.signinpanel .uname{background:#fff url(../img/user.png) no-repeat 95% center;color:#333}.signinpanel .pword{background:#fff url(../img/locked.png) no-repeat 95% center;color:#333}.signinpanel .btn{margin-top:15px}.signinpanel form{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);-moz-box-shadow:0 3px 0 rgba(12,12,12,.03);-webkit-box-shadow:0 3px 0 rgba(12,12,12,.03);box-shadow:0 3px 0 rgba(12,12,12,.03);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px}.signup-footer{border-top:solid 1px rgba(255,255,255,.3);margin:20px 0;padding-top:15px}@media screen and (max-width:768px){.signinpanel,.signuppanel{margin:0 auto;width:420px!important;padding:20px}.signinpanel form{margin-top:20px}.signup-footer,.signuppanel .form-control{margin-bottom:10px}.signup-footer .pull-left,.signup-footer .pull-right{float:none!important;text-align:center}.signinpanel .signin-info ul{display:none}}@media screen and (max-width:320px){.signinpanel,.signuppanel{margin:0 20px;width:auto}} 2 | -------------------------------------------------------------------------------- /static/css/patterns/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/patterns/Thumbs.db -------------------------------------------------------------------------------- /static/css/patterns/header-profile-skin-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/patterns/header-profile-skin-1.png -------------------------------------------------------------------------------- /static/css/patterns/header-profile-skin-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/patterns/header-profile-skin-3.png -------------------------------------------------------------------------------- /static/css/patterns/header-profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/patterns/header-profile.png -------------------------------------------------------------------------------- /static/css/patterns/shattered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/patterns/shattered.png -------------------------------------------------------------------------------- /static/css/plugins/blueimp/img/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/blueimp/img/Thumbs.db -------------------------------------------------------------------------------- /static/css/plugins/blueimp/img/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/blueimp/img/error.png -------------------------------------------------------------------------------- /static/css/plugins/blueimp/img/error.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/css/plugins/blueimp/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/blueimp/img/loading.gif -------------------------------------------------------------------------------- /static/css/plugins/blueimp/img/play-pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/blueimp/img/play-pause.png -------------------------------------------------------------------------------- /static/css/plugins/blueimp/img/play-pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/css/plugins/blueimp/img/video-play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/blueimp/img/video-play.png -------------------------------------------------------------------------------- /static/css/plugins/blueimp/img/video-play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/css/plugins/bootstrap-table/bootstrap-table.min.css: -------------------------------------------------------------------------------- 1 | .bootstrap-table .table{margin-bottom:0!important;border-bottom:1px solid #e4eaec;border-collapse:collapse!important}.bootstrap-table .table,.bootstrap-table .table>tbody>tr>td,.bootstrap-table .table>tbody>tr>th,.bootstrap-table .table>tfoot>tr>td,.bootstrap-table .table>tfoot>tr>th,.bootstrap-table .table>thead>tr>td{padding:8px!important}.bootstrap-table .table.table-no-bordered>tbody>tr>td,.bootstrap-table .table.table-no-bordered>thead>tr>th{border-right:2px solid transparent}.fixed-table-container{position:relative;clear:both;border:1px solid #e4eaec}.fixed-table-container.table-no-bordered{border:1px solid transparent}.fixed-table-footer,.fixed-table-header{height:37px;overflow:hidden}.fixed-table-header{border-bottom:1px solid #e4eaec}.fixed-table-footer{border-top:1px solid #e4eaec}.fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.fixed-table-container table{width:100%}.fixed-table-container thead th{height:0;padding:0;margin:0;border-left:1px solid #e4eaec}.fixed-table-container thead th:first-child{border-left:none}.fixed-table-container tbody td .th-inner,.fixed-table-container thead th .th-inner{padding:8px;line-height:20px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-table-container thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px}.fixed-table-container th.detail{width:30px}.fixed-table-container tbody td{border-left:1px solid #e4eaec}.fixed-table-container tbody tr:first-child td{border-top:none}.fixed-table-container tbody td:first-child{border-left:none}.fixed-table-container .table .icon,.fixed-table-container table .icon{top:auto;margin:0 5px}.fixed-table-container tbody .selected td{background-color:#f3f7f9}.fixed-table-container .bs-checkbox{text-align:center}.fixed-table-container .bs-checkbox .th-inner{padding:8px 0}.fixed-table-container input[type=radio],.fixed-table-container input[type=checkbox]{margin:0 auto!important}.fixed-table-container .no-records-found{text-align:center}.fixed-table-pagination .pagination-detail,.fixed-table-pagination div.pagination{margin-top:10px;margin-bottom:10px}.fixed-table-pagination div.pagination .pagination{margin:0}.fixed-table-pagination .pagination a{padding:6px 12px;line-height:1.428571429}.fixed-table-pagination .pagination-info{line-height:34px;margin-right:5px}.fixed-table-pagination .btn-group{position:relative;display:inline-block;vertical-align:middle}.fixed-table-pagination .dropup .dropdown-menu{margin-bottom:0}.fixed-table-pagination .page-list{display:inline-block}.fixed-table-toolbar .columns-left{margin-right:5px}.fixed-table-toolbar .columns-right{margin-left:5px}.fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:300;line-height:1.428571429}.fixed-table-toolbar .bars,.fixed-table-toolbar .columns,.fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px;line-height:34px}.fixed-table-pagination li.disabled a{pointer-events:none;cursor:default}.fixed-table-loading{display:none;position:absolute;top:42px;right:0;bottom:0;left:0;z-index:6;background-color:#fff;text-align:center}.fixed-table-body .card-view .title{font-weight:400;display:inline-block;min-width:30%;text-align:left!important}.fixed-table-body thead th .th-inner{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.table td,.table th{vertical-align:middle;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fixed-table-toolbar .dropdown-menu{text-align:left;max-height:300px;overflow:auto}.fixed-table-toolbar .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.fixed-table-toolbar .btn-group>.btn-group>.btn{border-radius:0}.fixed-table-toolbar .btn-group>.btn-group:first-child>.btn{border-top-left-radius:3px;border-bottom-left-radius:3px}.fixed-table-toolbar .btn-group>.btn-group:last-child>.btn{border-top-right-radius:3px;border-bottom-right-radius:3px}.bootstrap-table .table>thead>tr>th{vertical-align:bottom;border-bottom:1px solid #e4eaec}.bootstrap-table .table thead>tr>th{padding:0;margin:0}.bootstrap-table .fixed-table-footer tbody>tr>td{padding:0!important}.bootstrap-table .fixed-table-footer .table{border-bottom:none;border-radius:0}.pull-right .dropdown-menu{right:0;left:auto}p.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden} 2 | -------------------------------------------------------------------------------- /static/css/plugins/chosen/chosen-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/chosen/chosen-sprite.png -------------------------------------------------------------------------------- /static/css/plugins/chosen/chosen-sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/chosen/chosen-sprite@2x.png -------------------------------------------------------------------------------- /static/css/plugins/colorpicker/css/bootstrap-colorpicker.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Colorpicker 3 | * http://mjolnic.github.io/bootstrap-colorpicker/ 4 | * 5 | * Originally written by (c) 2012 Stefan Petre 6 | * Licensed under the Apache License v2.0 7 | * http://www.apache.org/licenses/LICENSE-2.0.txt 8 | * 9 | */.colorpicker-saturation{float:left;width:100px;height:100px;cursor:crosshair;background-image:url("../img/bootstrap-colorpicker/saturation.png")}.colorpicker-saturation i{position:absolute;top:0;left:0;display:block;width:5px;height:5px;margin:-4px 0 0 -4px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-saturation i b{display:block;width:5px;height:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-hue,.colorpicker-alpha{float:left;width:15px;height:100px;margin-bottom:4px;margin-left:4px;cursor:row-resize}.colorpicker-hue i,.colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:100%;height:1px;margin-top:-1px;background:#000;border-top:1px solid #fff}.colorpicker-hue{background-image:url("../img/bootstrap-colorpicker/hue.png")}.colorpicker-alpha{display:none;background-image:url("../img/bootstrap-colorpicker/alpha.png")}.colorpicker{top:0;left:0;z-index:25000!important;min-width:130px;padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1}.colorpicker:before,.colorpicker:after{display:table;line-height:0;content:""}.colorpicker:after{clear:both}.colorpicker:before{position:absolute;top:-7px;left:6px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.colorpicker:after{position:absolute;top:-6px;left:7px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("../img/bootstrap-colorpicker/alpha.png");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-element .input-group-addon i,.colorpicker-element .add-on i{display:inline-block;width:16px;height:16px;vertical-align:text-top;cursor:pointer}.colorpicker.colorpicker-inline{position:relative;z-index:auto;display:inline-block;float:none}.colorpicker.colorpicker-horizontal{width:110px;height:auto;min-width:110px}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-hue,.colorpicker.colorpicker-horizontal .colorpicker-alpha{float:left;width:100px;height:15px;margin-bottom:4px;margin-left:0;cursor:col-resize}.colorpicker.colorpicker-horizontal .colorpicker-hue i,.colorpicker.colorpicker-horizontal .colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:1px;height:15px;margin-top:0;background:#fff;border:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("../img/bootstrap-colorpicker/hue-horizontal.png")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("../img/bootstrap-colorpicker/alpha-horizontal.png")}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible{display:block}.colorpicker-inline.colorpicker-visible{display:inline-block} 10 | -------------------------------------------------------------------------------- /static/css/plugins/colorpicker/img/bootstrap-colorpicker/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/colorpicker/img/bootstrap-colorpicker/Thumbs.db -------------------------------------------------------------------------------- /static/css/plugins/colorpicker/img/bootstrap-colorpicker/alpha-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/colorpicker/img/bootstrap-colorpicker/alpha-horizontal.png -------------------------------------------------------------------------------- /static/css/plugins/colorpicker/img/bootstrap-colorpicker/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/colorpicker/img/bootstrap-colorpicker/alpha.png -------------------------------------------------------------------------------- /static/css/plugins/colorpicker/img/bootstrap-colorpicker/hue-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/colorpicker/img/bootstrap-colorpicker/hue-horizontal.png -------------------------------------------------------------------------------- /static/css/plugins/colorpicker/img/bootstrap-colorpicker/hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/colorpicker/img/bootstrap-colorpicker/hue.png -------------------------------------------------------------------------------- /static/css/plugins/colorpicker/img/bootstrap-colorpicker/saturation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/colorpicker/img/bootstrap-colorpicker/saturation.png -------------------------------------------------------------------------------- /static/css/plugins/cropper/cropper.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Cropper v0.7.6-beta 3 | * https://github.com/fengyuanchen/cropper 4 | * 5 | * Copyright 2014 Fengyuan Chen 6 | * Released under the MIT license 7 | */ 8 | 9 | .cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}.cropper-modal,.cropper-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-canvas{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-modal{background-color:#000;opacity:.5;filter:alpha(opacity=50)}.cropper-dragger{position:absolute;top:10%;left:10%;width:80%;height:80%}.cropper-viewer{display:block;width:100%;height:100%;overflow:hidden;outline-width:1px;outline-style:solid;outline-color:#69f;outline-color:rgba(51,102,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5;filter:alpha(opacity=50)}.cropper-dashed.dashed-h{top:33.3%;left:0;width:100%;height:33.3%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.3%;width:33.3%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;opacity:0;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-hidden{display:none!important}.cropper-invisible{position:fixed;top:0;left:0;z-index:-1;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;opacity:0;filter:alpha(opacity=0)}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-canvas,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed} 10 | -------------------------------------------------------------------------------- /static/css/plugins/dropzone/basic.css: -------------------------------------------------------------------------------- 1 | /* The MIT License */ 2 | .dropzone, 3 | .dropzone *, 4 | .dropzone-previews, 5 | .dropzone-previews * { 6 | -webkit-box-sizing: border-box; 7 | -moz-box-sizing: border-box; 8 | box-sizing: border-box; 9 | } 10 | .dropzone { 11 | position: relative; 12 | border: 1px solid rgba(0,0,0,0.08); 13 | background: rgba(0,0,0,0.02); 14 | padding: 1em; 15 | } 16 | .dropzone.dz-clickable { 17 | cursor: pointer; 18 | } 19 | .dropzone.dz-clickable .dz-message, 20 | .dropzone.dz-clickable .dz-message span { 21 | cursor: pointer; 22 | } 23 | .dropzone.dz-clickable * { 24 | cursor: default; 25 | } 26 | .dropzone .dz-message { 27 | opacity: 1; 28 | -ms-filter: none; 29 | filter: none; 30 | } 31 | .dropzone.dz-drag-hover { 32 | border-color: rgba(0,0,0,0.15); 33 | background: rgba(0,0,0,0.04); 34 | } 35 | .dropzone.dz-started .dz-message { 36 | display: none; 37 | } 38 | .dropzone .dz-preview, 39 | .dropzone-previews .dz-preview { 40 | background: rgba(255,255,255,0.8); 41 | position: relative; 42 | display: inline-block; 43 | margin: 17px; 44 | vertical-align: top; 45 | border: 1px solid #acacac; 46 | padding: 6px 6px 6px 6px; 47 | } 48 | .dropzone .dz-preview.dz-file-preview [data-dz-thumbnail], 49 | .dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] { 50 | display: none; 51 | } 52 | .dropzone .dz-preview .dz-details, 53 | .dropzone-previews .dz-preview .dz-details { 54 | width: 100px; 55 | height: 100px; 56 | position: relative; 57 | background: #ebebeb; 58 | padding: 5px; 59 | margin-bottom: 22px; 60 | } 61 | .dropzone .dz-preview .dz-details .dz-filename, 62 | .dropzone-previews .dz-preview .dz-details .dz-filename { 63 | overflow: hidden; 64 | height: 100%; 65 | } 66 | .dropzone .dz-preview .dz-details img, 67 | .dropzone-previews .dz-preview .dz-details img { 68 | position: absolute; 69 | top: 0; 70 | left: 0; 71 | width: 100px; 72 | height: 100px; 73 | } 74 | .dropzone .dz-preview .dz-details .dz-size, 75 | .dropzone-previews .dz-preview .dz-details .dz-size { 76 | position: absolute; 77 | bottom: -28px; 78 | left: 3px; 79 | height: 28px; 80 | line-height: 28px; 81 | } 82 | .dropzone .dz-preview.dz-error .dz-error-mark, 83 | .dropzone-previews .dz-preview.dz-error .dz-error-mark { 84 | display: block; 85 | } 86 | .dropzone .dz-preview.dz-success .dz-success-mark, 87 | .dropzone-previews .dz-preview.dz-success .dz-success-mark { 88 | display: block; 89 | } 90 | .dropzone .dz-preview:hover .dz-details img, 91 | .dropzone-previews .dz-preview:hover .dz-details img { 92 | display: none; 93 | } 94 | .dropzone .dz-preview .dz-success-mark, 95 | .dropzone-previews .dz-preview .dz-success-mark, 96 | .dropzone .dz-preview .dz-error-mark, 97 | .dropzone-previews .dz-preview .dz-error-mark { 98 | display: none; 99 | position: absolute; 100 | width: 40px; 101 | height: 40px; 102 | font-size: 30px; 103 | text-align: center; 104 | right: -10px; 105 | top: -10px; 106 | } 107 | .dropzone .dz-preview .dz-success-mark, 108 | .dropzone-previews .dz-preview .dz-success-mark { 109 | color: #8cc657; 110 | } 111 | .dropzone .dz-preview .dz-error-mark, 112 | .dropzone-previews .dz-preview .dz-error-mark { 113 | color: #ee162d; 114 | } 115 | .dropzone .dz-preview .dz-progress, 116 | .dropzone-previews .dz-preview .dz-progress { 117 | position: absolute; 118 | top: 100px; 119 | left: 6px; 120 | right: 6px; 121 | height: 6px; 122 | background: #d7d7d7; 123 | display: none; 124 | } 125 | .dropzone .dz-preview .dz-progress .dz-upload, 126 | .dropzone-previews .dz-preview .dz-progress .dz-upload { 127 | display: block; 128 | position: absolute; 129 | top: 0; 130 | bottom: 0; 131 | left: 0; 132 | width: 0%; 133 | background-color: #8cc657; 134 | } 135 | .dropzone .dz-preview.dz-processing .dz-progress, 136 | .dropzone-previews .dz-preview.dz-processing .dz-progress { 137 | display: block; 138 | } 139 | .dropzone .dz-preview .dz-error-message, 140 | .dropzone-previews .dz-preview .dz-error-message { 141 | display: none; 142 | position: absolute; 143 | top: -5px; 144 | left: -20px; 145 | background: rgba(245,245,245,0.8); 146 | padding: 8px 10px; 147 | color: #800; 148 | min-width: 140px; 149 | max-width: 500px; 150 | z-index: 500; 151 | } 152 | .dropzone .dz-preview:hover.dz-error .dz-error-message, 153 | .dropzone-previews .dz-preview:hover.dz-error .dz-error-message { 154 | display: block; 155 | } 156 | -------------------------------------------------------------------------------- /static/css/plugins/footable/fonts/footable.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/footable/fonts/footable.eot -------------------------------------------------------------------------------- /static/css/plugins/footable/fonts/footable.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/footable/fonts/footable.ttf -------------------------------------------------------------------------------- /static/css/plugins/footable/fonts/footable.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/footable/fonts/footable.woff -------------------------------------------------------------------------------- /static/css/plugins/footable/fonts/footabled41d.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/footable/fonts/footabled41d.eot -------------------------------------------------------------------------------- /static/css/plugins/fullcalendar/fullcalendar.print.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * FullCalendar v1.6.4 Print Stylesheet 3 | * Docs & License: http://arshaw.com/fullcalendar/ 4 | * (c) 2013 Adam Shaw 5 | */ 6 | 7 | /* 8 | * Include this stylesheet on your page to get a more printer-friendly calendar. 9 | * When including this stylesheet, use the media='print' attribute of the tag. 10 | * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css. 11 | */ 12 | 13 | 14 | /* Events 15 | -----------------------------------------------------*/ 16 | 17 | .fc-event { 18 | background: #fff !important; 19 | color: #000 !important; 20 | } 21 | 22 | /* for vertical events */ 23 | 24 | .fc-event-bg { 25 | display: none !important; 26 | } 27 | 28 | .fc-event .ui-resizable-handle { 29 | display: none !important; 30 | } 31 | 32 | 33 | -------------------------------------------------------------------------------- /static/css/plugins/iCheck/custom.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, green 2 | ----------------------------------- */ 3 | .icheckbox_square-green, 4 | .iradio_square-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-green.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-green.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-green.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-green.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-green { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-green.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-green.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-green.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-green.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-green, 54 | .iradio_square-green { 55 | background-image: url(green%402x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /static/css/plugins/iCheck/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/iCheck/green.png -------------------------------------------------------------------------------- /static/css/plugins/iCheck/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/iCheck/green@2x.png -------------------------------------------------------------------------------- /static/css/plugins/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/images/sort_asc.png -------------------------------------------------------------------------------- /static/css/plugins/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/images/sort_desc.png -------------------------------------------------------------------------------- /static/css/plugins/images/sprite-skin-flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/images/sprite-skin-flat.png -------------------------------------------------------------------------------- /static/css/plugins/images/spritemap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/images/spritemap.png -------------------------------------------------------------------------------- /static/css/plugins/images/spritemap@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/css/plugins/images/spritemap@2x.png -------------------------------------------------------------------------------- /static/css/plugins/ionRangeSlider/ion.rangeSlider.css: -------------------------------------------------------------------------------- 1 | /* Ion.RangeSlider 2 | // css version 1.8.5 3 | // by Denis Ineshin | ionden.com 4 | // ===================================================================================================================*/ 5 | 6 | /* ===================================================================================================================== 7 | // RangeSlider */ 8 | 9 | .irs { 10 | position: relative; display: block; 11 | } 12 | .irs-line { 13 | position: relative; display: block; 14 | overflow: hidden; 15 | } 16 | .irs-line-left, .irs-line-mid, .irs-line-right { 17 | position: absolute; display: block; 18 | top: 0; 19 | } 20 | .irs-line-left { 21 | left: 0; width: 10%; 22 | } 23 | .irs-line-mid { 24 | left: 10%; width: 80%; 25 | } 26 | .irs-line-right { 27 | right: 0; width: 10%; 28 | } 29 | 30 | .irs-diapason { 31 | position: absolute; display: block; 32 | left: 0; width: 100%; 33 | } 34 | .irs-slider { 35 | position: absolute; display: block; 36 | cursor: default; 37 | z-index: 1; 38 | } 39 | .irs-slider.single { 40 | left: 10px; 41 | } 42 | .irs-slider.single:before { 43 | position: absolute; display: block; content: ""; 44 | top: -30%; left: -30%; 45 | width: 160%; height: 160%; 46 | background: rgba(0,0,0,0.0); 47 | } 48 | .irs-slider.from { 49 | left: 100px; 50 | } 51 | .irs-slider.from:before { 52 | position: absolute; display: block; content: ""; 53 | top: -30%; left: -30%; 54 | width: 130%; height: 160%; 55 | background: rgba(0,0,0,0.0); 56 | } 57 | .irs-slider.to { 58 | left: 300px; 59 | } 60 | .irs-slider.to:before { 61 | position: absolute; display: block; content: ""; 62 | top: -30%; left: 0; 63 | width: 130%; height: 160%; 64 | background: rgba(0,0,0,0.0); 65 | } 66 | .irs-slider.last { 67 | z-index: 2; 68 | } 69 | 70 | .irs-min { 71 | position: absolute; display: block; 72 | left: 0; 73 | cursor: default; 74 | } 75 | .irs-max { 76 | position: absolute; display: block; 77 | right: 0; 78 | cursor: default; 79 | } 80 | 81 | .irs-from, .irs-to, .irs-single { 82 | position: absolute; display: block; 83 | top: 0; left: 0; 84 | cursor: default; 85 | white-space: nowrap; 86 | } 87 | 88 | 89 | .irs-grid { 90 | position: absolute; display: none; 91 | bottom: 0; left: 0; 92 | width: 100%; height: 20px; 93 | } 94 | .irs-with-grid .irs-grid { 95 | display: block; 96 | } 97 | .irs-grid-pol { 98 | position: absolute; 99 | top: 0; left: 0; 100 | width: 1px; height: 8px; 101 | background: #000; 102 | } 103 | .irs-grid-pol.small { 104 | height: 4px; 105 | } 106 | .irs-grid-text { 107 | position: absolute; 108 | bottom: 0; left: 0; 109 | width: 100px; 110 | white-space: nowrap; 111 | text-align: center; 112 | font-size: 9px; line-height: 9px; 113 | color: #000; 114 | } 115 | 116 | .irs-disable-mask { 117 | position: absolute; display: block; 118 | top: 0; left: 0; 119 | width: 100%; height: 100%; 120 | cursor: default; 121 | background: rgba(0,0,0,0.0); 122 | z-index: 2; 123 | } 124 | .irs-disabled { 125 | opacity: 0.4; 126 | } 127 | -------------------------------------------------------------------------------- /static/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css: -------------------------------------------------------------------------------- 1 | /* Ion.RangeSlider, Flat UI Skin 2 | // css version 1.8.5 3 | // by Denis Ineshin | ionden.com 4 | // ===================================================================================================================*/ 5 | 6 | /* ===================================================================================================================== 7 | // Skin details */ 8 | 9 | .irs-line-mid, 10 | .irs-line-left, 11 | .irs-line-right, 12 | .irs-diapason, 13 | .irs-slider { 14 | background: url(../images/sprite-skin-flat.png) repeat-x; 15 | } 16 | 17 | .irs { 18 | height: 40px; 19 | } 20 | .irs-with-grid { 21 | height: 60px; 22 | } 23 | .irs-line { 24 | height: 12px; top: 25px; 25 | } 26 | .irs-line-left { 27 | height: 12px; 28 | background-position: 0 -30px; 29 | } 30 | .irs-line-mid { 31 | height: 12px; 32 | background-position: 0 0; 33 | } 34 | .irs-line-right { 35 | height: 12px; 36 | background-position: 100% -30px; 37 | } 38 | 39 | .irs-diapason { 40 | height: 12px; top: 25px; 41 | background-position: 0 -60px; 42 | } 43 | 44 | .irs-slider { 45 | width: 16px; height: 18px; 46 | top: 22px; 47 | background-position: 0 -90px; 48 | } 49 | #irs-active-slider, .irs-slider:hover { 50 | background-position: 0 -120px; 51 | } 52 | 53 | .irs-min, .irs-max { 54 | color: #999; 55 | font-size: 10px; line-height: 1.333; 56 | text-shadow: none; 57 | top: 0; padding: 1px 3px; 58 | background: #e1e4e9; 59 | border-radius: 4px; 60 | } 61 | 62 | .irs-from, .irs-to, .irs-single { 63 | color: #fff; 64 | font-size: 10px; line-height: 1.333; 65 | text-shadow: none; 66 | padding: 1px 5px; 67 | background: #ed5565; 68 | border-radius: 4px; 69 | } 70 | .irs-from:after, .irs-to:after, .irs-single:after { 71 | position: absolute; display: block; content: ""; 72 | bottom: -6px; left: 50%; 73 | width: 0; height: 0; 74 | margin-left: -3px; 75 | overflow: hidden; 76 | border: 3px solid transparent; 77 | border-top-color: #ed5565; 78 | } 79 | 80 | 81 | .irs-grid-pol { 82 | background: #e1e4e9; 83 | } 84 | .irs-grid-text { 85 | color: #999; 86 | } 87 | 88 | .irs-disabled { 89 | } 90 | -------------------------------------------------------------------------------- /static/css/plugins/markdown/bootstrap-markdown.min.css: -------------------------------------------------------------------------------- 1 | .md-editor{display:block;border:1px solid #ddd}.md-editor .md-footer,.md-editor>.md-header{display:block;padding:6px 4px;background:#f5f5f5}.md-editor>.md-header{margin:0}.md-editor>.md-preview{background:#fff;border-top:1px dashed #ddd;border-bottom:1px dashed #ddd;min-height:10px;overflow:auto}.md-editor>textarea{font-family:Menlo, Monaco, Consolas, "Courier New", monospace;font-size:14px;outline:0;margin:0;display:block;padding:15px;width:100%;border:0;border-top:1px dashed #ddd;border-bottom:1px dashed #ddd;border-radius:0;box-shadow:none;background:#fafafa}.md-editor>textarea:focus{box-shadow:none;background:#fff}.md-editor.active{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6)}.md-editor .md-controls{float:right;padding:3px}.md-editor .md-controls .md-control{right:5px;color:#bebebe;padding:3px 3px 3px 10px}.md-editor .md-controls .md-control:hover{color:#333}.md-editor.md-fullscreen-mode{width:100%;height:100%;position:fixed;top:0;left:0;z-index:99999;padding:60px 30px 15px;background:#fff!important;border:0!important}.md-editor.md-fullscreen-mode .md-footer{display:none}.md-editor.md-fullscreen-mode .md-input,.md-editor.md-fullscreen-mode .md-preview{margin:0 auto!important;height:100%!important;font-size:20px!important;padding:20px!important;color:#999;line-height:1.6em!important;resize:none!important;box-shadow:none!important;background:#fff!important;border:0!important}.md-editor.md-fullscreen-mode .md-preview{color:#333;overflow:auto}.md-editor.md-fullscreen-mode .md-input:focus,.md-editor.md-fullscreen-mode .md-input:hover{color:#333;background:#fff!important}.md-editor.md-fullscreen-mode .md-header{background:0 0;text-align:center;position:fixed;width:100%;top:20px}.md-editor.md-fullscreen-mode .btn-group{float:none}.md-editor.md-fullscreen-mode .btn{border:0;background:0 0;color:#b3b3b3}.md-editor.md-fullscreen-mode .btn.active,.md-editor.md-fullscreen-mode .btn:active,.md-editor.md-fullscreen-mode .btn:focus,.md-editor.md-fullscreen-mode .btn:hover{box-shadow:none;color:#333}.md-editor.md-fullscreen-mode .md-fullscreen-controls{position:absolute;top:20px;right:20px;text-align:right;z-index:1002;display:block}.md-editor.md-fullscreen-mode .md-fullscreen-controls a{color:#b3b3b3;clear:right;margin:10px;width:30px;height:30px;text-align:center}.md-editor.md-fullscreen-mode .md-fullscreen-controls a:hover{color:#333;text-decoration:none}.md-editor.md-fullscreen-mode .md-editor{height:100%!important;position:relative}.md-editor .md-fullscreen-controls{display:none}.md-nooverflow{overflow:hidden;position:fixed;width:100%} 2 | -------------------------------------------------------------------------------- /static/css/plugins/morris/morris-0.4.3.min.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1000;}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255, 255, 255, 0.8);border:solid 2px rgba(230, 230, 230, 0.8);font-family:sans-serif;font-size:12px;text-align:center;}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0;} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0;} 3 | -------------------------------------------------------------------------------- /static/css/plugins/nouslider/jquery.nouislider.css: -------------------------------------------------------------------------------- 1 | 2 | /* Functional styling; 3 | * These styles are required for noUiSlider to function. 4 | * You don't need to change these rules to apply your design. 5 | */ 6 | .noUi-target, 7 | .noUi-target * { 8 | -webkit-touch-callout: none; 9 | -webkit-user-select: none; 10 | -ms-touch-action: none; 11 | -ms-user-select: none; 12 | -moz-user-select: none; 13 | -moz-box-sizing: border-box; 14 | box-sizing: border-box; 15 | } 16 | .noUi-base { 17 | width: 100%; 18 | height: 100%; 19 | position: relative; 20 | } 21 | .noUi-origin { 22 | position: absolute; 23 | right: 0; 24 | top: 0; 25 | left: 0; 26 | bottom: 0; 27 | } 28 | .noUi-handle { 29 | position: relative; 30 | z-index: 1; 31 | } 32 | .noUi-stacking .noUi-handle { 33 | /* This class is applied to the lower origin when 34 | its values is > 50%. */ 35 | z-index: 10; 36 | } 37 | .noUi-stacking + .noUi-origin { 38 | /* Fix stacking order in IE7, which incorrectly 39 | creates a new context for the origins. */ 40 | *z-index: -1; 41 | } 42 | .noUi-state-tap .noUi-origin { 43 | -webkit-transition: left 0.3s, top 0.3s; 44 | transition: left 0.3s, top 0.3s; 45 | } 46 | .noUi-state-drag * { 47 | cursor: inherit !important; 48 | } 49 | 50 | /* Slider size and handle placement; 51 | */ 52 | .noUi-horizontal { 53 | height: 18px; 54 | } 55 | .noUi-horizontal .noUi-handle { 56 | width: 34px; 57 | height: 28px; 58 | left: -17px; 59 | top: -6px; 60 | } 61 | .noUi-horizontal.noUi-extended { 62 | padding: 0 15px; 63 | } 64 | .noUi-horizontal.noUi-extended .noUi-origin { 65 | right: -15px; 66 | } 67 | .noUi-vertical { 68 | width: 18px; 69 | } 70 | .noUi-vertical .noUi-handle { 71 | width: 28px; 72 | height: 34px; 73 | left: -6px; 74 | top: -17px; 75 | } 76 | .noUi-vertical.noUi-extended { 77 | padding: 15px 0; 78 | } 79 | .noUi-vertical.noUi-extended .noUi-origin { 80 | bottom: -15px; 81 | } 82 | 83 | /* Styling; 84 | */ 85 | .noUi-background { 86 | background: #FAFAFA; 87 | box-shadow: inset 0 1px 1px #f0f0f0; 88 | } 89 | .noUi-connect { 90 | background: #3FB8AF; 91 | box-shadow: inset 0 0 3px rgba(51,51,51,0.45); 92 | -webkit-transition: background 450ms; 93 | transition: background 450ms; 94 | } 95 | .noUi-origin { 96 | border-radius: 2px; 97 | } 98 | .noUi-target { 99 | border-radius: 4px; 100 | border: 1px solid #D3D3D3; 101 | box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; 102 | } 103 | .noUi-target.noUi-connect { 104 | box-shadow: inset 0 0 3px rgba(51,51,51,0.45), 0 3px 6px -5px #BBB; 105 | } 106 | 107 | /* Handles and cursors; 108 | */ 109 | .noUi-dragable { 110 | cursor: w-resize; 111 | } 112 | .noUi-vertical .noUi-dragable { 113 | cursor: n-resize; 114 | } 115 | .noUi-handle { 116 | border: 1px solid #D9D9D9; 117 | border-radius: 3px; 118 | background: #FFF; 119 | cursor: default; 120 | box-shadow: inset 0 0 1px #FFF, 121 | inset 0 1px 7px #EBEBEB, 122 | 0 3px 6px -3px #BBB; 123 | } 124 | .noUi-active { 125 | box-shadow: inset 0 0 1px #FFF, 126 | inset 0 1px 7px #DDD, 127 | 0 3px 6px -3px #BBB; 128 | } 129 | 130 | /* Handle stripes; 131 | */ 132 | .noUi-handle:before, 133 | .noUi-handle:after { 134 | content: ""; 135 | display: block; 136 | position: absolute; 137 | height: 14px; 138 | width: 1px; 139 | background: #E8E7E6; 140 | left: 14px; 141 | top: 6px; 142 | } 143 | .noUi-handle:after { 144 | left: 17px; 145 | } 146 | .noUi-vertical .noUi-handle:before, 147 | .noUi-vertical .noUi-handle:after { 148 | width: 14px; 149 | height: 1px; 150 | left: 6px; 151 | top: 14px; 152 | } 153 | .noUi-vertical .noUi-handle:after { 154 | top: 17px; 155 | } 156 | 157 | /* Disabled state; 158 | */ 159 | [disabled].noUi-connect, 160 | [disabled] .noUi-connect { 161 | background: #B8B8B8; 162 | } 163 | [disabled] .noUi-handle { 164 | cursor: not-allowed; 165 | } 166 | -------------------------------------------------------------------------------- /static/css/plugins/switchery/switchery.css: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Main stylesheet for Switchery. 4 | * http://abpetkov.github.io/switchery/ 5 | * 6 | */ 7 | 8 | .switchery { 9 | background-color: #fff; 10 | border: 1px solid #dfdfdf; 11 | border-radius: 20px; 12 | cursor: pointer; 13 | display: inline-block; 14 | height: 30px; 15 | position: relative; 16 | vertical-align: middle; 17 | width: 50px; 18 | 19 | -webkit-box-sizing: content-box; 20 | -moz-box-sizing: content-box; 21 | box-sizing: content-box; 22 | } 23 | 24 | .switchery > small { 25 | background: #fff; 26 | border-radius: 100%; 27 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); 28 | height: 30px; 29 | position: absolute; 30 | top: 0; 31 | width: 30px; 32 | } 33 | -------------------------------------------------------------------------------- /static/css/plugins/treeview/bootstrap-treeview.css: -------------------------------------------------------------------------------- 1 | /* ========================================================= 2 | * bootstrap-treeview.css v1.0.0 3 | * ========================================================= 4 | * Copyright 2013 Jonathan Miles 5 | * Project URL : http://www.jondmiles.com/bootstrap-treeview 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================= */ 19 | 20 | .list-group-item { 21 | cursor: pointer; 22 | } 23 | 24 | /*.list-group-item:hover { 25 | background-color: #f5f5f5; 26 | }*/ 27 | 28 | span.indent { 29 | margin-left: 10px; 30 | margin-right: 10px; 31 | } 32 | 33 | span.icon { 34 | margin-right: 5px; 35 | } 36 | -------------------------------------------------------------------------------- /static/css/plugins/webuploader/webuploader.css: -------------------------------------------------------------------------------- 1 | .webuploader-container { 2 | position: relative; 3 | } 4 | .webuploader-element-invisible { 5 | position: absolute !important; 6 | clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 7 | clip: rect(1px,1px,1px,1px); 8 | } 9 | .webuploader-pick { 10 | position: relative; 11 | display: inline-block; 12 | cursor: pointer; 13 | background: #00b7ee; 14 | padding: 10px 15px; 15 | color: #fff; 16 | text-align: center; 17 | border-radius: 3px; 18 | overflow: hidden; 19 | } 20 | .webuploader-pick-hover { 21 | background: #00a2d4; 22 | } 23 | 24 | .webuploader-pick-disable { 25 | opacity: 0.6; 26 | pointer-events:none; 27 | } 28 | 29 | -------------------------------------------------------------------------------- /static/fonts/fontawesome-webfont93e3.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/fontawesome-webfont93e3.eot -------------------------------------------------------------------------------- /static/fonts/fontawesome-webfont93e3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/fontawesome-webfont93e3.ttf -------------------------------------------------------------------------------- /static/fonts/fontawesome-webfont93e3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/fontawesome-webfont93e3.woff -------------------------------------------------------------------------------- /static/fonts/fontawesome-webfont93e3.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/fontawesome-webfont93e3.woff2 -------------------------------------------------------------------------------- /static/fonts/fontawesome-webfontd41d.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/fontawesome-webfontd41d.eot -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regulard41d.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/fonts/glyphicons-halflings-regulard41d.eot -------------------------------------------------------------------------------- /static/img/a1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a1.jpg -------------------------------------------------------------------------------- /static/img/a2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a2.jpg -------------------------------------------------------------------------------- /static/img/a3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a3.jpg -------------------------------------------------------------------------------- /static/img/a4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a4.jpg -------------------------------------------------------------------------------- /static/img/a5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a5.jpg -------------------------------------------------------------------------------- /static/img/a6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a6.jpg -------------------------------------------------------------------------------- /static/img/a7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a7.jpg -------------------------------------------------------------------------------- /static/img/a8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a8.jpg -------------------------------------------------------------------------------- /static/img/a9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/a9.jpg -------------------------------------------------------------------------------- /static/img/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/bg.png -------------------------------------------------------------------------------- /static/img/iconfont-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/iconfont-logo.png -------------------------------------------------------------------------------- /static/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/icons.png -------------------------------------------------------------------------------- /static/img/index.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/index.jpg -------------------------------------------------------------------------------- /static/img/index_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/index_4.jpg -------------------------------------------------------------------------------- /static/img/loading-upload.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/loading-upload.gif -------------------------------------------------------------------------------- /static/img/locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/locked.png -------------------------------------------------------------------------------- /static/img/login-background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/login-background.jpg -------------------------------------------------------------------------------- /static/img/p1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/p1.jpg -------------------------------------------------------------------------------- /static/img/p2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/p2.jpg -------------------------------------------------------------------------------- /static/img/p3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/p3.jpg -------------------------------------------------------------------------------- /static/img/p_big1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/p_big1.jpg -------------------------------------------------------------------------------- /static/img/p_big2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/p_big2.jpg -------------------------------------------------------------------------------- /static/img/p_big3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/p_big3.jpg -------------------------------------------------------------------------------- /static/img/pay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/pay.png -------------------------------------------------------------------------------- /static/img/profile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/profile.jpg -------------------------------------------------------------------------------- /static/img/profile_big.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/profile_big.jpg -------------------------------------------------------------------------------- /static/img/profile_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/profile_small.jpg -------------------------------------------------------------------------------- /static/img/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/progress.png -------------------------------------------------------------------------------- /static/img/qr_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/qr_code.png -------------------------------------------------------------------------------- /static/img/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/success.png -------------------------------------------------------------------------------- /static/img/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/user.png -------------------------------------------------------------------------------- /static/img/wenku_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/img/wenku_logo.png -------------------------------------------------------------------------------- /static/js/content.min.js: -------------------------------------------------------------------------------- 1 | function $childNode(o){return window.frames[o]}function animationHover(o,e){o=$(o),o.hover(function(){o.addClass("animated "+e)},function(){window.setTimeout(function(){o.removeClass("animated "+e)},2e3)})}function WinMove(){var o="[class*=col]",e=".ibox-title",i="[class*=col]";$(o).sortable({handle:e,connectWith:i,tolerance:"pointer",forcePlaceholderSize:!0,opacity:.8}).disableSelection()}var $parentNode=window.parent.document;if($(".tooltip-demo").tooltip({selector:"[data-toggle=tooltip]",container:"body"}),$(".modal").appendTo("body"),$("[data-toggle=popover]").popover(),$(".collapse-link").click(function(){var o=$(this).closest("div.ibox"),e=$(this).find("i"),i=o.find("div.ibox-content");i.slideToggle(200),e.toggleClass("fa-chevron-up").toggleClass("fa-chevron-down"),o.toggleClass("").toggleClass("border-bottom"),setTimeout(function(){o.resize(),o.find("[id^=map-]").resize()},50)}),$(".close-link").click(function(){var o=$(this).closest("div.ibox");o.remove()}),top==this){var gohome='
';$("body").append(gohome)} 2 | -------------------------------------------------------------------------------- /static/js/demo/bootstrap-table-demo.min.js: -------------------------------------------------------------------------------- 1 | function cellStyle(e,t,o){var n=["active","success","info","warning","danger"];return o%2===0&&o/2t?1:t>e?-1:0}function nameFormatter(e){return e+' '}function starsFormatter(e){return' '+e}function queryParams(){return{type:"owner",sort:"updated",direction:"desc",per_page:100,page:1}}function buildTable(e,t,o){var n,l,s,a=[],c=[];for(n=0;t>n;n++)a.push({field:"字段"+n,title:"单元"+n});for(n=0;o>n;n++){for(s={},l=0;t>l;l++)s["字段"+l]="Row-"+n+"-"+l;c.push(s)}e.bootstrapTable("destroy").bootstrapTable({columns:a,data:c,iconSize:"outline",icons:{columns:"glyphicon-list"}})}!function(e,t,o){"use strict";!function(){var e=[{Tid:"1",First:"奔波儿灞",sex:"男",Score:"50"},{Tid:"2",First:"灞波儿奔",sex:"男",Score:"94"},{Tid:"3",First:"作家崔成浩",sex:"男",Score:"80"},{Tid:"4",First:"韩寒",sex:"男",Score:"67"},{Tid:"5",First:"郭敬明",sex:"男",Score:"100"},{Tid:"6",First:"马云",sex:"男",Score:"77"},{Tid:"7",First:"范爷",sex:"女",Score:"87"}];o("#exampleTableFromData").bootstrapTable({data:e,height:"250"})}(),function(){o("#exampleTableColumns").bootstrapTable({url:"js/demo/bootstrap_table_test.json",height:"400",iconSize:"outline",showColumns:!0,icons:{refresh:"glyphicon-repeat",toggle:"glyphicon-list-alt",columns:"glyphicon-list"}})}(),buildTable(o("#exampleTableLargeColumns"),50,50),function(){o("#exampleTableToolbar").bootstrapTable({url:"js/demo/bootstrap_table_test2.json",search:!0,showRefresh:!0,showToggle:!0,showColumns:!0,toolbar:"#exampleToolbar",iconSize:"outline",icons:{refresh:"glyphicon-repeat",toggle:"glyphicon-list-alt",columns:"glyphicon-list"}})}(),function(){o("#exampleTableEvents").bootstrapTable({url:"js/demo/bootstrap_table_test.json",search:!0,pagination:!0,showRefresh:!0,showToggle:!0,showColumns:!0,iconSize:"outline",toolbar:"#exampleTableEventsToolbar",icons:{refresh:"glyphicon-repeat",toggle:"glyphicon-list-alt",columns:"glyphicon-list"}});var e=o("#examplebtTableEventsResult");o("#exampleTableEvents").on("all.bs.table",function(e,t,o){console.log("Event:",t,", data:",o)}).on("click-row.bs.table",function(){e.text("Event: click-row.bs.table")}).on("dbl-click-row.bs.table",function(){e.text("Event: dbl-click-row.bs.table")}).on("sort.bs.table",function(){e.text("Event: sort.bs.table")}).on("check.bs.table",function(){e.text("Event: check.bs.table")}).on("uncheck.bs.table",function(){e.text("Event: uncheck.bs.table")}).on("check-all.bs.table",function(){e.text("Event: check-all.bs.table")}).on("uncheck-all.bs.table",function(){e.text("Event: uncheck-all.bs.table")}).on("load-success.bs.table",function(){e.text("Event: load-success.bs.table")}).on("load-error.bs.table",function(){e.text("Event: load-error.bs.table")}).on("column-switch.bs.table",function(){e.text("Event: column-switch.bs.table")}).on("page-change.bs.table",function(){e.text("Event: page-change.bs.table")}).on("search.bs.table",function(){e.text("Event: search.bs.table")})}()}(document,window,jQuery); 2 | -------------------------------------------------------------------------------- /static/js/demo/form-advanced-demo.min.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){function e(){var e=$("body")[0].style;$("#demo_apidemo").colorpicker({color:e.backgroundColor}).on("changeColor",function(o){e.backgroundColor=o.color.toHex()}),$("#demo_forceformat").colorpicker({format:"rgba",horizontal:!0}),$(".demo-auto").colorpicker(),$(".disable-button").click(function(e){e.preventDefault(),$("#demo_endis").colorpicker("disable")}),$(".enable-button").click(function(e){e.preventDefault(),$("#demo_endis").colorpicker("enable")})}var o=$(".image-crop > img");$(o).cropper({aspectRatio:1.618,preview:".img-preview",done:function(){}});var r=$("#inputImage");window.FileReader?r.change(function(){var e,i=new FileReader,t=this.files;t.length&&(e=t[0],/^image\/\w+$/.test(e.type)?(i.readAsDataURL(e),i.onload=function(){r.val(""),o.cropper("reset",!0).cropper("replace",this.result)}):showMessage("请选择图片文件"))}):r.addClass("hide"),$("#download").click(function(){window.open(o.cropper("getDataURL"))}),$("#zoomIn").click(function(){o.cropper("zoom",.1)}),$("#zoomOut").click(function(){o.cropper("zoom",-.1)}),$("#rotateLeft").click(function(){o.cropper("rotate",45)}),$("#rotateRight").click(function(){o.cropper("rotate",-45)}),$("#setDrag").click(function(){o.cropper("setDragMode","crop")}),$("#data_1 .input-group.date").datepicker({todayBtn:"linked",keyboardNavigation:!1,forceParse:!1,calendarWeeks:!0,autoclose:!0}),$("#data_2 .input-group.date").datepicker({startView:1,todayBtn:"linked",keyboardNavigation:!1,forceParse:!1,autoclose:!0,format:"yyyy-mm-dd"}),$("#data_3 .input-group.date").datepicker({startView:2,todayBtn:"linked",keyboardNavigation:!1,forceParse:!1,autoclose:!0}),$("#data_4 .input-group.date").datepicker({minViewMode:1,keyboardNavigation:!1,forceParse:!1,autoclose:!0,todayHighlight:!0}),$("#data_5 .input-daterange").datepicker({keyboardNavigation:!1,forceParse:!1,autoclose:!0});{var i=document.querySelector(".js-switch"),t=(new Switchery(i,{color:"#1AB394"}),document.querySelector(".js-switch_2")),a=(new Switchery(t,{color:"#ED5565"}),document.querySelector(".js-switch_3"));new Switchery(a,{color:"#1AB394"})}$(".i-checks").iCheck({checkboxClass:"icheckbox_square-green",radioClass:"iradio_square-green"}),$(".colorpicker-demo1").colorpicker(),$(".colorpicker-demo2").colorpicker(),$(".colorpicker-demo3").colorpicker(),e(),$(".demo-destroy").click(function(e){e.preventDefault(),$(".demo").colorpicker("destroy"),$(".disable-button, .enable-button").off("click")}),$(".demo-create").click(function(o){o.preventDefault(),e()});var c=$(".back-change")[0].style;$("#demo_apidemo").colorpicker({color:c.backgroundColor}).on("changeColor",function(e){c.backgroundColor=e.color.toHex()}),$(".clockpicker").clockpicker(),$('#file-pretty input[type="file"]').prettyFile()});var config={".chosen-select":{},".chosen-select-deselect":{allow_single_deselect:!0},".chosen-select-no-single":{disable_search_threshold:10},".chosen-select-no-results":{no_results_text:"Oops, nothing found!"},".chosen-select-width":{width:"95%"}};for(var selector in config)$(selector).chosen(config[selector]);$("#ionrange_1").ionRangeSlider({min:0,max:5e3,type:"double",prefix:"¥",maxPostfix:"+",prettify:!1,hasGrid:!0}),$("#ionrange_2").ionRangeSlider({min:0,max:10,type:"single",step:.1,postfix:" 克",prettify:!1,hasGrid:!0}),$("#ionrange_3").ionRangeSlider({min:-50,max:50,from:0,postfix:"°",prettify:!1,hasGrid:!0}),$("#ionrange_4").ionRangeSlider({values:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],type:"single",hasGrid:!0}),$("#ionrange_5").ionRangeSlider({min:1e4,max:1e5,step:100,postfix:" km",from:55e3,hideMinMax:!0,hideFromTo:!1}),$(".dial").knob(),$("#basic_slider").noUiSlider({start:40,behaviour:"tap",connect:"upper",range:{min:20,max:80}}),$("#range_slider").noUiSlider({start:[40,60],behaviour:"drag",connect:!0,range:{min:20,max:80}}),$("#drag-fixed").noUiSlider({start:[40,60],behaviour:"drag-fixed",connect:!0,range:{min:20,max:80}}); 2 | -------------------------------------------------------------------------------- /static/js/demo/form-validate-demo.min.js: -------------------------------------------------------------------------------- 1 | $.validator.setDefaults({highlight:function(e){$(e).closest(".form-group").removeClass("has-success").addClass("has-error")},success:function(e){e.closest(".form-group").removeClass("has-error").addClass("has-success")},errorElement:"span",errorPlacement:function(e,r){e.appendTo(r.is(":radio")||r.is(":checkbox")?r.parent().parent().parent():r.parent())},errorClass:"help-block m-b-none",validClass:"help-block m-b-none"}),$().ready(function(){$("#commentForm").validate();var e=" ";$("#signupForm").validate({rules:{firstname:"required",lastname:"required",username:{required:!0,minlength:2},password:{required:!0,minlength:5},confirm_password:{required:!0,minlength:5,equalTo:"#password"},email:{required:!0,email:!0},topic:{required:"#newsletter:checked",minlength:2},agree:"required"},messages:{firstname:e+"请输入你的姓",lastname:e+"请输入您的名字",username:{required:e+"请输入您的用户名",minlength:e+"用户名必须两个字符以上"},password:{required:e+"请输入您的密码",minlength:e+"密码必须5个字符以上"},confirm_password:{required:e+"请再次输入密码",minlength:e+"密码必须5个字符以上",equalTo:e+"两次输入的密码不一致"},email:e+"请输入您的E-mail",agree:{required:e+"必须同意协议后才能注册",element:"#agree-error"}}}),$("#username").focus(function(){var e=$("#firstname").val(),r=$("#lastname").val();e&&r&&!this.value&&(this.value=e+"."+r)})}); 2 | -------------------------------------------------------------------------------- /static/js/demo/layer-demo.min.js: -------------------------------------------------------------------------------- 1 | !function(){var e={htdy:$("html, body")};e.demo1=$("#demo1"),$("#chutiyan>a").on("click",function(){var t=$(this),a=t.index(),r=e.demo1.children("p").eq(a),n=r.position().top;switch(e.demo1.animate({scrollTop:e.demo1.scrollTop()+n},0),a){case 0:var o=-1;!function s(){var e=parent.layer.alert("点击确认更换图标",{icon:o,shadeClose:!0,title:-1===o?"初体验":"icon:"+o},s);8===++o&&layer.close(e)}();break;case 1:var o=0;!function p(){parent.layer.alert("点击确认更换图标",{icon:o,shadeClose:!0,skin:"layer-ext-moon",shift:5,title:-1===o?"第三方扩展皮肤":"icon:"+o},p);9===++o&&parent.layer.confirm("怎么样,是否很喜欢该皮肤,去下载?",{skin:"layer-ext-moon"},function(e,t){t.find(".layui-layer-btn0").attr({href:"http://layer.layui.com/skin.html",target:"_blank"}),parent.layer.close(e)})}();break;case 6:parent.layer.open({type:1,area:["420px","240px"],skin:"layui-layer-rim",content:'
即直接给content传入html字符
当内容宽高超过定义宽高,会自动出现滚动条。










很高兴在下面遇见你
'});break;case 7:parent.layer.open({type:1,skin:"layui-layer-demo",closeBtn:!1,area:"350px",shift:2,shadeClose:!0,content:'
即传入skin:"样式名",然后你就可以为所欲为了。
你怎么样给她整容都行


我是华丽的酱油==。
'});break;case 8:layer.tips("Hi,我是tips",this);break;case 11:var i=parent.layer.load(0,{shade:!1});setTimeout(function(){parent.layer.close(i)},5e3);break;case 12:var l=parent.layer.load(1,{shade:[.1,"#fff"]});setTimeout(function(){parent.layer.close(l)},3e3);break;case 13:layer.tips("我是另外一个tips,只不过我长得跟之前那位稍有些不一样。",this,{tips:[1,"#3595CC"],time:4e3});break;case 14:parent.layer.prompt({title:"输入任何口令,并确认",formType:1},function(e){parent.layer.prompt({title:"随便写点啥,并确认",formType:2},function(t){parent.layer.msg("演示完毕!您的口令:"+e+"
您最后写下了:"+t)})});break;case 15:parent.layer.tab({area:["600px","300px"],tab:[{title:"无题",content:'
欢迎体验layer.tab
此时此刻不禁让人吟诗一首:
一入前端深似海
从此妹纸是浮云
以下省略七个字
。。。。。。。
——贤心
'},{title:"TAB2",content:'
TAB2该说些啥
'},{title:"TAB3",content:'
有一种坚持叫:layer
'}]});break;case 16:e.photoJSON?layer.photos({photos:e.photoJSON}):$.getJSON("js/demo/photos.json?v=",function(t){e.photoJSON=t,layer.photos({photos:t})});break;default:new Function(r.text())()}})}(); 2 | -------------------------------------------------------------------------------- /static/js/demo/morris-demo.min.js: -------------------------------------------------------------------------------- 1 | $(function(){Morris.Line({element:"morris-one-line-chart",data:[{year:"2008",value:5},{year:"2009",value:10},{year:"2010",value:8},{year:"2011",value:22},{year:"2012",value:8},{year:"2014",value:10},{year:"2015",value:5}],xkey:"year",ykeys:["value"],resize:!0,lineWidth:4,labels:["Value"],lineColors:["#1ab394"],pointSize:5}),Morris.Area({element:"morris-area-chart",data:[{period:"2010 Q1",iphone:2666,ipad:null,itouch:2647},{period:"2010 Q2",iphone:2778,ipad:2294,itouch:2441},{period:"2010 Q3",iphone:4912,ipad:1969,itouch:2501},{period:"2010 Q4",iphone:3767,ipad:3597,itouch:5689},{period:"2011 Q1",iphone:6810,ipad:1914,itouch:2293},{period:"2011 Q2",iphone:5670,ipad:4293,itouch:1881},{period:"2011 Q3",iphone:4820,ipad:3795,itouch:1588},{period:"2011 Q4",iphone:15073,ipad:5967,itouch:5175},{period:"2012 Q1",iphone:10687,ipad:4460,itouch:2028},{period:"2012 Q2",iphone:8432,ipad:5713,itouch:1791}],xkey:"period",ykeys:["iphone","ipad","itouch"],labels:["iPhone","iPad","iPod Touch"],pointSize:2,hideHover:"auto",resize:!0,lineColors:["#87d6c6","#54cdb4","#1ab394"],lineWidth:2,pointSize:1}),Morris.Donut({element:"morris-donut-chart",data:[{label:"A系列",value:12},{label:"B系列",value:30},{label:"C系列",value:20}],resize:!0,colors:["#87d6c6","#54cdb4","#1ab394"]}),Morris.Bar({element:"morris-bar-chart",data:[{y:"2006",a:60,b:50},{y:"2007",a:75,b:65},{y:"2008",a:50,b:40},{y:"2009",a:75,b:65},{y:"2010",a:50,b:40},{y:"2011",a:75,b:65},{y:"2012",a:100,b:90}],xkey:"y",ykeys:["a","b"],labels:["A系列","B系列"],hideHover:"auto",resize:!0,barColors:["#1ab394","#cacaca"]}),Morris.Line({element:"morris-line-chart",data:[{y:"2006",a:100,b:90},{y:"2007",a:75,b:65},{y:"2008",a:50,b:40},{y:"2009",a:75,b:65},{y:"2010",a:50,b:40},{y:"2011",a:75,b:65},{y:"2012",a:100,b:90}],xkey:"y",ykeys:["a","b"],labels:["A系列","B系列"],hideHover:"auto",resize:!0,lineColors:["#54cdb4","#1ab394"]})}); 2 | -------------------------------------------------------------------------------- /static/js/demo/peity-demo.min.js: -------------------------------------------------------------------------------- 1 | $(function(){$("span.pie").peity("pie",{fill:["#1ab394","#d7d7d7","#ffffff"]}),$(".line").peity("line",{fill:"#1ab394",stroke:"#169c81"}),$(".bar").peity("bar",{fill:["#1ab394","#d7d7d7"]}),$(".bar_dashboard").peity("bar",{fill:["#1ab394","#d7d7d7"],width:100});var i=$(".updating-chart").peity("line",{fill:"#1ab394",stroke:"#169c81",width:64});setInterval(function(){var t=Math.round(10*Math.random()),a=i.text().split(",");a.shift(),a.push(t),i.text(a.join(",")).change()},1e3)}); 2 | -------------------------------------------------------------------------------- /static/js/demo/rickshaw-demo.min.js: -------------------------------------------------------------------------------- 1 | $(function(){var e=new Rickshaw.Graph({element:document.querySelector("#chart"),series:[{color:"#1ab394",data:[{x:0,y:40},{x:1,y:49},{x:2,y:38},{x:3,y:30},{x:4,y:32}]}]});e.render();var r=new Rickshaw.Graph({element:document.querySelector("#rickshaw_multi"),renderer:"area",stroke:!0,series:[{data:[{x:0,y:40},{x:1,y:49},{x:2,y:38},{x:3,y:20},{x:4,y:16}],color:"#1ab394",stroke:"#17997f"},{data:[{x:0,y:22},{x:1,y:25},{x:2,y:38},{x:3,y:44},{x:4,y:46}],color:"#eeeeee",stroke:"#d7d7d7"}]});r.renderer.unstack=!0,r.render();var a=new Rickshaw.Graph({element:document.querySelector("#rickshaw_line"),renderer:"line",series:[{data:[{x:0,y:40},{x:1,y:49},{x:2,y:38},{x:3,y:30},{x:4,y:32}],color:"#1ab394"}]});a.render();var y=new Rickshaw.Graph({element:document.querySelector("#rickshaw_multi_line"),renderer:"line",series:[{data:[{x:0,y:40},{x:1,y:49},{x:2,y:38},{x:3,y:30},{x:4,y:32}],color:"#1ab394"},{data:[{x:0,y:20},{x:1,y:24},{x:2,y:19},{x:3,y:15},{x:4,y:16}],color:"#d7d7d7"}]});y.render();var x=new Rickshaw.Graph({element:document.querySelector("#rickshaw_bars"),renderer:"bar",series:[{data:[{x:0,y:40},{x:1,y:49},{x:2,y:38},{x:3,y:30},{x:4,y:32}],color:"#1ab394"}]});x.render();var t=new Rickshaw.Graph({element:document.querySelector("#rickshaw_bars_stacked"),renderer:"bar",series:[{data:[{x:0,y:40},{x:1,y:49},{x:2,y:38},{x:3,y:30},{x:4,y:32}],color:"#1ab394"},{data:[{x:0,y:20},{x:1,y:24},{x:2,y:19},{x:3,y:15},{x:4,y:16}],color:"#d7d7d7"}]});t.render();var c=new Rickshaw.Graph({element:document.querySelector("#rickshaw_scatterplot"),renderer:"scatterplot",stroke:!0,padding:{top:.05,left:.05,right:.05},series:[{data:[{x:0,y:15},{x:1,y:18},{x:2,y:10},{x:3,y:12},{x:4,y:15},{x:5,y:24},{x:6,y:28},{x:7,y:31},{x:8,y:22},{x:9,y:18},{x:10,y:16}],color:"#1ab394"}]});c.render()}); 2 | -------------------------------------------------------------------------------- /static/js/demo/sparkline-demo.min.js: -------------------------------------------------------------------------------- 1 | $(function(){$("#sparkline1").sparkline([34,43,43,35,44,32,44,52,25],{type:"line",lineColor:"#17997f",fillColor:"#1ab394"}),$("#sparkline2").sparkline([5,6,7,2,0,-4,-2,4],{type:"bar",barColor:"#1ab394",negBarColor:"#c6c6c6"}),$("#sparkline3").sparkline([1,1,2],{type:"pie",sliceColors:["#1ab394","#b3b3b3","#e4f0fb"]}),$("#sparkline4").sparkline([34,43,43,35,44,32,15,22,46,33,86,54,73,53,12,53,23,65,23,63,53,42,34,56,76,15,54,23,44],{type:"line",lineColor:"#17997f",fillColor:"#ffffff"}),$("#sparkline5").sparkline([1,1,0,1,-1,-1,1,-1,0,0,1,1],{type:"tristate",posBarColor:"#1ab394",negBarColor:"#bfbfbf"}),$("#sparkline6").sparkline([4,6,7,7,4,3,2,1,4,4,5,6,3,4,5,8,7,6,9,3,2,4,1,5,6,4,3,7],{type:"discrete",lineColor:"#1ab394"}),$("#sparkline7").sparkline([52,12,44],{type:"pie",height:"150px",sliceColors:["#1ab394","#b3b3b3","#e4f0fb"]}),$("#sparkline8").sparkline([5,6,7,2,0,4,2,4,5,7,2,4,12,14,4,2,14,12,7],{type:"bar",barWidth:8,height:"150px",barColor:"#1ab394",negBarColor:"#c6c6c6"}),$("#sparkline9").sparkline([34,43,43,35,44,32,15,22,46,33,86,54,73,53,12,53,23,65,23,63,53,42,34,56,76,15,54,23,44],{type:"line",lineWidth:1,height:"150px",lineColor:"#17997f",fillColor:"#ffffff"})}); 2 | -------------------------------------------------------------------------------- /static/js/demo/treeview-demo.min.js: -------------------------------------------------------------------------------- 1 | $(function(){var e=[{text:"父节点 1",href:"#parent1",tags:["4"],nodes:[{text:"子节点 1",href:"#child1",tags:["2"],nodes:[{text:"孙子节点 1",href:"#grandchild1",tags:["0"]},{text:"孙子节点 2",href:"#grandchild2",tags:["0"]}]},{text:"子节点 2",href:"#child2",tags:["0"]}]},{text:"父节点 2",href:"#parent2",tags:["0"]},{text:"父节点 3",href:"#parent3",tags:["0"]},{text:"父节点 4",href:"#parent4",tags:["0"]},{text:"父节点 5",href:"#parent5",tags:["0"]}],o=[{text:"父节点 1",tags:["2"],nodes:[{text:"子节点 1",tags:["3"],nodes:[{text:"孙子节点 1",tags:["6"]},{text:"孙子节点 2",tags:["3"]}]},{text:"子节点 2",tags:["3"]}]},{text:"父节点 2",tags:["7"]},{text:"父节点 3",icon:"glyphicon glyphicon-earphone",href:"#demo",tags:["11"]},{text:"父节点 4",icon:"glyphicon glyphicon-cloud-download",href:"/demo.html",tags:["19"],selected:!0},{text:"父节点 5",icon:"glyphicon glyphicon-certificate",color:"pink",backColor:"red",href:"http://www.tesco.com",tags:["available","0"]}],t='[{"text": "父节点 1","nodes": [{"text": "子节点 1","nodes": [{"text": "孙子节点 1"},{"text": "孙子节点 2"}]},{"text": "子节点 2"}]},{"text": "父节点 2"},{"text": "父节点 3"},{"text": "父节点 4"},{"text": "父节点 5"}]';$("#treeview1").treeview({data:e}),$("#treeview2").treeview({levels:1,data:e}),$("#treeview3").treeview({levels:99,data:e}),$("#treeview4").treeview({color:"#428bca",data:e}),$("#treeview5").treeview({color:"#428bca",expandIcon:"glyphicon glyphicon-chevron-right",collapseIcon:"glyphicon glyphicon-chevron-down",nodeIcon:"glyphicon glyphicon-bookmark",data:e}),$("#treeview6").treeview({color:"#428bca",expandIcon:"glyphicon glyphicon-stop",collapseIcon:"glyphicon glyphicon-unchecked",nodeIcon:"glyphicon glyphicon-user",showTags:!0,data:e}),$("#treeview7").treeview({color:"#428bca",showBorder:!1,data:e}),$("#treeview8").treeview({expandIcon:"glyphicon glyphicon-stop",collapseIcon:"glyphicon glyphicon-unchecked",nodeIcon:"glyphicon glyphicon-user",color:"yellow",backColor:"purple",onhoverColor:"orange",borderColor:"red",showBorder:!1,showTags:!0,highlightSelected:!0,selectedColor:"yellow",selectedBackColor:"darkorange",data:e}),$("#treeview9").treeview({expandIcon:"glyphicon glyphicon-stop",collapseIcon:"glyphicon glyphicon-unchecked",nodeIcon:"glyphicon glyphicon-user",color:"yellow",backColor:"purple",onhoverColor:"orange",borderColor:"red",showBorder:!1,showTags:!0,highlightSelected:!0,selectedColor:"yellow",selectedBackColor:"darkorange",data:o}),$("#treeview10").treeview({color:"#428bca",enableLinks:!0,data:e}),$("#treeview11").treeview({color:"#428bca",data:e,onNodeSelected:function(e,o){$("#event_output").prepend("

您单击了 "+o.text+"

")}}),$("#treeview12").treeview({data:t})}); 2 | -------------------------------------------------------------------------------- /static/js/hplus.min.js: -------------------------------------------------------------------------------- 1 | function NavToggle(){$(".navbar-minimalize").trigger("click")}function SmoothlyMenu(){$("body").hasClass("mini-navbar")?$("body").hasClass("fixed-sidebar")?($("#side-menu").hide(),setTimeout(function(){$("#side-menu").fadeIn(500)},300)):$("#side-menu").removeAttr("style"):($("#side-menu").hide(),setTimeout(function(){$("#side-menu").fadeIn(500)},100))}function localStorageSupport(){return"localStorage"in window&&null!==window.localStorage}layer.config({extend:["extend/layer.ext.js","skin/moon/style.css"],skin:"layer-ext-moon"}),$(document).ready(function(){function e(){var e=$("body > #wrapper").height()-61;$(".sidebard-panel").css("min-height",e+"px")}$("#side-menu").metisMenu(),$(".right-sidebar-toggle").click(function(){$("#right-sidebar").toggleClass("sidebar-open")}),$(".sidebar-container").slimScroll({height:"100%",railOpacity:.4,wheelStep:10}),$(".open-small-chat").click(function(){$(this).children().toggleClass("fa-comments").toggleClass("fa-remove"),$(".small-chat-box").toggleClass("active")}),$(".small-chat-box .content").slimScroll({height:"234px",railOpacity:.4}),$(".check-link").click(function(){var e=$(this).find("i"),a=$(this).next("span");return e.toggleClass("fa-check-square").toggleClass("fa-square-o"),a.toggleClass("todo-completed"),!1}),$(function(){$(".sidebar-collapse").slimScroll({height:"100%",railOpacity:.9,alwaysVisible:!1})}),$(".navbar-minimalize").click(function(){$("body").toggleClass("mini-navbar"),SmoothlyMenu()}),e(),$(window).bind("load resize click scroll",function(){$("body").hasClass("body-small")||e()}),$(window).scroll(function(){$(window).scrollTop()>0&&!$("body").hasClass("fixed-nav")?$("#right-sidebar").addClass("sidebar-top"):$("#right-sidebar").removeClass("sidebar-top")}),$(".full-height-scroll").slimScroll({height:"100%"}),$("#side-menu>li").click(function(){$("body").hasClass("mini-navbar")&&NavToggle()}),$("#side-menu>li li a").click(function(){$(window).width()<769&&NavToggle()}),$(".nav-close").click(NavToggle),/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)&&$("#content-main").css("overflow-y","auto")}),$(window).bind("load resize",function(){$(this).width()<769&&($("body").addClass("mini-navbar"),$(".navbar-static-side").fadeIn())}),$(function(){if($("#fixednavbar").click(function(){$("#fixednavbar").is(":checked")?($(".navbar-static-top").removeClass("navbar-static-top").addClass("navbar-fixed-top"),$("body").removeClass("boxed-layout"),$("body").addClass("fixed-nav"),$("#boxedlayout").prop("checked",!1),localStorageSupport&&localStorage.setItem("boxedlayout","off"),localStorageSupport&&localStorage.setItem("fixednavbar","on")):($(".navbar-fixed-top").removeClass("navbar-fixed-top").addClass("navbar-static-top"),$("body").removeClass("fixed-nav"),localStorageSupport&&localStorage.setItem("fixednavbar","off"))}),$("#collapsemenu").click(function(){$("#collapsemenu").is(":checked")?($("body").addClass("mini-navbar"),SmoothlyMenu(),localStorageSupport&&localStorage.setItem("collapse_menu","on")):($("body").removeClass("mini-navbar"),SmoothlyMenu(),localStorageSupport&&localStorage.setItem("collapse_menu","off"))}),$("#boxedlayout").click(function(){$("#boxedlayout").is(":checked")?($("body").addClass("boxed-layout"),$("#fixednavbar").prop("checked",!1),$(".navbar-fixed-top").removeClass("navbar-fixed-top").addClass("navbar-static-top"),$("body").removeClass("fixed-nav"),localStorageSupport&&localStorage.setItem("fixednavbar","off"),localStorageSupport&&localStorage.setItem("boxedlayout","on")):($("body").removeClass("boxed-layout"),localStorageSupport&&localStorage.setItem("boxedlayout","off"))}),$(".s-skin-0").click(function(){return $("body").removeClass("skin-1"),$("body").removeClass("skin-2"),$("body").removeClass("skin-3"),!1}),$(".s-skin-1").click(function(){return $("body").removeClass("skin-2"),$("body").removeClass("skin-3"),$("body").addClass("skin-1"),!1}),$(".s-skin-3").click(function(){return $("body").removeClass("skin-1"),$("body").removeClass("skin-2"),$("body").addClass("skin-3"),!1}),localStorageSupport){var e=localStorage.getItem("collapse_menu"),a=localStorage.getItem("fixednavbar"),o=localStorage.getItem("boxedlayout");"on"==e&&$("#collapsemenu").prop("checked","checked"),"on"==a&&$("#fixednavbar").prop("checked","checked"),"on"==o&&$("#boxedlayout").prop("checked","checked")}if(localStorageSupport){var e=localStorage.getItem("collapse_menu"),a=localStorage.getItem("fixednavbar"),o=localStorage.getItem("boxedlayout"),l=$("body");"on"==e&&(l.hasClass("body-small")||l.addClass("mini-navbar")),"on"==a&&($(".navbar-static-top").removeClass("navbar-static-top").addClass("navbar-fixed-top"),l.addClass("fixed-nav")),"on"==o&&l.addClass("boxed-layout")}}); 2 | -------------------------------------------------------------------------------- /static/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * bootstrap-table - v1.9.0 - 2015-09-30 3 | * https://github.com/wenzhixin/bootstrap-table 4 | * Copyright (c) 2015 zhixin wen 5 | * Licensed MIT License 6 | */ 7 | !function(a){"use strict";var b=function(b,c){b.options.columnsHidden.length>0&&a.each(b.columns,function(d,e){-1!==b.options.columnsHidden.indexOf(e.field)&&e.visible!==c&&b.toggleColumn(a.fn.bootstrapTable.utils.getFieldIndex(b.columns,e.field),c,!0)})},c=function(a){(a.options.height||a.options.showFooter)&&setTimeout(a.resetView,1)},d=function(a,b,d){a.options.minHeight?b<=a.options.minWidth&&d<=a.options.minHeight?e(a):b>a.options.minWidth&&d>a.options.minHeight&&f(a):b<=a.options.minWidth?e(a):b>a.options.minWidth&&f(a),c(a)},e=function(a){g(a,!1),b(a,!1)},f=function(a){g(a,!0),b(a,!0)},g=function(a,b){a.options.cardView=b,a.toggleView()},h=function(a,b){var c;return function(){var d=this,e=arguments,f=function(){c=null,a.apply(d,e)};clearTimeout(c),c=setTimeout(f,b)}};a.extend(a.fn.bootstrapTable.defaults,{mobileResponsive:!1,minWidth:562,minHeight:void 0,heightThreshold:100,checkOnInit:!0,columnsHidden:[]});var i=a.fn.bootstrapTable.Constructor,j=i.prototype.init;i.prototype.init=function(){if(j.apply(this,Array.prototype.slice.apply(arguments)),this.options.mobileResponsive&&this.options.minWidth){var b=this,c={width:a(window).width(),height:a(window).height()};if(a(window).on("resize orientationchange",h(function(){var e=a(this).height(),f=a(this).width();(Math.abs(c.height-e)>b.options.heightThreshold||c.width!=f)&&(d(b,f,e),c={width:f,height:e})},200)),this.options.checkOnInit){var e=a(window).height(),f=a(window).width();d(this,f,e),c={width:f,height:e}}}}}(jQuery); 8 | -------------------------------------------------------------------------------- /static/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * bootstrap-table - v1.9.0 - 2015-09-30 3 | * https://github.com/wenzhixin/bootstrap-table 4 | * Copyright (c) 2015 zhixin wen 5 | * Licensed MIT License 6 | */ 7 | !function(a){"use strict";a.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中,请稍候……"},formatRecordsPerPage:function(a){return"每页显示 "+a+" 条记录"},formatShowingRows:function(a,b,c){return"显示第 "+a+" 到第 "+b+" 条记录,总共 "+c+" 条记录"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatColumns:function(){return"列"}},a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales["zh-CN"])}(jQuery); 8 | -------------------------------------------------------------------------------- /static/js/plugins/fancybox/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/fancybox/blank.gif -------------------------------------------------------------------------------- /static/js/plugins/fancybox/fancybox_loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/fancybox/fancybox_loading.gif -------------------------------------------------------------------------------- /static/js/plugins/fancybox/fancybox_loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/fancybox/fancybox_loading@2x.gif -------------------------------------------------------------------------------- /static/js/plugins/fancybox/fancybox_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/fancybox/fancybox_overlay.png -------------------------------------------------------------------------------- /static/js/plugins/fancybox/fancybox_sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/fancybox/fancybox_sprite.png -------------------------------------------------------------------------------- /static/js/plugins/fancybox/fancybox_sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/fancybox/fancybox_sprite@2x.png -------------------------------------------------------------------------------- /static/js/plugins/flot/jquery.flot.resize.js: -------------------------------------------------------------------------------- 1 | /* Flot plugin for automatically redrawing plots as the placeholder resizes. 2 | 3 | Copyright (c) 2007-2013 IOLA and Ole Laursen. 4 | Licensed under the MIT license. 5 | 6 | It works by listening for changes on the placeholder div (through the jQuery 7 | resize event plugin) - if the size changes, it will redraw the plot. 8 | 9 | There are no options. If you need to disable the plugin for some plots, you 10 | can just fix the size of their placeholders. 11 | 12 | */ 13 | 14 | /* Inline dependency: 15 | * jQuery resize event - v1.1 - 3/14/2010 16 | * http://benalman.com/projects/jquery-resize-plugin/ 17 | * 18 | * Copyright (c) 2010 "Cowboy" Ben Alman 19 | * Dual licensed under the MIT and GPL licenses. 20 | * http://benalman.com/about/license/ 21 | */ 22 | 23 | (function($,h,c){var a=$([]),e=$.resize=$.extend($.resize,{}),i,k="setTimeout",j="resize",d=j+"-special-event",b="delay",f="throttleWindow";e[b]=250;e[f]=true;$.event.special[j]={setup:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.add(l);$.data(this,d,{w:l.width(),h:l.height()});if(a.length===1){g()}},teardown:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.not(l);l.removeData(d);if(!a.length){clearTimeout(i)}},add:function(l){if(!e[f]&&this[k]){return false}var n;function m(s,o,p){var q=$(this),r=$.data(this,d);r.w=o!==c?o:q.width();r.h=p!==c?p:q.height();n.apply(this,arguments)}if($.isFunction(l)){n=l;return m}else{n=l.handler;l.handler=m}}};function g(){i=h[k](function(){a.each(function(){var n=$(this),m=n.width(),l=n.height(),o=$.data(this,d);if(m!==o.w||l!==o.h){n.trigger(j,[o.w=m,o.h=l])}});g()},e[b])}})(jQuery,this); 24 | 25 | (function ($) { 26 | var options = { }; // no options 27 | 28 | function init(plot) { 29 | function onResize() { 30 | var placeholder = plot.getPlaceholder(); 31 | 32 | // somebody might have hidden us and we can't plot 33 | // when we don't have the dimensions 34 | if (placeholder.width() == 0 || placeholder.height() == 0) 35 | return; 36 | 37 | plot.resize(); 38 | plot.setupGrid(); 39 | plot.draw(); 40 | } 41 | 42 | function bindEvents(plot, eventHolder) { 43 | plot.getPlaceholder().resize(onResize); 44 | } 45 | 46 | function shutdown(plot, eventHolder) { 47 | plot.getPlaceholder().unbind("resize", onResize); 48 | } 49 | 50 | plot.hooks.bindEvents.push(bindEvents); 51 | plot.hooks.shutdown.push(shutdown); 52 | } 53 | 54 | $.plot.plugins.push({ 55 | init: init, 56 | options: options, 57 | name: 'resize', 58 | version: '1.0' 59 | }); 60 | })(jQuery); 61 | -------------------------------------------------------------------------------- /static/js/plugins/flot/jquery.flot.symbol.js: -------------------------------------------------------------------------------- 1 | /* Flot plugin that adds some extra symbols for plotting points. 2 | 3 | Copyright (c) 2007-2014 IOLA and Ole Laursen. 4 | Licensed under the MIT license. 5 | 6 | The symbols are accessed as strings through the standard symbol options: 7 | 8 | series: { 9 | points: { 10 | symbol: "square" // or "diamond", "triangle", "cross" 11 | } 12 | } 13 | 14 | */ 15 | 16 | (function ($) { 17 | function processRawData(plot, series, datapoints) { 18 | // we normalize the area of each symbol so it is approximately the 19 | // same as a circle of the given radius 20 | 21 | var handlers = { 22 | square: function (ctx, x, y, radius, shadow) { 23 | // pi * r^2 = (2s)^2 => s = r * sqrt(pi)/2 24 | var size = radius * Math.sqrt(Math.PI) / 2; 25 | ctx.rect(x - size, y - size, size + size, size + size); 26 | }, 27 | diamond: function (ctx, x, y, radius, shadow) { 28 | // pi * r^2 = 2s^2 => s = r * sqrt(pi/2) 29 | var size = radius * Math.sqrt(Math.PI / 2); 30 | ctx.moveTo(x - size, y); 31 | ctx.lineTo(x, y - size); 32 | ctx.lineTo(x + size, y); 33 | ctx.lineTo(x, y + size); 34 | ctx.lineTo(x - size, y); 35 | }, 36 | triangle: function (ctx, x, y, radius, shadow) { 37 | // pi * r^2 = 1/2 * s^2 * sin (pi / 3) => s = r * sqrt(2 * pi / sin(pi / 3)) 38 | var size = radius * Math.sqrt(2 * Math.PI / Math.sin(Math.PI / 3)); 39 | var height = size * Math.sin(Math.PI / 3); 40 | ctx.moveTo(x - size/2, y + height/2); 41 | ctx.lineTo(x + size/2, y + height/2); 42 | if (!shadow) { 43 | ctx.lineTo(x, y - height/2); 44 | ctx.lineTo(x - size/2, y + height/2); 45 | } 46 | }, 47 | cross: function (ctx, x, y, radius, shadow) { 48 | // pi * r^2 = (2s)^2 => s = r * sqrt(pi)/2 49 | var size = radius * Math.sqrt(Math.PI) / 2; 50 | ctx.moveTo(x - size, y - size); 51 | ctx.lineTo(x + size, y + size); 52 | ctx.moveTo(x - size, y + size); 53 | ctx.lineTo(x + size, y - size); 54 | } 55 | }; 56 | 57 | var s = series.points.symbol; 58 | if (handlers[s]) 59 | series.points.symbol = handlers[s]; 60 | } 61 | 62 | function init(plot) { 63 | plot.hooks.processDatapoints.push(processRawData); 64 | } 65 | 66 | $.plot.plugins.push({ 67 | init: init, 68 | name: 'symbols', 69 | version: '1.0' 70 | }); 71 | })(jQuery); 72 | -------------------------------------------------------------------------------- /static/js/plugins/flot/jquery.flot.tooltip.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * jquery.flot.tooltip 3 | * 4 | * description: easy-to-use tooltips for Flot charts 5 | * version: 0.6.2 6 | * author: Krzysztof Urbas @krzysu [myviews.pl] 7 | * website: https://github.com/krzysu/flot.tooltip 8 | * 9 | * build on 2013-09-30 10 | * released under MIT License, 2012 11 | */ 12 | (function(t){var o={tooltip:!1,tooltipOpts:{content:"%s | X: %x | Y: %y",xDateFormat:null,yDateFormat:null,shifts:{x:10,y:20},defaultTheme:!0,onHover:function(){}}},i=function(t){this.tipPosition={x:0,y:0},this.init(t)};i.prototype.init=function(o){function i(t){var o={};o.x=t.pageX,o.y=t.pageY,s.updateTooltipPosition(o)}function e(t,o,i){var e=s.getDomElement();if(i){var n;n=s.stringFormat(s.tooltipOptions.content,i),e.html(n),s.updateTooltipPosition({x:o.pageX,y:o.pageY}),e.css({left:s.tipPosition.x+s.tooltipOptions.shifts.x,top:s.tipPosition.y+s.tooltipOptions.shifts.y}).show(),"function"==typeof s.tooltipOptions.onHover&&s.tooltipOptions.onHover(i,e)}else e.hide().html("")}var s=this;o.hooks.bindEvents.push(function(o,n){s.plotOptions=o.getOptions(),s.plotOptions.tooltip!==!1&&void 0!==s.plotOptions.tooltip&&(s.tooltipOptions=s.plotOptions.tooltipOpts,s.getDomElement(),t(o.getPlaceholder()).bind("plothover",e),t(n).bind("mousemove",i))}),o.hooks.shutdown.push(function(o,s){t(o.getPlaceholder()).unbind("plothover",e),t(s).unbind("mousemove",i)})},i.prototype.getDomElement=function(){var o;return t("#flotTip").length>0?o=t("#flotTip"):(o=t("
").attr("id","flotTip"),o.appendTo("body").hide().css({position:"absolute"}),this.tooltipOptions.defaultTheme&&o.css({background:"#fff","z-index":"100",padding:"0.4em 0.6em","border-radius":"0.5em","font-size":"0.8em",border:"1px solid #111",display:"none","white-space":"nowrap"})),o},i.prototype.updateTooltipPosition=function(o){var i=t("#flotTip").outerWidth()+this.tooltipOptions.shifts.x,e=t("#flotTip").outerHeight()+this.tooltipOptions.shifts.y;o.x-t(window).scrollLeft()>t(window).innerWidth()-i&&(o.x-=i),o.y-t(window).scrollTop()>t(window).innerHeight()-e&&(o.y-=e),this.tipPosition.x=o.x,this.tipPosition.y=o.y},i.prototype.stringFormat=function(t,o){var i=/%p\.{0,1}(\d{0,})/,e=/%s/,s=/%x\.{0,1}(?:\d{0,})/,n=/%y\.{0,1}(?:\d{0,})/;return"function"==typeof t&&(t=t(o.series.label,o.series.data[o.dataIndex][0],o.series.data[o.dataIndex][1],o)),o.series.percent!==void 0&&(t=this.adjustValPrecision(i,t,o.series.percent)),o.series.label!==void 0&&(t=t.replace(e,o.series.label)),this.isTimeMode("xaxis",o)&&this.isXDateFormat(o)&&(t=t.replace(s,this.timestampToDate(o.series.data[o.dataIndex][0],this.tooltipOptions.xDateFormat))),this.isTimeMode("yaxis",o)&&this.isYDateFormat(o)&&(t=t.replace(n,this.timestampToDate(o.series.data[o.dataIndex][1],this.tooltipOptions.yDateFormat))),"number"==typeof o.series.data[o.dataIndex][0]&&(t=this.adjustValPrecision(s,t,o.series.data[o.dataIndex][0])),"number"==typeof o.series.data[o.dataIndex][1]&&(t=this.adjustValPrecision(n,t,o.series.data[o.dataIndex][1])),o.series.xaxis.tickFormatter!==void 0&&(t=t.replace(s,o.series.xaxis.tickFormatter(o.series.data[o.dataIndex][0],o.series.xaxis))),o.series.yaxis.tickFormatter!==void 0&&(t=t.replace(n,o.series.yaxis.tickFormatter(o.series.data[o.dataIndex][1],o.series.yaxis))),t},i.prototype.isTimeMode=function(t,o){return o.series[t].options.mode!==void 0&&"time"===o.series[t].options.mode},i.prototype.isXDateFormat=function(){return this.tooltipOptions.xDateFormat!==void 0&&null!==this.tooltipOptions.xDateFormat},i.prototype.isYDateFormat=function(){return this.tooltipOptions.yDateFormat!==void 0&&null!==this.tooltipOptions.yDateFormat},i.prototype.timestampToDate=function(o,i){var e=new Date(o);return t.plot.formatDate(e,i)},i.prototype.adjustValPrecision=function(t,o,i){var e,s=o.match(t);return null!==s&&""!==RegExp.$1&&(e=RegExp.$1,i=i.toFixed(e),o=o.replace(t,i)),o};var e=function(t){new i(t)};t.plot.plugins.push({init:e,options:o,name:"tooltip",version:"0.6.1"})})(jQuery); 13 | -------------------------------------------------------------------------------- /static/js/plugins/gritter/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/gritter/images/Thumbs.db -------------------------------------------------------------------------------- /static/js/plugins/gritter/images/gritter-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/gritter/images/gritter-light.png -------------------------------------------------------------------------------- /static/js/plugins/gritter/images/gritter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/gritter/images/gritter.png -------------------------------------------------------------------------------- /static/js/plugins/gritter/images/ie-spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/gritter/images/ie-spacer.gif -------------------------------------------------------------------------------- /static/js/plugins/gritter/jquery.gritter.css: -------------------------------------------------------------------------------- 1 | /* the norm */ 2 | #gritter-notice-wrapper { 3 | position:fixed; 4 | top:40px; 5 | right:20px; 6 | width:301px; 7 | z-index:9999; 8 | 9 | -webkit-animation-duration: 1s; 10 | animation-duration: 1s; 11 | -webkit-animation-fill-mode: both; 12 | animation-fill-mode: both; 13 | 14 | -webkit-animation-name: bounceIn; 15 | animation-name: bounceIn; 16 | } 17 | @keyframes bounceIn { 18 | 0% { 19 | opacity: 0; 20 | -webkit-transform: scale(.3); 21 | -ms-transform: scale(.3); 22 | transform: scale(.3); 23 | } 24 | 25 | 50% { 26 | opacity: 1; 27 | -webkit-transform: scale(1.05); 28 | -ms-transform: scale(1.05); 29 | transform: scale(1.05); 30 | } 31 | 32 | 70% { 33 | -webkit-transform: scale(.9); 34 | -ms-transform: scale(.9); 35 | transform: scale(.9); 36 | } 37 | 38 | 100% { 39 | opacity: 1; 40 | -webkit-transform: scale(1); 41 | -ms-transform: scale(1); 42 | transform: scale(1); 43 | } 44 | } 45 | #gritter-notice-wrapper.top-left { 46 | left: 20px; 47 | right: auto; 48 | } 49 | #gritter-notice-wrapper.bottom-right { 50 | top: auto; 51 | left: auto; 52 | bottom: 20px; 53 | right: 20px; 54 | } 55 | #gritter-notice-wrapper.bottom-left { 56 | top: auto; 57 | right: auto; 58 | bottom: 20px; 59 | left: 20px; 60 | } 61 | .gritter-item-wrapper { 62 | position:relative; 63 | margin:0 0 10px 0; 64 | background:url('images/ie-spacer.gif'); /* ie7/8 fix */ 65 | } 66 | 67 | .hover .gritter-top { 68 | /*background-position:right -30px;*/ 69 | } 70 | .gritter-bottom { 71 | height:8px; 72 | margin:0; 73 | } 74 | 75 | .gritter-item { 76 | display:block; 77 | background-color: rgba(39,58,75,0.8); 78 | border-radius: 4px; 79 | color:#eee; 80 | padding:10px 11px 10px 11px; 81 | font-size: 11px; 82 | font-family:verdana; 83 | } 84 | .hover .gritter-item { 85 | background-position:right -40px; 86 | } 87 | .gritter-item p { 88 | padding:0; 89 | margin:0; 90 | word-wrap:break-word; 91 | } 92 | 93 | .gritter-item a:hover { 94 | color: #f8ac59; 95 | text-decoration: underline; 96 | } 97 | .gritter-close { 98 | display:none; 99 | position:absolute; 100 | top:5px; 101 | right:3px; 102 | background:url(images/gritter.png) no-repeat left top; 103 | cursor:pointer; 104 | width:30px; 105 | height:30px; 106 | text-indent:-9999em; 107 | } 108 | .gritter-title { 109 | font-size:12px; 110 | font-weight:bold; 111 | padding:0 0 7px 0; 112 | display:block; 113 | text-transform: uppercase; 114 | } 115 | .gritter-image { 116 | width:48px; 117 | height:48px; 118 | float:left; 119 | } 120 | .gritter-with-image, 121 | .gritter-without-image { 122 | padding:0; 123 | } 124 | .gritter-with-image { 125 | width:220px; 126 | float:right; 127 | } 128 | /* for the light (white) version of the gritter notice */ 129 | .gritter-light .gritter-item, 130 | .gritter-light .gritter-bottom, 131 | .gritter-light .gritter-top, 132 | .gritter-light .gritter-close { 133 | background-image: url(images/gritter-light.png); 134 | color: #222; 135 | } 136 | .gritter-light .gritter-title { 137 | text-shadow: none; 138 | } 139 | -------------------------------------------------------------------------------- /static/js/plugins/gritter/jquery.gritter.min.js: -------------------------------------------------------------------------------- 1 | (function(b){b.gritter={};b.gritter.options={position:"",class_name:"",fade_in_speed:"medium",fade_out_speed:1000,time:6000};b.gritter.add=function(f){try{return a.add(f||{})}catch(d){var c="Gritter Error: "+d;(typeof(console)!="undefined"&&console.error)?console.error(c,f):alert(c)}};b.gritter.remove=function(d,c){a.removeSpecific(d,c||{})};b.gritter.removeAll=function(c){a.stop(c||{})};var a={position:"",fade_in_speed:"",fade_out_speed:"",time:"",_custom_timer:0,_item_count:0,_is_setup:0,_tpl_close:'Close Notification',_tpl_title:'[[title]]',_tpl_item:'',_tpl_wrap:'
',add:function(g){if(typeof(g)=="string"){g={text:g}}if(g.text===null){throw'You must supply "text" parameter.'}if(!this._is_setup){this._runSetup()}var k=g.title,n=g.text,e=g.image||"",l=g.sticky||false,m=g.class_name||b.gritter.options.class_name,j=b.gritter.options.position,d=g.time||"";this._verifyWrapper();this._item_count++;var f=this._item_count,i=this._tpl_item;b(["before_open","after_open","before_close","after_close"]).each(function(p,q){a["_"+q+"_"+f]=(b.isFunction(g[q]))?g[q]:function(){}});this._custom_timer=0;if(d){this._custom_timer=d}var c=(e!="")?'image':"",h=(e!="")?"gritter-with-image":"gritter-without-image";if(k){k=this._str_replace("[[title]]",k,this._tpl_title)}else{k=""}i=this._str_replace(["[[title]]","[[text]]","[[close]]","[[image]]","[[number]]","[[class_name]]","[[item_class]]"],[k,n,this._tpl_close,c,this._item_count,h,m],i);if(this["_before_open_"+f]()===false){return false}b("#gritter-notice-wrapper").addClass(j).append(i);var o=b("#gritter-item-"+this._item_count);o.fadeIn(this.fade_in_speed,function(){a["_after_open_"+f](b(this))});if(!l){this._setFadeTimer(o,f)}b(o).bind("mouseenter mouseleave",function(p){if(p.type=="mouseenter"){if(!l){a._restoreItemIfFading(b(this),f)}}else{if(!l){a._setFadeTimer(b(this),f)}}a._hoverState(b(this),p.type)});b(o).find(".gritter-close").click(function(){a.removeSpecific(f,{},null,true);return false;});return f},_countRemoveWrapper:function(c,d,f){d.remove();this["_after_close_"+c](d,f);if(b(".gritter-item-wrapper").length==0){b("#gritter-notice-wrapper").remove()}},_fade:function(g,d,j,f){var j=j||{},i=(typeof(j.fade)!="undefined")?j.fade:true,c=j.speed||this.fade_out_speed,h=f;this["_before_close_"+d](g,h);if(f){g.unbind("mouseenter mouseleave")}if(i){g.animate({opacity:0},c,function(){g.animate({height:0},300,function(){a._countRemoveWrapper(d,g,h)})})}else{this._countRemoveWrapper(d,g)}},_hoverState:function(d,c){if(c=="mouseenter"){d.addClass("hover");d.find(".gritter-close").show()}else{d.removeClass("hover");d.find(".gritter-close").hide()}},removeSpecific:function(c,g,f,d){if(!f){var f=b("#gritter-item-"+c)}this._fade(f,c,g||{},d)},_restoreItemIfFading:function(d,c){clearTimeout(this["_int_id_"+c]);d.stop().css({opacity:"",height:""})},_runSetup:function(){for(opt in b.gritter.options){this[opt]=b.gritter.options[opt]}this._is_setup=1},_setFadeTimer:function(f,d){var c=(this._custom_timer)?this._custom_timer:this.time;this["_int_id_"+d]=setTimeout(function(){a._fade(f,d)},c)},stop:function(e){var c=(b.isFunction(e.before_close))?e.before_close:function(){};var f=(b.isFunction(e.after_close))?e.after_close:function(){};var d=b("#gritter-notice-wrapper");c(d);d.fadeOut(function(){b(this).remove();f()})},_str_replace:function(v,e,o,n){var k=0,h=0,t="",m="",g=0,q=0,l=[].concat(v),c=[].concat(e),u=o,d=c instanceof Array,p=u instanceof Array;u=[].concat(u);if(n){this.window[n]=0}for(k=0,g=u.length;k 2 | 3 | 4 | 5 | layDate Demo 6 | 7 | 15 | 16 | 17 |
18 | 演示一: 19 |
20 |
21 |
22 |  @Name:laydate-v 日期控件说明
23 |  @Author:贤心
24 |  @Blog:http://sentsin.com
25 |  @官网:http://sentsin.com/layui/laydate
26 |  @开发版源码:http://sentsin.com/lily/lib/laydate/laydate.dev.js
27 | 
28 | 【注意事项】
29 | 一、请千万勿移动laydate中的目录结构,它们具有完整的依赖体系。使用时,只需引入laydate/laydate.js即可。
30 | 二、如果您的网站的js采用合并或模块加载,您需要打开laydate.js,修改path。
31 | 三、laydate遵循LGPL开源协议,永不收费!
32 | 四、版权最终解释权:贤心。
33 | 
34 | 演示二: 35 |
36 |
37 |

现在,您已经看到了layDate的第一个版本了,路漫漫其修远兮,不管您的网站是否存有别的日期控件,但我相信总有一日您会对layDate情有独钟。

38 | 使用文档 39 | 皮肤库 40 | 更新日志 41 | 有问必答 42 |
43 | 44 | 55 | 56 | -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate-v1.1/layDate官网.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,2 3 | [InternetShortcut] 4 | URL=http://sentsin.com/layui/laydate/ 5 | IDList= 6 | HotKey=0 7 | -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate-v1.1/laydate/skins/dahong/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/layer/laydate-v1.1/laydate/skins/dahong/icon.png -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate-v1.1/laydate/skins/dahong/laydate.css: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | @Name: laydate皮肤:大红 4 | @Author:贤心 5 | @Site:http://sentsin.com/layui/laydate 6 | 7 | **/ 8 | 9 | .laydate-icon{border:1px solid #ccc; background-image:url(icon.png)} 10 | 11 | .laydate_body .laydate_bottom #laydate_hms, 12 | .laydate_body .laydate_time{border:1px solid #ccc;} 13 | 14 | .laydate_body .laydate_box, 15 | .laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);} 16 | 17 | .laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#333;} 18 | .laydate_body .laydate_box input{background:none!important; color:#fff;} 19 | .laydate_body .laydate_box .laydate_void{color:#ccc!important;} 20 | .laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;} 21 | .laydate_body .laydate_box a:hover{color:#666;} 22 | .laydate_body .laydate_click{background-color:#F32043!important; color:#fff!important;} 23 | .laydate_body .laydate_top{border-top:1px solid #D91600; background-color:#D91600} 24 | .laydate_body .laydate_ym{border:1px solid #D91600; background-color:#D91600;} 25 | .laydate_body .laydate_ym .laydate_yms{border:1px solid #D91600; background-color:#D91600; color:#fff;} 26 | .laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #D91600;} 27 | .laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #D91600; border-bottom:none;} 28 | .laydate_body .laydate_choose{border-left:1px solid #D91600;} 29 | .laydate_body .laydate_chprev{border-left:none; border-right:1px solid #D91600;} 30 | .laydate_body .laydate_choose:hover, 31 | .laydate_body .laydate_y .laydate_yms a:hover{background-color:#F54766;} 32 | .laydate_body .laydate_chtop cite{border-bottom-color:#fff;} 33 | .laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;} 34 | .laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;} 35 | .laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;} 36 | .laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;} 37 | .laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#333;} 38 | .laydate_body .laydate_table .laydate_nothis{color:#999;} 39 | .laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;} 40 | .laydate_body .laydate_table thead th{} 41 | .laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;} 42 | .laydate_body .laydate_bottom #laydate_hms{background-color:#fff;} 43 | .laydate_body .laydate_time{background-color:#fff;} 44 | .laydate_body .laydate_time1{width: 226px!important; height: 152px!important;} 45 | .laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;} 46 | .laydate_body .laydate_bottom input{background-color:#fff; color:#333;} 47 | .laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;} 48 | .laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;} 49 | .laydate_body .laydate_bottom .laydate_v{color:#999} 50 | .laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;} 51 | .laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#333;} 52 | 53 | .laydate_body .laydate_m .laydate_yms span:hover, 54 | .laydate_body .laydate_time .laydate_hmsno span:hover, 55 | .laydate_body .laydate_y .laydate_yms ul li:hover, 56 | .laydate_body .laydate_table td:hover{background-color:#F54766; color:#fff;} 57 | 58 | 59 | -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate-v1.1/laydate/skins/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/layer/laydate-v1.1/laydate/skins/default/icon.png -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate-v1.1/laydate/skins/default/laydate.css: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | @Name: laydate皮肤:默认 4 | @Author:贤心 5 | @Site:http://sentsin.com/layui/laydate 6 | 7 | **/ 8 | 9 | .laydate-icon{border:1px solid #C6C6C6; background-image:url(icon.png)} 10 | 11 | .laydate_body .laydate_box, 12 | .laydate_body .laydate_ym, 13 | .laydate_body .laydate_ym .laydate_yms, 14 | .laydate_body .laydate_table, 15 | .laydate_body .laydate_table td, 16 | .laydate_body .laydate_bottom #laydate_hms, 17 | .laydate_body .laydate_time, 18 | .laydate_body .laydate_bottom .laydate_btn a{border:1px solid #ccc;} 19 | 20 | .laydate_body .laydate_y .laydate_yms a, 21 | .laydate_body .laydate_choose, 22 | .laydate_body .laydate_table thead, 23 | .laydate_body .laydate_bottom .laydte_hsmtex{background-color:#F6F6F6;} 24 | 25 | .laydate_body .laydate_box, 26 | .laydate_body .laydate_ym .laydate_yms, 27 | .laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);} 28 | 29 | .laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#333;} 30 | .laydate_body .laydate_box input{color:#333;} 31 | .laydate_body .laydate_box .laydate_void{color:#ccc!important; /*text-decoration:line-through;*/} 32 | .laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important} 33 | .laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;} 34 | .laydate_body .laydate_box a:hover{color:#666;} 35 | .laydate_body .laydate_click{background-color:#eee!important;} 36 | .laydate_body .laydate_top{border-top:1px solid #C6C6C6;} 37 | .laydate_body .laydate_ym .laydate_yms{border:1px solid #C6C6C6; background-color:#fff;} 38 | .laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #C6C6C6;} 39 | .laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #C6C6C6; border-bottom:none;} 40 | .laydate_body .laydate_choose{border-left:1px solid #C6C6C6;} 41 | .laydate_body .laydate_chprev{border-left:none; border-right:1px solid #C6C6C6;} 42 | .laydate_body .laydate_choose:hover, 43 | .laydate_body .laydate_y .laydate_yms a:hover{background-color:#fff;} 44 | .laydate_body .laydate_chtop cite{border-bottom-color:#666;} 45 | .laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#666;} 46 | .laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#666;} 47 | .laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#666;} 48 | .laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff;} 49 | .laydate_body .laydate_table .laydate_nothis{color:#999;} 50 | .laydate_body .laydate_table thead{height:21px!important; line-height:21px!important;} 51 | .laydate_body .laydate_table thead th{border-bottom:1px solid #ccc;} 52 | .laydate_body .laydate_bottom{border-bottom:1px solid #C6C6C6;} 53 | .laydate_body .laydate_bottom #laydate_hms{background-color:#fff;} 54 | .laydate_body .laydate_time{background-color:#fff;} 55 | .laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #C6C6C6; background-color:#F6F6F6;} 56 | .laydate_body .laydate_bottom input{background-color:#fff;} 57 | .laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #C6C6C6;} 58 | .laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #C6C6C6;} 59 | .laydate_body .laydate_bottom .laydate_v{color:#999} 60 | .laydate_body .laydate_bottom .laydate_btn a{border-right:none; background-color:#F6F6F6;} 61 | .laydate_body .laydate_bottom .laydate_btn a:hover{color:#000; background-color:#fff;} 62 | 63 | .laydate_body .laydate_m .laydate_yms span:hover, 64 | .laydate_body .laydate_y .laydate_yms ul li:hover, 65 | .laydate_body .laydate_table td:hover, 66 | .laydate_body .laydate_time .laydate_hmsno span:hover{background-color:#F3F3F3} 67 | 68 | 69 | -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate-v1.1/laydate/skins/molv/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/layer/laydate-v1.1/laydate/skins/molv/icon.png -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate-v1.1/laydate/skins/molv/laydate.css: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | @Name: laydate皮肤:墨绿 4 | @Author:贤心 5 | @Site:http://sentsin.com/layui/laydate 6 | 7 | **/ 8 | 9 | .laydate-icon{border:1px solid #ccc; background-image:url(icon.png)} 10 | 11 | .laydate_body .laydate_bottom #laydate_hms, 12 | .laydate_body .laydate_time{border:1px solid #ccc;} 13 | 14 | .laydate_body .laydate_box, 15 | .laydate_body .laydate_ym .laydate_yms, 16 | .laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);} 17 | 18 | .laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#00625A;} 19 | .laydate_body .laydate_box input{background:none!important; color:#fff;} 20 | .laydate_body .laydate_box .laydate_void{color:#00E8D7!important;} 21 | .laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#00625A;} 22 | .laydate_body .laydate_box a:hover{color:#666;} 23 | .laydate_body .laydate_click{background-color:#009F95!important; color:#fff!important;} 24 | .laydate_body .laydate_top{border-top:1px solid #009F95; background-color:#009F95} 25 | .laydate_body .laydate_ym{border:1px solid #009F95; background-color:#009F95;} 26 | .laydate_body .laydate_ym .laydate_yms{border:1px solid #009F95; background-color:#009F95; color:#fff;} 27 | .laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #009F95;} 28 | .laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #009F95; border-bottom:none;} 29 | .laydate_body .laydate_choose{border-left:1px solid #009F95;} 30 | .laydate_body .laydate_chprev{border-left:none; border-right:1px solid #009F95;} 31 | .laydate_body .laydate_choose:hover, 32 | .laydate_body .laydate_y .laydate_yms a:hover{background-color:#00C1B3;} 33 | .laydate_body .laydate_chtop cite{border-bottom-color:#fff;} 34 | .laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;} 35 | .laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;} 36 | .laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;} 37 | .laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;} 38 | .laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#00625A;} 39 | .laydate_body .laydate_table .laydate_nothis{color:#999;} 40 | .laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;} 41 | .laydate_body .laydate_table thead th{} 42 | .laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;} 43 | .laydate_body .laydate_bottom #laydate_hms{background-color:#fff;} 44 | .laydate_body .laydate_time{background-color:#fff;} 45 | .laydate_body .laydate_time1{width: 226px!important; height: 152px!important;} 46 | .laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;} 47 | .laydate_body .laydate_bottom input{background-color:#fff; color:#00625A;} 48 | .laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;} 49 | .laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;} 50 | .laydate_body .laydate_bottom .laydate_v{color:#999} 51 | .laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;} 52 | .laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#00625A;} 53 | 54 | .laydate_body .laydate_m .laydate_yms span:hover, 55 | .laydate_body .laydate_time .laydate_hmsno span:hover, 56 | .laydate_body .laydate_y .laydate_yms ul li:hover, 57 | .laydate_body .laydate_table td:hover{background-color:#00C1B3; color:#fff;} 58 | 59 | 60 | -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate-v1.1/更新日志.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/layer/laydate-v1.1/更新日志.txt -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate/skins/dahong/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/layer/laydate/skins/dahong/icon.png -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate/skins/dahong/laydate.css: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | @Name: laydate皮肤:大红 4 | @Author:贤心 5 | @Site:http://sentsin.com/layui/laydate 6 | 7 | **/ 8 | 9 | .laydate-icon{border:1px solid #ccc; background-image:url(icon.png)} 10 | 11 | .laydate_body .laydate_bottom #laydate_hms, 12 | .laydate_body .laydate_time{border:1px solid #ccc;} 13 | 14 | .laydate_body .laydate_box, 15 | .laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);} 16 | 17 | .laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#333;} 18 | .laydate_body .laydate_box input{background:none!important; color:#fff;} 19 | .laydate_body .laydate_box .laydate_void{color:#ccc!important;} 20 | .laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;} 21 | .laydate_body .laydate_box a:hover{color:#666;} 22 | .laydate_body .laydate_click{background-color:#F32043!important; color:#fff!important;} 23 | .laydate_body .laydate_top{border-top:1px solid #D91600; background-color:#D91600} 24 | .laydate_body .laydate_ym{border:1px solid #D91600; background-color:#D91600;} 25 | .laydate_body .laydate_ym .laydate_yms{border:1px solid #D91600; background-color:#D91600; color:#fff;} 26 | .laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #D91600;} 27 | .laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #D91600; border-bottom:none;} 28 | .laydate_body .laydate_choose{border-left:1px solid #D91600;} 29 | .laydate_body .laydate_chprev{border-left:none; border-right:1px solid #D91600;} 30 | .laydate_body .laydate_choose:hover, 31 | .laydate_body .laydate_y .laydate_yms a:hover{background-color:#F54766;} 32 | .laydate_body .laydate_chtop cite{border-bottom-color:#fff;} 33 | .laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;} 34 | .laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;} 35 | .laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;} 36 | .laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;} 37 | .laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#333;} 38 | .laydate_body .laydate_table .laydate_nothis{color:#999;} 39 | .laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;} 40 | .laydate_body .laydate_table thead th{} 41 | .laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;} 42 | .laydate_body .laydate_bottom #laydate_hms{background-color:#fff;} 43 | .laydate_body .laydate_time{background-color:#fff;} 44 | .laydate_body .laydate_time1{width: 226px!important; height: 152px!important;} 45 | .laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;} 46 | .laydate_body .laydate_bottom input{background-color:#fff; color:#333;} 47 | .laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;} 48 | .laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;} 49 | .laydate_body .laydate_bottom .laydate_v{color:#999} 50 | .laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;} 51 | .laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#333;} 52 | 53 | .laydate_body .laydate_m .laydate_yms span:hover, 54 | .laydate_body .laydate_time .laydate_hmsno span:hover, 55 | .laydate_body .laydate_y .laydate_yms ul li:hover, 56 | .laydate_body .laydate_table td:hover{background-color:#F54766; color:#fff;} 57 | 58 | 59 | -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate/skins/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/layer/laydate/skins/default/icon.png -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate/skins/default/laydate.css: -------------------------------------------------------------------------------- 1 |  2 | 3 | .laydate-icon{border:1px solid #ccc; background-image:url(icon.png)} 4 | 5 | .laydate_body .laydate_bottom #laydate_hms, 6 | .laydate_body .laydate_time{border:1px solid #ccc;} 7 | 8 | .laydate_body .laydate_box, 9 | .laydate_body .laydate_ym .laydate_yms, 10 | .laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);} 11 | 12 | .laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#00625A;} 13 | .laydate_body .laydate_box input{background:none!important; color:#fff;} 14 | .laydate_body .laydate_box .laydate_void{color:#00E8D7!important;} 15 | .laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#00625A;} 16 | .laydate_body .laydate_box a:hover{color:#666;} 17 | .laydate_body .laydate_click{background-color:#009F95!important; color:#fff!important;} 18 | .laydate_body .laydate_top{border-top:1px solid #009F95; background-color:#009F95} 19 | .laydate_body .laydate_ym{border:1px solid #009F95; background-color:#009F95;} 20 | .laydate_body .laydate_ym .laydate_yms{border:1px solid #009F95; background-color:#009F95; color:#fff;} 21 | .laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #009F95;} 22 | .laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #009F95; border-bottom:none;} 23 | .laydate_body .laydate_choose{border-left:1px solid #009F95;} 24 | .laydate_body .laydate_chprev{border-left:none; border-right:1px solid #009F95;} 25 | .laydate_body .laydate_choose:hover, 26 | .laydate_body .laydate_y .laydate_yms a:hover{background-color:#00C1B3;} 27 | .laydate_body .laydate_chtop cite{border-bottom-color:#fff;} 28 | .laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;} 29 | .laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;} 30 | .laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;} 31 | .laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;} 32 | .laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#00625A;} 33 | .laydate_body .laydate_table .laydate_nothis{color:#999;} 34 | .laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;} 35 | .laydate_body .laydate_table thead th{} 36 | .laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;} 37 | .laydate_body .laydate_bottom #laydate_hms{background-color:#fff;} 38 | .laydate_body .laydate_time{background-color:#fff;} 39 | .laydate_body .laydate_time1{width: 226px!important; height: 152px!important;} 40 | .laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;} 41 | .laydate_body .laydate_bottom input{background-color:#fff; color:#00625A;} 42 | .laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;} 43 | .laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;} 44 | .laydate_body .laydate_bottom .laydate_v{color:#999} 45 | .laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;} 46 | .laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#00625A;} 47 | 48 | .laydate_body .laydate_m .laydate_yms span:hover, 49 | .laydate_body .laydate_time .laydate_hmsno span:hover, 50 | .laydate_body .laydate_y .laydate_yms ul li:hover, 51 | .laydate_body .laydate_table td:hover{background-color:#00C1B3; color:#fff;} 52 | 53 | 54 | -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate/skins/molv/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/layer/laydate/skins/molv/icon.png -------------------------------------------------------------------------------- /static/js/plugins/layer/laydate/skins/molv/laydate.css: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | @Name: laydate皮肤:墨绿 4 | @Author:贤心 5 | @Site:http://sentsin.com/layui/laydate 6 | 7 | **/ 8 | 9 | .laydate-icon{border:1px solid #ccc; background-image:url(icon.png)} 10 | 11 | .laydate_body .laydate_bottom #laydate_hms, 12 | .laydate_body .laydate_time{border:1px solid #ccc;} 13 | 14 | .laydate_body .laydate_box, 15 | .laydate_body .laydate_ym .laydate_yms, 16 | .laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);} 17 | 18 | .laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#00625A;} 19 | .laydate_body .laydate_box input{background:none!important; color:#fff;} 20 | .laydate_body .laydate_box .laydate_void{color:#00E8D7!important;} 21 | .laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#00625A;} 22 | .laydate_body .laydate_box a:hover{color:#666;} 23 | .laydate_body .laydate_click{background-color:#009F95!important; color:#fff!important;} 24 | .laydate_body .laydate_top{border-top:1px solid #009F95; background-color:#009F95} 25 | .laydate_body .laydate_ym{border:1px solid #009F95; background-color:#009F95;} 26 | .laydate_body .laydate_ym .laydate_yms{border:1px solid #009F95; background-color:#009F95; color:#fff;} 27 | .laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #009F95;} 28 | .laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #009F95; border-bottom:none;} 29 | .laydate_body .laydate_choose{border-left:1px solid #009F95;} 30 | .laydate_body .laydate_chprev{border-left:none; border-right:1px solid #009F95;} 31 | .laydate_body .laydate_choose:hover, 32 | .laydate_body .laydate_y .laydate_yms a:hover{background-color:#00C1B3;} 33 | .laydate_body .laydate_chtop cite{border-bottom-color:#fff;} 34 | .laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;} 35 | .laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;} 36 | .laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;} 37 | .laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;} 38 | .laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#00625A;} 39 | .laydate_body .laydate_table .laydate_nothis{color:#999;} 40 | .laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;} 41 | .laydate_body .laydate_table thead th{} 42 | .laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;} 43 | .laydate_body .laydate_bottom #laydate_hms{background-color:#fff;} 44 | .laydate_body .laydate_time{background-color:#fff;} 45 | .laydate_body .laydate_time1{width: 226px!important; height: 152px!important;} 46 | .laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;} 47 | .laydate_body .laydate_bottom input{background-color:#fff; color:#00625A;} 48 | .laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;} 49 | .laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;} 50 | .laydate_body .laydate_bottom .laydate_v{color:#999} 51 | .laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;} 52 | .laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#00625A;} 53 | 54 | .laydate_body .laydate_m .laydate_yms span:hover, 55 | .laydate_body .laydate_time .laydate_hmsno span:hover, 56 | .laydate_body .laydate_y .laydate_yms ul li:hover, 57 | .laydate_body .laydate_table td:hover{background-color:#00C1B3; color:#fff;} 58 | 59 | 60 | -------------------------------------------------------------------------------- /static/js/plugins/layer/layim/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/static/js/plugins/layer/layim/loading.gif -------------------------------------------------------------------------------- /static/js/plugins/layer/skin/layer.ext.css: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | @Name: layer拓展样式 4 | @Date: 2012.12.13 5 | @Author: 贤心 6 | @blog: sentsin.com 7 | 8 | */.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span{text-overflow:ellipsis;white-space:nowrap}.layui-layer-iconext{background:url(default/icon-ext.png) no-repeat}html #layui_layer_skinlayerextcss{display:none;position:absolute;width:1989px}.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden}.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.xubox_tab_layer{display:block}.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer}.layui-layer-photos{-webkit-animation-duration:1s;animation-duration:1s;background:url(default/xubox_loading1.gif) center center no-repeat #000}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal} 9 | -------------------------------------------------------------------------------- /static/js/plugins/layer/skin/moon/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | * layer皮肤 3 | * 作者:一☆隐☆一 4 | * QQ:9073194 5 | * 请保留这里的信息 谢谢!虽然你不保留我也不能把你怎么样! 6 | */ 7 | 8 | html #layui_layer_skinmoonstylecss { 9 | display: none; 10 | position: absolute; 11 | width: 1989px; 12 | } 13 | body .layer-ext-moon[type="dialog"] { 14 | min-width: 320px; 15 | } 16 | body .layer-ext-moon-msg[type="dialog"]{min-width:200px;} 17 | body .layer-ext-moon .layui-layer-title { 18 | background: #f6f6f6; 19 | color: #212a31; 20 | font-size: 16px; 21 | font-weight: bold; 22 | height: 46px; 23 | line-height: 46px; 24 | } 25 | 26 | 27 | 28 | body .layer-ext-moon .layui-layer-content .layui-layer-ico { 29 | height: 32px; 30 | width: 32px; 31 | top:18.5px; 32 | } 33 | body .layer-ext-moon .layui-layer-ico0 { 34 | background: url(default.png) no-repeat -96px 0; 35 | ; 36 | } 37 | body .layer-ext-moon .layui-layer-ico1 { 38 | background: url(default.png) no-repeat -224px 0; 39 | ; 40 | } 41 | body .layer-ext-moon .layui-layer-ico2 { 42 | background: url(default.png) no-repeat -192px 0; 43 | } 44 | body .layer-ext-moon .layui-layer-ico3 { 45 | background: url(default.png) no-repeat -160px 0; 46 | } 47 | body .layer-ext-moon .layui-layer-ico4 { 48 | background: url(default.png) no-repeat -320px 0; 49 | } 50 | body .layer-ext-moon .layui-layer-ico5 { 51 | background: url(default.png) no-repeat -288px 0; 52 | } 53 | body .layer-ext-moon .layui-layer-ico6 { 54 | background: url(default.png) -256px 0; 55 | } 56 | body .layer-ext-moon .layui-layer-ico7 { 57 | background: url(default.png) no-repeat -128px 0; 58 | } 59 | body .layer-ext-moon .layui-layer-setwin { 60 | top: 15px; 61 | right: 15px; 62 | } 63 | body .layer-ext-moon .layui-layer-setwin a { 64 | width: 16px; 65 | height: 16px; 66 | } 67 | body .layer-ext-moon .layui-layer-setwin .layui-layer-min cite:hover { 68 | background-color: #56abe4; 69 | } 70 | body .layer-ext-moon .layui-layer-setwin .layui-layer-max { 71 | background: url(default.png) no-repeat -80px 0; 72 | } 73 | body .layer-ext-moon .layui-layer-setwin .layui-layer-max:hover { 74 | background: url(default.png) no-repeat -64px 0; 75 | } 76 | body .layer-ext-moon .layui-layer-setwin .layui-layer-maxmin { 77 | background: url(default.png) no-repeat -32px 0; 78 | } 79 | body .layer-ext-moon .layui-layer-setwin .layui-layer-maxmin:hover { 80 | background: url(default.png) no-repeat -16px 0; 81 | } 82 | body .layer-ext-moon .layui-layer-setwin .layui-layer-close1,body .layer-ext-moon .layui-layer-setwin .layui-layer-close2 { 83 | background: url(default.png) 0 0; 84 | } 85 | body .layer-ext-moon .layui-layer-setwin .layui-layer-close1:hover,body .layer-ext-moon .layui-layer-setwin .layui-layer-close2:hover { 86 | background: url(default.png) -48px 0; 87 | } 88 | body .layer-ext-moon .layui-layer-padding{padding-top: 24px;} 89 | body .layer-ext-moon .layui-layer-btn { 90 | padding: 15px 0; 91 | background: #f0f4f7; 92 | border-top: 1px #c7c7c7 solid; 93 | } 94 | body .layer-ext-moon .layui-layer-btn a { 95 | font-size: 12px; 96 | font-weight: normal; 97 | margin: 0 3px; 98 | margin-right: 7px; 99 | margin-left: 7px; 100 | padding: 6px 20px; 101 | color: #fff; 102 | border: 1px solid #0064b6; 103 | background: #0071ce; 104 | border-radius: 3px; 105 | display: inline-block; 106 | height: 20px; 107 | line-height: 20px; 108 | text-align: center; 109 | vertical-align: middle; 110 | background-repeat: no-repeat; 111 | text-decoration: none; 112 | outline: none; 113 | -moz-box-sizing: content-box; 114 | -webkit-box-sizing: content-box; 115 | box-sizing: content-box; 116 | } 117 | body .layer-ext-moon .layui-layer-btn .layui-layer-btn0 { 118 | background: #0071ce; 119 | } 120 | body .layer-ext-moon .layui-layer-btn .layui-layer-btn1 { 121 | background: #fff; 122 | color: #404a58; 123 | border: 1px solid #c0c4cd; 124 | border-radius: 3px; 125 | } 126 | body .layer-ext-moon .layui-layer-btn .layui-layer-btn2 { 127 | background: #f60; 128 | color: #fff; 129 | border: 1px solid #f60; 130 | border-radius: 3px; 131 | } 132 | body .layer-ext-moon .layui-layer-btn .layui-layer-btn3 { 133 | background: #f00; 134 | color: #fff; 135 | border: 1px solid #f00; 136 | border-radius: 3px; 137 | } 138 | 139 | body .layer-ext-moon .layui-layer-title span.layui-layer-tabnow{ 140 | height:46px; 141 | } 142 | -------------------------------------------------------------------------------- /static/js/plugins/markdown/bootstrap-markdown.zh.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Chinese translation for bootstrap-markdown 3 | * benhaile 4 | */ 5 | (function ($) { 6 | $.fn.markdown.messages.zh = { 7 | 'Bold': "粗体", 8 | 'Italic': "斜体", 9 | 'Heading': "标题", 10 | 'URL/Link': "链接", 11 | 'Image': "图片", 12 | 'List': "列表", 13 | 'Unordered List': "无序列表", 14 | 'Ordered List': "有序列表", 15 | 'Code': "代码", 16 | 'Quote': "引用", 17 | 'Preview': "预览", 18 | 'strong text': "粗体", 19 | 'emphasized text': "强调", 20 | 'heading text': "标题", 21 | 'enter link description here': "输入链接说明", 22 | 'Insert Hyperlink': "URL地址", 23 | 'enter image description here': "输入图片说明", 24 | 'Insert Image Hyperlink': "图片URL地址", 25 | 'enter image title here': "在这里输入图片标题", 26 | 'list text here': "这里是列表文本", 27 | 'code text here': "这里输入代码", 28 | 'quote here': "这里输入引用文本" 29 | 30 | 31 | }; 32 | }(jQuery)); 33 | -------------------------------------------------------------------------------- /static/js/plugins/metisMenu/jquery.metisMenu.js: -------------------------------------------------------------------------------- 1 | /* 2 | * metismenu - v1.1.3 3 | * Easy menu jQuery plugin for Twitter Bootstrap 3 4 | * https://github.com/onokumus/metisMenu 5 | * 6 | * Made by Osman Nuri Okumus 7 | * Under MIT License 8 | */ 9 | ;(function($, window, document, undefined) { 10 | 11 | var pluginName = "metisMenu", 12 | defaults = { 13 | toggle: true, 14 | doubleTapToGo: false 15 | }; 16 | 17 | function Plugin(element, options) { 18 | this.element = $(element); 19 | this.settings = $.extend({}, defaults, options); 20 | this._defaults = defaults; 21 | this._name = pluginName; 22 | this.init(); 23 | } 24 | 25 | Plugin.prototype = { 26 | init: function() { 27 | 28 | var $this = this.element, 29 | $toggle = this.settings.toggle, 30 | obj = this; 31 | 32 | if (this.isIE() <= 9) { 33 | $this.find("li.active").has("ul").children("ul").collapse("show"); 34 | $this.find("li").not(".active").has("ul").children("ul").collapse("hide"); 35 | } else { 36 | $this.find("li.active").has("ul").children("ul").addClass("collapse in"); 37 | $this.find("li").not(".active").has("ul").children("ul").addClass("collapse"); 38 | } 39 | 40 | //add the "doubleTapToGo" class to active items if needed 41 | if (obj.settings.doubleTapToGo) { 42 | $this.find("li.active").has("ul").children("a").addClass("doubleTapToGo"); 43 | } 44 | 45 | $this.find("li").has("ul").children("a").on("click" + "." + pluginName, function(e) { 46 | e.preventDefault(); 47 | 48 | //Do we need to enable the double tap 49 | if (obj.settings.doubleTapToGo) { 50 | 51 | //if we hit a second time on the link and the href is valid, navigate to that url 52 | if (obj.doubleTapToGo($(this)) && $(this).attr("href") !== "#" && $(this).attr("href") !== "") { 53 | e.stopPropagation(); 54 | document.location = $(this).attr("href"); 55 | return; 56 | } 57 | } 58 | 59 | $(this).parent("li").toggleClass("active").children("ul").collapse("toggle"); 60 | 61 | if ($toggle) { 62 | $(this).parent("li").siblings().removeClass("active").children("ul.in").collapse("hide"); 63 | } 64 | 65 | }); 66 | }, 67 | 68 | isIE: function() { //https://gist.github.com/padolsey/527683 69 | var undef, 70 | v = 3, 71 | div = document.createElement("div"), 72 | all = div.getElementsByTagName("i"); 73 | 74 | while ( 75 | div.innerHTML = "", 76 | all[0] 77 | ) { 78 | return v > 4 ? v : undef; 79 | } 80 | }, 81 | 82 | //Enable the link on the second click. 83 | doubleTapToGo: function(elem) { 84 | var $this = this.element; 85 | 86 | //if the class "doubleTapToGo" exists, remove it and return 87 | if (elem.hasClass("doubleTapToGo")) { 88 | elem.removeClass("doubleTapToGo"); 89 | return true; 90 | } 91 | 92 | //does not exists, add a new class and return false 93 | if (elem.parent().children("ul").length) { 94 | //first remove all other class 95 | $this.find(".doubleTapToGo").removeClass("doubleTapToGo"); 96 | //add the class on the current element 97 | elem.addClass("doubleTapToGo"); 98 | return false; 99 | } 100 | }, 101 | 102 | remove: function() { 103 | this.element.off("." + pluginName); 104 | this.element.removeData(pluginName); 105 | } 106 | 107 | }; 108 | 109 | $.fn[pluginName] = function(options) { 110 | this.each(function () { 111 | var el = $(this); 112 | if (el.data(pluginName)) { 113 | el.data(pluginName).remove(); 114 | } 115 | el.data(pluginName, new Plugin(this, options)); 116 | }); 117 | return this; 118 | }; 119 | 120 | })(jQuery, window, document); 121 | -------------------------------------------------------------------------------- /static/js/plugins/peity/jquery.peity.min.js: -------------------------------------------------------------------------------- 1 | // Peity jQuery plugin version 2.0.3 2 | // (c) 2014 Ben Pickles 3 | // 4 | // http://benpickles.github.io/peity 5 | // 6 | // Released under MIT license. 7 | (function(e,q,h){var o=function(a,b){var c=q.createElementNS("http://www.w3.org/2000/svg",a);e.each(b,function(a,b){c.setAttribute(a,b)});return c},t="createElementNS"in q&&o("svg",{}).createSVGRect,r=1/(window.devicePixelRatio||1),j=e.fn.peity=function(a,b){t&&this.each(function(){var c=e(this),d=c.data("peity");if(d)a&&(d.type=a),e.extend(d.opts,b);else{var f=j.defaults[a],g={};e.each(c.data(),function(a,b){a in f&&(g[a]=b)});var h=e.extend({},f,g,b),d=new s(c,a,h);c.change(function(){d.draw()}).data("peity", 8 | d)}d.draw()});return this},s=function(a,b,c){this.$el=a;this.type=b;this.opts=c},m=s.prototype;m.draw=function(){j.graphers[this.type].call(this,this.opts)};m.fill=function(){var a=this.opts.fill,b=a;e.isFunction(b)||(b=function(b,d){return a[d%a.length]});return b};m.prepare=function(a,b){var c;this.svg?c=e(this.svg).empty():(this.svg=o("svg",{"class":"peity"}),this.$el.hide().after(this.svg),c=e(this.svg).data("peity",this));this.svg.setAttribute("height",b);this.svg.setAttribute("width",a);return c}; 9 | m.values=function(){return e.map(this.$el.text().split(this.opts.delimiter),function(a){return parseFloat(a)})};j.defaults={};j.graphers={};j.register=function(a,b,c){this.defaults[a]=b;this.graphers[a]=c};j.register("pie",{delimiter:null,diameter:16,fill:["#ff9900","#fff4dd","#ffc66e"]},function(a){if(!a.delimiter){var b=this.$el.text().match(/[^0-9\.]/);a.delimiter=b?b[0]:","}b=this.values();if("/"==a.delimiter)var c=b[0],b=[c,h.max(0,b[1]-c)];for(var d=0,c=b.length,f=0;de?1:0,1,q,r,"Z"].join(" ")});i=l}k.setAttribute("fill",j.call(this,n,d,b));this.svg.appendChild(k)}}});j.register("line",{delimiter:",",fill:"#c6d9fd",height:16,max:null, 11 | min:0,stroke:"#4d89f9",strokeWidth:1,width:32},function(a){var b=this.values();1==b.length&&b.push(b[0]);for(var c=h.max.apply(h,b.concat([a.max])),d=h.min.apply(h,b.concat([a.min])),f=this.prepare(a.width,a.height),g=f.width(),f=f.height()-a.strokeWidth,e=g/(b.length-1),c=c-d,j=0==c?f:f/c,m=f+d*j,c=[0,m],i=0;i=d&&0k&&(l+=k,k=-k);n=o("rect",{fill:m.call(this,n,i,b),x:i*g,y:l,width:g-a,height:k});this.svg.appendChild(n)}})})(jQuery,document,Math); 14 | -------------------------------------------------------------------------------- /static/js/plugins/preetyTextDiff/jquery.pretty-text-diff.min.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | 3 | /* 4 | @preserve jQuery.PrettyTextDiff 1.0.4 5 | See https://github.com/arnab/jQuery.PrettyTextDiff/ 6 | */ 7 | 8 | (function() { 9 | var $; 10 | 11 | $ = jQuery; 12 | 13 | $.fn.extend({ 14 | prettyTextDiff: function(options) { 15 | var dmp, settings; 16 | settings = { 17 | originalContainer: ".original", 18 | changedContainer: ".changed", 19 | diffContainer: ".diff", 20 | cleanup: true, 21 | debug: false 22 | }; 23 | settings = $.extend(settings, options); 24 | $.fn.prettyTextDiff.debug("Options: ", settings, settings); 25 | dmp = new diff_match_patch(); 26 | return this.each(function() { 27 | var changed, diff_as_html, diffs, original; 28 | if (settings.originalContent && settings.changedContent) { 29 | original = $('
').html(settings.originalContent).text(); 30 | changed = $('
').html(settings.changedContent).text(); 31 | } else { 32 | original = $(settings.originalContainer, this).text(); 33 | changed = $(settings.changedContainer, this).text(); 34 | } 35 | $.fn.prettyTextDiff.debug("Original text found: ", original, settings); 36 | $.fn.prettyTextDiff.debug("Changed text found: ", changed, settings); 37 | diffs = dmp.diff_main(original, changed); 38 | if (settings.cleanup) { 39 | dmp.diff_cleanupSemantic(diffs); 40 | } 41 | $.fn.prettyTextDiff.debug("Diffs: ", diffs, settings); 42 | diff_as_html = $.map(diffs, function(diff) { 43 | return $.fn.prettyTextDiff.createHTML(diff); 44 | }); 45 | $(settings.diffContainer, this).html(diff_as_html.join('')); 46 | return this; 47 | }); 48 | } 49 | }); 50 | 51 | $.fn.prettyTextDiff.debug = function(message, object, settings) { 52 | if (settings.debug) { 53 | return console.log(message, object); 54 | } 55 | }; 56 | 57 | $.fn.prettyTextDiff.createHTML = function(diff) { 58 | var data, html, operation, pattern_amp, pattern_gt, pattern_lt, pattern_para, text; 59 | html = []; 60 | pattern_amp = /&/g; 61 | pattern_lt = //g; 63 | pattern_para = /\n/g; 64 | operation = diff[0], data = diff[1]; 65 | text = data.replace(pattern_amp, '&').replace(pattern_lt, '<').replace(pattern_gt, '>').replace(pattern_para, '
'); 66 | switch (operation) { 67 | case DIFF_INSERT: 68 | return '' + text + ''; 69 | case DIFF_DELETE: 70 | return '' + text + ''; 71 | case DIFF_EQUAL: 72 | return '' + text + ''; 73 | } 74 | }; 75 | 76 | }).call(this); 77 | -------------------------------------------------------------------------------- /static/js/plugins/prettyfile/bootstrap-prettyfile.js: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery and Bootsrap3 Plugin prettyFile 3 | * 4 | * version 2.0, Jan 20th, 2014 5 | * by episage, sujin2f 6 | * Git repository : https://github.com/episage/bootstrap-3-pretty-file-upload 7 | */ 8 | ( function( $ ) { 9 | $.fn.extend({ 10 | prettyFile: function( options ) { 11 | var defaults = { 12 | text : "选择文件" 13 | }; 14 | 15 | var options = $.extend(defaults, options); 16 | var plugin = this; 17 | 18 | function make_form( $el, text ) { 19 | $el.wrap('
'); 20 | 21 | $el.hide(); 22 | $el.after( '\ 23 |
\ 24 | \ 25 | \ 26 | \ 27 | \ 28 |
\ 29 | ' ); 30 | 31 | return $el.parent(); 32 | }; 33 | 34 | function bind_change( $wrap, multiple ) { 35 | $wrap.find( 'input[type="file"]' ).change(function () { 36 | // When original file input changes, get its value, show it in the fake input 37 | var files = $( this )[0].files, 38 | info = ''; 39 | 40 | if ( files.length == 0 ) 41 | return false; 42 | 43 | if ( !multiple || files.length == 1 ) { 44 | var path = $( this ).val().split('\\'); 45 | info = path[path.length - 1]; 46 | } else if ( files.length > 1 ) { 47 | // Display number of selected files instead of filenames 48 | info = "已选择了" + files.length + ' 个文件'; 49 | } 50 | 51 | $wrap.find('.input-append input').val( info ); 52 | }); 53 | }; 54 | 55 | function bind_button( $wrap, multiple ) { 56 | $wrap.find( '.input-append' ).click( function( e ) { 57 | e.preventDefault(); 58 | $wrap.find( 'input[type="file"]' ).click(); 59 | }); 60 | }; 61 | 62 | return plugin.each( function() { 63 | $this = $( this ); 64 | 65 | if ( $this ) { 66 | var multiple = $this.attr( 'multiple' ); 67 | 68 | $wrap = make_form( $this, options.text ); 69 | bind_change( $wrap, multiple ); 70 | bind_button( $wrap ); 71 | } 72 | }); 73 | } 74 | }); 75 | }( jQuery )); 76 | 77 | -------------------------------------------------------------------------------- /static/js/plugins/summernote/summernote-zh-CN.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'zh-CN': { 4 | font: { 5 | bold: '粗体', 6 | italic: '斜体', 7 | underline: '下划线', 8 | strikethrough: '删除线', 9 | clear: '清除格式', 10 | height: '行高', 11 | name: '字体', 12 | size: '字号' 13 | }, 14 | image: { 15 | image: '图片', 16 | insert: '插入图片', 17 | resizeFull: '调整至 100%', 18 | resizeHalf: '调整至 50%', 19 | resizeQuarter: '调整至 25%', 20 | floatLeft: '左浮动', 21 | floatRight: '右浮动', 22 | floatNone: '不浮动', 23 | dragImageHere: '将图片拖至此处', 24 | selectFromFiles: '从本地上传', 25 | url: '图片地址' 26 | }, 27 | link: { 28 | link: '链接', 29 | insert: '插入链接', 30 | unlink: '去除链接', 31 | edit: '编辑链接', 32 | textToDisplay: '显示文本', 33 | url: '链接地址', 34 | openInNewWindow: '在新窗口打开' 35 | }, 36 | video: { 37 | video: '视频', 38 | videoLink: '视频链接', 39 | insert: '插入视频', 40 | url: '视频地址', 41 | providers: '(优酷, Instagram, DailyMotion, Youtube等)' 42 | }, 43 | table: { 44 | table: '表格' 45 | }, 46 | hr: { 47 | insert: '水平线' 48 | }, 49 | style: { 50 | style: '样式', 51 | normal: '普通', 52 | blockquote: '引用', 53 | pre: '代码', 54 | h1: '标题 1', 55 | h2: '标题 2', 56 | h3: '标题 3', 57 | h4: '标题 4', 58 | h5: '标题 5', 59 | h6: '标题 6' 60 | }, 61 | lists: { 62 | unordered: '无序列表', 63 | ordered: '有序列表' 64 | }, 65 | options: { 66 | help: '帮助', 67 | fullscreen: '全屏', 68 | codeview: '源代码' 69 | }, 70 | paragraph: { 71 | paragraph: '段落', 72 | outdent: '减少缩进', 73 | indent: '增加缩进', 74 | left: '左对齐', 75 | center: '居中对齐', 76 | right: '右对齐', 77 | justify: '两端对齐' 78 | }, 79 | color: { 80 | recent: '最近使用', 81 | more: '更多', 82 | background: '背景', 83 | foreground: '前景', 84 | transparent: '透明', 85 | setTransparent: '透明', 86 | reset: '重置', 87 | resetToDefault: '默认' 88 | }, 89 | shortcut: { 90 | shortcuts: '快捷键', 91 | close: '关闭', 92 | textFormatting: '文本格式', 93 | action: '动作', 94 | paragraphFormatting: '段落格式', 95 | documentStyle: '文档样式' 96 | }, 97 | history: { 98 | undo: '撤销', 99 | redo: '重做' 100 | } 101 | } 102 | }); 103 | })(jQuery); 104 | -------------------------------------------------------------------------------- /static/js/plugins/toastr/toastr.min.js: -------------------------------------------------------------------------------- 1 | !function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return f({type:O.error,iconClass:g().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=g()),v=e("#"+t.containerId),v.length?v:(n&&(v=c(t)),v)}function i(e,t,n){return f({type:O.info,iconClass:g().iconClasses.info,message:e,optionsOverride:n,title:t})}function o(e){w=e}function s(e,t,n){return f({type:O.success,iconClass:g().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return f({type:O.warning,iconClass:g().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e){var t=g();v||n(t),l(e,t)||u(t)}function d(t){var i=g();return v||n(i),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function u(t){for(var n=v.children(),i=n.length-1;i>=0;i--)l(e(n[i]),t)}function l(t,n){return t&&0===e(":focus",t).length?(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0):!1}function c(t){return v=e("
").attr("id",t.containerId).addClass(t.positionClass).attr("aria-live","polite").attr("role","alert"),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",target:"body",closeHtml:'',newestOnTop:!0,preventDuplicates:!1,progressBar:!1}}function m(e){w&&w(e)}function f(t){function i(t){return!e(":focus",l).length||t?(clearTimeout(O.intervalId),l[r.hideMethod]({duration:r.hideDuration,easing:r.hideEasing,complete:function(){h(l),r.onHidden&&"hidden"!==b.state&&r.onHidden(),b.state="hidden",b.endTime=new Date,m(b)}})):void 0}function o(){(r.timeOut>0||r.extendedTimeOut>0)&&(u=setTimeout(i,r.extendedTimeOut),O.maxHideTime=parseFloat(r.extendedTimeOut),O.hideEta=(new Date).getTime()+O.maxHideTime)}function s(){clearTimeout(u),O.hideEta=0,l.stop(!0,!0)[r.showMethod]({duration:r.showDuration,easing:r.showEasing})}function a(){var e=(O.hideEta-(new Date).getTime())/O.maxHideTime*100;f.width(e+"%")}var r=g(),d=t.iconClass||r.iconClass;if("undefined"!=typeof t.optionsOverride&&(r=e.extend(r,t.optionsOverride),d=t.optionsOverride.iconClass||d),r.preventDuplicates){if(t.message===C)return;C=t.message}T++,v=n(r,!0);var u=null,l=e("
"),c=e("
"),p=e("
"),f=e("
"),w=e(r.closeHtml),O={intervalId:null,hideEta:null,maxHideTime:null},b={toastId:T,state:"visible",startTime:new Date,options:r,map:t};return t.iconClass&&l.addClass(r.toastClass).addClass(d),t.title&&(c.append(t.title).addClass(r.titleClass),l.append(c)),t.message&&(p.append(t.message).addClass(r.messageClass),l.append(p)),r.closeButton&&(w.addClass("toast-close-button").attr("role","button"),l.prepend(w)),r.progressBar&&(f.addClass("toast-progress"),l.prepend(f)),l.hide(),r.newestOnTop?v.prepend(l):v.append(l),l[r.showMethod]({duration:r.showDuration,easing:r.showEasing,complete:r.onShown}),r.timeOut>0&&(u=setTimeout(i,r.timeOut),O.maxHideTime=parseFloat(r.timeOut),O.hideEta=(new Date).getTime()+O.maxHideTime,r.progressBar&&(O.intervalId=setInterval(a,10))),l.hover(s,o),!r.onclick&&r.tapToDismiss&&l.click(i),r.closeButton&&w&&w.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),i(!0)}),r.onclick&&l.click(function(){r.onclick(),i()}),m(b),r.debug&&console&&console.log(b),l}function g(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),C=void 0))}var v,w,C,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:d,error:t,getContainer:n,info:i,options:{},subscribe:o,success:s,version:"2.1.0",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)}); 2 | //# sourceMappingURL=/toastr.js.map 3 | -------------------------------------------------------------------------------- /static/js/plugins/validate/messages_zh.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery Validation Plugin - v1.13.1 - 10/14/2014 2 | * http://jqueryvalidation.org/ 3 | * Copyright (c) 2014 Jörn Zaefferer; Licensed MIT */ 4 | ! function (a) { 5 | "function" == typeof define && define.amd ? define(["jquery", "jquery.validate.min"], a) : a(jQuery) 6 | }(function (a) { 7 | var icon = " "; 8 | a.extend(a.validator.messages, { 9 | required: icon + "必填", 10 | remote: icon + "请修正此栏位", 11 | email: icon + "请输入有效的电子邮件", 12 | url: icon + "请输入有效的网址", 13 | date: icon + "请输入有效的日期", 14 | dateISO: icon + "请输入有效的日期 (YYYY-MM-DD)", 15 | number: icon + "请输入正确的数字", 16 | digits: icon + "只能输入数字", 17 | creditcard: icon + "请输入有效的信用卡号码", 18 | equalTo: icon + "你的输入不相同", 19 | extension: icon + "请输入有效的后缀", 20 | maxlength: a.validator.format(icon + "最多 {0} 个字"), 21 | minlength: a.validator.format(icon + "最少 {0} 个字"), 22 | rangelength: a.validator.format(icon + "请输入长度为 {0} 至 {1} 之间的字串"), 23 | range: a.validator.format(icon + "请输入 {0} 至 {1} 之间的数值"), 24 | max: a.validator.format(icon + "请输入不大于 {0} 的数值"), 25 | min: a.validator.format(icon + "请输入不小于 {0} 的数值") 26 | }) 27 | }); 28 | -------------------------------------------------------------------------------- /static/js/plugins/webuploader/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 |

Forbidden

6 |

You don't have permission to access /theme/hplus/js/plugins/webuploader/ 7 | on this server.

8 |
9 |
Apache Server at www.zi-han.net Port 80
10 | 11 | -------------------------------------------------------------------------------- /static/js/welcome.min.js: -------------------------------------------------------------------------------- 1 | layer.config({extend:["extend/layer.ext.js","skin/moon/style.css"],skin:"layer-ext-moon"}),layer.ready(function(){function e(){parent.layer.open({title:"初见倾心,再见动情",type:1,area:["700px","auto"],content:t,btn:["确定","取消"]})}var t=$("#welcome-template").html();$("a.viewlog").click(function(){return e(),!1}),$("#pay-qrcode").click(function(){var e=$(this).html();parent.layer.open({title:!1,type:1,closeBtn:!1,shadeClose:!0,area:["600px","auto"],content:e})}),console.log("欢迎使用H+,如果您在使用的过程中有碰到问题,可以参考开发文档,感谢您的支持。")}); 2 | -------------------------------------------------------------------------------- /static/plugins/fullavatareditor/scripts/fullAvatarEditor.js: -------------------------------------------------------------------------------- 1 | function fullAvatarEditor() { 2 | var id = 'fullAvatarEditor' //flash文件的ID 3 | var file = 'plugins/fullavatareditor/fullAvatarEditor.swf'; //flash文件的路径 4 | var version = "10.1.0"; //播放该flash所需的最低版本 5 | var expressInstall = 'expressInstall.swf'; //expressInstall.swf的路径 6 | var width = 600; //flash文件的宽度 7 | var height = 430; //flash文件的高度 8 | var container = id; //装载flash文件的容器(如div)的id 9 | var flashvars = {}; 10 | var callback = function(){}; 11 | var heightChanged = false; 12 | //智能获取参数,字符类型为装载flash文件的容器(如div)的id,第一个数字类型的为高度,第二个为宽度,第一个object类型的为参数对象,如此4个参数的顺序可随意。 13 | for(var i = 0; i < arguments.length; i++) 14 | { 15 | if(typeof arguments[i] == 'string') 16 | { 17 | container = arguments[i]; 18 | } 19 | else if(typeof arguments[i] == 'number') 20 | { 21 | if(heightChanged) 22 | { 23 | width = arguments[i]; 24 | } 25 | else 26 | { 27 | height = arguments[i]; 28 | heightChanged = true; 29 | } 30 | } 31 | else if(typeof arguments[i] == 'function') 32 | { 33 | callback = arguments[i]; 34 | } 35 | else 36 | { 37 | flashvars = arguments[i]; 38 | } 39 | } 40 | var vars = { 41 | id : id 42 | }; 43 | //合并参数 44 | for (var name in flashvars) 45 | { 46 | if(flashvars[name] != null) 47 | { 48 | if(name == 'upload_url' || name == 'src_url') 49 | { 50 | vars[name] = encodeURIComponent(flashvars[name]); 51 | } 52 | else 53 | { 54 | vars[name] = flashvars[name]; 55 | } 56 | } 57 | } 58 | var params = { 59 | menu : 'true', 60 | scale : 'noScale', 61 | allowFullscreen : 'true', 62 | allowScriptAccess : 'always', 63 | wmode : 'transparent' 64 | }; 65 | var attributes = { 66 | id : vars.id, 67 | name: vars.id 68 | }; 69 | var swf = null; 70 | var callbackFn = function (e) { 71 | swf = e.ref; 72 | swf.eventHandler = function(json){ 73 | callback.call(swf, json); 74 | }; 75 | }; 76 | swfobject.embedSWF( 77 | file, 78 | container, 79 | width, 80 | height, 81 | version, 82 | expressInstall, 83 | vars, 84 | params, 85 | attributes, 86 | callbackFn 87 | ); 88 | return swf; 89 | } 90 | -------------------------------------------------------------------------------- /templates/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | H+ 后台主题UI框架 - 404 页面 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 |

404

27 |

页面未找到!

28 | 29 |
30 | 抱歉,页面好像去火星了~ 31 |
32 |
33 | 34 |
35 | 36 |
37 |
38 |
39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /templates/500.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | H+ 后台主题UI框架 - 500错误 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 |

500

27 |

服务器内部错误

28 | 29 |
30 | 服务器好像出错了... 31 |
您可以返回主页看看 32 |
主页 33 |
34 |
35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /templates/aaa.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

请输入两个数字

5 |
6 | a:
7 | b:
8 |

result:

9 | 10 |
11 | 12 | 13 |
Ajax 加载字典
14 |

15 | 16 |
Ajax 加载列表
17 |

18 | 19 |
20 |

{% for i in app_new %} 21 | 22 | {% endfor %} 23 |

24 |
25 | 26 | 27 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /templates/empty_page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | H+ 后台主题UI框架 - 空白页 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 |
27 |

标题

28 | 36 |
37 |
38 |
39 | 活动区域 40 |
41 |
42 |
43 | 44 |
45 |
46 |
47 |
48 |

这里是页面内容

49 | 50 |
51 | 您可以在这里添加栅格,参考首页及其他页面完成不同的布局 52 |
打开主页 53 |
54 |
55 |
56 |
57 |
58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /templates/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wal139491/Huaxiang/22c787546ebcc5ffa8d1fa727d5000dd761fea4d/templates/favicon.ico -------------------------------------------------------------------------------- /templates/form_file_upload.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | H+ 后台主题UI框架 - 文件上传 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 |
28 |
29 |
30 |
31 |
文件上传
32 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 45 | 46 | 47 | 48 |
49 |
50 |
51 |
52 |
53 | 54 |
55 |
56 |
DropzoneJS是一个开源库,提供拖放文件上传与图片预览:https://github.com/enyo/dropzone,百度前端团队提供的Web Uploader也是一个非常不错的选择,值得一试!
57 |
58 |
59 |
60 |
61 |
62 |
63 | 64 | 65 | 66 | 67 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /templates/lockscreen.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | H+ 后台主题UI框架 - 登录超时 13 | 14 | 15 | 16 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 |
34 |
35 |
36 | image 37 |
38 |

Beaut-zihan

39 |

您需要再次输入密码

40 |
41 |
42 | 43 |
44 | 45 |
46 |
47 |
48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /templates/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | H+ 后台主题UI框架 - 登录 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
31 |
32 | 33 |

H+

34 | 35 |
36 |

欢迎使用 H+

37 | 38 |
39 |
40 | {% csrf_token %} 41 | 42 |
43 |
44 | 45 |
46 | 47 | 48 | 49 |

忘记密码了? | 注册一个新账号 50 |

51 | 52 |
53 |
54 |
55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /templates/login_v2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Auraro用户画像系统登陆 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |
31 | 46 |
47 |
48 |
49 |

登录:

50 |

登录到Auraro画像系统

51 | 52 | 53 | 忘记密码了? 54 | 55 |
56 |
57 |
58 | 63 |
64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /templates/pin_board.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | H+ 后台主题UI框架 - 标签墙 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 |
27 |
28 |
    29 |
  • 30 |
    31 | 2014年10月24日(星期五) 下午5:31 32 |

    HTML5 文档类型

    33 |

    Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型。在你项目中的每个页面都要参照下面的格式进行设置。

    34 | 35 |
    36 |
  • 37 |
  • 38 |
    39 | 2014年10月24日(星期五) 下午5:31 40 |

    移动设备优先

    41 |

    在 Bootstrap 2 中,我们对框架中的某些关键部分增加了对移动设备友好的样式。而在 Bootstrap 3 中,我们重写了整个框架,使其一开始就是对移动设备友好的。这次不是简单的增……

    42 | 43 |
    44 |
  • 45 |
  • 46 |
    47 | 2014年10月24日(星期五) 下午5:31 48 |

    排版与链接

    49 |

    Bootstrap 排版、链接样式设置了基本的全局样式。分别是: 为 body 元素设置 background-color: #fff; 使用 @font-family-base、@font-size-base 和……。

    50 | 51 |
    52 |
  • 53 |
  • 54 |
    55 | 2014年10月24日(星期五) 下午5:31 56 |

    Normalize.css

    57 |

    为了增强跨浏览器表现的一致性,我们使用了 Normalize.css,这是由 Nicolas Gallagher 和 Jonathan Neal 维护的一个CSS 重置样式库。

    58 | 59 |
    60 |
  • 61 |
  • 62 |
    63 | 2014年10月24日(星期五) 下午5:31 64 |

    布局容器

    65 |

    Bootstrap 需要为页面内容和栅格系统包裹一个 .container 容器。我们提供了两个作此用处的类。注意,由于 padding 等属性的原因,这两种 容器类不能互相嵌套。

    66 | 67 |
    68 |
  • 69 |
  • 70 |
    71 | 2014年10月24日(星期五) 下午5:31 72 |

    栅格系统

    73 |

    Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。它包含了易于使用的预定义类,还有强大的mixin 用于生成更具语义的布局。

    74 | 75 |
    76 |
  • 77 |
78 |
79 |
80 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /templates/register.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | H+ 后台主题UI框架 - 注册 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 |
29 |
30 | 31 |

H+

32 | 33 |
34 |

欢迎注册 H+

35 |

创建一个H+新账户

36 |
37 |
38 | 39 |
40 |
41 | 42 |
43 |
44 | 45 |
46 |
47 |
48 | 50 |
51 |
52 | 53 | 54 |

已经有账户了?点此登录 55 |

56 | 57 |
58 |
59 |
60 | 61 | 62 | 63 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | --------------------------------------------------------------------------------