From 71c1fa3bfa21baaf733189495cdd64deb0cf6551 Mon Sep 17 00:00:00 2001
From: liuwh <liuwh@hugeinfo.com.cn>
Date: Thu, 27 Feb 2020 08:44:52 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/nsjcy/frontEnd/nsjcy

---
 SunshineIns/src/libs/Dialog/index.js                 |   66 
 SunshineIns/src/view/BusDetailView/style.scss        |    5 
 SunshineIns/src/page/Questionnair.jsx                |    9 
 SunshineIns/src/fetch/questionQuery.js               |    6 
 SunshineIns/src/libs/ContentEditable/index.js        |   96 +
 SunshineIns/src/page/QuestionDetail.jsx              |  120 +
 SunshineIns/src/page/Menu.jsx                        |    4 
 SunshineIns/src/fetch/questionFindById.js            |    9 
 SunshineIns/src/libs/Input/index.less                |   33 
 SunshineIns/src/libs/Dropdown/index.js               |   38 
 SunshineIns/src/libs/DragSort/index.js               |   67 
 SunshineIns/src/copy/iconfonts/iconfont.svg          |  192 ++
 SunshineIns/src/libs/Button/index.scss               |   29 
 SunshineIns/src/copy/iconfonts/iconfont.ttf          |    0 
 SunshineIns/src/view/QuestionnairAnswer/index.scss   |    0 
 SunshineIns/src/libs/Input/index.js                  |   89 +
 SunshineIns/src/conf/reset.scss                      |    1 
 SunshineIns/src/view/QuestionnairSiderbar/index.scss |   90 +
 SunshineIns/src/copy/iconfonts/iconfont.js           |    1 
 SunshineIns/src/view/QuestionnairEditor/index.scss   |  268 +++
 SunshineIns/src/view/QuestionnairAnswer/index.js     |   22 
 SunshineIns/src/view/QuestionnairContent/index.js    |  182 ++
 SunshineIns/src/libs/Checkbox/index.less             |   33 
 SunshineIns/src/libs/Dialog/index.less               |   47 
 SunshineIns/src/libs/Radio/index.js                  |   39 
 SunshineIns/src/page/Newly.jsx                       |  236 ++
 SunshineIns/src/libs/Radio/index.less                |   37 
 SunshineIns/src/copy/iconfonts/iconfont.css          |  123 +
 SunshineIns/src/view/QuestionnairSiderbar/index.js   |  183 ++
 SunshineIns/src/view/Questionnair/index.scss         |   23 
 SunshineIns/src/copy/iconfonts/iconfont.eot          |    0 
 SunshineIns/src/fetch/saveQuestionTemp.js            |    7 
 SunshineIns/src/index.jsx                            |   10 
 SunshineIns/src/libs/DragSort/index.less             |   22 
 SunshineIns/src/page/.jsx                            |  202 ++
 SunshineIns/src/utils/utils.js                       |   11 
 SunshineIns/src/libs/Shake/index.js                  |   43 
 SunshineIns/src/conf/cover.scss                      |   56 
 SunshineIns/src/libs/Shake/index.less                |   23 
 SunshineIns/src/page/NewlyList.jsx                   |   56 
 SunshineIns/src/view/QuestionnairContent/index.scss  |   76 +
 SunshineIns/src/libs/ContentEditable/index.less      |    4 
 SunshineIns/src/libs/Button/index.js                 |   42 
 SunshineIns/src/fetch/index.js                       |    8 
 SunshineIns/src/view/QuestionnairEditor/index.js     |  975 +++++++++++++
 SunshineIns/src/libs/DragSort/example.js             |   87 +
 SunshineIns/src/page/QuestionnaireTablelist.jsx      |  314 ++++
 SunshineIns/src/data/menu.js                         |    2 
 SunshineIns/src/view/Questionnair/index.js           |  333 ++++
 SunshineIns/src/conf/index.html                      |    1 
 SunshineIns/src/copy/iconfonts/iconfont.woff         |    0 
 SunshineIns/src/fetch/questionAudit.js               |   19 
 SunshineIns/src/libs/Dropdown/index.less             |    3 
 .command/.conf/webpack.test.js                       |    2 
 SunshineIns/src/view/MenuView/index.jsx              |    8 
 SunshineIns/src/libs/Checkbox/index.js               |   46 
 56 files changed, 4,327 insertions(+), 71 deletions(-)

diff --git a/.command/.conf/webpack.test.js b/.command/.conf/webpack.test.js
index 9dc2be5..e0e6be4 100644
--- a/.command/.conf/webpack.test.js
+++ b/.command/.conf/webpack.test.js
@@ -23,7 +23,7 @@
     use: [MiniCssExtractPlugin.loader, "css-loader", "less-loader"]
   },
   {
-    test: /\.(svg|png|jpg|gif|ttf)$/i,
+    test: /\.(svg|png|jpg|gif|ttf|css)$/i,
     loader: "file-loader",
     options: {
       name: "[name].[ext]?[hash]",
diff --git a/SunshineIns/src/conf/cover.scss b/SunshineIns/src/conf/cover.scss
index a27835b..1585c70 100644
--- a/SunshineIns/src/conf/cover.scss
+++ b/SunshineIns/src/conf/cover.scss
@@ -16,8 +16,8 @@
   border-color: $color;
 }
 
-.ant-layout-sider{
- background-color: #fff;
+.ant-layout-sider {
+  background-color: #fff;
 }
 
 body {
@@ -26,26 +26,42 @@
 
 /**渐变***/
 .ant-menu-item-selected {
-  color: #FFFFFF;
+  color: #ffffff;
 }
 .ant-menu-item-selected > a,
 .ant-menu-item-selected > a:hover {
-  color: #FFFFFF;
+  color: #ffffff;
 }
 .ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {
-    background: -webkit-linear-gradient(left, #1790FF , #33C3FF); /* Safari 5.1 - 6.0 */
-    background: -o-linear-gradient(right, #1790FF, #33C3FF); /* Opera 11.1 - 12.0 */
-    background: -moz-linear-gradient(right, #1790FF, #33C3FF); /* Firefox 3.6 - 15 */
-    background: linear-gradient(to right, #1790FF , #33C3FF); /* 标准的语法(必须放在最后) */
+  background: -webkit-linear-gradient(
+    left,
+    #1790ff,
+    #33c3ff
+  ); /* Safari 5.1 - 6.0 */
+  background: -o-linear-gradient(
+    right,
+    #1790ff,
+    #33c3ff
+  ); /* Opera 11.1 - 12.0 */
+  background: -moz-linear-gradient(
+    right,
+    #1790ff,
+    #33c3ff
+  ); /* Firefox 3.6 - 15 */
+  background: linear-gradient(
+    to right,
+    #1790ff,
+    #33c3ff
+  ); /* 标准的语法(必须放在最后) */
 }
-.ant-modal-header{
-  background: #1790FF;
+.ant-modal-header {
+  background: #1790ff;
 }
 
-.bf-content{
+.bf-content {
   height: 300px;
 }
-.card-container{
+.card-container {
   padding: 20px;
 }
 .card-container > .ant-tabs-card > .ant-tabs-content {
@@ -69,4 +85,18 @@
 .card-container > .ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active {
   border-color: #fff;
   background: #fff;
-}
\ No newline at end of file
+}
+
+// 隐藏滚动条
+* {
+  &::-webkit-scrollbar {
+    display: none;
+  }
+  -ms-overflow-style: none;
+  scrollbar-width: none;
+}
+
+.ant-layout-sider-children {
+  display: flex;
+  flex-direction: column;
+}
diff --git a/SunshineIns/src/conf/index.html b/SunshineIns/src/conf/index.html
index 097e6aa..58c2644 100644
--- a/SunshineIns/src/conf/index.html
+++ b/SunshineIns/src/conf/index.html
@@ -9,6 +9,7 @@
   <script src="mqttws31.min.js"></script>
   <script src="jquery-1.11.1.min.js"></script>
   <script src="validate.tools.js"></script>
+  <link rel="stylesheet" href="iconfonts/iconfont.css">
   <title>南沙区人民检察院阳光检务后台管理</title>
 </head>
 
diff --git a/SunshineIns/src/conf/reset.scss b/SunshineIns/src/conf/reset.scss
index 6007af2..f63a5a2 100644
--- a/SunshineIns/src/conf/reset.scss
+++ b/SunshineIns/src/conf/reset.scss
@@ -37,6 +37,7 @@
   animation-duration: .4s;
   animation-name: fadeIn;
   width: 100%;
+  overflow: scroll;
 }
 .login-body{
   background:url(../asset/image/pic_bg.jpg) round;
diff --git a/SunshineIns/src/copy/iconfonts/iconfont.css b/SunshineIns/src/copy/iconfonts/iconfont.css
new file mode 100644
index 0000000..54f08cc
--- /dev/null
+++ b/SunshineIns/src/copy/iconfonts/iconfont.css
@@ -0,0 +1,123 @@
+
+@font-face {font-family: "iconfont";
+  src: url('iconfont.eot?t=1528702461354'); /* IE9*/
+  src: url('iconfont.eot?t=1528702461354#iefix') format('embedded-opentype'), /* IE6-IE8 */
+  url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'),
+  url('iconfont.ttf?t=1528702461354') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+  url('iconfont.svg?t=1528702461354#iconfont') format('svg'); /* iOS 4.1- */
+}
+
+.iconfont {
+  font-family:"iconfont" !important;
+  font-size:16px;
+  font-style:normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-daisuifang-icon-green:before { content: "\e601"; }
+
+.icon-yisuifang-icon-green:before { content: "\e602"; }
+
+.icon-zhankai:before { content: "\e604"; }
+
+.icon-xiaoxi:before { content: "\e605"; }
+
+.icon-shouqi:before { content: "\e606"; }
+
+.icon-suifangguanliicon:before { content: "\e607"; }
+
+.icon-huanzheguanliicon:before { content: "\e608"; }
+
+.icon-suifangmobanicon:before { content: "\e609"; }
+
+.icon-dengpao:before { content: "\e60a"; }
+
+.icon-chachaicon:before { content: "\e60b"; cursor: pointer; margin-left: 10px; color: #979797;}
+
+.icon-fangdajingicon:before { content: "\e60c"; }
+
+.icon-jinggaotanhaoicon:before { content: "\e60d"; }
+
+.icon-shanchuicon:before { content: "\e60e"; }
+
+.icon-fuzhiicon:before { content: "\e60f"; }
+
+.icon-tianjiaicon:before { content: "\e610"; }
+
+.icon-information:before { content: "\e612"; }
+
+.icon-baocunchenggong:before { content: "\e613"; }
+
+.icon-danxuanicon:before { content: "\e614"; }
+
+.icon-duohangicon:before { content: "\e615"; }
+
+.icon-bi:before { content: "\e616"; }
+
+.icon-baocunzhong:before { content: "\e617"; }
+
+.icon-hongselajixiang:before { content: "\e618"; }
+
+.icon-lansezantingshiyong:before { content: "\e619"; }
+
+.icon-duoxuan-icon:before { content: "\e61a"; }
+
+.icon-guaduan_icon:before { content: "\e61b"; }
+
+.icon-jinggaochacha:before { content: "\e61c"; }
+
+.icon-querenbodaicon:before { content: "\e61d"; }
+
+.icon-sanjiaoxingjinggao:before { content: "\e61e"; }
+
+.icon-shanchuwenzichacha:before { content: "\e61f"; }
+
+.icon-suifangjihuaicon:before { content: "\e620"; }
+
+.icon-rili:before { content: "\e621"; }
+
+.icon-tiankongtiicon:before { content: "\e622"; }
+
+.icon-xialaicon:before { content: "\e623"; }
+
+.icon-tianjialiebiao_icon:before { content: "\e625"; }
+
+.icon-green_guanbiyulan:before { content: "\e626"; }
+
+.icon-green_phone:before { content: "\e629"; }
+
+.icon-grey_bianji:before { content: "\e62c"; }
+
+.icon-grey_shanchu:before { content: "\e62d"; }
+
+.icon-grey_fuzhi:before { content: "\e62e"; }
+
+.icon-Q-icon:before { content: "\e62f"; color: #1890ff;}
+
+.icon-grey_yanjing:before { content: "\e630"; }
+
+.icon-white_jinggao:before { content: "\e631"; }
+
+.icon-red_phone:before { content: "\e632"; }
+
+.icon-suifangyuqi-icon-color:before { content: "\e634"; }
+
+.icon-yisuifang-icon-color:before { content: "\e638"; }
+
+.icon-daisuifangicon-color:before { content: "\e633"; }
+
+.icon-shijianweidao-icon-color:before { content: "\e636"; }
+
+.icon-tongyongbiaotiicon:before { content: "\e611"; }
+
+.icon-xuanxiangicon:before { content: "\e63b"; color: #cdcdcd;}
+
+.icon-zhongxinfabuicon:before { content: "\e63c"; }
+
+.icon-xinjianxuanxiangicon:before { content: "\e63d"; margin: 0 10px;}
+
+.icon-jieshu:before { content: "\e600"; }
+
+.icon-danhangicon:before { content: "\e603"; }
+
diff --git a/SunshineIns/src/copy/iconfonts/iconfont.eot b/SunshineIns/src/copy/iconfonts/iconfont.eot
new file mode 100644
index 0000000..bce9190
--- /dev/null
+++ b/SunshineIns/src/copy/iconfonts/iconfont.eot
Binary files differ
diff --git a/SunshineIns/src/copy/iconfonts/iconfont.js b/SunshineIns/src/copy/iconfonts/iconfont.js
new file mode 100644
index 0000000..658db5d
--- /dev/null
+++ b/SunshineIns/src/copy/iconfonts/iconfont.js
@@ -0,0 +1 @@
+(function(window){var svgSprite='<svg><symbol id="icon-daisuifang-icon-green" viewBox="0 0 1024 1024"><path d="M940.8 736c-12.8-12.8-25.6-32-38.4-51.2-12.8-19.2-25.6-38.4-38.4-64-12.8-19.2-25.6-44.8-32-70.4-6.4-19.2-12.8-44.8-12.8-64 0-38.4-6.4-70.4-19.2-96-12.8-25.6-25.6-57.6-44.8-76.8-19.2-25.6-44.8-44.8-70.4-57.6-12.8-19.2-25.6-25.6-44.8-32l-19.2-12.8h-12.8c19.2-25.6 32-51.2 32-83.2 0-70.4-57.6-128-128-128S384 57.6 384 128c0 32 12.8 57.6 32 83.2h-6.4c-32 6.4-57.6 19.2-76.8 38.4-51.2 32-89.6 76.8-115.2 134.4-12.8 32-19.2 64-12.8 102.4 0 25.6-6.4 44.8-12.8 64-12.8 25.6-19.2 51.2-32 70.4-12.8 19.2-25.6 44.8-38.4 64-12.8 25.6-32 44.8-38.4 57.6-25.6 38.4-19.2 70.4-6.4 96 19.2 32 44.8 44.8 76.8 44.8h697.6c19.2 0 51.2-12.8 57.6-19.2 19.2-6.4 25.6-19.2 32-32 12.8-12.8 12.8-32 19.2-44.8 0-12.8-6.4-38.4-19.2-51.2zM512 64c38.4 0 64 25.6 64 64 0 32-25.6 64-64 64s-64-32-64-64 25.6-64 64-64z m377.6 742.4c0 6.4-6.4 6.4-12.8 6.4s-25.6 6.4-32 12.8h-704c-6.4 0-12.8-6.4-19.2-19.2 0-6.4-6.4-12.8 6.4-25.6l38.4-57.6c12.8-25.6 32-44.8 44.8-70.4 12.8-25.6 25.6-51.2 38.4-83.2 12.8-25.6 19.2-57.6 19.2-89.6 0-76.8 38.4-140.8 102.4-185.6 12.8-12.8 38.4-19.2 51.2-25.6l38.4-12.8H512c44.8 0 76.8 12.8 76.8 12.8 25.6 6.4 44.8 19.2 64 25.6 19.2 12.8 38.4 25.6 51.2 44.8 12.8 19.2 25.6 38.4 32 64 6.4 25.6 12.8 51.2 12.8 76.8 0 32 6.4 64 12.8 89.6 12.8 25.6 19.2 57.6 38.4 83.2 12.8 25.6 25.6 51.2 44.8 70.4 12.8 19.2 32 38.4 44.8 57.6 6.4 6.4 6.4 6.4 6.4 12.8 0 0 0 6.4-6.4 12.8z m-217.6 140.8c19.2 0 32 12.8 32 32s-12.8 32-32 32h-320c-19.2 0-32-12.8-32-32s12.8-32 32-32h320z" fill="#32A6A0" ></path></symbol><symbol id="icon-yisuifang-icon-green" viewBox="0 0 1024 1024"><path d="M819.2 1006.933333H210.488889c-11.377778 0-22.755556 0-34.133333-5.688889-11.377778-5.688889-22.755556-11.377778-28.444445-17.066666s-17.066667-17.066667-22.755555-28.444445c-11.377778-17.066667-11.377778-28.444444-11.377778-39.822222V301.511111c0-11.377778 0-22.755556 5.688889-34.133333 5.688889-11.377778 11.377778-22.755556 22.755555-28.444445 5.688889-11.377778 17.066667-17.066667 28.444445-22.755555 11.377778-5.688889 22.755556-5.688889 34.133333-5.688889h91.022222v45.511111H210.488889c-28.444444 0-45.511111 22.755556-45.511111 45.511111v614.4c0 22.755556 22.755556 45.511111 45.511111 45.511111h608.711111c28.444444 0 45.511111-22.755556 45.511111-45.511111V301.511111c0-22.755556-22.755556-45.511111-45.511111-45.511111h-91.022222v-45.511111h91.022222c11.377778 0 22.755556 0 34.133333 5.688889 11.377778 5.688889 22.755556 11.377778 28.444445 17.066666 11.377778 5.688889 17.066667 17.066667 22.755555 28.444445 5.688889 11.377778 5.688889 22.755556 5.688889 39.822222v614.4c0 11.377778 0 22.755556-5.688889 34.133333-5.688889 11.377778-11.377778 22.755556-22.755555 28.444445s-17.066667 17.066667-28.444445 17.066667c-11.377778 5.688889-22.755556 11.377778-34.133333 11.377777z" fill="#06AEA6" ></path><path d="M295.822222 216.177778H210.488889c-11.377778 0-22.755556 0-34.133333 5.688889-11.377778 5.688889-22.755556 11.377778-28.444445 17.066666-11.377778 5.688889-17.066667 17.066667-22.755555 28.444445-5.688889 11.377778-5.688889 22.755556-5.688889 34.133333v614.4c0 11.377778 0 22.755556 5.688889 34.133333 5.688889 11.377778 11.377778 17.066667 17.066666 28.444445 5.688889 5.688889 17.066667 17.066667 28.444445 17.066667 11.377778 5.688889 22.755556 5.688889 34.133333 5.688888h608.711111c11.377778 0 22.755556 0 34.133333-5.688888 11.377778-5.688889 17.066667-11.377778 28.444445-17.066667 5.688889-5.688889 17.066667-17.066667 17.066667-28.444445 5.688889-11.377778 5.688889-22.755556 5.688888-34.133333V301.511111c0-11.377778 0-22.755556-5.688888-34.133333-5.688889-11.377778-11.377778-17.066667-17.066667-28.444445-5.688889-5.688889-17.066667-11.377778-22.755556-17.066666-11.377778-5.688889-22.755556-5.688889-34.133333-5.688889h-85.333333v34.133333h85.333333c28.444444 0 51.2 22.755556 51.2 51.2v614.4c0 28.444444-22.755556 51.2-51.2 51.2H210.488889c-28.444444 0-51.2-22.755556-51.2-51.2V301.511111c0-28.444444 22.755556-51.2 51.2-51.2h85.333333v-34.133333z m-85.333333 796.444444c-11.377778 0-28.444444 0-39.822222-5.688889-11.377778-5.688889-22.755556-11.377778-34.133334-22.755555-11.377778-11.377778-17.066667-17.066667-22.755555-28.444445-5.688889-11.377778-5.688889-22.755556-5.688889-39.822222V301.511111c0-11.377778 0-28.444444 5.688889-39.822222 5.688889-11.377778 11.377778-22.755556 22.755555-28.444445 11.377778-11.377778 22.755556-17.066667 34.133334-22.755555 11.377778-5.688889 22.755556-5.688889 39.822222-5.688889h91.022222l5.688889 5.688889v45.511111l-5.688889 5.688889H210.488889c-22.755556 0-39.822222 17.066667-39.822222 39.822222v614.4c0 22.755556 17.066667 39.822222 39.822222 39.822222h608.711111c22.755556 0 39.822222-17.066667 39.822222-39.822222V301.511111c0-22.755556-17.066667-39.822222-39.822222-39.822222h-91.022222l-5.688889-5.688889v-45.511111l5.688889-5.688889h91.022222c11.377778 0 28.444444 0 39.822222 5.688889 11.377778 5.688889 22.755556 11.377778 34.133334 22.755555 11.377778 11.377778 17.066667 17.066667 22.755555 28.444445 5.688889 11.377778 5.688889 22.755556 5.688889 39.822222v614.4c0 11.377778 0 28.444444-5.688889 39.822222-5.688889 11.377778-11.377778 22.755556-22.755555 28.444445-11.377778 11.377778-22.755556 17.066667-34.133334 22.755555-11.377778 5.688889-22.755556 5.688889-39.822222 5.688889H210.488889z" fill="#06AEA6" ></path><path d="M284.444444 341.333333V187.733333c0-34.133333 28.444444-56.888889 56.888889-56.888889h62.577778c22.755556-45.511111 62.577778-73.955556 113.777778-73.955555s96.711111 28.444444 113.777778 73.955555h62.577777c34.133333 0 56.888889 28.444444 56.888889 56.888889V341.333333H284.444444z m426.666667-51.2V187.733333c0-5.688889-5.688889-11.377778-11.377778-11.377777H603.022222l-5.688889-17.066667c-11.377778-34.133333-45.511111-56.888889-79.644444-56.888889s-62.577778 22.755556-79.644445 56.888889l-5.688888 17.066667H341.333333c-5.688889 0-11.377778 5.688889-11.377777 11.377777v108.088889h381.155555z m-261.688889 523.377778c-5.688889 0-11.377778 0-17.066666-5.688889l-159.288889-159.288889c-5.688889-5.688889-5.688889-11.377778-5.688889-17.066666 0-5.688889 0-11.377778 5.688889-17.066667 5.688889-5.688889 11.377778-5.688889 17.066666-5.688889s11.377778 0 17.066667 5.688889l130.844444 130.844444c5.688889 5.688889 11.377778 5.688889 11.377778 5.688889 5.688889 0 11.377778 0 11.377778-5.688889L756.622222 455.111111c5.688889-5.688889 11.377778-5.688889 17.066667-5.688889s11.377778 0 17.066667 5.688889c11.377778 11.377778 11.377778 22.755556 0 34.133333l-324.266667 318.577778c-5.688889 5.688889-11.377778 5.688889-17.066667 5.688889z" fill="#06AEA6" ></path><path d="M750.933333 335.644444V187.733333c0-28.444444-22.755556-51.2-51.2-51.2h-62.577777l-5.688889-5.688889c-22.755556-39.822222-62.577778-68.266667-113.777778-68.266666s-91.022222 28.444444-113.777778 68.266666v5.688889H341.333333c-28.444444 0-51.2 22.755556-51.2 51.2v147.911111h460.8z m-56.888889-210.488888c34.133333 0 62.577778 28.444444 62.577778 62.577777V341.333333l-5.688889 5.688889H284.444444L278.755556 341.333333V187.733333c0-34.133333 28.444444-62.577778 62.577777-62.577777h56.888889C420.977778 79.644444 466.488889 51.2 517.688889 51.2s96.711111 28.444444 119.466667 73.955556h56.888888z m0 45.511111c11.377778 0 17.066667 5.688889 17.066667 17.066666v108.088889l-5.688889 5.688889H329.955556l-5.688889-11.377778V187.733333c0-11.377778 5.688889-17.066667 17.066666-17.066666h91.022223l5.688888-11.377778c11.377778-34.133333 45.511111-56.888889 85.333334-56.888889s68.266667 22.755556 85.333333 56.888889V170.666667h85.333333z m11.377778 113.777777V187.733333c0-5.688889-5.688889-5.688889-5.688889-5.688889H603.022222l-5.688889-5.688888-5.688889-17.066667c-11.377778-28.444444-39.822222-51.2-73.955555-51.2s-62.577778 22.755556-73.955556 51.2l-5.688889 17.066667-5.688888 5.688888H341.333333c-5.688889 0-5.688889 5.688889-5.688889 5.688889V284.444444h369.777778z m-256 523.377778c5.688889 0 11.377778 0 11.377778-5.688889l324.266667-318.577777c5.688889-5.688889 5.688889-17.066667 0-22.755556-5.688889-5.688889-5.688889-5.688889-11.377778-5.688889s-11.377778 0-11.377778 5.688889l-290.133333 290.133333c-5.688889 5.688889-11.377778 5.688889-17.066667 5.688889-5.688889 0-11.377778 0-17.066667-5.688889l-130.844444-130.844444c-5.688889-5.688889-5.688889-5.688889-11.377778-5.688889s-11.377778 0-11.377778 5.688889c-5.688889 5.688889-5.688889 5.688889-5.688888 11.377778s0 11.377778 5.688888 11.377777l159.288889 159.288889c0 5.688889 0 5.688889 5.688889 5.688889z m0 11.377778c-5.688889 0-17.066667-5.688889-22.755555-11.377778l-159.288889-159.288889c-5.688889-5.688889-11.377778-11.377778-11.377778-22.755555 0-5.688889 5.688889-17.066667 11.377778-22.755556 5.688889-5.688889 11.377778-11.377778 22.755555-11.377778s17.066667 5.688889 22.755556 11.377778L438.044444 739.555556s5.688889 5.688889 11.377778 5.688888 5.688889 0 11.377778-5.688888l290.133333-290.133334c5.688889-5.688889 11.377778-11.377778 22.755556-11.377778 5.688889 0 17.066667 5.688889 22.755555 11.377778 11.377778 11.377778 11.377778 28.444444 0 39.822222l-324.266666 318.577778c-5.688889 11.377778-17.066667 11.377778-22.755556 11.377778z" fill="#06AEA6" ></path></symbol><symbol id="icon-zhankai" viewBox="0 0 1536 1024"><path d="M1536 170.666667H0V0h1536zM1109.333333 597.333333H0V426.666667h1109.333333zM1280 341.333333l256 170.666667-256 170.666667zM1536 1024H0v-170.666667h1536z" fill="#FFFFFF" ></path></symbol><symbol id="icon-xiaoxi" viewBox="0 0 1024 1024"><path d="M512 1024C230.4 1024 0 793.6 0 512S230.4 0 512 0s512 230.4 512 512-230.4 512-512 512z m204.8-547.84V419.84c0-87.04-76.8-174.08-174.08-184.32H486.4C389.12 240.64 307.2 332.8 307.2 419.84v204.8L256 665.6v51.2h512v-46.08l-51.2-46.08V476.16zM512 819.2c46.08 0 81.92-20.48 102.4-51.2H414.72c20.48 30.72 56.32 51.2 97.28 51.2z m51.2-609.28V153.6H465.92v56.32c15.36-5.12 35.84-5.12 51.2-5.12 10.24 0 30.72 0 46.08 5.12z" fill="#FFFFFF" ></path></symbol><symbol id="icon-shouqi" viewBox="0 0 1536 1024"><path d="M0 0h1536v170.666667H0zM426.666667 426.666667h1109.333333v170.666666H426.666667zM256 341.333333L0 512l256 170.666667zM0 853.333333h1536v170.666667H0z" fill="#FFFFFF" ></path></symbol><symbol id="icon-suifangguanliicon" viewBox="0 0 1024 1024"><path d="M759.915789 555.115789c0 16.168421-16.168421 32.336842-32.336842 32.336843H296.421053c-16.168421 0-26.947368-16.168421-26.947369-32.336843s10.778947-32.336842 26.947369-32.336842h431.157894c16.168421 0 32.336842 10.778947 32.336842 32.336842m0 183.242106c0 16.168421-16.168421 32.336842-32.336842 32.336842H296.421053c-16.168421 0-26.947368-16.168421-26.947369-32.336842s10.778947-32.336842 26.947369-32.336842h431.157894c16.168421 0 32.336842 16.168421 32.336842 32.336842M377.263158 247.915789c5.389474-5.389474 10.778947-10.778947 21.557895-10.778947s16.168421 5.389474 21.557894 10.778947L495.831579 323.368421l167.073684-161.68421c5.389474-5.389474 10.778947-10.778947 21.557895-10.778948s16.168421 5.389474 21.557895 10.778948c5.389474 5.389474 10.778947 10.778947 10.778947 21.557894s-5.389474 16.168421-10.778947 21.557895L517.389474 382.652632c-5.389474 10.778947-10.778947 10.778947-21.557895 10.778947s-16.168421 0-21.557895-10.778947L377.263158 291.031579c-5.389474-5.389474-10.778947-16.168421-10.778947-21.557895s5.389474-16.168421 10.778947-21.557895M883.873684 0H145.515789C107.789474 0 80.842105 26.947368 80.842105 64.673684v738.357895c0 102.4 80.842105 183.242105 183.242106 183.242105h490.442105c102.4 0 183.242105-80.842105 183.242105-183.242105V64.673684c5.389474-37.726316-21.557895-64.673684-53.894737-64.673684" fill="#666666" ></path></symbol><symbol id="icon-huanzheguanliicon" viewBox="0 0 1152 1024"><path d="M584 158c-6 6-18 6-24 0C308-88 32 56 32 344c0 312 540 594 540 594s540-306 540-594C1112 56 836-88 584 158z m96 324H602v78c0 18-12 30-30 30s-36-6-36-24V482H458c-18 0-30-12-30-30s12-30 30-30h78V338c0-18 12-30 30-30s30 12 30 30v78h78c18 0 30 12 30 30 12 24-6 36-24 36z" fill="#666666" ></path></symbol><symbol id="icon-suifangmobanicon" viewBox="0 0 1024 1024"><path d="M118.25 62h787.5c33.75 0 56.25 22.5 56.25 50.625v151.875c0 28.125-22.5 50.625-56.25 50.625H118.25c-33.75-5.625-56.25-28.125-56.25-50.625V112.625C62 84.5 84.5 62 118.25 62zM112.625 410.75h157.5c28.125 0 50.625 22.5 50.625 56.25V905.75c0 28.125-22.5 56.25-50.625 56.25H112.625c-28.125 0-50.625-22.5-50.625-56.25V467c0-28.125 22.5-56.25 50.625-56.25z m382.5 0h416.25c28.125 0 50.625 22.5 50.625 56.25V905.75c0 28.125-22.5 56.25-50.625 56.25H495.125c-28.125 0-50.625-22.5-50.625-56.25V467c0-28.125 22.5-56.25 50.625-56.25z" fill="#666666" ></path></symbol><symbol id="icon-dengpao" viewBox="0 0 1024 1024"><path d="M325.270588 650.541176C222.870588 590.305882 150.588235 475.858824 150.588235 349.364706 150.588235 156.611765 313.223529 0 512 0s361.411765 156.611765 361.411765 349.364706c0 126.494118-72.282353 240.941176-174.682353 301.17647-6.023529 30.117647-18.070588 60.235294-42.164706 84.329412H367.435294c-24.094118-24.094118-36.141176-54.211765-42.164706-84.329412z m445.741177-265.035294C771.011765 234.917647 656.564706 120.470588 512 114.447059c-24.094118 0-36.141176 12.047059-36.141176 36.141176 0 6.023529 12.047059 18.070588 36.141176 18.070589 108.423529 0 204.8 90.352941 204.8 216.847058 0 6.023529 12.047059 18.070588 36.141176 18.070589 6.023529-6.023529 18.070588-12.047059 18.070589-18.070589z m-415.62353 433.694118c0-24.094118 18.070588-36.141176 36.141177-36.141176h240.941176c18.070588 0 36.141176 12.047059 36.141177 36.141176s-18.070588 30.117647-36.141177 30.117647H391.529412c-6.023529 0-18.070588-6.023529-24.094118-12.047059-6.023529-6.023529-12.047059-12.047059-12.047059-18.070588z m295.152941 78.305882c-24.094118 54.211765-78.305882 84.329412-138.541176 84.329412-60.235294 0-108.423529-30.117647-138.541176-84.329412h277.082352z" fill="#FFBF47" ></path></symbol><symbol id="icon-chachaicon" viewBox="0 0 1039 1024"><path d="M583.68 512L1003.52 92.16c20.48-20.48 20.48-51.2 0-71.68-20.48-20.48-51.2-20.48-71.68 0L512 440.32 92.16 20.48C71.68 0 40.96 0 20.48 20.48 0 40.96 0 71.68 20.48 92.16L440.32 512 20.48 931.84c-20.48 20.48-20.48 51.2 0 71.68 10.24 10.24 20.48 10.24 40.96 10.24 10.24 0 30.72 0 40.96-10.24l419.84-419.84 419.84 430.08c10.24 10.24 20.48 10.24 40.96 10.24 10.24 0 30.72 0 40.96-10.24 20.48-20.48 20.48-51.2 0-71.68L583.68 512z" fill="#CCCCCC" ></path></symbol><symbol id="icon-fangdajingicon" viewBox="0 0 1030 1024"><path d="M422.4 0c57.6 0 108.8 12.8 160 32s96 51.2 134.4 89.6c38.4 38.4 64 83.2 89.6 134.4 19.2 51.2 32 108.8 32 160s-6.4 96-25.6 140.8c-12.8 44.8-38.4 83.2-70.4 121.6l262.4 262.4c6.4 6.4 12.8 19.2 12.8 32s-6.4 25.6-12.8 32c-6.4 6.4-19.2 12.8-32 12.8s-25.6-6.4-32-12.8l-262.4-262.4c-38.4 32-76.8 51.2-121.6 70.4-44.8 12.8-89.6 25.6-140.8 25.6-57.6 0-108.8-12.8-160-32s-96-51.2-134.4-89.6c-38.4-38.4-64-83.2-89.6-134.4-19.2-51.2-32-108.8-32-160 0-57.6 12.8-108.8 32-160S83.2 166.4 121.6 128c38.4-38.4 83.2-64 134.4-89.6C313.6 12.8 371.2 0 422.4 0z m0 96c-44.8 0-83.2 6.4-128 25.6S217.6 160 192 192c-32 32-51.2 64-70.4 102.4-19.2 38.4-25.6 83.2-25.6 128s6.4 83.2 25.6 128c19.2 38.4 38.4 76.8 70.4 102.4 32 32 64 51.2 102.4 70.4 38.4 19.2 83.2 25.6 128 25.6s83.2-6.4 128-25.6c38.4-19.2 76.8-38.4 102.4-70.4 32-32 51.2-64 70.4-102.4 19.2-38.4 25.6-83.2 25.6-128s-6.4-83.2-25.6-128c-19.2-38.4-38.4-76.8-70.4-102.4-32-32-64-51.2-102.4-70.4-38.4-19.2-83.2-25.6-128-25.6z" fill="#FFFFFF" ></path></symbol><symbol id="icon-jinggaotanhaoicon" viewBox="0 0 1024 1024"><path d="M512 1024C230.4 1024 0 793.6 0 512S230.4 0 512 0s512 230.4 512 512-230.4 512-512 512z m0-962.56c-250.88 0-450.56 199.68-450.56 450.56s199.68 450.56 450.56 450.56 450.56-199.68 450.56-450.56-199.68-450.56-450.56-450.56z" fill="#FF9B54" ></path><path d="M512 645.12c-20.48 0-35.84-15.36-35.84-30.72V271.36c0-20.48 15.36-30.72 35.84-30.72s35.84 15.36 35.84 30.72v337.92c0 20.48-15.36 35.84-35.84 35.84zM512 783.36c-20.48 0-35.84-15.36-35.84-35.84 0-20.48 15.36-35.84 35.84-35.84s35.84 15.36 35.84 35.84c0 25.6-15.36 35.84-35.84 35.84z" fill="#FF9B54" ></path></symbol><symbol id="icon-shanchuicon" viewBox="0 0 1084 1024"><path d="M999.905882 210.823529h-252.988235c-6.023529 0-12.047059 0-18.070588-6.023529l-96.376471-96.376471h-180.705882L355.388235 204.8s-12.047059 6.023529-18.070588 6.023529H84.329412c-12.047059 0-24.094118-12.047059-24.094118-24.094117s12.047059-24.094118 24.094118-24.094118h240.941176L421.647059 66.258824c6.023529-6.023529 12.047059-6.023529 18.070588-6.02353h204.8c6.023529 0 12.047059 0 18.070588 6.02353l96.376471 90.352941h240.941176c12.047059 0 24.094118 12.047059 24.094118 24.094117 0 18.070588-12.047059 30.117647-24.094118 30.117647z m-180.705882 771.011765H265.035294c-54.211765 0-102.4-42.164706-102.4-102.4V331.294118c0-12.047059 12.047059-24.094118 24.094118-24.094118s24.094118 12.047059 24.094117 24.094118v548.141176c0 30.117647 24.094118 48.188235 48.188236 48.188235h560.188235c30.117647 0 48.188235-24.094118 48.188235-48.188235V331.294118c0-12.047059 12.047059-24.094118 24.094118-24.094118s24.094118 12.047059 24.094118 24.094118v548.141176c6.023529 54.211765-36.141176 102.4-96.376471 102.4z m-403.576471-150.588235c-12.047059 0-24.094118-12.047059-24.094117-24.094118V331.294118c0-12.047059 12.047059-24.094118 24.094117-24.094118s24.094118 12.047059 24.094118 24.094118v469.835294c0 18.070588-12.047059 30.117647-24.094118 30.117647z m252.988236 0c-12.047059 0-24.094118-12.047059-24.094118-24.094118V331.294118c0-12.047059 12.047059-24.094118 24.094118-24.094118s24.094118 12.047059 24.094117 24.094118v469.835294c0 18.070588-12.047059 30.117647-24.094117 30.117647z" fill="#777777" ></path><path d="M999.905882 192.752941c6.023529 0 12.047059-6.023529 12.047059-12.047059s-6.023529-12.047059-12.047059-12.047058h-240.941176l-12.047059-6.02353-96.376471-84.329412-6.023529-6.023529H439.717647h-6.023529L337.317647 168.658824l-6.023529 6.023529h-240.941177c-12.047059 0-18.070588 6.023529-18.070588 12.047059s6.023529 12.047059 12.047059 12.047059h259.011764l96.376471-90.352942 12.047059-6.023529h180.705882l12.047059 6.023529 96.376471 90.352942h259.011764z m-240.941176-48.188235h234.917647c24.094118 0 42.164706 18.070588 42.164706 42.164706 0 24.094118-18.070588 42.164706-42.164706 42.164706h-252.988235c-12.047059 0-18.070588-6.023529-30.117647-12.047059l-84.329412-90.352941H457.788235L367.435294 210.823529c-6.023529 12.047059-18.070588 12.047059-30.117647 12.047059H84.329412C60.235294 222.870588 42.164706 204.8 42.164706 180.705882c0-24.094118 18.070588-42.164706 42.164706-42.164706h234.917647L409.6 48.188235c12.047059 0 18.070588-6.023529 30.117647-6.023529h204.8c12.047059 0 18.070588 6.023529 30.117647 12.047059l84.329412 90.352941z m60.235294 819.2c48.188235 0 84.329412-36.141176 84.329412-84.329412V331.294118c0-6.023529-6.023529-12.047059-12.047059-12.047059s-12.047059 6.023529-12.047059 12.047059v548.141176c0 36.141176-30.117647 66.258824-66.258823 66.258824H265.035294c-36.141176 0-66.258824-30.117647-66.258823-66.258824V331.294118c0-6.023529-6.023529-12.047059-12.047059-12.047059l-12.047059 12.047059v548.141176c0 48.188235 36.141176 84.329412 84.329412 84.329412h560.188235z m0 30.117647H265.035294c-66.258824 0-114.447059-54.211765-114.447059-114.447059V331.294118c0-24.094118 18.070588-42.164706 42.164706-42.164706 24.094118 0 42.164706 18.070588 42.164706 42.164706v548.141176c0 18.070588 18.070588 36.141176 36.141177 36.141177h560.188235c18.070588 0 36.141176-18.070588 36.141176-36.141177V331.294118c0-24.094118 18.070588-42.164706 42.164706-42.164706 24.094118 0 42.164706 18.070588 42.164706 42.164706v548.141176c-12.047059 66.258824-66.258824 114.447059-132.517647 114.447059z m-403.576471-180.705882c6.023529 0 12.047059-6.023529 12.047059-12.047059V331.294118c0-6.023529-6.023529-12.047059-12.047059-12.047059s-12.047059 6.023529-12.047058 12.047059v469.835294c0 12.047059 6.023529 12.047059 12.047058 12.047059z m0 30.117647c-24.094118 0-42.164706-18.070588-42.164705-42.164706V331.294118c0-24.094118 18.070588-42.164706 42.164705-42.164706 24.094118 0 42.164706 18.070588 42.164706 42.164706v469.835294c0 24.094118-18.070588 42.164706-42.164706 42.164706z m252.988236-30.117647c6.023529 0 12.047059-6.023529 12.047059-12.047059V331.294118c0-6.023529-6.023529-12.047059-12.047059-12.047059s-12.047059 6.023529-12.047059 12.047059v469.835294c0 12.047059 6.023529 12.047059 12.047059 12.047059z m0 30.117647c-24.094118 0-42.164706-18.070588-42.164706-42.164706V331.294118c0-24.094118 18.070588-42.164706 42.164706-42.164706 24.094118 0 42.164706 18.070588 42.164706 42.164706v469.835294c0 24.094118-18.070588 42.164706-42.164706 42.164706z" fill="#777777" ></path></symbol><symbol id="icon-fuzhiicon" viewBox="0 0 1024 1024"><path d="M614.4 762.311111h-284.444444c-39.822222 0-73.955556-34.133333-73.955556-73.955555V125.155556c5.688889-34.133333 34.133333-68.266667 73.955556-68.266667h563.2c39.822222 0 73.955556 34.133333 73.955555 73.955555v563.2c0 34.133333-22.755556 62.577778-56.888889 73.955556h-11.377778c-96.711111-5.688889-193.422222-5.688889-284.444444-5.688889z m0-56.888889h278.755556c11.377778 0 17.066667-5.688889 17.066666-17.066666v-22.755556-500.622222-22.755556c0-17.066667-5.688889-22.755556-22.755555-22.755555H358.4c-5.688889-5.688889-17.066667-5.688889-22.755556 0-11.377778 0-17.066667 5.688889-17.066666 17.066666V688.355556c0 17.066667 5.688889 22.755556 22.755555 22.755555h17.066667c85.333333-5.688889 170.666667-5.688889 256-5.688889z" fill="#777777" ></path><path d="M614.4 756.622222H910.222222c28.444444-5.688889 51.2-34.133333 51.2-62.577778v-102.4-45.511111-113.777777V341.333333 130.844444c0-34.133333-28.444444-62.577778-62.577778-62.577777h-568.888888c-34.133333 0-62.577778 28.444444-62.577778 62.577777v563.2c0 34.133333 28.444444 62.577778 62.577778 62.577778h284.444444z m0 17.066667h-284.444444c-45.511111 0-79.644444-34.133333-79.644445-79.644445V130.844444c0-45.511111 34.133333-79.644444 79.644445-79.644444h563.2c45.511111 0 79.644444 34.133333 79.644444 79.644444V694.044444c0 39.822222-28.444444 73.955556-68.266667 79.644445h-290.133333z m0-56.888889H341.333333c-22.755556 0-28.444444-11.377778-28.444444-34.133333v-22.755556-500.622222-28.444445c0-17.066667 11.377778-22.755556 22.755555-22.755555H887.466667c17.066667 5.688889 28.444444 11.377778 28.444444 28.444444V688.355556c0 17.066667-11.377778 22.755556-28.444444 28.444444H614.4z m0-17.066667h267.377778c5.688889 0 11.377778-5.688889 11.377778-11.377777v-22.755556-500.622222-17.066667c0-11.377778-5.688889-11.377778-11.377778-17.066667H335.644444c-5.688889 0-11.377778 5.688889-11.377777 11.377778V682.666667c0 11.377778 5.688889 17.066667 17.066666 17.066666h273.066667z" fill="#777777" ></path><path d="M409.6 967.111111h-284.444444c-34.133333 0-68.266667-34.133333-68.266667-73.955555V329.955556c0-39.822222 34.133333-73.955556 73.955555-73.955556h68.266667c17.066667 5.688889 28.444444 17.066667 28.444445 34.133333s-11.377778 28.444444-28.444445 28.444445h-56.888889c-17.066667 0-22.755556 5.688889-28.444444 22.755555V887.466667c0 11.377778 5.688889 17.066667 22.755555 17.066666H682.666667c17.066667 0 22.755556-5.688889 22.755555-22.755555v-51.2c0-17.066667 11.377778-34.133333 28.444445-28.444445 17.066667 0 28.444444 17.066667 28.444444 34.133334v56.888889c0 28.444444-17.066667 56.888889-45.511111 68.266666-5.688889 0-17.066667 5.688889-22.755556 5.688889h-284.444444z" fill="#777777" ></path><path d="M466.488889 955.733333h221.866667c5.688889 0 11.377778 0 22.755555-5.688889 22.755556-5.688889 39.822222-34.133333 39.822222-62.577777v-17.066667-39.822222c0-11.377778-5.688889-22.755556-22.755555-22.755556-11.377778 0-22.755556 11.377778-22.755556 22.755556V881.777778c0 17.066667-11.377778 28.444444-28.444444 34.133333H125.155556c-17.066667 0-22.755556-11.377778-28.444445-28.444444v-28.444445-500.622222-22.755556c0-22.755556 11.377778-28.444444 34.133333-34.133333h56.888889c11.377778 0 22.755556-11.377778 22.755556-22.755555s-11.377778-22.755556-22.755556-22.755556H119.466667C85.333333 256 56.888889 284.444444 56.888889 318.577778v563.2c0 34.133333 28.444444 62.577778 62.577778 62.577778h284.444444c34.133333 11.377778 34.133333 11.377778 62.577778 11.377777z m-56.888889 17.066667h-284.444444c-45.511111 0-79.644444-34.133333-79.644445-79.644444V329.955556c0-45.511111 34.133333-79.644444 79.644445-79.644445h68.266666c22.755556 0 39.822222 17.066667 39.822222 39.822222 0 22.755556-17.066667 39.822222-39.822222 39.822223h-56.888889c-5.688889 0-11.377778 0-11.377777 11.377777V887.466667c0 5.688889 5.688889 11.377778 11.377777 11.377777H682.666667c11.377778 0 17.066667-5.688889 17.066666-17.066666v-34.133334-5.688888-5.688889c0-22.755556 17.066667-39.822222 39.822223-39.822223 22.755556 0 39.822222 17.066667 34.133333 39.822223v56.888889c0 34.133333-22.755556 62.577778-51.2 73.955555-5.688889 0-17.066667 5.688889-28.444445 5.688889h-284.444444zM580.266667 443.733333H443.733333c-17.066667 0-28.444444-11.377778-34.133333-28.444444 0-17.066667 5.688889-34.133333 22.755556-34.133333h147.911111v-5.688889-130.844445c0-17.066667 11.377778-34.133333 34.133333-34.133333 17.066667 0 34.133333 17.066667 34.133333 34.133333v136.533334h136.533334c17.066667 0 28.444444 11.377778 34.133333 28.444444 0 17.066667-5.688889 34.133333-22.755556 34.133333h-142.222222-5.688889v136.533334c0 11.377778-5.688889 22.755556-17.066666 28.444444-17.066667 5.688889-28.444444 5.688889-39.822223-5.688889-5.688889-5.688889-11.377778-11.377778-11.377777-22.755555V449.422222v-5.688889z" fill="#777777" ></path><path d="M580.266667 438.044444l11.377777 5.688889v136.533334c0 5.688889 0 11.377778 5.688889 17.066666 5.688889 5.688889 17.066667 11.377778 28.444445 5.688889s17.066667-11.377778 17.066666-22.755555V489.244444v-45.511111l5.688889-11.377777h142.222223c11.377778-5.688889 17.066667-17.066667 17.066666-28.444445s-11.377778-22.755556-22.755555-22.755555h-136.533334l-5.688889-5.688889v-5.688889-39.822222-28.444445-62.577778c0-17.066667-11.377778-28.444444-22.755555-28.444444-22.755556 5.688889-34.133333 17.066667-34.133333 34.133333V375.466667l-5.688889 11.377777H438.044444c-11.377778 5.688889-22.755556 17.066667-17.066666 28.444445 0 11.377778 11.377778 22.755556 22.755555 22.755555H580.266667z m-45.511111 17.066667H443.733333c-22.755556 0-39.822222-17.066667-39.822222-34.133333 0-22.755556 11.377778-39.822222 28.444445-45.511111H568.888889V341.333333v-28.444444-62.577778c0-22.755556 17.066667-45.511111 39.822222-45.511111 22.755556 0 39.822222 17.066667 39.822222 45.511111v125.155556h125.155556c22.755556 0 39.822222 17.066667 39.822222 34.133333 5.688889 22.755556-11.377778 39.822222-28.444444 45.511111h-136.533334v125.155556c0 17.066667-11.377778 34.133333-22.755555 39.822222-11.377778 5.688889-28.444444 0-39.822222-11.377778-11.377778-5.688889-17.066667-17.066667-17.066667-28.444444V512v-34.133333V455.111111h-34.133333z" fill="#777777" ></path></symbol><symbol id="icon-tianjiaicon" viewBox="0 0 1024 1024"><path d="M320 576h128v128c0 38.4 25.6 64 64 64s64-25.6 64-64V576h128c38.4 0 64-25.6 64-64s-25.6-64-64-64H576V320c0-38.4-25.6-64-64-64s-64 25.6-64 64v128H320c-38.4 0-64 25.6-64 64s25.6 64 64 64zM0 0v1024h1024V0H0z m960 960H64V64h896v896z" fill="#06AEA6" ></path></symbol><symbol id="icon-information" viewBox="0 0 1024 1024"><path d="M983.04 314.026667c-27.306667-61.44-61.44-116.053333-109.226667-163.84S771.413333 68.266667 709.973333 40.96C648.533333 13.653333 580.266667 0 512 0s-136.533333 13.653333-197.973333 40.96c-61.44 27.306667-116.053333 61.44-163.84 109.226667S68.266667 252.586667 40.96 314.026667C13.653333 375.466667 0 443.733333 0 512s13.653333 136.533333 40.96 197.973333c27.306667 61.44 61.44 116.053333 109.226667 163.84 47.786667 47.786667 102.4 81.92 163.84 109.226667 61.44 27.306667 129.706667 40.96 197.973333 40.96s136.533333-13.653333 197.973333-40.96c61.44-27.306667 116.053333-61.44 163.84-109.226667 47.786667-47.786667 81.92-102.4 109.226667-163.84 27.306667-61.44 40.96-129.706667 40.96-197.973333s-13.653333-136.533333-40.96-197.973333z m-423.253333 539.306666c-13.653333 13.653333-27.306667 20.48-47.786667 20.48-20.48 0-34.133333-6.826667-47.786667-20.48-13.653333-13.653333-20.48-34.133333-20.48-54.613333V436.906667c0-27.306667 6.826667-40.96 20.48-54.613334 13.653333-20.48 27.306667-20.48 47.786667-20.48 20.48 0 34.133333 6.826667 47.786667 20.48 13.653333 6.826667 13.653333 27.306667 13.653333 47.786667v368.64c0 20.48 0 40.96-13.653333 54.613333z m-47.786667-552.96c-13.653333 0-34.133333-6.826667-40.96-13.653333-13.653333-13.653333-20.48-27.306667-20.48-47.786667 0-20.48 6.826667-34.133333 20.48-40.96 13.653333-13.653333 27.306667-20.48 47.786667-20.48 13.653333 0 34.133333 6.826667 40.96 13.653334 6.826667 13.653333 13.653333 27.306667 13.653333 47.786666 0 20.48-6.826667 34.133333-20.48 47.786667-6.826667 6.826667-20.48 13.653333-40.96 13.653333z" fill="#808080" ></path></symbol><symbol id="icon-baocunchenggong" viewBox="0 0 1024 1024"><path d="M512 1024C230.4 1024 0 793.6 0 512c0-138.24 56.32-266.24 148.48-363.52C245.76 51.2 373.76 0 512 0c138.24 0 266.24 56.32 363.52 148.48C972.8 245.76 1024 378.88 1024 512c0 138.24-56.32 266.24-148.48 363.52C778.24 972.8 650.24 1024 512 1024z m0-952.32c-117.76 0-225.28 46.08-307.2 128-81.92 81.92-128 194.56-128 307.2 0 240.64 194.56 440.32 435.2 440.32 117.76 0 225.28-46.08 307.2-128 81.92-81.92 128-194.56 128-307.2 0-117.76-46.08-225.28-128-312.32-76.8-81.92-189.44-128-307.2-128z" fill="#3AC9A8" ></path><path d="M455.68 727.04c-10.24 0-20.48-5.12-25.6-10.24-20.48-15.36-20.48-35.84-5.12-51.2l327.68-337.92c15.36-15.36 40.96-15.36 56.32-5.12 15.36 15.36 15.36 35.84 5.12 51.2l-327.68 337.92c-10.24 10.24-20.48 15.36-30.72 15.36z" fill="#3AC9A8" ></path><path d="M455.68 727.04c-10.24 0-20.48-5.12-25.6-10.24l-179.2-184.32c-15.36-15.36-15.36-35.84 0-51.2 15.36-15.36 40.96-15.36 51.2 0L481.28 665.6c15.36 15.36 15.36 35.84 0 51.2-10.24 5.12-20.48 10.24-25.6 10.24z" fill="#3AC9A8" ></path></symbol><symbol id="icon-danxuanicon" viewBox="0 0 1024 1024"><path d="M519.314286 0h-14.628572C226.742857 0 0 226.742857 0 512s226.742857 512 504.685714 512h14.628572c277.942857 0 504.685714-226.742857 504.685714-512s-226.742857-512-504.685714-512z m0 950.857143h-14.628572C270.628571 950.857143 73.142857 753.371429 73.142857 512s197.485714-438.857143 431.542857-438.857143h14.628572C753.371429 73.142857 950.857143 270.628571 950.857143 512s-197.485714 438.857143-431.542857 438.857143z" fill="#06AEA6" ></path><path d="M512 292.571429C387.657143 292.571429 292.571429 387.657143 292.571429 512s95.085714 219.428571 219.428571 219.428571c117.028571 0 219.428571-95.085714 219.428571-219.428571S636.342857 292.571429 512 292.571429z" fill="#06AEA6" ></path></symbol><symbol id="icon-danhangicon" viewBox="0 0 1024 1024"><path d="M950.857143 0H73.142857C29.257143 0 0 29.257143 0 73.142857v877.714286c0 43.885714 29.257143 73.142857 73.142857 73.142857h877.714286c43.885714 0 73.142857-29.257143 73.142857-73.142857V73.142857c0-43.885714-29.257143-73.142857-73.142857-73.142857z m0 914.285714c0 21.942857-14.628571 36.571429-36.571429 36.571429h-804.571428c-21.942857 0-36.571429-14.628571-36.571429-36.571429v-804.571428c0-21.942857 14.628571-36.571429 36.571429-36.571429h804.571428c21.942857 0 36.571429 14.628571 36.571429 36.571429v804.571428z" fill="#06AEA6" ></path><path d="M292.571429 292.571429h438.857142c43.885714 0 73.142857 29.257143 73.142858 73.142857s-29.257143 73.142857-73.142858 73.142857H292.571429c-43.885714 0-73.142857-29.257143-73.142858-73.142857s29.257143-73.142857 73.142858-73.142857zM292.571429 585.142857h438.857142c43.885714 0 73.142857 29.257143 73.142858 73.142857s-29.257143 73.142857-73.142858 73.142857H292.571429c-43.885714 0-73.142857-29.257143-73.142858-73.142857s29.257143-73.142857 73.142858-73.142857z" fill="#06AEA6" ></path></symbol><symbol id="icon-bi" viewBox="0 0 1024 1024"><path d="M315.733333 896L128 708.266667l512-512 187.733333 187.733333-512 512zM844.8 76.8l102.4 102.4c25.6 25.6 25.6 68.266667 0 93.866667L844.8 375.466667 648.533333 179.2 750.933333 76.8c25.6-25.6 68.266667-25.6 93.866667 0zM119.466667 725.333333l187.733333 187.733334-256 68.266666 68.266667-256z" fill="#999999" ></path></symbol><symbol id="icon-baocunzhong" viewBox="0 0 1024 1024"><path d="M512 1024C230.4 1024 0 793.6 0 512c0-138.24 56.32-266.24 148.48-363.52C245.76 51.2 373.76 0 512 0c138.24 0 266.24 56.32 363.52 148.48C972.8 245.76 1024 378.88 1024 512c0 138.24-56.32 266.24-148.48 363.52C778.24 972.8 650.24 1024 512 1024z m0-952.32c-117.76 0-225.28 46.08-307.2 128-81.92 81.92-128 194.56-128 307.2 0 240.64 194.56 440.32 435.2 440.32 117.76 0 225.28-46.08 307.2-128 81.92-81.92 128-194.56 128-307.2 0-117.76-46.08-225.28-128-312.32-76.8-81.92-189.44-128-307.2-128z" fill="#3AC9A8" ></path><path d="M256 537.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z" fill="#3AC9A8" ></path><path d="M512 537.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z" fill="#3AC9A8" ></path><path d="M768 537.6m-76.8 0a76.8 76.8 0 1 0 153.6 0 76.8 76.8 0 1 0-153.6 0Z" fill="#3AC9A8" ></path></symbol><symbol id="icon-hongselajixiang" viewBox="0 0 1024 1024"><path d="M981.333333 119.466667H802.133333V51.2c0-25.6-25.6-51.2-51.2-51.2H273.066667c-34.133333 0-51.2 25.6-51.2 51.2v59.733333H34.133333c-17.066667 8.533333-34.133333 25.6-34.133333 42.666667s17.066667 34.133333 34.133333 34.133333h947.2c17.066667 0 34.133333-17.066667 34.133334-34.133333 8.533333-17.066667-8.533333-34.133333-34.133334-34.133333zM836.266667 273.066667H179.2c-8.533333 0-17.066667 0-25.6 8.533333 0 8.533333-8.533333 17.066667-8.533333 25.6v605.866667c0 59.733333 51.2 110.933333 110.933333 110.933333h512c59.733333 0 110.933333-51.2 110.933333-110.933333V307.2c0-17.066667-17.066667-34.133333-42.666666-34.133333zM418.133333 853.333333c0 17.066667-17.066667 34.133333-34.133333 34.133334-25.6 8.533333-42.666667-8.533333-42.666667-34.133334V460.8c0-17.066667 17.066667-34.133333 34.133334-34.133333s34.133333 17.066667 34.133333 34.133333V853.333333zM682.666667 853.333333c0 17.066667-17.066667 34.133333-34.133334 34.133334s-34.133333-17.066667-34.133333-34.133334V460.8c-8.533333-17.066667 8.533333-34.133333 25.6-34.133333 25.6 0 42.666667 17.066667 42.666667 34.133333V853.333333z" fill="#F36969" ></path></symbol><symbol id="icon-lansezantingshiyong" viewBox="0 0 1024 1024"><path d="M156.553846 968.861538V39.384615C156.553846 7.876923 188.061538-7.876923 211.692308 7.876923L849.723077 472.615385c23.630769 15.753846 23.630769 47.261538 0 63.015384L211.692308 1000.369231c-23.630769 15.753846-55.138462 0-55.138462-31.507693z" fill="#45A8E6" ></path></symbol><symbol id="icon-duoxuan-icon" viewBox="0 0 1024 1024"><path d="M950.857143 0H73.142857C29.257143 0 0 29.257143 0 73.142857v877.714286c0 43.885714 29.257143 73.142857 73.142857 73.142857h877.714286c43.885714 0 73.142857-29.257143 73.142857-73.142857V73.142857c0-43.885714-29.257143-73.142857-73.142857-73.142857z m0 914.285714c0 21.942857-14.628571 36.571429-36.571429 36.571429h-804.571428c-21.942857 0-36.571429-14.628571-36.571429-36.571429v-804.571428c0-21.942857 14.628571-36.571429 36.571429-36.571429h804.571428c21.942857 0 36.571429 14.628571 36.571429 36.571429v804.571428z" fill="#06AEA6" ></path><path d="M804.571429 343.771429s-95.085714 29.257143-204.8 160.914285C497.371429 621.714286 475.428571 665.6 438.857143 731.428571c-7.314286-7.314286-65.828571-117.028571-219.428572-204.8l80.457143-80.457142s73.142857 51.2 124.342857 146.285714c0 0 131.657143-204.8 380.342858-299.885714v51.2z" fill="#06AEA6" ></path></symbol><symbol id="icon-guaduan_icon" viewBox="0 0 3413 1024"><path d="M352.52459 1007.213115h-67.147541c-67.147541 0-134.295082-33.57377-167.868852-100.721312-50.360656-33.57377-67.147541-83.934426-83.934427-134.295082-16.786885-33.57377-16.786885-83.934426-33.57377-134.295082v-33.57377c0-16.786885 16.786885-50.360656 16.786885-67.147541 16.786885-50.360656 67.147541-83.934426 100.721312-117.508197 50.360656-50.360656 117.508197-83.934426 184.655737-117.508197 100.721311-67.147541 218.229508-117.508197 335.737705-151.081967 167.868852-50.360656 335.737705-83.934426 503.606558-100.721311C1275.803279 16.786885 1410.098361 0 1544.393443 0h268.590164c117.508197 0 218.229508 16.786885 335.737704 16.786885 134.295082 16.786885 268.590164 33.57377 402.885246 67.147541 184.655738 50.360656 369.311475 100.721311 520.393443 218.229508 67.147541 50.360656 117.508197 83.934426 184.655738 134.295082 33.57377 33.57377 67.147541 83.934426 83.934426 134.295082 0 16.786885 0 33.57377 16.786885 33.573771v50.360656c-16.786885 33.57377-16.786885 67.147541-33.57377 100.721311l-50.360656 151.081967c-33.57377 50.360656-67.147541 83.934426-134.295082 100.721312-16.786885 0-50.360656 0-67.147541 16.786885H3021.639344V1007.213115h-83.934426c-151.081967-16.786885-302.163934-50.360656-436.459016-100.721312-67.147541-16.786885-117.508197-67.147541-134.295082-151.081967-16.786885-50.360656-16.786885-83.934426-16.786886-117.508197 0-67.147541-33.57377-117.508197-100.721311-151.081967-16.786885-16.786885-50.360656-16.786885-67.147541-33.57377-83.934426-16.786885-167.868852-33.57377-251.803279-33.573771H1477.245902c-83.934426 0-167.868852 0-251.803279 16.786885-33.57377 16.786885-83.934426 33.57377-134.295082 50.360656-50.360656 33.57377-67.147541 67.147541-83.934426 117.508197v83.934426c-16.786885 100.721311-50.360656 167.868852-151.081967 201.442623-134.295082 67.147541-285.377049 83.934426-436.459017 117.508197h-67.147541z" fill="#FFFFFF" ></path></symbol><symbol id="icon-jinggaochacha" viewBox="0 0 1024 1024"><path d="M512 1024c-285.257143 0-512-226.742857-512-512s226.742857-512 512-512 512 226.742857 512 512-226.742857 512-512 512z m234.057143-753.371429c-21.942857-21.942857-65.828571-21.942857-87.771429 0L512 424.228571l-153.6-146.285714c-21.942857-21.942857-65.828571-21.942857-87.771429 0-21.942857 21.942857-21.942857 65.828571 0 87.771429l153.6 146.285714-153.6 153.6c-21.942857 21.942857-21.942857 65.828571 0 87.771429 21.942857 21.942857 65.828571 21.942857 87.771429 0L512 599.771429l153.6 153.6c21.942857 21.942857 65.828571 21.942857 87.771429 0 21.942857-21.942857 21.942857-65.828571 0-87.771429L599.771429 512l153.6-153.6c21.942857-21.942857 21.942857-58.514286-7.314286-87.771429z" fill="#F36969" ></path></symbol><symbol id="icon-querenbodaicon" viewBox="0 0 1024 1024"><path d="M1021.379432 907.270922c-21.886702 80.251241-167.79805 138.61578-321.004964 102.137943-153.206915-36.477837-313.709397-124.024645-437.734043-248.04929C138.61578 637.334929 51.068972 476.832447 14.591135 323.625532S36.477837 24.50727 116.729078 2.620568C138.61578-4.675 218.867021-11.970567 342.891667 206.896454c36.477837 65.660106 7.295567 58.364539-72.955674 189.684752-36.477837 58.364539 21.886702 138.61578 21.886702 138.61578s43.773404 65.660106 87.546808 109.433511S488.803014 732.177305 488.803014 732.177305s80.251241 58.364539 138.61578 21.886702c124.024645-80.251241 124.024645-102.137943 189.684752-72.955674 218.867021 124.024645 204.275886 204.275886 204.275886 226.162589z" fill="#FFFFFF" ></path></symbol><symbol id="icon-sanjiaoxingjinggao" viewBox="0 0 1171 1024"><path d="M1151.544484 892.811388L655.94306 54.661922c-43.729537-72.882562-109.323843-72.882562-145.765124 0L21.864769 892.811388c-43.729537 72.882562-7.288256 123.900356 72.882562 123.900356h976.626334c87.459075 0 116.6121-58.30605 80.170819-123.900356zM583.060498 149.409253l451.871886 757.978647H131.188612L583.060498 149.409253z" fill="#F36969" ></path><path d="M546.619217 389.921708h80.170819V659.587189H546.619217V389.921708z m0 349.836299h80.170819v116.6121H546.619217v-116.6121z" fill="#F36969" ></path></symbol><symbol id="icon-shanchuwenzichacha" viewBox="0 0 1024 1024"><path d="M512 0C226.742857 0 0 226.742857 0 512s226.742857 512 512 512 512-226.742857 512-512-226.742857-512-512-512z m204.8 636.342857c21.942857 14.628571 29.257143 36.571429 29.257143 58.514286-7.314286 21.942857-21.942857 43.885714-43.885714 43.885714-21.942857 7.314286-43.885714-7.314286-58.514286-29.257143L512 585.142857 380.342857 716.8c-14.628571 21.942857-36.571429 29.257143-58.514286 29.257143-21.942857-7.314286-43.885714-21.942857-43.885714-43.885714-7.314286-21.942857 7.314286-43.885714 29.257143-58.514286L438.857143 512 307.2 380.342857c-21.942857-14.628571-29.257143-36.571429-29.257143-58.514286 7.314286-21.942857 21.942857-43.885714 43.885714-43.885714 21.942857-7.314286 43.885714 7.314286 58.514286 29.257143L512 438.857143l131.657143-131.657143c14.628571-21.942857 36.571429-29.257143 58.514286-29.257143 21.942857 7.314286 43.885714 21.942857 43.885714 43.885714 7.314286 21.942857-7.314286 43.885714-29.257143 58.514286L585.142857 512l131.657143 124.342857z" fill="#BFBFBF" ></path></symbol><symbol id="icon-suifangjihuaicon" viewBox="0 0 1024 1024"><path d="M861.364706 0H162.635294C120.470588 0 90.352941 30.117647 90.352941 66.258824v861.364705c0 60.235294 66.258824 90.352941 114.447059 54.211765l265.035294-192.752941c24.094118-18.070588 60.235294-18.070588 84.329412 0l265.035294 192.752941c48.188235 36.141176 114.447059 6.023529 114.447059-54.211765V66.258824c0-36.141176-30.117647-66.258824-72.282353-66.258824z m-162.635294 361.411765l-60.235294 66.258823c-6.023529 6.023529-12.047059 12.047059-12.047059 24.094118L644.517647 542.117647c6.023529 24.094118-18.070588 42.164706-42.164706 30.117647l-78.305882-48.188235c-6.023529-6.023529-18.070588-6.023529-24.094118 0l-78.305882 48.188235c-24.094118 6.023529-42.164706-6.023529-42.164706-30.117647l18.070588-90.352941c0-6.023529 0-18.070588-6.023529-24.094118L325.270588 361.411765c-18.070588-18.070588-6.023529-48.188235 12.047059-48.188236L427.670588 301.176471c6.023529 0 18.070588-6.023529 18.070588-18.070589l42.164706-84.329411c6.023529-6.023529 12.047059-12.047059 24.094118-12.047059s18.070588 6.023529 24.094118 18.070588l42.164706 84.329412c0 6.023529 12.047059 12.047059 18.070588 12.047059l90.352941 12.047058c18.070588 0 30.117647 30.117647 12.047059 48.188236z" fill="#06AEA6" ></path></symbol><symbol id="icon-rili" viewBox="0 0 1024 1024"><path d="M848.457143 73.142857H731.428571V36.571429c0-21.942857-14.628571-36.571429-36.571428-36.571429S658.285714 14.628571 658.285714 36.571429V73.142857H329.142857V36.571429C329.142857 14.628571 314.514286 0 292.571429 0s-36.571429 14.628571-36.571429 36.571429V73.142857H146.285714C65.828571 73.142857 0 138.971429 0 219.428571v658.285715c0 80.457143 65.828571 146.285714 146.285714 146.285714h702.171429c80.457143 0 146.285714-65.828571 146.285714-146.285714V219.428571c0-80.457143-65.828571-146.285714-146.285714-146.285714z m73.142857 804.571429c0 43.885714-29.257143 73.142857-73.142857 73.142857H146.285714c-43.885714 0-73.142857-29.257143-73.142857-73.142857V219.428571c0-43.885714 29.257143-73.142857 73.142857-73.142857h109.714286v36.571429c0 21.942857 14.628571 36.571429 36.571429 36.571428s36.571429-14.628571 36.571428-36.571428V146.285714H658.285714v36.571429c0 21.942857 14.628571 36.571429 36.571429 36.571428s36.571429-14.628571 36.571428-36.571428V146.285714h117.028572c43.885714 0 73.142857 29.257143 73.142857 73.142857v658.285715z" fill="#999999" ></path><path d="M307.2 307.2h-73.142857c-14.628571 0-29.257143 14.628571-29.257143 36.571429s14.628571 36.571429 36.571429 36.571428h73.142857c21.942857 0 36.571429-14.628571 36.571428-36.571428s-21.942857-36.571429-43.885714-36.571429z m212.114286 0h-73.142857c-21.942857 0-36.571429 14.628571-36.571429 36.571429s14.628571 36.571429 36.571429 36.571428h73.142857c21.942857 0 36.571429-14.628571 36.571428-36.571428s-14.628571-36.571429-36.571428-36.571429z m212.114285 0H658.285714c-21.942857 0-36.571429 14.628571-36.571428 36.571429s14.628571 36.571429 36.571428 36.571428h73.142857c21.942857 0 36.571429-14.628571 36.571429-36.571428s-14.628571-36.571429-36.571429-36.571429zM307.2 497.371429h-73.142857c-14.628571 0-29.257143 21.942857-29.257143 36.571428s14.628571 43.885714 36.571429 43.885714h73.142857c21.942857 0 36.571429-14.628571 36.571428-36.571428s-21.942857-43.885714-43.885714-43.885714z m212.114286 0h-73.142857c-21.942857 0-36.571429 14.628571-36.571429 36.571428s14.628571 36.571429 36.571429 36.571429h73.142857c21.942857 0 36.571429-14.628571 36.571428-36.571429s-14.628571-36.571429-36.571428-36.571428z m212.114285 0H658.285714c-21.942857 0-36.571429 14.628571-36.571428 36.571428s14.628571 36.571429 36.571428 36.571429h73.142857c21.942857 0 36.571429-14.628571 36.571429-36.571429s-14.628571-36.571429-36.571429-36.571428zM307.2 687.542857h-73.142857c-14.628571 0-29.257143 21.942857-29.257143 43.885714s14.628571 36.571429 36.571429 36.571429h73.142857c21.942857 0 36.571429-14.628571 36.571428-36.571429s-21.942857-43.885714-43.885714-43.885714z m212.114286 0h-73.142857c-21.942857 0-36.571429 14.628571-36.571429 36.571429s14.628571 36.571429 36.571429 36.571428h73.142857c21.942857 0 36.571429-14.628571 36.571428-36.571428s-14.628571-36.571429-36.571428-36.571429z m212.114285 0H658.285714c-21.942857 0-36.571429 14.628571-36.571428 36.571429s14.628571 36.571429 36.571428 36.571428h73.142857c21.942857 0 36.571429-14.628571 36.571429-36.571428s-14.628571-36.571429-36.571429-36.571429z" fill="#999999" ></path></symbol><symbol id="icon-tiankongtiicon" viewBox="0 0 1024 1024"><path d="M950.857143 0H73.142857C29.257143 0 0 29.257143 0 73.142857v877.714286c0 43.885714 29.257143 73.142857 73.142857 73.142857h877.714286c43.885714 0 73.142857-29.257143 73.142857-73.142857V73.142857c0-43.885714-29.257143-73.142857-73.142857-73.142857z m0 914.285714c0 21.942857-14.628571 36.571429-36.571429 36.571429h-804.571428c-21.942857 0-36.571429-14.628571-36.571429-36.571429v-804.571428c0-21.942857 14.628571-36.571429 36.571429-36.571429h804.571428c21.942857 0 36.571429 14.628571 36.571429 36.571429v804.571428z" fill="#06AEA6" ></path><path d="M365.714286 299.885714h73.142857v424.228572H365.714286v51.2h292.571428v-51.2H585.142857V299.885714h73.142857v-51.2H365.714286z" fill="#06AEA6" ></path></symbol><symbol id="icon-xialaicon" viewBox="0 0 1024 1024"><path d="M950.857143 0H73.142857C29.257143 0 0 29.257143 0 73.142857v877.714286c0 43.885714 29.257143 73.142857 73.142857 73.142857h877.714286c43.885714 0 73.142857-29.257143 73.142857-73.142857V73.142857c0-43.885714-29.257143-73.142857-73.142857-73.142857z m0 914.285714c0 21.942857-14.628571 36.571429-36.571429 36.571429h-804.571428c-21.942857 0-36.571429-14.628571-36.571429-36.571429v-804.571428c0-21.942857 14.628571-36.571429 36.571429-36.571429h804.571428c21.942857 0 36.571429 14.628571 36.571429 36.571429v804.571428z" fill="#06AEA6" ></path><path d="M709.485714 365.714286H314.514286c-51.2 0-80.457143 65.828571-36.571429 109.714285l197.485714 204.8c21.942857 21.942857 58.514286 21.942857 80.457143 0l197.485715-204.8c36.571429-36.571429 7.314286-109.714286-43.885715-109.714285z" fill="#06AEA6" ></path></symbol><symbol id="icon-tianjialiebiao_icon" viewBox="0 0 1024 1024"><path d="M512 0C232.106667 0 0 232.106667 0 512S232.106667 1024 512 1024 1024 791.893333 1024 512 791.893333 0 512 0z m204.8 546.133333h-136.533333c-6.826667 0-20.48 6.826667-27.306667 6.826667s-6.826667 20.48-6.826667 27.306667v136.533333c0 13.653333-13.653333 34.133333-27.306666 34.133333-6.826667 0-20.48 0-27.306667-6.826666-6.826667-6.826667-13.653333-20.48-13.653333-27.306667v-136.533333c0-6.826667-6.826667-20.48-6.826667-27.306667S450.56 546.133333 443.733333 546.133333h-136.533333c-13.653333 0-34.133333-13.653333-34.133333-27.306666 0-6.826667 0-20.48 6.826666-27.306667 6.826667-6.826667 20.48-13.653333 27.306667-13.653333h136.533333c6.826667 0 20.48-6.826667 27.306667-6.826667s6.826667-20.48 6.826667-27.306667v-136.533333c0-13.653333 13.653333-34.133333 27.306666-34.133333 6.826667 0 20.48 0 27.306667 6.826666s13.653333 20.48 13.653333 27.306667v136.533333c0 6.826667 6.826667 20.48 6.826667 27.306667s20.48 6.826667 27.306667 6.826667h136.533333c6.826667 0 20.48 6.826667 27.306667 13.653333 6.826667 6.826667 6.826667 13.653333 6.826666 27.306667s-20.48 27.306667-34.133333 27.306666z" fill="#06AEA6" ></path></symbol><symbol id="icon-green_guanbiyulan" viewBox="0 0 1024 1024"><path d="M507.437624 202.772277c-349.782178 0-456.237624 324.435644-456.237624 324.435644s121.663366 324.435644 456.237624 324.435643 456.237624-324.435644 456.237624-324.435643S857.219802 202.772277 507.437624 202.772277z m0 481.584159c-86.178218 0-152.079208-70.970297-152.079208-152.079208s65.90099-152.079208 152.079208-152.079208 152.079208 70.970297 152.079208 152.079208-70.970297 152.079208-152.079208 152.079208z" fill="#06AEA6" ></path><path d="M400.982178 527.207921c0 60.831683 50.693069 106.455446 106.455446 106.455445s106.455446-50.693069 106.455445-106.455445-50.693069-106.455446-106.455445-106.455446-106.455446 45.623762-106.455446 106.455446z" fill="#06AEA6" ></path><path d="M157.655446 1024c-5.069307 0-10.138614 0-15.207921-5.069307-10.138614-10.138614-15.207921-25.346535-5.069307-35.485148L811.59604 25.346535c10.138614-10.138614 25.346535-15.207921 35.485148-5.069307 15.207921 10.138614 15.207921 25.346535 5.069307 35.485148L177.932673 1013.861386c-5.069307 5.069307-10.138614 10.138614-20.277227 10.138614z" fill="#06AEA6" ></path></symbol><symbol id="icon-green_phone" viewBox="0 0 1024 1024"><path d="M1019.301984 908.215403c-20.432576 78.324875-163.460608 143.028032-320.110358 102.16288-156.649749-37.459723-313.299499-122.595456-439.300383-248.596342C133.890357 635.781056 52.160053 479.131307 11.294901 322.481558-26.164821 165.831808 35.132907 22.803776 113.457781 2.3712c20.432576-6.810859 102.16288-13.621717 224.758336 204.32576 34.054293 61.297728 6.810859 61.297728-71.514016 187.298614-37.459723 57.892299 23.838005 139.622603 23.838006 139.622602s40.865152 64.703157 85.135733 108.973739c44.270581 44.270581 108.973739 85.135733 108.973738 85.135733s81.730304 61.297728 139.622603 23.838005c126.000885-78.324875 126.000885-105.568309 187.298613-71.514016 224.758336 129.406315 214.542048 207.731189 207.73119 228.163766z" fill="#06AEA6" ></path></symbol><symbol id="icon-grey_bianji" viewBox="0 0 1035 1024"><path d="M990.086679 825.98895h-96.176796V282.872928l-62.232044 62.232044v475.22652H243.302149L939.169552 96.176796l-50.917127-39.60221L198.04248 780.729282V192.353591h446.939227l56.574585-62.232044H198.04248V33.944751c0-16.972376-11.314917-33.944751-33.944751-33.944751s-33.944751 16.972376-33.944752 33.944751v96.176796H33.976182c-16.972376 0-33.944751 11.314917-33.944752 33.944751s11.314917 33.944751 33.944752 33.944752h96.176795V837.303867c0 33.944751 22.629834 56.574586 56.574586 56.574586h644.950276v96.176796c0 16.972376 11.314917 33.944751 33.944752 33.944751s33.944751-11.314917 33.944751-33.944751v-96.176796h96.176796c16.972376 0 33.944751-11.314917 33.944751-33.944751-5.657459-16.972376-16.972376-33.944751-39.60221-33.944752z" fill="#979797" ></path></symbol><symbol id="icon-grey_shanchu" viewBox="0 0 1024 1024"><path d="M995.555556 159.288889h-267.377778c-5.688889 0-11.377778 0-17.066667-5.688889L608.711111 56.888889H415.288889L312.888889 147.911111c0 5.688889-11.377778 11.377778-17.066667 11.377778H28.444444c-17.066667 0-28.444444-11.377778-28.444444-28.444445s11.377778-28.444444 28.444444-28.444444H284.444444L386.844444 5.688889c5.688889 0 11.377778-5.688889 17.066667-5.688889h216.177778c5.688889 0 11.377778 5.688889 17.066667 5.688889L739.555556 108.088889h256c17.066667 0 28.444444 11.377778 28.444444 28.444444 0 11.377778-11.377778 22.755556-28.444444 22.755556z m-187.733334 819.2H216.177778c-56.888889 0-108.088889-45.511111-108.088889-108.088889V290.133333c0-17.066667 11.377778-28.444444 28.444444-28.444444s28.444444 11.377778 28.444445 28.444444v580.266667c0 28.444444 22.755556 51.2 51.2 51.2h591.644444c28.444444 0 51.2-22.755556 51.2-51.2V290.133333c0-17.066667 11.377778-28.444444 28.444445-28.444444s28.444444 11.377778 28.444444 28.444444v580.266667c0 56.888889-45.511111 108.088889-108.088889 108.088889z m-432.355555-159.288889c-17.066667 0-28.444444-11.377778-28.444445-28.444444V290.133333c0-17.066667 11.377778-28.444444 28.444445-28.444444s28.444444 11.377778 28.444444 28.444444v500.622223c0 17.066667-11.377778 28.444444-28.444444 28.444444z m273.066666 0c-17.066667 0-28.444444-11.377778-28.444444-28.444444V290.133333c0-17.066667 11.377778-28.444444 28.444444-28.444444s28.444444 11.377778 28.444445 28.444444v500.622223c-5.688889 17.066667-17.066667 28.444444-28.444445 28.444444z" fill="#979797" ></path></symbol><symbol id="icon-grey_fuzhi" viewBox="0 0 1024 1024"><path d="M622.320442 792.044199H305.502762c-45.259669 0-79.20442-33.944751-79.204419-79.20442V79.20442C226.298343 33.944751 260.243094 0 305.502762 0h627.977901c50.917127 0 84.861878 33.944751 84.861878 79.20442v627.9779c0 39.60221-28.287293 73.546961-67.889502 79.20442h-11.314917c-107.491713 5.657459-209.325967 5.657459-316.81768 5.657459z m0-67.889503h305.502762c11.314917 0 22.629834-5.657459 22.629835-22.629834v-28.287293V113.149171v-22.629834c0-16.972376-5.657459-22.629834-22.629835-28.287293H311.160221c-11.314917 0-16.972376 5.657459-22.629834 22.629834v611.005525c0 16.972376 5.657459 22.629834 28.287293 28.287293H339.447514c96.176796 5.657459 186.696133 0 282.872928 0z" fill="#979797" ></path><path d="M396.022099 1018.342541H79.20442C33.944751 1018.342541 0 984.39779 0 939.138122V305.502762C0 260.243094 33.944751 226.298343 79.20442 226.298343h79.20442c16.972376 0 33.944751 11.314917 33.944751 33.944751 0 16.972376-11.314917 33.944751-33.944751 33.944751H96.176796c-16.972376 0-22.629834 11.314917-28.287293 28.287293v611.005525c0 11.314917 11.314917 22.629834 22.629834 22.629834h611.005525c16.972376 0 22.629834-11.314917 22.629834-28.287293v-56.574585c0-22.629834 16.972376-33.944751 33.944752-33.944752s33.944751 16.972376 33.944751 39.60221v67.889503c0 33.944751-22.629834 62.232044-50.917127 73.546961-5.657459 0-16.972376 5.657459-28.287293 5.657459C605.348066 1018.342541 503.513812 1018.342541 396.022099 1018.342541zM582.718232 435.624309H429.966851c-16.972376-5.657459-33.944751-16.972376-33.944752-33.944751s11.314917-33.944751 28.287293-39.60221H582.718232v-5.657458-141.436465c0-28.287293 16.972376-45.259669 39.60221-45.259668 22.629834 0 39.60221 16.972376 39.60221 39.60221v147.093923h152.751381c16.972376 0 33.944751 11.314917 33.944752 28.287292s-5.657459 33.944751-22.629835 39.60221H667.58011h-5.657458v152.751381c0 16.972376-5.657459 28.287293-22.629834 33.944752-16.972376 11.314917-28.287293 11.314917-39.60221 0-5.657459-5.657459-11.314917-16.972376-11.314917-28.287293V435.624309h-5.657459z" fill="#979797" ></path></symbol><symbol id="icon-Q-icon" viewBox="0 0 1024 1024"><path d="M518.4 300.8C435.2 300.8 364.8 384 364.8 518.4c0 134.4 64 217.6 153.6 217.6 32 0 64-12.8 83.2-32-19.2-12.8-25.6-25.6-70.4-32l6.4-38.4c44.8 6.4 64 19.2 89.6 38.4 25.6-38.4 44.8-89.6 44.8-153.6-6.4-140.8-70.4-217.6-153.6-217.6z" fill="#06AEA6" ></path><path d="M1024 512c0-281.6-230.4-512-512-512S0 230.4 0 512s230.4 512 512 512c96 0 185.6-25.6 262.4-76.8L1024 1024l-102.4-204.8c64-89.6 102.4-192 102.4-307.2z m-288 320c-44.8-25.6-76.8-76.8-102.4-102.4-32 25.6-70.4 38.4-115.2 38.4-121.6 0-217.6-89.6-217.6-249.6s96-249.6 217.6-249.6 224 96 224 249.6c0 83.2-32 147.2-70.4 192 19.2 19.2 44.8 57.6 76.8 83.2l-12.8 38.4z" fill="#06AEA6" ></path></symbol><symbol id="icon-grey_yanjing" viewBox="0 0 1417 1024"><path d="M708.923077 0C165.415385 0 0 504.123077 0 504.123077s189.046154 504.123077 708.923077 504.123077 708.923077-504.123077 708.923077-504.123077S1252.430769 0 708.923077 0z m0 748.307692c-133.907692 0-236.307692-110.276923-236.307692-236.307692s102.4-236.307692 236.307692-236.307692 236.307692 110.276923 236.307692 236.307692-110.276923 236.307692-236.307692 236.307692z" fill="#999999" ></path><path d="M543.507692 504.123077c0 94.523077 78.769231 165.415385 165.415385 165.415385s165.415385-78.769231 165.415385-165.415385-78.769231-165.415385-165.415385-165.415385-165.415385 70.892308-165.415385 165.415385z" fill="#999999" ></path></symbol><symbol id="icon-white_jinggao" viewBox="0 0 1024 1024"><path d="M522.24 266.24h-20.48c-15.36 0-25.6 10.24-25.6 25.6v291.84c0 15.36 10.24 25.6 25.6 25.6h25.6c15.36 0 25.6-10.24 25.6-25.6V296.96c0-15.36-15.36-30.72-30.72-30.72zM512 0C230.4 0 0 230.4 0 512s230.4 512 512 512 512-230.4 512-512S793.6 0 512 0z m-5.12 962.56c-245.76 0-445.44-199.68-445.44-445.44 0-245.76 199.68-445.44 445.44-445.44 245.76 0 445.44 199.68 445.44 445.44 0 245.76-199.68 445.44-445.44 445.44z m15.36-256h-20.48c-15.36 0-25.6 10.24-25.6 25.6v25.6c0 15.36 10.24 25.6 25.6 25.6h20.48c15.36 0 25.6-10.24 25.6-25.6v-25.6c0-10.24-10.24-25.6-25.6-25.6z" fill="#FFFFFF" ></path></symbol><symbol id="icon-red_phone" viewBox="0 0 1024 1024"><path d="M1019.301984 908.215403c-20.432576 78.324875-163.460608 143.028032-320.110358 102.16288-156.649749-37.459723-313.299499-122.595456-439.300383-248.596342C133.890357 635.781056 52.160053 479.131307 11.294901 322.481558-26.164821 165.831808 35.132907 22.803776 113.457781 2.3712c20.432576-6.810859 102.16288-13.621717 224.758336 204.32576 34.054293 61.297728 6.810859 61.297728-71.514016 187.298614-37.459723 57.892299 23.838005 139.622603 23.838006 139.622602s40.865152 64.703157 85.135733 108.973739c44.270581 44.270581 108.973739 85.135733 108.973738 85.135733s81.730304 61.297728 139.622603 23.838005c126.000885-78.324875 126.000885-105.568309 187.298613-71.514016 224.758336 129.406315 214.542048 207.731189 207.73119 228.163766z" fill="#F36969" ></path></symbol><symbol id="icon-suifangyuqi-icon-color" viewBox="0 0 1024 1024"><path d="M512 1024A512 512 0 1 0 512 0a512 512 0 0 0 0 1024z m-40.362667-772.949333h81.578667L539.306667 636.074667H484.693333l-13.141333-385.024zM512 700.16c14.933333 0 28.16 4.352 38.656 14.848a50.346667 50.346667 0 0 1 14.848 36.864c0 15.872-5.205333 28.16-14.848 37.802667A55.978667 55.978667 0 0 1 512 804.608a53.76 53.76 0 0 1-37.717333-14.933333 50.261333 50.261333 0 0 1-14.933334-37.802667c0-14.848 4.352-27.136 14.933334-36.864A50.261333 50.261333 0 0 1 512 700.16z" fill="#F36969" ></path></symbol><symbol id="icon-yisuifang-icon-color" viewBox="0 0 1024 1024"><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024z m-64.853333-292.608h2.048a36.693333 36.693333 0 0 0 25.685333-12.373333l321.450667-370.602667a32.938667 32.938667 0 0 0-4.864-48.042667 37.376 37.376 0 0 0-50.688 4.608l-296.789334 342.186667-163.669333-148.650667a37.376 37.376 0 0 0-50.858667 1.024 32.938667 32.938667 0 0 0 1.024 48.298667l191.744 174.08a37.034667 37.034667 0 0 0 24.832 9.472z" fill="#999999" ></path></symbol><symbol id="icon-daisuifangicon-color" viewBox="0 0 1024 1024"><path d="M554.666667 512V213.333333a42.666667 42.666667 0 1 0-85.333334 0V597.333333h85.333334V512zM512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024z m298.666667-469.333333A42.666667 42.666667 0 0 0 768 512H554.666667v85.333333H768a42.666667 42.666667 0 0 0 42.666667-42.666666z" fill="#06AEA6" ></path></symbol><symbol id="icon-shijianweidao-icon-color" viewBox="0 0 1024 1024"><path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024zM256 597.333333a85.333333 85.333333 0 1 0 0-170.666666 85.333333 85.333333 0 0 0 0 170.666666z m256 0a85.333333 85.333333 0 1 0 0-170.666666 85.333333 85.333333 0 0 0 0 170.666666z m256 0a85.333333 85.333333 0 1 0 0-170.666666 85.333333 85.333333 0 0 0 0 170.666666z" fill="#FFBF47" ></path></symbol><symbol id="icon-tongyongbiaotiicon" viewBox="0 0 1024 1024"><path d="M0 0h1024v1024H0V0z m128 512v384h384V512H128z" fill="#28BEA3" ></path></symbol><symbol id="icon-xuanxiangicon" viewBox="0 0 1024 1024"><path d="M927.623529 1024c54.211765 0 96.376471-42.164706 96.376471-96.376471s-42.164706-96.376471-96.376471-96.37647c-54.211765 0-96.376471 42.164706-96.37647 96.37647s42.164706 96.376471 96.37647 96.376471z m0-415.623529c54.211765 0 96.376471-42.164706 96.376471-96.376471s-42.164706-96.376471-96.376471-96.376471c-54.211765 0-96.376471 42.164706-96.37647 96.376471s42.164706 96.376471 96.37647 96.376471z m0-415.62353c54.211765 0 96.376471-42.164706 96.376471-96.37647S981.835294 0 927.623529 0c-54.211765 0-96.376471 42.164706-96.37647 96.376471s42.164706 96.376471 96.37647 96.37647zM512 1024c54.211765 0 96.376471-42.164706 96.376471-96.376471s-42.164706-96.376471-96.376471-96.37647-96.376471 42.164706-96.376471 96.37647 42.164706 96.376471 96.376471 96.376471z m0-415.623529c54.211765 0 96.376471-42.164706 96.376471-96.376471s-42.164706-96.376471-96.376471-96.376471-96.376471 42.164706-96.376471 96.376471 42.164706 96.376471 96.376471 96.376471z m0-415.62353c54.211765 0 96.376471-42.164706 96.376471-96.37647S566.211765 0 512 0 415.623529 42.164706 415.623529 96.376471s42.164706 96.376471 96.376471 96.37647zM96.376471 1024c54.211765 0 96.376471-42.164706 96.37647-96.376471s-42.164706-96.376471-96.37647-96.37647-96.376471 42.164706-96.376471 96.37647S42.164706 1024 96.376471 1024z m0-415.623529c54.211765 0 96.376471-42.164706 96.37647-96.376471s-42.164706-96.376471-96.37647-96.376471S0 457.788235 0 512s42.164706 96.376471 96.376471 96.376471z m0-415.62353c54.211765 0 96.376471-42.164706 96.37647-96.37647S150.588235 0 96.376471 0 0 42.164706 0 96.376471s42.164706 96.376471 96.376471 96.37647z" fill="#CDCDCD" ></path></symbol><symbol id="icon-zhongxinfabuicon" viewBox="0 0 1024 1024"><path d="M680.228571 958.171429c-7.314286 0-14.628571-7.314286-21.942857-14.628572L475.428571 636.342857 95.085714 607.085714C87.771429 607.085714 73.142857 592.457143 73.142857 585.142857s0-21.942857 14.628572-29.257143L906.971429 7.314286c7.314286-7.314286 21.942857-7.314286 29.257142 0 14.628571 7.314286 14.628571 14.628571 14.628572 29.257143L709.485714 936.228571c0 7.314286-7.314286 14.628571-29.257143 21.942858 7.314286 0 7.314286 0 0 0z" fill="#45A8E6" ></path></symbol><symbol id="icon-xinjianxuanxiangicon" viewBox="0 0 1024 1024"><path d="M768 548.571429h-219.428571v219.428571c0 14.628571-14.628571 36.571429-36.571429 36.571429s-36.571429-21.942857-36.571429-36.571429v-219.428571h-219.428571c-14.628571 0-36.571429-14.628571-36.571429-36.571429s21.942857-36.571429 36.571429-36.571429h219.428571v-219.428571c0-14.628571 14.628571-36.571429 36.571429-36.571429s36.571429 21.942857 36.571429 36.571429v219.428571h219.428571c14.628571 0 36.571429 14.628571 36.571429 36.571429s-21.942857 36.571429-36.571429 36.571429z" fill="#999999" ></path><path d="M512 980.114286C256 980.114286 43.885714 768 43.885714 512 43.885714 256 256 43.885714 512 43.885714c256 0 468.114286 212.114286 468.114286 468.114286 0 256-212.114286 468.114286-468.114286 468.114286z m0-877.714286C285.257143 102.4 102.4 285.257143 102.4 512s182.857143 409.6 409.6 409.6 409.6-182.857143 409.6-409.6S738.742857 102.4 512 102.4z" fill="#979797" ></path></symbol><symbol id="icon-jieshu" viewBox="0 0 1024 1024"><path d="M983.736896 313.323969A511.830669 511.830669 0 1 0 40.262362 710.675178 511.830669 511.830669 0 0 0 983.736896 313.323969z m-58.775222 372.356812A448.022446 448.022446 0 1 1 99.122889 338.147756a448.022446 448.022446 0 0 1 825.838785 347.533025z" fill="#45A8E6" ></path><path d="M605.664642 354.099812a31.562891 31.562891 0 0 0-31.733502-0.511831 30.70984 30.70984 0 0 0 0.511831 53.912831c48.879829 27.894771 72.76526 84.793281 58.178086 138.620806A124.545463 124.545463 0 0 1 511.999629 637.483393a124.545463 124.545463 0 0 1-120.621427-91.27647 122.583445 122.583445 0 0 1 58.178086-138.706111 30.70984 30.70984 0 0 0 0.51183-53.912831 31.562891 31.562891 0 0 0-31.733501 0.597136 184.429651 184.429651 0 0 0-93.579708 160.117694c0 101.939608 84.025535 184.856177 187.24472 184.856177s187.24472-82.916568 187.24472-184.856177c0-66.026156-35.657537-127.104616-93.579707-160.117694z" fill="#45A8E6" ></path><path d="M511.999629 499.459722a41.543589 41.543589 0 0 0 26.444585-9.127647 28.833128 28.833128 0 0 0 11.004359-22.179329V281.078636c0-17.231633-16.805107-31.221671-37.448944-31.22167s-37.448944 13.990038-37.448944 31.22167v187.24472c0 8.274596 3.924035 16.207971 11.00436 22.094024a41.543589 41.543589 0 0 0 26.444584 9.127647z" fill="#45A8E6" ></path></symbol><symbol id="icon-danhangicon1" viewBox="0 0 1024 1024"><path d="M950.857143 0H73.142857C32.914286 0 0 32.914286 0 73.142857v877.714286c0 40.228571 32.914286 73.142857 73.142857 73.142857h877.714286c40.228571 0 73.142857-32.914286 73.142857-73.142857V73.142857c0-40.228571-32.914286-73.142857-73.142857-73.142857z m0 914.285714c0 21.942857-14.628571 36.571429-36.571429 36.571429h-804.571428c-21.942857 0-36.571429-14.628571-36.571429-36.571429v-804.571428c0-21.942857 14.628571-36.571429 36.571429-36.571429h804.571428c21.942857 0 36.571429 14.628571 36.571429 36.571429v804.571428z" fill="#06AEA6" ></path><path d="M219.428571 438.857143l585.142858 0 0 146.285714-585.142858 0 0-146.285714Z" fill="#06AEA6" ></path></symbol></svg>';var script=function(){var scripts=document.getElementsByTagName("script");return scripts[scripts.length-1]}();var shouldInjectCss=script.getAttribute("data-injectcss");var ready=function(fn){if(document.addEventListener){if(~["complete","loaded","interactive"].indexOf(document.readyState)){setTimeout(fn,0)}else{var loadFn=function(){document.removeEventListener("DOMContentLoaded",loadFn,false);fn()};document.addEventListener("DOMContentLoaded",loadFn,false)}}else if(document.attachEvent){IEContentLoaded(window,fn)}function IEContentLoaded(w,fn){var d=w.document,done=false,init=function(){if(!done){done=true;fn()}};var polling=function(){try{d.documentElement.doScroll("left")}catch(e){setTimeout(polling,50);return}init()};polling();d.onreadystatechange=function(){if(d.readyState=="complete"){d.onreadystatechange=null;init()}}}};var before=function(el,target){target.parentNode.insertBefore(el,target)};var prepend=function(el,target){if(target.firstChild){before(el,target.firstChild)}else{target.appendChild(el)}};function appendSvg(){var div,svg;div=document.createElement("div");div.innerHTML=svgSprite;svgSprite=null;svg=div.getElementsByTagName("svg")[0];if(svg){svg.setAttribute("aria-hidden","true");svg.style.position="absolute";svg.style.width=0;svg.style.height=0;svg.style.overflow="hidden";prepend(svg,document.body)}}if(shouldInjectCss&&!window.__iconfont__svg__cssinject__){window.__iconfont__svg__cssinject__=true;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(e){console&&console.log(e)}}ready(appendSvg)})(window)
\ No newline at end of file
diff --git a/SunshineIns/src/copy/iconfonts/iconfont.svg b/SunshineIns/src/copy/iconfonts/iconfont.svg
new file mode 100644
index 0000000..19bb7a8
--- /dev/null
+++ b/SunshineIns/src/copy/iconfonts/iconfont.svg
@@ -0,0 +1,192 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<!--
+2013-9-30: Created.
+-->
+<svg>
+<metadata>
+Created by iconfont
+</metadata>
+<defs>
+
+<font id="iconfont" horiz-adv-x="1024" >
+  <font-face
+    font-family="iconfont"
+    font-weight="500"
+    font-stretch="normal"
+    units-per-em="1024"
+    ascent="896"
+    descent="-128"
+  />
+    <missing-glyph />
+    
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
+d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
+t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
+t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
+    
+
+    
+    <glyph glyph-name="daisuifang-icon-green" unicode="&#58881;" d="M940.8 160c-12.8 12.8-25.6 32-38.4 51.2-12.8 19.2-25.6 38.4-38.4 64-12.8 19.2-25.6 44.8-32 70.4-6.4 19.2-12.8 44.8-12.8 64 0 38.4-6.4 70.4-19.2 96-12.8 25.6-25.6 57.6-44.8 76.8-19.2 25.6-44.8 44.8-70.4 57.6-12.8 19.2-25.6 25.6-44.8 32l-19.2 12.8h-12.8c19.2 25.6 32 51.2 32 83.2 0 70.4-57.6 128-128 128S384 838.4 384 768c0-32 12.8-57.6 32-83.2h-6.4c-32-6.4-57.6-19.2-76.8-38.4-51.2-32-89.6-76.8-115.2-134.4-12.8-32-19.2-64-12.8-102.4 0-25.6-6.4-44.8-12.8-64-12.8-25.6-19.2-51.2-32-70.4-12.8-19.2-25.6-44.8-38.4-64-12.8-25.6-32-44.8-38.4-57.6-25.6-38.4-19.2-70.4-6.4-96 19.2-32 44.8-44.8 76.8-44.8h697.6c19.2 0 51.2 12.8 57.6 19.2 19.2 6.4 25.6 19.2 32 32 12.8 12.8 12.8 32 19.2 44.8 0 12.8-6.4 38.4-19.2 51.2zM512 832c38.4 0 64-25.6 64-64 0-32-25.6-64-64-64s-64 32-64 64 25.6 64 64 64z m377.6-742.4c0-6.4-6.4-6.4-12.8-6.4s-25.6-6.4-32-12.8h-704c-6.4 0-12.8 6.4-19.2 19.2 0 6.4-6.4 12.8 6.4 25.6l38.4 57.6c12.8 25.6 32 44.8 44.8 70.4 12.8 25.6 25.6 51.2 38.4 83.2 12.8 25.6 19.2 57.6 19.2 89.6 0 76.8 38.4 140.8 102.4 185.6 12.8 12.8 38.4 19.2 51.2 25.6l38.4 12.8H512c44.8 0 76.8-12.8 76.8-12.8 25.6-6.4 44.8-19.2 64-25.6 19.2-12.8 38.4-25.6 51.2-44.8 12.8-19.2 25.6-38.4 32-64 6.4-25.6 12.8-51.2 12.8-76.8 0-32 6.4-64 12.8-89.6 12.8-25.6 19.2-57.6 38.4-83.2 12.8-25.6 25.6-51.2 44.8-70.4 12.8-19.2 32-38.4 44.8-57.6 6.4-6.4 6.4-6.4 6.4-12.8 0 0 0-6.4-6.4-12.8z m-217.6-140.8c19.2 0 32-12.8 32-32s-12.8-32-32-32h-320c-19.2 0-32 12.8-32 32s12.8 32 32 32h320z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="yisuifang-icon-green" unicode="&#58882;" d="M819.2-110.933333H210.488889c-11.377778 0-22.755556 0-34.133333 5.688889-11.377778 5.688889-22.755556 11.377778-28.444445 17.066666s-17.066667 17.066667-22.755555 28.444445c-11.377778 17.066667-11.377778 28.444444-11.377778 39.822222V594.488889c0 11.377778 0 22.755556 5.688889 34.133333 5.688889 11.377778 11.377778 22.755556 22.755555 28.444445 5.688889 11.377778 17.066667 17.066667 28.444445 22.755555 11.377778 5.688889 22.755556 5.688889 34.133333 5.688889h91.022222v-45.511111H210.488889c-28.444444 0-45.511111-22.755556-45.511111-45.511111v-614.4c0-22.755556 22.755556-45.511111 45.511111-45.511111h608.711111c28.444444 0 45.511111 22.755556 45.511111 45.511111V594.488889c0 22.755556-22.755556 45.511111-45.511111 45.511111h-91.022222v45.511111h91.022222c11.377778 0 22.755556 0 34.133333-5.688889 11.377778-5.688889 22.755556-11.377778 28.444445-17.066666 11.377778-5.688889 17.066667-17.066667 22.755555-28.444445 5.688889-11.377778 5.688889-22.755556 5.688889-39.822222v-614.4c0-11.377778 0-22.755556-5.688889-34.133333-5.688889-11.377778-11.377778-22.755556-22.755555-28.444445s-17.066667-17.066667-28.444445-17.066667c-11.377778-5.688889-22.755556-11.377778-34.133333-11.377777zM295.822222 679.822222H210.488889c-11.377778 0-22.755556 0-34.133333-5.688889-11.377778-5.688889-22.755556-11.377778-28.444445-17.066666-11.377778-5.688889-17.066667-17.066667-22.755555-28.444445-5.688889-11.377778-5.688889-22.755556-5.688889-34.133333v-614.4c0-11.377778 0-22.755556 5.688889-34.133333 5.688889-11.377778 11.377778-17.066667 17.066666-28.444445 5.688889-5.688889 17.066667-17.066667 28.444445-17.066667 11.377778-5.688889 22.755556-5.688889 34.133333-5.688888h608.711111c11.377778 0 22.755556 0 34.133333 5.688888 11.377778 5.688889 17.066667 11.377778 28.444445 17.066667 5.688889 5.688889 17.066667 17.066667 17.066667 28.444445 5.688889 11.377778 5.688889 22.755556 5.688888 34.133333V594.488889c0 11.377778 0 22.755556-5.688888 34.133333-5.688889 11.377778-11.377778 17.066667-17.066667 28.444445-5.688889 5.688889-17.066667 11.377778-22.755556 17.066666-11.377778 5.688889-22.755556 5.688889-34.133333 5.688889h-85.333333v-34.133333h85.333333c28.444444 0 51.2-22.755556 51.2-51.2v-614.4c0-28.444444-22.755556-51.2-51.2-51.2H210.488889c-28.444444 0-51.2 22.755556-51.2 51.2V594.488889c0 28.444444 22.755556 51.2 51.2 51.2h85.333333v34.133333z m-85.333333-796.444444c-11.377778 0-28.444444 0-39.822222 5.688889-11.377778 5.688889-22.755556 11.377778-34.133334 22.755555-11.377778 11.377778-17.066667 17.066667-22.755555 28.444445-5.688889 11.377778-5.688889 22.755556-5.688889 39.822222V594.488889c0 11.377778 0 28.444444 5.688889 39.822222 5.688889 11.377778 11.377778 22.755556 22.755555 28.444445 11.377778 11.377778 22.755556 17.066667 34.133334 22.755555 11.377778 5.688889 22.755556 5.688889 39.822222 5.688889h91.022222l5.688889-5.688889v-45.511111l-5.688889-5.688889H210.488889c-22.755556 0-39.822222-17.066667-39.822222-39.822222v-614.4c0-22.755556 17.066667-39.822222 39.822222-39.822222h608.711111c22.755556 0 39.822222 17.066667 39.822222 39.822222V594.488889c0 22.755556-17.066667 39.822222-39.822222 39.822222h-91.022222l-5.688889 5.688889v45.511111l5.688889 5.688889h91.022222c11.377778 0 28.444444 0 39.822222-5.688889 11.377778-5.688889 22.755556-11.377778 34.133334-22.755555 11.377778-11.377778 17.066667-17.066667 22.755555-28.444445 5.688889-11.377778 5.688889-22.755556 5.688889-39.822222v-614.4c0-11.377778 0-28.444444-5.688889-39.822222-5.688889-11.377778-11.377778-22.755556-22.755555-28.444445-11.377778-11.377778-22.755556-17.066667-34.133334-22.755555-11.377778-5.688889-22.755556-5.688889-39.822222-5.688889H210.488889zM284.444444 554.666667V708.266667c0 34.133333 28.444444 56.888889 56.888889 56.888889h62.577778c22.755556 45.511111 62.577778 73.955556 113.777778 73.955555s96.711111-28.444444 113.777778-73.955555h62.577777c34.133333 0 56.888889-28.444444 56.888889-56.888889V554.666667H284.444444z m426.666667 51.2V708.266667c0 5.688889-5.688889 11.377778-11.377778 11.377777H603.022222l-5.688889 17.066667c-11.377778 34.133333-45.511111 56.888889-79.644444 56.888889s-62.577778-22.755556-79.644445-56.888889l-5.688888-17.066667H341.333333c-5.688889 0-11.377778-5.688889-11.377777-11.377777v-108.088889h381.155555z m-261.688889-523.377778c-5.688889 0-11.377778 0-17.066666 5.688889l-159.288889 159.288889c-5.688889 5.688889-5.688889 11.377778-5.688889 17.066666 0 5.688889 0 11.377778 5.688889 17.066667 5.688889 5.688889 11.377778 5.688889 17.066666 5.688889s11.377778 0 17.066667-5.688889l130.844444-130.844444c5.688889-5.688889 11.377778-5.688889 11.377778-5.688889 5.688889 0 11.377778 0 11.377778 5.688889L756.622222 440.888889c5.688889 5.688889 11.377778 5.688889 17.066667 5.688889s11.377778 0 17.066667-5.688889c11.377778-11.377778 11.377778-22.755556 0-34.133333l-324.266667-318.577778c-5.688889-5.688889-11.377778-5.688889-17.066667-5.688889zM750.933333 560.355556V708.266667c0 28.444444-22.755556 51.2-51.2 51.2h-62.577777l-5.688889 5.688889c-22.755556 39.822222-62.577778 68.266667-113.777778 68.266666s-91.022222-28.444444-113.777778-68.266666v-5.688889H341.333333c-28.444444 0-51.2-22.755556-51.2-51.2v-147.911111h460.8z m-56.888889 210.488888c34.133333 0 62.577778-28.444444 62.577778-62.577777V554.666667l-5.688889-5.688889H284.444444L278.755556 554.666667V708.266667c0 34.133333 28.444444 62.577778 62.577777 62.577777h56.888889C420.977778 816.355556 466.488889 844.8 517.688889 844.8s96.711111-28.444444 119.466667-73.955556h56.888888z m0-45.511111c11.377778 0 17.066667-5.688889 17.066667-17.066666v-108.088889l-5.688889-5.688889H329.955556l-5.688889 11.377778V708.266667c0 11.377778 5.688889 17.066667 17.066666 17.066666h91.022223l5.688888 11.377778c11.377778 34.133333 45.511111 56.888889 85.333334 56.888889s68.266667-22.755556 85.333333-56.888889V725.333333h85.333333z m11.377778-113.777777V708.266667c0 5.688889-5.688889 5.688889-5.688889 5.688889H603.022222l-5.688889 5.688888-5.688889 17.066667c-11.377778 28.444444-39.822222 51.2-73.955555 51.2s-62.577778-22.755556-73.955556-51.2l-5.688889-17.066667-5.688888-5.688888H341.333333c-5.688889 0-5.688889-5.688889-5.688889-5.688889V611.555556h369.777778z m-256-523.377778c5.688889 0 11.377778 0 11.377778 5.688889l324.266667 318.577777c5.688889 5.688889 5.688889 17.066667 0 22.755556-5.688889 5.688889-5.688889 5.688889-11.377778 5.688889s-11.377778 0-11.377778-5.688889l-290.133333-290.133333c-5.688889-5.688889-11.377778-5.688889-17.066667-5.688889-5.688889 0-11.377778 0-17.066667 5.688889l-130.844444 130.844444c-5.688889 5.688889-5.688889 5.688889-11.377778 5.688889s-11.377778 0-11.377778-5.688889c-5.688889-5.688889-5.688889-5.688889-5.688888-11.377778s0-11.377778 5.688888-11.377777l159.288889-159.288889c0-5.688889 0-5.688889 5.688889-5.688889z m0-11.377778c-5.688889 0-17.066667 5.688889-22.755555 11.377778l-159.288889 159.288889c-5.688889 5.688889-11.377778 11.377778-11.377778 22.755555 0 5.688889 5.688889 17.066667 11.377778 22.755556 5.688889 5.688889 11.377778 11.377778 22.755555 11.377778s17.066667-5.688889 22.755556-11.377778L438.044444 156.444444s5.688889-5.688889 11.377778-5.688888 5.688889 0 11.377778 5.688888l290.133333 290.133334c5.688889 5.688889 11.377778 11.377778 22.755556 11.377778 5.688889 0 17.066667-5.688889 22.755555-11.377778 11.377778-11.377778 11.377778-28.444444 0-39.822222l-324.266666-318.577778c-5.688889-11.377778-17.066667-11.377778-22.755556-11.377778z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="zhankai" unicode="&#58884;" d="M1536 725.333333H0V896h1536zM1109.333333 298.666667H0V469.333333h1109.333333zM1280 554.666667l256-170.666667-256-170.666667zM1536-128H0v170.666667h1536z"  horiz-adv-x="1536" />
+
+    
+    <glyph glyph-name="xiaoxi" unicode="&#58885;" d="M512-128C230.4-128 0 102.4 0 384S230.4 896 512 896s512-230.4 512-512-230.4-512-512-512z m204.8 547.84V476.16c0 87.04-76.8 174.08-174.08 184.32H486.4C389.12 655.36 307.2 563.2 307.2 476.16v-204.8L256 230.4v-51.2h512v46.08l-51.2 46.08V419.84zM512 76.8c46.08 0 81.92 20.48 102.4 51.2H414.72c20.48-30.72 56.32-51.2 97.28-51.2z m51.2 609.28V742.4H465.92v-56.32c15.36 5.12 35.84 5.12 51.2 5.12 10.24 0 30.72 0 46.08-5.12z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="shouqi" unicode="&#58886;" d="M0 896h1536v-170.666667H0zM426.666667 469.333333h1109.333333v-170.666666H426.666667zM256 554.666667L0 384l256-170.666667zM0 42.666667h1536v-170.666667H0z"  horiz-adv-x="1536" />
+
+    
+    <glyph glyph-name="suifangguanliicon" unicode="&#58887;" d="M759.915789 340.884211c0-16.168421-16.168421-32.336842-32.336842-32.336843H296.421053c-16.168421 0-26.947368 16.168421-26.947369 32.336843s10.778947 32.336842 26.947369 32.336842h431.157894c16.168421 0 32.336842-10.778947 32.336842-32.336842m0-183.242106c0-16.168421-16.168421-32.336842-32.336842-32.336842H296.421053c-16.168421 0-26.947368 16.168421-26.947369 32.336842s10.778947 32.336842 26.947369 32.336842h431.157894c16.168421 0 32.336842-16.168421 32.336842-32.336842M377.263158 648.084211c5.389474 5.389474 10.778947 10.778947 21.557895 10.778947s16.168421-5.389474 21.557894-10.778947L495.831579 572.631579l167.073684 161.68421c5.389474 5.389474 10.778947 10.778947 21.557895 10.778948s16.168421-5.389474 21.557895-10.778948c5.389474-5.389474 10.778947-10.778947 10.778947-21.557894s-5.389474-16.168421-10.778947-21.557895L517.389474 513.347368c-5.389474-10.778947-10.778947-10.778947-21.557895-10.778947s-16.168421 0-21.557895 10.778947L377.263158 604.968421c-5.389474 5.389474-10.778947 16.168421-10.778947 21.557895s5.389474 16.168421 10.778947 21.557895M883.873684 896H145.515789C107.789474 896 80.842105 869.052632 80.842105 831.326316v-738.357895c0-102.4 80.842105-183.242105 183.242106-183.242105h490.442105c102.4 0 183.242105 80.842105 183.242105 183.242105V831.326316c5.389474 37.726316-21.557895 64.673684-53.894737 64.673684"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="huanzheguanliicon" unicode="&#58888;" d="M584 738c-6-6-18-6-24 0C308 984 32 840 32 552c0-312 540-594 540-594s540 306 540 594C1112 840 836 984 584 738z m96-324H602v-78c0-18-12-30-30-30s-36 6-36 24V414H458c-18 0-30 12-30 30s12 30 30 30h78V558c0 18 12 30 30 30s30-12 30-30v-78h78c18 0 30-12 30-30 12-24-6-36-24-36z"  horiz-adv-x="1152" />
+
+    
+    <glyph glyph-name="suifangmobanicon" unicode="&#58889;" d="M118.25 834h787.5c33.75 0 56.25-22.5 56.25-50.625v-151.875c0-28.125-22.5-50.625-56.25-50.625H118.25c-33.75 5.625-56.25 28.125-56.25 50.625V783.375C62 811.5 84.5 834 118.25 834zM112.625 485.25h157.5c28.125 0 50.625-22.5 50.625-56.25V-9.75c0-28.125-22.5-56.25-50.625-56.25H112.625c-28.125 0-50.625 22.5-50.625 56.25V429c0 28.125 22.5 56.25 50.625 56.25z m382.5 0h416.25c28.125 0 50.625-22.5 50.625-56.25V-9.75c0-28.125-22.5-56.25-50.625-56.25H495.125c-28.125 0-50.625 22.5-50.625 56.25V429c0 28.125 22.5 56.25 50.625 56.25z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="dengpao" unicode="&#58890;" d="M325.270588 245.458824C222.870588 305.694118 150.588235 420.141176 150.588235 546.635294 150.588235 739.388235 313.223529 896 512 896s361.411765-156.611765 361.411765-349.364706c0-126.494118-72.282353-240.941176-174.682353-301.17647-6.023529-30.117647-18.070588-60.235294-42.164706-84.329412H367.435294c-24.094118 24.094118-36.141176 54.211765-42.164706 84.329412z m445.741177 265.035294C771.011765 661.082353 656.564706 775.529412 512 781.552941c-24.094118 0-36.141176-12.047059-36.141176-36.141176 0-6.023529 12.047059-18.070588 36.141176-18.070589 108.423529 0 204.8-90.352941 204.8-216.847058 0-6.023529 12.047059-18.070588 36.141176-18.070589 6.023529 6.023529 18.070588 12.047059 18.070589 18.070589z m-415.62353-433.694118c0 24.094118 18.070588 36.141176 36.141177 36.141176h240.941176c18.070588 0 36.141176-12.047059 36.141177-36.141176s-18.070588-30.117647-36.141177-30.117647H391.529412c-6.023529 0-18.070588 6.023529-24.094118 12.047059-6.023529 6.023529-12.047059 12.047059-12.047059 18.070588z m295.152941-78.305882c-24.094118-54.211765-78.305882-84.329412-138.541176-84.329412-60.235294 0-108.423529 30.117647-138.541176 84.329412h277.082352z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="chachaicon" unicode="&#58891;" d="M583.68 384L1003.52 803.84c20.48 20.48 20.48 51.2 0 71.68-20.48 20.48-51.2 20.48-71.68 0L512 455.68 92.16 875.52C71.68 896 40.96 896 20.48 875.52 0 855.04 0 824.32 20.48 803.84L440.32 384 20.48-35.84c-20.48-20.48-20.48-51.2 0-71.68 10.24-10.24 20.48-10.24 40.96-10.24 10.24 0 30.72 0 40.96 10.24l419.84 419.84 419.84-430.08c10.24-10.24 20.48-10.24 40.96-10.24 10.24 0 30.72 0 40.96 10.24 20.48 20.48 20.48 51.2 0 71.68L583.68 384z"  horiz-adv-x="1039" />
+
+    
+    <glyph glyph-name="fangdajingicon" unicode="&#58892;" d="M422.4 896c57.6 0 108.8-12.8 160-32s96-51.2 134.4-89.6c38.4-38.4 64-83.2 89.6-134.4 19.2-51.2 32-108.8 32-160s-6.4-96-25.6-140.8c-12.8-44.8-38.4-83.2-70.4-121.6l262.4-262.4c6.4-6.4 12.8-19.2 12.8-32s-6.4-25.6-12.8-32c-6.4-6.4-19.2-12.8-32-12.8s-25.6 6.4-32 12.8l-262.4 262.4c-38.4-32-76.8-51.2-121.6-70.4-44.8-12.8-89.6-25.6-140.8-25.6-57.6 0-108.8 12.8-160 32s-96 51.2-134.4 89.6c-38.4 38.4-64 83.2-89.6 134.4-19.2 51.2-32 108.8-32 160 0 57.6 12.8 108.8 32 160S83.2 729.6 121.6 768c38.4 38.4 83.2 64 134.4 89.6C313.6 883.2 371.2 896 422.4 896z m0-96c-44.8 0-83.2-6.4-128-25.6S217.6 736 192 704c-32-32-51.2-64-70.4-102.4-19.2-38.4-25.6-83.2-25.6-128s6.4-83.2 25.6-128c19.2-38.4 38.4-76.8 70.4-102.4 32-32 64-51.2 102.4-70.4 38.4-19.2 83.2-25.6 128-25.6s83.2 6.4 128 25.6c38.4 19.2 76.8 38.4 102.4 70.4 32 32 51.2 64 70.4 102.4 19.2 38.4 25.6 83.2 25.6 128s-6.4 83.2-25.6 128c-19.2 38.4-38.4 76.8-70.4 102.4-32 32-64 51.2-102.4 70.4-38.4 19.2-83.2 25.6-128 25.6z"  horiz-adv-x="1030" />
+
+    
+    <glyph glyph-name="jinggaotanhaoicon" unicode="&#58893;" d="M512-128C230.4-128 0 102.4 0 384S230.4 896 512 896s512-230.4 512-512-230.4-512-512-512z m0 962.56c-250.88 0-450.56-199.68-450.56-450.56s199.68-450.56 450.56-450.56 450.56 199.68 450.56 450.56-199.68 450.56-450.56 450.56zM512 250.88c-20.48 0-35.84 15.36-35.84 30.72V624.64c0 20.48 15.36 30.72 35.84 30.72s35.84-15.36 35.84-30.72v-337.92c0-20.48-15.36-35.84-35.84-35.84zM512 112.64c-20.48 0-35.84 15.36-35.84 35.84 0 20.48 15.36 35.84 35.84 35.84s35.84-15.36 35.84-35.84c0-25.6-15.36-35.84-35.84-35.84z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="shanchuicon" unicode="&#58894;" d="M999.905882 685.176471h-252.988235c-6.023529 0-12.047059 0-18.070588 6.023529l-96.376471 96.376471h-180.705882L355.388235 691.2s-12.047059-6.023529-18.070588-6.023529H84.329412c-12.047059 0-24.094118 12.047059-24.094118 24.094117s12.047059 24.094118 24.094118 24.094118h240.941176L421.647059 829.741176c6.023529 6.023529 12.047059 6.023529 18.070588 6.02353h204.8c6.023529 0 12.047059 0 18.070588-6.02353l96.376471-90.352941h240.941176c12.047059 0 24.094118-12.047059 24.094118-24.094117 0-18.070588-12.047059-30.117647-24.094118-30.117647z m-180.705882-771.011765H265.035294c-54.211765 0-102.4 42.164706-102.4 102.4V564.705882c0 12.047059 12.047059 24.094118 24.094118 24.094118s24.094118-12.047059 24.094117-24.094118v-548.141176c0-30.117647 24.094118-48.188235 48.188236-48.188235h560.188235c30.117647 0 48.188235 24.094118 48.188235 48.188235V564.705882c0 12.047059 12.047059 24.094118 24.094118 24.094118s24.094118-12.047059 24.094118-24.094118v-548.141176c6.023529-54.211765-36.141176-102.4-96.376471-102.4z m-403.576471 150.588235c-12.047059 0-24.094118 12.047059-24.094117 24.094118V564.705882c0 12.047059 12.047059 24.094118 24.094117 24.094118s24.094118-12.047059 24.094118-24.094118v-469.835294c0-18.070588-12.047059-30.117647-24.094118-30.117647z m252.988236 0c-12.047059 0-24.094118 12.047059-24.094118 24.094118V564.705882c0 12.047059 12.047059 24.094118 24.094118 24.094118s24.094118-12.047059 24.094117-24.094118v-469.835294c0-18.070588-12.047059-30.117647-24.094117-30.117647zM999.905882 703.247059c6.023529 0 12.047059 6.023529 12.047059 12.047059s-6.023529 12.047059-12.047059 12.047058h-240.941176l-12.047059 6.02353-96.376471 84.329412-6.023529 6.023529H439.717647h-6.023529L337.317647 727.341176l-6.023529-6.023529h-240.941177c-12.047059 0-18.070588-6.023529-18.070588-12.047059s6.023529-12.047059 12.047059-12.047059h259.011764l96.376471 90.352942 12.047059 6.023529h180.705882l12.047059-6.023529 96.376471-90.352942h259.011764z m-240.941176 48.188235h234.917647c24.094118 0 42.164706-18.070588 42.164706-42.164706 0-24.094118-18.070588-42.164706-42.164706-42.164706h-252.988235c-12.047059 0-18.070588 6.023529-30.117647 12.047059l-84.329412 90.352941H457.788235L367.435294 685.176471c-6.023529-12.047059-18.070588-12.047059-30.117647-12.047059H84.329412C60.235294 673.129412 42.164706 691.2 42.164706 715.294118c0 24.094118 18.070588 42.164706 42.164706 42.164706h234.917647L409.6 847.811765c12.047059 0 18.070588 6.023529 30.117647 6.023529h204.8c12.047059 0 18.070588-6.023529 30.117647-12.047059l84.329412-90.352941z m60.235294-819.2c48.188235 0 84.329412 36.141176 84.329412 84.329412V564.705882c0 6.023529-6.023529 12.047059-12.047059 12.047059s-12.047059-6.023529-12.047059-12.047059v-548.141176c0-36.141176-30.117647-66.258824-66.258823-66.258824H265.035294c-36.141176 0-66.258824 30.117647-66.258823 66.258824V564.705882c0 6.023529-6.023529 12.047059-12.047059 12.047059l-12.047059-12.047059v-548.141176c0-48.188235 36.141176-84.329412 84.329412-84.329412h560.188235z m0-30.117647H265.035294c-66.258824 0-114.447059 54.211765-114.447059 114.447059V564.705882c0 24.094118 18.070588 42.164706 42.164706 42.164706 24.094118 0 42.164706-18.070588 42.164706-42.164706v-548.141176c0-18.070588 18.070588-36.141176 36.141177-36.141177h560.188235c18.070588 0 36.141176 18.070588 36.141176 36.141177V564.705882c0 24.094118 18.070588 42.164706 42.164706 42.164706 24.094118 0 42.164706-18.070588 42.164706-42.164706v-548.141176c-12.047059-66.258824-66.258824-114.447059-132.517647-114.447059z m-403.576471 180.705882c6.023529 0 12.047059 6.023529 12.047059 12.047059V564.705882c0 6.023529-6.023529 12.047059-12.047059 12.047059s-12.047059-6.023529-12.047058-12.047059v-469.835294c0-12.047059 6.023529-12.047059 12.047058-12.047059z m0-30.117647c-24.094118 0-42.164706 18.070588-42.164705 42.164706V564.705882c0 24.094118 18.070588 42.164706 42.164705 42.164706 24.094118 0 42.164706-18.070588 42.164706-42.164706v-469.835294c0-24.094118-18.070588-42.164706-42.164706-42.164706z m252.988236 30.117647c6.023529 0 12.047059 6.023529 12.047059 12.047059V564.705882c0 6.023529-6.023529 12.047059-12.047059 12.047059s-12.047059-6.023529-12.047059-12.047059v-469.835294c0-12.047059 6.023529-12.047059 12.047059-12.047059z m0-30.117647c-24.094118 0-42.164706 18.070588-42.164706 42.164706V564.705882c0 24.094118 18.070588 42.164706 42.164706 42.164706 24.094118 0 42.164706-18.070588 42.164706-42.164706v-469.835294c0-24.094118-18.070588-42.164706-42.164706-42.164706z"  horiz-adv-x="1084" />
+
+    
+    <glyph glyph-name="fuzhiicon" unicode="&#58895;" d="M614.4 133.688889h-284.444444c-39.822222 0-73.955556 34.133333-73.955556 73.955555V770.844444c5.688889 34.133333 34.133333 68.266667 73.955556 68.266667h563.2c39.822222 0 73.955556-34.133333 73.955555-73.955555v-563.2c0-34.133333-22.755556-62.577778-56.888889-73.955556h-11.377778c-96.711111 5.688889-193.422222 5.688889-284.444444 5.688889z m0 56.888889h278.755556c11.377778 0 17.066667 5.688889 17.066666 17.066666v22.755556 500.622222 22.755556c0 17.066667-5.688889 22.755556-22.755555 22.755555H358.4c-5.688889 5.688889-17.066667 5.688889-22.755556 0-11.377778 0-17.066667-5.688889-17.066666-17.066666V207.644444c0-17.066667 5.688889-22.755556 22.755555-22.755555h17.066667c85.333333 5.688889 170.666667 5.688889 256 5.688889zM614.4 139.377778H910.222222c28.444444 5.688889 51.2 34.133333 51.2 62.577778v102.4 45.511111 113.777777V554.666667 765.155556c0 34.133333-28.444444 62.577778-62.577778 62.577777h-568.888888c-34.133333 0-62.577778-28.444444-62.577778-62.577777v-563.2c0-34.133333 28.444444-62.577778 62.577778-62.577778h284.444444z m0-17.066667h-284.444444c-45.511111 0-79.644444 34.133333-79.644445 79.644445V765.155556c0 45.511111 34.133333 79.644444 79.644445 79.644444h563.2c45.511111 0 79.644444-34.133333 79.644444-79.644444V201.955556c0-39.822222-28.444444-73.955556-68.266667-79.644445h-290.133333z m0 56.888889H341.333333c-22.755556 0-28.444444 11.377778-28.444444 34.133333v22.755556 500.622222 28.444445c0 17.066667 11.377778 22.755556 22.755555 22.755555H887.466667c17.066667-5.688889 28.444444-11.377778 28.444444-28.444444V207.644444c0-17.066667-11.377778-22.755556-28.444444-28.444444H614.4z m0 17.066667h267.377778c5.688889 0 11.377778 5.688889 11.377778 11.377777v22.755556 500.622222 17.066667c0 11.377778-5.688889 11.377778-11.377778 17.066667H335.644444c-5.688889 0-11.377778-5.688889-11.377777-11.377778V213.333333c0-11.377778 5.688889-17.066667 17.066666-17.066666h273.066667zM409.6-71.111111h-284.444444c-34.133333 0-68.266667 34.133333-68.266667 73.955555V566.044444c0 39.822222 34.133333 73.955556 73.955555 73.955556h68.266667c17.066667-5.688889 28.444444-17.066667 28.444445-34.133333s-11.377778-28.444444-28.444445-28.444445h-56.888889c-17.066667 0-22.755556-5.688889-28.444444-22.755555V8.533333c0-11.377778 5.688889-17.066667 22.755555-17.066666H682.666667c17.066667 0 22.755556 5.688889 22.755555 22.755555v51.2c0 17.066667 11.377778 34.133333 28.444445 28.444445 17.066667 0 28.444444-17.066667 28.444444-34.133334v-56.888889c0-28.444444-17.066667-56.888889-45.511111-68.266666-5.688889 0-17.066667-5.688889-22.755556-5.688889h-284.444444zM466.488889-59.733333h221.866667c5.688889 0 11.377778 0 22.755555 5.688889 22.755556 5.688889 39.822222 34.133333 39.822222 62.577777v17.066667 39.822222c0 11.377778-5.688889 22.755556-22.755555 22.755556-11.377778 0-22.755556-11.377778-22.755556-22.755556V14.222222c0-17.066667-11.377778-28.444444-28.444444-34.133333H125.155556c-17.066667 0-22.755556 11.377778-28.444445 28.444444v28.444445 500.622222 22.755556c0 22.755556 11.377778 28.444444 34.133333 34.133333h56.888889c11.377778 0 22.755556 11.377778 22.755556 22.755555s-11.377778 22.755556-22.755556 22.755556H119.466667C85.333333 640 56.888889 611.555556 56.888889 577.422222v-563.2c0-34.133333 28.444444-62.577778 62.577778-62.577778h284.444444c34.133333-11.377778 34.133333-11.377778 62.577778-11.377777z m-56.888889-17.066667h-284.444444c-45.511111 0-79.644444 34.133333-79.644445 79.644444V566.044444c0 45.511111 34.133333 79.644444 79.644445 79.644445h68.266666c22.755556 0 39.822222-17.066667 39.822222-39.822222 0-22.755556-17.066667-39.822222-39.822222-39.822223h-56.888889c-5.688889 0-11.377778 0-11.377777-11.377777V8.533333c0-5.688889 5.688889-11.377778 11.377777-11.377777H682.666667c11.377778 0 17.066667 5.688889 17.066666 17.066666v34.133334 5.688888 5.688889c0 22.755556 17.066667 39.822222 39.822223 39.822223 22.755556 0 39.822222-17.066667 34.133333-39.822223v-56.888889c0-34.133333-22.755556-62.577778-51.2-73.955555-5.688889 0-17.066667-5.688889-28.444445-5.688889h-284.444444zM580.266667 452.266667H443.733333c-17.066667 0-28.444444 11.377778-34.133333 28.444444 0 17.066667 5.688889 34.133333 22.755556 34.133333h147.911111v5.688889 130.844445c0 17.066667 11.377778 34.133333 34.133333 34.133333 17.066667 0 34.133333-17.066667 34.133333-34.133333v-136.533334h136.533334c17.066667 0 28.444444-11.377778 34.133333-28.444444 0-17.066667-5.688889-34.133333-22.755556-34.133333h-142.222222-5.688889v-136.533334c0-11.377778-5.688889-22.755556-17.066666-28.444444-17.066667-5.688889-28.444444-5.688889-39.822223 5.688889-5.688889 5.688889-11.377778 11.377778-11.377777 22.755555V446.577778v5.688889zM580.266667 457.955556l11.377777-5.688889v-136.533334c0-5.688889 0-11.377778 5.688889-17.066666 5.688889-5.688889 17.066667-11.377778 28.444445-5.688889s17.066667 11.377778 17.066666 22.755555V406.755556v45.511111l5.688889 11.377777h142.222223c11.377778 5.688889 17.066667 17.066667 17.066666 28.444445s-11.377778 22.755556-22.755555 22.755555h-136.533334l-5.688889 5.688889v5.688889 39.822222 28.444445 62.577778c0 17.066667-11.377778 28.444444-22.755555 28.444444-22.755556-5.688889-34.133333-17.066667-34.133333-34.133333V520.533333l-5.688889-11.377777H438.044444c-11.377778-5.688889-22.755556-17.066667-17.066666-28.444445 0-11.377778 11.377778-22.755556 22.755555-22.755555H580.266667z m-45.511111-17.066667H443.733333c-22.755556 0-39.822222 17.066667-39.822222 34.133333 0 22.755556 11.377778 39.822222 28.444445 45.511111H568.888889V554.666667v28.444444 62.577778c0 22.755556 17.066667 45.511111 39.822222 45.511111 22.755556 0 39.822222-17.066667 39.822222-45.511111v-125.155556h125.155556c22.755556 0 39.822222-17.066667 39.822222-34.133333 5.688889-22.755556-11.377778-39.822222-28.444444-45.511111h-136.533334v-125.155556c0-17.066667-11.377778-34.133333-22.755555-39.822222-11.377778-5.688889-28.444444 0-39.822222 11.377778-11.377778 5.688889-17.066667 17.066667-17.066667 28.444444V384v34.133333V440.888889h-34.133333z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="tianjiaicon" unicode="&#58896;" d="M320 320h128v-128c0-38.4 25.6-64 64-64s64 25.6 64 64V320h128c38.4 0 64 25.6 64 64s-25.6 64-64 64H576V576c0 38.4-25.6 64-64 64s-64-25.6-64-64v-128H320c-38.4 0-64-25.6-64-64s25.6-64 64-64zM0 896v-1024h1024V896H0z m960-960H64V832h896v-896z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="information" unicode="&#58898;" d="M983.04 581.973333c-27.306667 61.44-61.44 116.053333-109.226667 163.84S771.413333 827.733333 709.973333 855.04C648.533333 882.346667 580.266667 896 512 896s-136.533333-13.653333-197.973333-40.96c-61.44-27.306667-116.053333-61.44-163.84-109.226667S68.266667 643.413333 40.96 581.973333C13.653333 520.533333 0 452.266667 0 384s13.653333-136.533333 40.96-197.973333c27.306667-61.44 61.44-116.053333 109.226667-163.84 47.786667-47.786667 102.4-81.92 163.84-109.226667 61.44-27.306667 129.706667-40.96 197.973333-40.96s136.533333 13.653333 197.973333 40.96c61.44 27.306667 116.053333 61.44 163.84 109.226667 47.786667 47.786667 81.92 102.4 109.226667 163.84 27.306667 61.44 40.96 129.706667 40.96 197.973333s-13.653333 136.533333-40.96 197.973333z m-423.253333-539.306666c-13.653333-13.653333-27.306667-20.48-47.786667-20.48-20.48 0-34.133333 6.826667-47.786667 20.48-13.653333 13.653333-20.48 34.133333-20.48 54.613333V459.093333c0 27.306667 6.826667 40.96 20.48 54.613334 13.653333 20.48 27.306667 20.48 47.786667 20.48 20.48 0 34.133333-6.826667 47.786667-20.48 13.653333-6.826667 13.653333-27.306667 13.653333-47.786667v-368.64c0-20.48 0-40.96-13.653333-54.613333z m-47.786667 552.96c-13.653333 0-34.133333 6.826667-40.96 13.653333-13.653333 13.653333-20.48 27.306667-20.48 47.786667 0 20.48 6.826667 34.133333 20.48 40.96 13.653333 13.653333 27.306667 20.48 47.786667 20.48 13.653333 0 34.133333-6.826667 40.96-13.653334 6.826667-13.653333 13.653333-27.306667 13.653333-47.786666 0-20.48-6.826667-34.133333-20.48-47.786667-6.826667-6.826667-20.48-13.653333-40.96-13.653333z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="baocunchenggong" unicode="&#58899;" d="M512-128C230.4-128 0 102.4 0 384c0 138.24 56.32 266.24 148.48 363.52C245.76 844.8 373.76 896 512 896c138.24 0 266.24-56.32 363.52-148.48C972.8 650.24 1024 517.12 1024 384c0-138.24-56.32-266.24-148.48-363.52C778.24-76.8 650.24-128 512-128z m0 952.32c-117.76 0-225.28-46.08-307.2-128-81.92-81.92-128-194.56-128-307.2 0-240.64 194.56-440.32 435.2-440.32 117.76 0 225.28 46.08 307.2 128 81.92 81.92 128 194.56 128 307.2 0 117.76-46.08 225.28-128 312.32-76.8 81.92-189.44 128-307.2 128zM455.68 168.96c-10.24 0-20.48 5.12-25.6 10.24-20.48 15.36-20.48 35.84-5.12 51.2l327.68 337.92c15.36 15.36 40.96 15.36 56.32 5.12 15.36-15.36 15.36-35.84 5.12-51.2l-327.68-337.92c-10.24-10.24-20.48-15.36-30.72-15.36zM455.68 168.96c-10.24 0-20.48 5.12-25.6 10.24l-179.2 184.32c-15.36 15.36-15.36 35.84 0 51.2 15.36 15.36 40.96 15.36 51.2 0L481.28 230.4c15.36-15.36 15.36-35.84 0-51.2-10.24-5.12-20.48-10.24-25.6-10.24z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="danxuanicon" unicode="&#58900;" d="M519.314286 896h-14.628572C226.742857 896 0 669.257143 0 384s226.742857-512 504.685714-512h14.628572c277.942857 0 504.685714 226.742857 504.685714 512s-226.742857 512-504.685714 512z m0-950.857143h-14.628572C270.628571-54.857143 73.142857 142.628571 73.142857 384s197.485714 438.857143 431.542857 438.857143h14.628572C753.371429 822.857143 950.857143 625.371429 950.857143 384s-197.485714-438.857143-431.542857-438.857143zM512 603.428571C387.657143 603.428571 292.571429 508.342857 292.571429 384s95.085714-219.428571 219.428571-219.428571c117.028571 0 219.428571 95.085714 219.428571 219.428571S636.342857 603.428571 512 603.428571z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="danhangicon" unicode="&#58901;" d="M950.857143 896H73.142857C29.257143 896 0 866.742857 0 822.857143v-877.714286c0-43.885714 29.257143-73.142857 73.142857-73.142857h877.714286c43.885714 0 73.142857 29.257143 73.142857 73.142857V822.857143c0 43.885714-29.257143 73.142857-73.142857 73.142857z m0-914.285714c0-21.942857-14.628571-36.571429-36.571429-36.571429h-804.571428c-21.942857 0-36.571429 14.628571-36.571429 36.571429v804.571428c0 21.942857 14.628571 36.571429 36.571429 36.571429h804.571428c21.942857 0 36.571429-14.628571 36.571429-36.571429v-804.571428zM292.571429 603.428571h438.857142c43.885714 0 73.142857-29.257143 73.142858-73.142857s-29.257143-73.142857-73.142858-73.142857H292.571429c-43.885714 0-73.142857 29.257143-73.142858 73.142857s29.257143 73.142857 73.142858 73.142857zM292.571429 310.857143h438.857142c43.885714 0 73.142857-29.257143 73.142858-73.142857s-29.257143-73.142857-73.142858-73.142857H292.571429c-43.885714 0-73.142857 29.257143-73.142858 73.142857s29.257143 73.142857 73.142858 73.142857z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="bi" unicode="&#58902;" d="M315.733333 0L128 187.733333l512 512 187.733333-187.733333-512-512zM844.8 819.2l102.4-102.4c25.6-25.6 25.6-68.266667 0-93.866667L844.8 520.533333 648.533333 716.8 750.933333 819.2c25.6 25.6 68.266667 25.6 93.866667 0zM119.466667 170.666667l187.733333-187.733334-256-68.266666 68.266667 256z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="baocunzhong" unicode="&#58903;" d="M512-128C230.4-128 0 102.4 0 384c0 138.24 56.32 266.24 148.48 363.52C245.76 844.8 373.76 896 512 896c138.24 0 266.24-56.32 363.52-148.48C972.8 650.24 1024 517.12 1024 384c0-138.24-56.32-266.24-148.48-363.52C778.24-76.8 650.24-128 512-128z m0 952.32c-117.76 0-225.28-46.08-307.2-128-81.92-81.92-128-194.56-128-307.2 0-240.64 194.56-440.32 435.2-440.32 117.76 0 225.28 46.08 307.2 128 81.92 81.92 128 194.56 128 307.2 0 117.76-46.08 225.28-128 312.32-76.8 81.92-189.44 128-307.2 128zM256 358.4m-76.8 0a76.8 76.8 0 1 1 153.6 0 76.8 76.8 0 1 1-153.6 0ZM512 358.4m-76.8 0a76.8 76.8 0 1 1 153.6 0 76.8 76.8 0 1 1-153.6 0ZM768 358.4m-76.8 0a76.8 76.8 0 1 1 153.6 0 76.8 76.8 0 1 1-153.6 0Z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="hongselajixiang" unicode="&#58904;" d="M981.333333 776.533333H802.133333V844.8c0 25.6-25.6 51.2-51.2 51.2H273.066667c-34.133333 0-51.2-25.6-51.2-51.2v-59.733333H34.133333c-17.066667-8.533333-34.133333-25.6-34.133333-42.666667s17.066667-34.133333 34.133333-34.133333h947.2c17.066667 0 34.133333 17.066667 34.133334 34.133333 8.533333 17.066667-8.533333 34.133333-34.133334 34.133333zM836.266667 622.933333H179.2c-8.533333 0-17.066667 0-25.6-8.533333 0-8.533333-8.533333-17.066667-8.533333-25.6v-605.866667c0-59.733333 51.2-110.933333 110.933333-110.933333h512c59.733333 0 110.933333 51.2 110.933333 110.933333V588.8c0 17.066667-17.066667 34.133333-42.666666 34.133333zM418.133333 42.666667c0-17.066667-17.066667-34.133333-34.133333-34.133334-25.6-8.533333-42.666667 8.533333-42.666667 34.133334V435.2c0 17.066667 17.066667 34.133333 34.133334 34.133333s34.133333-17.066667 34.133333-34.133333V42.666667zM682.666667 42.666667c0-17.066667-17.066667-34.133333-34.133334-34.133334s-34.133333 17.066667-34.133333 34.133334V435.2c-8.533333 17.066667 8.533333 34.133333 25.6 34.133333 25.6 0 42.666667-17.066667 42.666667-34.133333V42.666667z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="lansezantingshiyong" unicode="&#58905;" d="M156.553846-72.861538V856.615385C156.553846 888.123077 188.061538 903.876923 211.692308 888.123077L849.723077 423.384615c23.630769-15.753846 23.630769-47.261538 0-63.015384L211.692308-104.369231c-23.630769-15.753846-55.138462 0-55.138462 31.507693z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="duoxuan-icon" unicode="&#58906;" d="M950.857143 896H73.142857C29.257143 896 0 866.742857 0 822.857143v-877.714286c0-43.885714 29.257143-73.142857 73.142857-73.142857h877.714286c43.885714 0 73.142857 29.257143 73.142857 73.142857V822.857143c0 43.885714-29.257143 73.142857-73.142857 73.142857z m0-914.285714c0-21.942857-14.628571-36.571429-36.571429-36.571429h-804.571428c-21.942857 0-36.571429 14.628571-36.571429 36.571429v804.571428c0 21.942857 14.628571 36.571429 36.571429 36.571429h804.571428c21.942857 0 36.571429-14.628571 36.571429-36.571429v-804.571428zM804.571429 552.228571s-95.085714-29.257143-204.8-160.914285C497.371429 274.285714 475.428571 230.4 438.857143 164.571429c-7.314286 7.314286-65.828571 117.028571-219.428572 204.8l80.457143 80.457142s73.142857-51.2 124.342857-146.285714c0 0 131.657143 204.8 380.342858 299.885714v-51.2z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="guaduan_icon" unicode="&#58907;" d="M352.52459-111.213115h-67.147541c-67.147541 0-134.295082 33.57377-167.868852 100.721312-50.360656 33.57377-67.147541 83.934426-83.934427 134.295082-16.786885 33.57377-16.786885 83.934426-33.57377 134.295082v33.57377c0 16.786885 16.786885 50.360656 16.786885 67.147541 16.786885 50.360656 67.147541 83.934426 100.721312 117.508197 50.360656 50.360656 117.508197 83.934426 184.655737 117.508197 100.721311 67.147541 218.229508 117.508197 335.737705 151.081967 167.868852 50.360656 335.737705 83.934426 503.606558 100.721311C1275.803279 879.213115 1410.098361 896 1544.393443 896h268.590164c117.508197 0 218.229508-16.786885 335.737704-16.786885 134.295082-16.786885 268.590164-33.57377 402.885246-67.147541 184.655738-50.360656 369.311475-100.721311 520.393443-218.229508 67.147541-50.360656 117.508197-83.934426 184.655738-134.295082 33.57377-33.57377 67.147541-83.934426 83.934426-134.295082 0-16.786885 0-33.57377 16.786885-33.573771v-50.360656c-16.786885-33.57377-16.786885-67.147541-33.57377-100.721311l-50.360656-151.081967c-33.57377-50.360656-67.147541-83.934426-134.295082-100.721312-16.786885 0-50.360656 0-67.147541-16.786885H3021.639344V-111.213115h-83.934426c-151.081967 16.786885-302.163934 50.360656-436.459016 100.721312-67.147541 16.786885-117.508197 67.147541-134.295082 151.081967-16.786885 50.360656-16.786885 83.934426-16.786886 117.508197 0 67.147541-33.57377 117.508197-100.721311 151.081967-16.786885 16.786885-50.360656 16.786885-67.147541 33.57377-83.934426 16.786885-167.868852 33.57377-251.803279 33.573771H1477.245902c-83.934426 0-167.868852 0-251.803279-16.786885-33.57377-16.786885-83.934426-33.57377-134.295082-50.360656-50.360656-33.57377-67.147541-67.147541-83.934426-117.508197v-83.934426c-16.786885-100.721311-50.360656-167.868852-151.081967-201.442623-134.295082-67.147541-285.377049-83.934426-436.459017-117.508197h-67.147541z"  horiz-adv-x="3413" />
+
+    
+    <glyph glyph-name="jinggaochacha" unicode="&#58908;" d="M512-128c-285.257143 0-512 226.742857-512 512s226.742857 512 512 512 512-226.742857 512-512-226.742857-512-512-512z m234.057143 753.371429c-21.942857 21.942857-65.828571 21.942857-87.771429 0L512 471.771429l-153.6 146.285714c-21.942857 21.942857-65.828571 21.942857-87.771429 0-21.942857-21.942857-21.942857-65.828571 0-87.771429l153.6-146.285714-153.6-153.6c-21.942857-21.942857-21.942857-65.828571 0-87.771429 21.942857-21.942857 65.828571-21.942857 87.771429 0L512 296.228571l153.6-153.6c21.942857-21.942857 65.828571-21.942857 87.771429 0 21.942857 21.942857 21.942857 65.828571 0 87.771429L599.771429 384l153.6 153.6c21.942857 21.942857 21.942857 58.514286-7.314286 87.771429z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="querenbodaicon" unicode="&#58909;" d="M1021.379432-11.270922c-21.886702-80.251241-167.79805-138.61578-321.004964-102.137943-153.206915 36.477837-313.709397 124.024645-437.734043 248.04929C138.61578 258.665071 51.068972 419.167553 14.591135 572.374468S36.477837 871.49273 116.729078 893.379432C138.61578 900.675 218.867021 907.970567 342.891667 689.103546c36.477837-65.660106 7.295567-58.364539-72.955674-189.684752-36.477837-58.364539 21.886702-138.61578 21.886702-138.61578s43.773404-65.660106 87.546808-109.433511S488.803014 163.822695 488.803014 163.822695s80.251241-58.364539 138.61578-21.886702c124.024645 80.251241 124.024645 102.137943 189.684752 72.955674 218.867021-124.024645 204.275886-204.275886 204.275886-226.162589z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="sanjiaoxingjinggao" unicode="&#58910;" d="M1151.544484 3.188612L655.94306 841.338078c-43.729537 72.882562-109.323843 72.882562-145.765124 0L21.864769 3.188612c-43.729537-72.882562-7.288256-123.900356 72.882562-123.900356h976.626334c87.459075 0 116.6121 58.30605 80.170819 123.900356zM583.060498 746.590747l451.871886-757.978647H131.188612L583.060498 746.590747zM546.619217 506.078292h80.170819V236.412811H546.619217V506.078292z m0-349.836299h80.170819v-116.6121H546.619217v116.6121z"  horiz-adv-x="1171" />
+
+    
+    <glyph glyph-name="shanchuwenzichacha" unicode="&#58911;" d="M512 896C226.742857 896 0 669.257143 0 384s226.742857-512 512-512 512 226.742857 512 512-226.742857 512-512 512z m204.8-636.342857c21.942857-14.628571 29.257143-36.571429 29.257143-58.514286-7.314286-21.942857-21.942857-43.885714-43.885714-43.885714-21.942857-7.314286-43.885714 7.314286-58.514286 29.257143L512 310.857143 380.342857 179.2c-14.628571-21.942857-36.571429-29.257143-58.514286-29.257143-21.942857 7.314286-43.885714 21.942857-43.885714 43.885714-7.314286 21.942857 7.314286 43.885714 29.257143 58.514286L438.857143 384 307.2 515.657143c-21.942857 14.628571-29.257143 36.571429-29.257143 58.514286 7.314286 21.942857 21.942857 43.885714 43.885714 43.885714 21.942857 7.314286 43.885714-7.314286 58.514286-29.257143L512 457.142857l131.657143 131.657143c14.628571 21.942857 36.571429 29.257143 58.514286 29.257143 21.942857-7.314286 43.885714-21.942857 43.885714-43.885714 7.314286-21.942857-7.314286-43.885714-29.257143-58.514286L585.142857 384l131.657143-124.342857z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="suifangjihuaicon" unicode="&#58912;" d="M861.364706 896H162.635294C120.470588 896 90.352941 865.882353 90.352941 829.741176v-861.364705c0-60.235294 66.258824-90.352941 114.447059-54.211765l265.035294 192.752941c24.094118 18.070588 60.235294 18.070588 84.329412 0l265.035294-192.752941c48.188235-36.141176 114.447059-6.023529 114.447059 54.211765V829.741176c0 36.141176-30.117647 66.258824-72.282353 66.258824z m-162.635294-361.411765l-60.235294-66.258823c-6.023529-6.023529-12.047059-12.047059-12.047059-24.094118L644.517647 353.882353c6.023529-24.094118-18.070588-42.164706-42.164706-30.117647l-78.305882 48.188235c-6.023529 6.023529-18.070588 6.023529-24.094118 0l-78.305882-48.188235c-24.094118-6.023529-42.164706 6.023529-42.164706 30.117647l18.070588 90.352941c0 6.023529 0 18.070588-6.023529 24.094118L325.270588 534.588235c-18.070588 18.070588-6.023529 48.188235 12.047059 48.188236L427.670588 594.823529c6.023529 0 18.070588 6.023529 18.070588 18.070589l42.164706 84.329411c6.023529 6.023529 12.047059 12.047059 24.094118 12.047059s18.070588-6.023529 24.094118-18.070588l42.164706-84.329412c0-6.023529 12.047059-12.047059 18.070588-12.047059l90.352941-12.047058c18.070588 0 30.117647-30.117647 12.047059-48.188236z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="rili" unicode="&#58913;" d="M848.457143 822.857143H731.428571V859.428571c0 21.942857-14.628571 36.571429-36.571428 36.571429S658.285714 881.371429 658.285714 859.428571V822.857143H329.142857V859.428571C329.142857 881.371429 314.514286 896 292.571429 896s-36.571429-14.628571-36.571429-36.571429V822.857143H146.285714C65.828571 822.857143 0 757.028571 0 676.571429v-658.285715c0-80.457143 65.828571-146.285714 146.285714-146.285714h702.171429c80.457143 0 146.285714 65.828571 146.285714 146.285714V676.571429c0 80.457143-65.828571 146.285714-146.285714 146.285714z m73.142857-804.571429c0-43.885714-29.257143-73.142857-73.142857-73.142857H146.285714c-43.885714 0-73.142857 29.257143-73.142857 73.142857V676.571429c0 43.885714 29.257143 73.142857 73.142857 73.142857h109.714286v-36.571429c0-21.942857 14.628571-36.571429 36.571429-36.571428s36.571429 14.628571 36.571428 36.571428V749.714286H658.285714v-36.571429c0-21.942857 14.628571-36.571429 36.571429-36.571428s36.571429 14.628571 36.571428 36.571428V749.714286h117.028572c43.885714 0 73.142857-29.257143 73.142857-73.142857v-658.285715zM307.2 588.8h-73.142857c-14.628571 0-29.257143-14.628571-29.257143-36.571429s14.628571-36.571429 36.571429-36.571428h73.142857c21.942857 0 36.571429 14.628571 36.571428 36.571428s-21.942857 36.571429-43.885714 36.571429z m212.114286 0h-73.142857c-21.942857 0-36.571429-14.628571-36.571429-36.571429s14.628571-36.571429 36.571429-36.571428h73.142857c21.942857 0 36.571429 14.628571 36.571428 36.571428s-14.628571 36.571429-36.571428 36.571429z m212.114285 0H658.285714c-21.942857 0-36.571429-14.628571-36.571428-36.571429s14.628571-36.571429 36.571428-36.571428h73.142857c21.942857 0 36.571429 14.628571 36.571429 36.571428s-14.628571 36.571429-36.571429 36.571429zM307.2 398.628571h-73.142857c-14.628571 0-29.257143-21.942857-29.257143-36.571428s14.628571-43.885714 36.571429-43.885714h73.142857c21.942857 0 36.571429 14.628571 36.571428 36.571428s-21.942857 43.885714-43.885714 43.885714z m212.114286 0h-73.142857c-21.942857 0-36.571429-14.628571-36.571429-36.571428s14.628571-36.571429 36.571429-36.571429h73.142857c21.942857 0 36.571429 14.628571 36.571428 36.571429s-14.628571 36.571429-36.571428 36.571428z m212.114285 0H658.285714c-21.942857 0-36.571429-14.628571-36.571428-36.571428s14.628571-36.571429 36.571428-36.571429h73.142857c21.942857 0 36.571429 14.628571 36.571429 36.571429s-14.628571 36.571429-36.571429 36.571428zM307.2 208.457143h-73.142857c-14.628571 0-29.257143-21.942857-29.257143-43.885714s14.628571-36.571429 36.571429-36.571429h73.142857c21.942857 0 36.571429 14.628571 36.571428 36.571429s-21.942857 43.885714-43.885714 43.885714z m212.114286 0h-73.142857c-21.942857 0-36.571429-14.628571-36.571429-36.571429s14.628571-36.571429 36.571429-36.571428h73.142857c21.942857 0 36.571429 14.628571 36.571428 36.571428s-14.628571 36.571429-36.571428 36.571429z m212.114285 0H658.285714c-21.942857 0-36.571429-14.628571-36.571428-36.571429s14.628571-36.571429 36.571428-36.571428h73.142857c21.942857 0 36.571429 14.628571 36.571429 36.571428s-14.628571 36.571429-36.571429 36.571429z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="tiankongtiicon" unicode="&#58914;" d="M950.857143 896H73.142857C29.257143 896 0 866.742857 0 822.857143v-877.714286c0-43.885714 29.257143-73.142857 73.142857-73.142857h877.714286c43.885714 0 73.142857 29.257143 73.142857 73.142857V822.857143c0 43.885714-29.257143 73.142857-73.142857 73.142857z m0-914.285714c0-21.942857-14.628571-36.571429-36.571429-36.571429h-804.571428c-21.942857 0-36.571429 14.628571-36.571429 36.571429v804.571428c0 21.942857 14.628571 36.571429 36.571429 36.571429h804.571428c21.942857 0 36.571429-14.628571 36.571429-36.571429v-804.571428zM365.714286 596.114286h73.142857v-424.228572H365.714286v-51.2h292.571428v51.2H585.142857V596.114286h73.142857v51.2H365.714286z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="xialaicon" unicode="&#58915;" d="M950.857143 896H73.142857C29.257143 896 0 866.742857 0 822.857143v-877.714286c0-43.885714 29.257143-73.142857 73.142857-73.142857h877.714286c43.885714 0 73.142857 29.257143 73.142857 73.142857V822.857143c0 43.885714-29.257143 73.142857-73.142857 73.142857z m0-914.285714c0-21.942857-14.628571-36.571429-36.571429-36.571429h-804.571428c-21.942857 0-36.571429 14.628571-36.571429 36.571429v804.571428c0 21.942857 14.628571 36.571429 36.571429 36.571429h804.571428c21.942857 0 36.571429-14.628571 36.571429-36.571429v-804.571428zM709.485714 530.285714H314.514286c-51.2 0-80.457143-65.828571-36.571429-109.714285l197.485714-204.8c21.942857-21.942857 58.514286-21.942857 80.457143 0l197.485715 204.8c36.571429 36.571429 7.314286 109.714286-43.885715 109.714285z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="tianjialiebiao_icon" unicode="&#58917;" d="M512 896C232.106667 896 0 663.893333 0 384S232.106667-128 512-128 1024 104.106667 1024 384 791.893333 896 512 896z m204.8-546.133333h-136.533333c-6.826667 0-20.48-6.826667-27.306667-6.826667s-6.826667-20.48-6.826667-27.306667v-136.533333c0-13.653333-13.653333-34.133333-27.306666-34.133333-6.826667 0-20.48 0-27.306667 6.826666-6.826667 6.826667-13.653333 20.48-13.653333 27.306667v136.533333c0 6.826667-6.826667 20.48-6.826667 27.306667S450.56 349.866667 443.733333 349.866667h-136.533333c-13.653333 0-34.133333 13.653333-34.133333 27.306666 0 6.826667 0 20.48 6.826666 27.306667 6.826667 6.826667 20.48 13.653333 27.306667 13.653333h136.533333c6.826667 0 20.48 6.826667 27.306667 6.826667s6.826667 20.48 6.826667 27.306667v136.533333c0 13.653333 13.653333 34.133333 27.306666 34.133333 6.826667 0 20.48 0 27.306667-6.826666s13.653333-20.48 13.653333-27.306667v-136.533333c0-6.826667 6.826667-20.48 6.826667-27.306667s20.48-6.826667 27.306667-6.826667h136.533333c6.826667 0 20.48-6.826667 27.306667-13.653333 6.826667-6.826667 6.826667-13.653333 6.826666-27.306667s-20.48-27.306667-34.133333-27.306666z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="green_guanbiyulan" unicode="&#58918;" d="M507.437624 693.227723c-349.782178 0-456.237624-324.435644-456.237624-324.435644s121.663366-324.435644 456.237624-324.435643 456.237624 324.435644 456.237624 324.435643S857.219802 693.227723 507.437624 693.227723z m0-481.584159c-86.178218 0-152.079208 70.970297-152.079208 152.079208s65.90099 152.079208 152.079208 152.079208 152.079208-70.970297 152.079208-152.079208-70.970297-152.079208-152.079208-152.079208zM400.982178 368.792079c0-60.831683 50.693069-106.455446 106.455446-106.455445s106.455446 50.693069 106.455445 106.455445-50.693069 106.455446-106.455445 106.455446-106.455446-45.623762-106.455446-106.455446zM157.655446-128c-5.069307 0-10.138614 0-15.207921 5.069307-10.138614 10.138614-15.207921 25.346535-5.069307 35.485148L811.59604 870.653465c10.138614 10.138614 25.346535 15.207921 35.485148 5.069307 15.207921-10.138614 15.207921-25.346535 5.069307-35.485148L177.932673-117.861386c-5.069307-5.069307-10.138614-10.138614-20.277227-10.138614z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="green_phone" unicode="&#58921;" d="M1019.301984-12.215403c-20.432576-78.324875-163.460608-143.028032-320.110358-102.16288-156.649749 37.459723-313.299499 122.595456-439.300383 248.596342C133.890357 260.218944 52.160053 416.868693 11.294901 573.518442-26.164821 730.168192 35.132907 873.196224 113.457781 893.6288c20.432576 6.810859 102.16288 13.621717 224.758336-204.32576 34.054293-61.297728 6.810859-61.297728-71.514016-187.298614-37.459723-57.892299 23.838005-139.622603 23.838006-139.622602s40.865152-64.703157 85.135733-108.973739c44.270581-44.270581 108.973739-85.135733 108.973738-85.135733s81.730304-61.297728 139.622603-23.838005c126.000885 78.324875 126.000885 105.568309 187.298613 71.514016 224.758336-129.406315 214.542048-207.731189 207.73119-228.163766z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="grey_bianji" unicode="&#58924;" d="M990.086679 70.01105h-96.176796V613.127072l-62.232044-62.232044v-475.22652H243.302149L939.169552 799.823204l-50.917127 39.60221L198.04248 115.270718V703.646409h446.939227l56.574585 62.232044H198.04248V862.055249c0 16.972376-11.314917 33.944751-33.944751 33.944751s-33.944751-16.972376-33.944752-33.944751v-96.176796H33.976182c-16.972376 0-33.944751-11.314917-33.944752-33.944751s11.314917-33.944751 33.944752-33.944752h96.176795V58.696133c0-33.944751 22.629834-56.574586 56.574586-56.574586h644.950276v-96.176796c0-16.972376 11.314917-33.944751 33.944752-33.944751s33.944751 11.314917 33.944751 33.944751v96.176796h96.176796c16.972376 0 33.944751 11.314917 33.944751 33.944751-5.657459 16.972376-16.972376 33.944751-39.60221 33.944752z"  horiz-adv-x="1035" />
+
+    
+    <glyph glyph-name="grey_shanchu" unicode="&#58925;" d="M995.555556 736.711111h-267.377778c-5.688889 0-11.377778 0-17.066667 5.688889L608.711111 839.111111H415.288889L312.888889 748.088889c0-5.688889-11.377778-11.377778-17.066667-11.377778H28.444444c-17.066667 0-28.444444 11.377778-28.444444 28.444445s11.377778 28.444444 28.444444 28.444444H284.444444L386.844444 890.311111c5.688889 0 11.377778 5.688889 17.066667 5.688889h216.177778c5.688889 0 11.377778-5.688889 17.066667-5.688889L739.555556 787.911111h256c17.066667 0 28.444444-11.377778 28.444444-28.444444 0-11.377778-11.377778-22.755556-28.444444-22.755556z m-187.733334-819.2H216.177778c-56.888889 0-108.088889 45.511111-108.088889 108.088889V605.866667c0 17.066667 11.377778 28.444444 28.444444 28.444444s28.444444-11.377778 28.444445-28.444444v-580.266667c0-28.444444 22.755556-51.2 51.2-51.2h591.644444c28.444444 0 51.2 22.755556 51.2 51.2V605.866667c0 17.066667 11.377778 28.444444 28.444445 28.444444s28.444444-11.377778 28.444444-28.444444v-580.266667c0-56.888889-45.511111-108.088889-108.088889-108.088889z m-432.355555 159.288889c-17.066667 0-28.444444 11.377778-28.444445 28.444444V605.866667c0 17.066667 11.377778 28.444444 28.444445 28.444444s28.444444-11.377778 28.444444-28.444444v-500.622223c0-17.066667-11.377778-28.444444-28.444444-28.444444z m273.066666 0c-17.066667 0-28.444444 11.377778-28.444444 28.444444V605.866667c0 17.066667 11.377778 28.444444 28.444444 28.444444s28.444444-11.377778 28.444445-28.444444v-500.622223c-5.688889-17.066667-17.066667-28.444444-28.444445-28.444444z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="grey_fuzhi" unicode="&#58926;" d="M622.320442 103.955801H305.502762c-45.259669 0-79.20442 33.944751-79.204419 79.20442V816.79558C226.298343 862.055249 260.243094 896 305.502762 896h627.977901c50.917127 0 84.861878-33.944751 84.861878-79.20442v-627.9779c0-39.60221-28.287293-73.546961-67.889502-79.20442h-11.314917c-107.491713-5.657459-209.325967-5.657459-316.81768-5.657459z m0 67.889503h305.502762c11.314917 0 22.629834 5.657459 22.629835 22.629834v28.287293V782.850829v22.629834c0 16.972376-5.657459 22.629834-22.629835 28.287293H311.160221c-11.314917 0-16.972376-5.657459-22.629834-22.629834v-611.005525c0-16.972376 5.657459-22.629834 28.287293-28.287293H339.447514c96.176796-5.657459 186.696133 0 282.872928 0zM396.022099-122.342541H79.20442C33.944751-122.342541 0-88.39779 0-43.138122V590.497238C0 635.756906 33.944751 669.701657 79.20442 669.701657h79.20442c16.972376 0 33.944751-11.314917 33.944751-33.944751 0-16.972376-11.314917-33.944751-33.944751-33.944751H96.176796c-16.972376 0-22.629834-11.314917-28.287293-28.287293v-611.005525c0-11.314917 11.314917-22.629834 22.629834-22.629834h611.005525c16.972376 0 22.629834 11.314917 22.629834 28.287293v56.574585c0 22.629834 16.972376 33.944751 33.944752 33.944752s33.944751-16.972376 33.944751-39.60221v-67.889503c0-33.944751-22.629834-62.232044-50.917127-73.546961-5.657459 0-16.972376-5.657459-28.287293-5.657459C605.348066-122.342541 503.513812-122.342541 396.022099-122.342541zM582.718232 460.375691H429.966851c-16.972376 5.657459-33.944751 16.972376-33.944752 33.944751s11.314917 33.944751 28.287293 39.60221H582.718232v5.657458 141.436465c0 28.287293 16.972376 45.259669 39.60221 45.259668 22.629834 0 39.60221-16.972376 39.60221-39.60221v-147.093923h152.751381c16.972376 0 33.944751-11.314917 33.944752-28.287292s-5.657459-33.944751-22.629835-39.60221H667.58011h-5.657458v-152.751381c0-16.972376-5.657459-28.287293-22.629834-33.944752-16.972376-11.314917-28.287293-11.314917-39.60221 0-5.657459 5.657459-11.314917 16.972376-11.314917 28.287293V460.375691h-5.657459z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="Q-icon" unicode="&#58927;" d="M518.4 595.2C435.2 595.2 364.8 512 364.8 377.6c0-134.4 64-217.6 153.6-217.6 32 0 64 12.8 83.2 32-19.2 12.8-25.6 25.6-70.4 32l6.4 38.4c44.8-6.4 64-19.2 89.6-38.4 25.6 38.4 44.8 89.6 44.8 153.6-6.4 140.8-70.4 217.6-153.6 217.6zM1024 384c0 281.6-230.4 512-512 512S0 665.6 0 384s230.4-512 512-512c96 0 185.6 25.6 262.4 76.8L1024-128l-102.4 204.8c64 89.6 102.4 192 102.4 307.2z m-288-320c-44.8 25.6-76.8 76.8-102.4 102.4-32-25.6-70.4-38.4-115.2-38.4-121.6 0-217.6 89.6-217.6 249.6s96 249.6 217.6 249.6 224-96 224-249.6c0-83.2-32-147.2-70.4-192 19.2-19.2 44.8-57.6 76.8-83.2l-12.8-38.4z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="grey_yanjing" unicode="&#58928;" d="M708.923077 896C165.415385 896 0 391.876923 0 391.876923s189.046154-504.123077 708.923077-504.123077 708.923077 504.123077 708.923077 504.123077S1252.430769 896 708.923077 896z m0-748.307692c-133.907692 0-236.307692 110.276923-236.307692 236.307692s102.4 236.307692 236.307692 236.307692 236.307692-110.276923 236.307692-236.307692-110.276923-236.307692-236.307692-236.307692zM543.507692 391.876923c0-94.523077 78.769231-165.415385 165.415385-165.415385s165.415385 78.769231 165.415385 165.415385-78.769231 165.415385-165.415385 165.415385-165.415385-70.892308-165.415385-165.415385z"  horiz-adv-x="1417" />
+
+    
+    <glyph glyph-name="white_jinggao" unicode="&#58929;" d="M522.24 629.76h-20.48c-15.36 0-25.6-10.24-25.6-25.6v-291.84c0-15.36 10.24-25.6 25.6-25.6h25.6c15.36 0 25.6 10.24 25.6 25.6V599.04c0 15.36-15.36 30.72-30.72 30.72zM512 896C230.4 896 0 665.6 0 384s230.4-512 512-512 512 230.4 512 512S793.6 896 512 896z m-5.12-962.56c-245.76 0-445.44 199.68-445.44 445.44 0 245.76 199.68 445.44 445.44 445.44 245.76 0 445.44-199.68 445.44-445.44 0-245.76-199.68-445.44-445.44-445.44z m15.36 256h-20.48c-15.36 0-25.6-10.24-25.6-25.6v-25.6c0-15.36 10.24-25.6 25.6-25.6h20.48c15.36 0 25.6 10.24 25.6 25.6v25.6c0 10.24-10.24 25.6-25.6 25.6z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="red_phone" unicode="&#58930;" d="M1019.301984-12.215403c-20.432576-78.324875-163.460608-143.028032-320.110358-102.16288-156.649749 37.459723-313.299499 122.595456-439.300383 248.596342C133.890357 260.218944 52.160053 416.868693 11.294901 573.518442-26.164821 730.168192 35.132907 873.196224 113.457781 893.6288c20.432576 6.810859 102.16288 13.621717 224.758336-204.32576 34.054293-61.297728 6.810859-61.297728-71.514016-187.298614-37.459723-57.892299 23.838005-139.622603 23.838006-139.622602s40.865152-64.703157 85.135733-108.973739c44.270581-44.270581 108.973739-85.135733 108.973738-85.135733s81.730304-61.297728 139.622603-23.838005c126.000885 78.324875 126.000885 105.568309 187.298613 71.514016 224.758336-129.406315 214.542048-207.731189 207.73119-228.163766z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="suifangyuqi-icon-color" unicode="&#58932;" d="M512-128A512 512 0 1 1 512 896a512 512 0 0 1 0-1024z m-40.362667 772.949333h81.578667L539.306667 259.925333H484.693333l-13.141333 385.024zM512 195.84c14.933333 0 28.16-4.352 38.656-14.848a50.346667 50.346667 0 0 0 14.848-36.864c0-15.872-5.205333-28.16-14.848-37.802667A55.978667 55.978667 0 0 0 512 91.392a53.76 53.76 0 0 0-37.717333 14.933333 50.261333 50.261333 0 0 0-14.933334 37.802667c0 14.848 4.352 27.136 14.933334 36.864A50.261333 50.261333 0 0 0 512 195.84z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="yisuifang-icon-color" unicode="&#58936;" d="M512-128A512 512 0 1 0 512 896a512 512 0 0 0 0-1024z m-64.853333 292.608h2.048a36.693333 36.693333 0 0 1 25.685333 12.373333l321.450667 370.602667a32.938667 32.938667 0 0 1-4.864 48.042667 37.376 37.376 0 0 1-50.688-4.608l-296.789334-342.186667-163.669333 148.650667a37.376 37.376 0 0 1-50.858667-1.024 32.938667 32.938667 0 0 1 1.024-48.298667l191.744-174.08a37.034667 37.034667 0 0 1 24.832-9.472z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="daisuifangicon-color" unicode="&#58931;" d="M554.666667 384V682.666667a42.666667 42.666667 0 1 1-85.333334 0V298.666667h85.333334V384zM512-128A512 512 0 1 0 512 896a512 512 0 0 0 0-1024z m298.666667 469.333333A42.666667 42.666667 0 0 1 768 384H554.666667v-85.333333H768a42.666667 42.666667 0 0 1 42.666667 42.666666z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="shijianweidao-icon-color" unicode="&#58934;" d="M512-128A512 512 0 1 0 512 896a512 512 0 0 0 0-1024zM256 298.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z m256 0a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z m256 0a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="tongyongbiaotiicon" unicode="&#58897;" d="M0 896h1024v-1024H0V896z m128-512v-384h384V384H128z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="xuanxiangicon" unicode="&#58939;" d="M927.623529-128c54.211765 0 96.376471 42.164706 96.376471 96.376471s-42.164706 96.376471-96.376471 96.37647c-54.211765 0-96.376471-42.164706-96.37647-96.37647s42.164706-96.376471 96.37647-96.376471z m0 415.623529c54.211765 0 96.376471 42.164706 96.376471 96.376471s-42.164706 96.376471-96.376471 96.376471c-54.211765 0-96.376471-42.164706-96.37647-96.376471s42.164706-96.376471 96.37647-96.376471z m0 415.62353c54.211765 0 96.376471 42.164706 96.376471 96.37647S981.835294 896 927.623529 896c-54.211765 0-96.376471-42.164706-96.37647-96.376471s42.164706-96.376471 96.37647-96.37647zM512-128c54.211765 0 96.376471 42.164706 96.376471 96.376471s-42.164706 96.376471-96.376471 96.37647-96.376471-42.164706-96.376471-96.37647 42.164706-96.376471 96.376471-96.376471z m0 415.623529c54.211765 0 96.376471 42.164706 96.376471 96.376471s-42.164706 96.376471-96.376471 96.376471-96.376471-42.164706-96.376471-96.376471 42.164706-96.376471 96.376471-96.376471z m0 415.62353c54.211765 0 96.376471 42.164706 96.376471 96.37647S566.211765 896 512 896 415.623529 853.835294 415.623529 799.623529s42.164706-96.376471 96.376471-96.37647zM96.376471-128c54.211765 0 96.376471 42.164706 96.37647 96.376471s-42.164706 96.376471-96.37647 96.37647-96.376471-42.164706-96.376471-96.37647S42.164706-128 96.376471-128z m0 415.623529c54.211765 0 96.376471 42.164706 96.37647 96.376471s-42.164706 96.376471-96.37647 96.376471S0 438.211765 0 384s42.164706-96.376471 96.376471-96.376471z m0 415.62353c54.211765 0 96.376471 42.164706 96.37647 96.37647S150.588235 896 96.376471 896 0 853.835294 0 799.623529s42.164706-96.376471 96.376471-96.37647z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="zhongxinfabuicon" unicode="&#58940;" d="M680.228571-62.171429c-7.314286 0-14.628571 7.314286-21.942857 14.628572L475.428571 259.657143 95.085714 288.914286C87.771429 288.914286 73.142857 303.542857 73.142857 310.857143s0 21.942857 14.628572 29.257143L906.971429 888.685714c7.314286 7.314286 21.942857 7.314286 29.257142 0 14.628571-7.314286 14.628571-14.628571 14.628572-29.257143L709.485714-40.228571c0-7.314286-7.314286-14.628571-29.257143-21.942858 7.314286 0 7.314286 0 0 0z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="xinjianxuanxiangicon" unicode="&#58941;" d="M768 347.428571h-219.428571v-219.428571c0-14.628571-14.628571-36.571429-36.571429-36.571429s-36.571429 21.942857-36.571429 36.571429v219.428571h-219.428571c-14.628571 0-36.571429 14.628571-36.571429 36.571429s21.942857 36.571429 36.571429 36.571429h219.428571v219.428571c0 14.628571 14.628571 36.571429 36.571429 36.571429s36.571429-21.942857 36.571429-36.571429v-219.428571h219.428571c14.628571 0 36.571429-14.628571 36.571429-36.571429s-21.942857-36.571429-36.571429-36.571429zM512-84.114286C256-84.114286 43.885714 128 43.885714 384 43.885714 640 256 852.114286 512 852.114286c256 0 468.114286-212.114286 468.114286-468.114286 0-256-212.114286-468.114286-468.114286-468.114286z m0 877.714286C285.257143 793.6 102.4 610.742857 102.4 384s182.857143-409.6 409.6-409.6 409.6 182.857143 409.6 409.6S738.742857 793.6 512 793.6z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="jieshu" unicode="&#58880;" d="M983.736896 582.676031A511.830669 511.830669 0 1 1 40.262362 185.324822 511.830669 511.830669 0 0 1 983.736896 582.676031z m-58.775222-372.356812A448.022446 448.022446 0 1 0 99.122889 557.852244a448.022446 448.022446 0 0 0 825.838785-347.533025zM605.664642 541.900188a31.562891 31.562891 0 0 1-31.733502 0.511831 30.70984 30.70984 0 0 1 0.511831-53.912831c48.879829-27.894771 72.76526-84.793281 58.178086-138.620806A124.545463 124.545463 0 0 0 511.999629 258.516607a124.545463 124.545463 0 0 0-120.621427 91.27647 122.583445 122.583445 0 0 0 58.178086 138.706111 30.70984 30.70984 0 0 1 0.51183 53.912831 31.562891 31.562891 0 0 1-31.733501-0.597136 184.429651 184.429651 0 0 1-93.579708-160.117694c0-101.939608 84.025535-184.856177 187.24472-184.856177s187.24472 82.916568 187.24472 184.856177c0 66.026156-35.657537 127.104616-93.579707 160.117694zM511.999629 396.540278a41.543589 41.543589 0 0 1 26.444585 9.127647 28.833128 28.833128 0 0 1 11.004359 22.179329V614.921364c0 17.231633-16.805107 31.221671-37.448944 31.22167s-37.448944-13.990038-37.448944-31.22167v-187.24472c0-8.274596 3.924035-16.207971 11.00436-22.094024a41.543589 41.543589 0 0 1 26.444584-9.127647z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="danhangicon1" unicode="&#58883;" d="M950.857143 896H73.142857C32.914286 896 0 863.085714 0 822.857143v-877.714286c0-40.228571 32.914286-73.142857 73.142857-73.142857h877.714286c40.228571 0 73.142857 32.914286 73.142857 73.142857V822.857143c0 40.228571-32.914286 73.142857-73.142857 73.142857z m0-914.285714c0-21.942857-14.628571-36.571429-36.571429-36.571429h-804.571428c-21.942857 0-36.571429 14.628571-36.571429 36.571429v804.571428c0 21.942857 14.628571 36.571429 36.571429 36.571429h804.571428c21.942857 0 36.571429-14.628571 36.571429-36.571429v-804.571428zM219.428571 457.142857l585.142858 0 0-146.285714-585.142858 0 0 146.285714Z"  horiz-adv-x="1024" />
+
+    
+
+
+  </font>
+</defs></svg>
diff --git a/SunshineIns/src/copy/iconfonts/iconfont.ttf b/SunshineIns/src/copy/iconfonts/iconfont.ttf
new file mode 100644
index 0000000..7d699a8
--- /dev/null
+++ b/SunshineIns/src/copy/iconfonts/iconfont.ttf
Binary files differ
diff --git a/SunshineIns/src/copy/iconfonts/iconfont.woff b/SunshineIns/src/copy/iconfonts/iconfont.woff
new file mode 100644
index 0000000..2c2946d
--- /dev/null
+++ b/SunshineIns/src/copy/iconfonts/iconfont.woff
Binary files differ
diff --git a/SunshineIns/src/data/menu.js b/SunshineIns/src/data/menu.js
index 9103b77..9883f7d 100644
--- a/SunshineIns/src/data/menu.js
+++ b/SunshineIns/src/data/menu.js
@@ -116,7 +116,7 @@
   }, {
     id: 'newly',
     name: '新建问卷',
-    path: '/questionnaire/newly'
+    path: '/questionnaire/newly/new'
   }]
 },
 {
diff --git a/SunshineIns/src/fetch/index.js b/SunshineIns/src/fetch/index.js
index 2c4e035..8f5026e 100644
--- a/SunshineIns/src/fetch/index.js
+++ b/SunshineIns/src/fetch/index.js
@@ -80,6 +80,10 @@
 import entryQuery from './entryQuery';
 import attachmentDownload from './attachmentDownload';
 import entryAudit from './entryAudit';
+import questionFindById from './questionFindById';
+import saveQuestionTemp from './saveQuestionTemp';
+import questionQuery from './questionQuery';
+import questionAudit from './questionAudit';
 import signinfo from './signinfo';
 import addResult from './addResult';
 import socialCompany from './socialCompany';
@@ -170,6 +174,10 @@
   entryQuery,
   attachmentDownload,
   entryAudit,
+  questionFindById,
+  saveQuestionTemp,
+  questionQuery,
+  questionAudit,
   signinfo,
   addResult,
   socialCompany,
diff --git a/SunshineIns/src/fetch/questionAudit.js b/SunshineIns/src/fetch/questionAudit.js
new file mode 100644
index 0000000..f70ed0e
--- /dev/null
+++ b/SunshineIns/src/fetch/questionAudit.js
@@ -0,0 +1,19 @@
+import fetch from './_fetch';
+import { message } from 'antd';
+export default data =>
+  fetch(
+    `api/question/audit` +
+      '?' +
+      Object.entries(data)
+        .map(([k, v]) => `${k}=${v}`)
+        .join('&')
+  )
+    .then(json => {
+      if (json.code == 0) {
+        return true;
+      } else {
+        message.error(json.msg, 2);
+        return false;
+      }
+    })
+    .catch(error => message.error('详情加载失败,请联系管理员', 2));
diff --git a/SunshineIns/src/fetch/questionFindById.js b/SunshineIns/src/fetch/questionFindById.js
new file mode 100644
index 0000000..4b97d81
--- /dev/null
+++ b/SunshineIns/src/fetch/questionFindById.js
@@ -0,0 +1,9 @@
+import fetch from './_fetch';
+import { message } from 'antd';
+export default (id) => fetch(`api/question/find/${id}`)
+    .then(
+        json => json.data
+    )
+    .catch(
+        error => message.error('详情加载失败,请联系管理员', 2)
+    );
diff --git a/SunshineIns/src/fetch/questionQuery.js b/SunshineIns/src/fetch/questionQuery.js
new file mode 100644
index 0000000..08272cc
--- /dev/null
+++ b/SunshineIns/src/fetch/questionQuery.js
@@ -0,0 +1,6 @@
+import fetch from './_fetch';
+import { message } from 'antd';
+export default ({ page, size }) =>
+  fetch(`api/question/query?size=${size}&page=${page}`)
+    .then(json => json)
+    .catch(error => message.error('详情加载失败,请联系管理员', 2));
diff --git a/SunshineIns/src/fetch/saveQuestionTemp.js b/SunshineIns/src/fetch/saveQuestionTemp.js
new file mode 100644
index 0000000..c9ce688
--- /dev/null
+++ b/SunshineIns/src/fetch/saveQuestionTemp.js
@@ -0,0 +1,7 @@
+
+import fetch from './_fetch';
+export default (data) => {
+    return fetch(`api/question/save`,
+        data
+    );
+}
diff --git a/SunshineIns/src/index.jsx b/SunshineIns/src/index.jsx
index 816d599..73d63ab 100644
--- a/SunshineIns/src/index.jsx
+++ b/SunshineIns/src/index.jsx
@@ -42,6 +42,7 @@
 import NewlyList from './page/NewlyList';
 import Newly from './page/Newly';
 import SignIn from './page/SignIn';
+import QuestionDetail from './page/QuestionDetail';
 
 import PoliceSecurity from './page/PoliceSecurity';
 import policeSecurityEdit from './page/policeSecurityEdit';
@@ -53,11 +54,11 @@
 ReactDOM.render(
   <LocaleProvider locale={zh_CN}>
     <Router history={hashHistory()}>
-      <Layout style={{ minHeight: '100vh' }}>
+      <Layout style={{ height: '100%' }}>
         <Switch>
           <Route path="/bus/attachment/:busId/:attachmentId" component={AttTree} />
           <Route path="/bus/attachment/:busId" component={AttTree} />
-          <Route path='/signIn/:id' component={null} />
+          {/* <Route path='/questionnaire/newly' component={AttTree} /> */}
           <Route component={Menu} />
         </Switch>
         <Switch>
@@ -99,7 +100,10 @@
 
           {/* 问卷管理部分 */}
           <Route path='/questionnaire/newlyList' component={NewlyList} />
-          <Route path='/questionnaire/newly' component={Newly} />
+          <Route path='/questionnaire/newly/:id' component={Newly} />
+          {/* 问卷详情 */}
+          <Route path='/questionnaire/detail/:id' component={QuestionDetail} />
+
           
           {/* 公安审核 */}
           <Route path='/entry/policeSecurity' component={PoliceSecurity} />
diff --git a/SunshineIns/src/libs/Button/index.js b/SunshineIns/src/libs/Button/index.js
new file mode 100644
index 0000000..dbd89a6
--- /dev/null
+++ b/SunshineIns/src/libs/Button/index.js
@@ -0,0 +1,42 @@
+import React from 'react';
+import './index.scss';
+
+class Button extends React.PureComponent {
+  static defaultProps = {
+    disabled: false,
+    type: '',
+    size: '',
+  }
+
+  handleClick = (e) => {
+    const {
+      onClick,
+    } = this.props;
+    if (onClick) {
+      onClick();
+    };
+  }
+
+  render() {
+    const {
+      type,
+      size,
+      disabled,
+      children,
+      onClick,
+      ...otherProps
+    } = this.props;
+    const buttonType = type ? `wowjoy-button__${type}` : '';
+    const buttonSize = size ? `wowjoy-button__${size}` : '';
+    return (
+      <button
+        className={`wowjoy-button ${buttonType} ${buttonSize}`}
+        disabled={disabled}
+        onClick={this.handleClick}>
+          {children}
+      </button>
+    );
+  }
+}
+
+export default Button;
\ No newline at end of file
diff --git a/SunshineIns/src/libs/Button/index.scss b/SunshineIns/src/libs/Button/index.scss
new file mode 100644
index 0000000..d182a23
--- /dev/null
+++ b/SunshineIns/src/libs/Button/index.scss
@@ -0,0 +1,29 @@
+
+	.wowjoy-button {
+		padding: 6px 20px;
+	    border: 1px solid #1890ff;
+	    margin: 0 10px;
+	    outline: none;
+	    cursor: pointer;
+	    font-size: 14px
+	}
+	.wowjoy-button__primary {
+	    background: #1890ff;
+	    color: #fff;   
+	}
+	.wowjoy-button__normal {
+	    background: #fff;
+	    color: #1890ff;  
+	}
+	.wowjoy-button__mini {
+		padding: 4px;
+		font-size: 12px;
+	}
+	.wowjoy-button__small {
+		padding: 7px 9px;
+		font-size: 12px;
+	}
+	.wowjoy-button__large {
+		padding: 11px 19px;
+		font-size: 16px;
+	}
diff --git a/SunshineIns/src/libs/Checkbox/index.js b/SunshineIns/src/libs/Checkbox/index.js
new file mode 100644
index 0000000..650fe55
--- /dev/null
+++ b/SunshineIns/src/libs/Checkbox/index.js
@@ -0,0 +1,46 @@
+import React from 'react';
+import './index.less';
+
+class Checkbox extends React.PureComponent {
+  static defaultProps = {
+    value: '',
+    name: ''
+  };
+
+  handleChange = e => {
+    const { onChange, index } = this.props;
+    if (onChange) {
+      onChange(e, index);
+    }
+  };
+
+  render() {
+    const {
+      defaultChecked,
+      value,
+      name,
+      index,
+      label,
+      style,
+      disabled
+    } = this.props;
+    return (
+      <label className="wowjoy-checkbox" style={style}>
+        <input
+          disabled={disabled || false}
+          type="checkbox"
+          name={name}
+          value={value}
+          data-index={index}
+          defaultChecked={defaultChecked}
+          onChange={this.handleChange}
+          style={{ display: 'none' }}
+        />
+        <span className="wowjoy-checkbox__inner"></span>
+        <span className="wowjoy-checkbox__text">{label}</span>
+      </label>
+    );
+  }
+}
+
+export default Checkbox;
diff --git a/SunshineIns/src/libs/Checkbox/index.less b/SunshineIns/src/libs/Checkbox/index.less
new file mode 100644
index 0000000..450f677
--- /dev/null
+++ b/SunshineIns/src/libs/Checkbox/index.less
@@ -0,0 +1,33 @@
+.wowjoy-checkbox {
+  cursor: pointer;
+  display: inline-block;
+}
+input[type='checkbox']:checked {
+  & + .wowjoy-checkbox__inner {
+    border-color: #1890ff;
+    &:before {
+      content: '\2713';
+      color: #1890ff;
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      transform: translate(-50%, -50%);
+    }
+  }
+}
+.wowjoy-checkbox__inner {
+  position: relative;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  background: #fff;
+  border: 1px solid #dbdbdb;
+  vertical-align: sub;
+  margin-right: 5px;
+}
+.wowjoy-checkbox__text {
+  display: inline-block;
+  max-width: 80%;
+  vertical-align: top;
+  word-break: break-all;
+}
diff --git a/SunshineIns/src/libs/ContentEditable/index.js b/SunshineIns/src/libs/ContentEditable/index.js
new file mode 100644
index 0000000..b4fdaf6
--- /dev/null
+++ b/SunshineIns/src/libs/ContentEditable/index.js
@@ -0,0 +1,96 @@
+import React from 'react';
+import './index.less';
+
+const stripNbsp = str => str.replace(/&nbsp;|\u202F|\u00A0/g, ' ');
+
+export default class ContentEditable extends React.Component {
+  shouldComponentUpdate(nextProps) {
+    let {
+      props,
+      htmlEl
+    } = this;
+    if (JSON.stringify(this.props.style) === JSON.stringify(nextProps.style)) {
+      return false;
+    };
+    // We need not rerender if the change of props simply reflects the user's edits.
+    // Rerendering in this case would make the cursor/caret jump
+
+    // Rerender if there is no element yet... (somehow?)
+    if (!htmlEl) {
+      return true;
+    };
+    // ...or if html really changed... (programmatically, not by user edit)
+    if (
+      stripNbsp(nextProps.html) !== stripNbsp(htmlEl.innerHTML) &&
+      nextProps.html !== props.html
+    ) {
+      return true;
+    };
+    let optional = ['style', 'className', 'disabled', 'tagName'];
+    // Handle additional properties
+    return optional.some(name => props[name] !== nextProps[name]);
+  }
+
+  componentDidUpdate() {
+    if (this.htmlEl && this.props.html !== this.htmlEl.innerHTML) {
+      // Perhaps React (whose VDOM gets outdated because we often prevent
+      // rerendering) did not update the DOM. So we update it manually now.
+      this.htmlEl.innerHTML = this.props.html;
+    };
+  }
+
+  emitChange = (evt) => {
+    if (!this.htmlEl) return;
+    var name = evt.target.dataset.name;
+    var html = this.htmlEl.innerHTML;
+    if (this.props.onChange && html !== this.lastHtml) {
+      // Clone event with Object.assign to avoid 
+      // "Cannot assign to read only property 'target' of object"
+      var evt = Object.assign({}, evt, {
+        target: {
+          value: html,
+          name: name,
+        },
+      });
+      this.props.onChange(evt);
+    }
+    this.lastHtml = html;
+  }
+
+  render() {
+    var {
+      tagName,
+      name,
+      html,
+      style,
+      onKeyPress,
+      ...otherProps
+    } = this.props;
+
+    return (
+      // React.createElement(
+      //   tagName || 'div',
+      //   {
+      //     ...props,
+      //     ref: (e) => this.htmlEl = e,
+      //     onInput: this.emitChange,
+      //     onBlur: this.props.onBlur || this.emitChange,
+      //     contentEditable: !this.props.disabled,
+      //     dangerouslySetInnerHTML: {__html: html}
+      //   },
+      //   this.props.children);
+      <div {...otherProps}
+        className="contentEditable"
+        style={style}
+        data-name={name} 
+        ref={(e) => this.htmlEl = e}
+        onInput={this.emitChange}
+        onKeyPress={onKeyPress} 
+        //onBlur={this.props.onBlur || this.emitChange}
+        contentEditable={!this.props.disabled}
+        dangerouslySetInnerHTML={{__html: html}}>
+        {this.props.children}
+      </div>
+    );
+  }
+}
\ No newline at end of file
diff --git a/SunshineIns/src/libs/ContentEditable/index.less b/SunshineIns/src/libs/ContentEditable/index.less
new file mode 100644
index 0000000..ba3b674
--- /dev/null
+++ b/SunshineIns/src/libs/ContentEditable/index.less
@@ -0,0 +1,4 @@
+.contentEditable {
+  outline: none;
+  line-height: 36px;
+}
diff --git a/SunshineIns/src/libs/Dialog/index.js b/SunshineIns/src/libs/Dialog/index.js
new file mode 100644
index 0000000..ed754a6
--- /dev/null
+++ b/SunshineIns/src/libs/Dialog/index.js
@@ -0,0 +1,66 @@
+import React from 'react';
+import Button from '../../libs/Button';
+import './index.less'
+
+class Dialog extends React.PureComponent {
+  state = {
+    visible: this.props.visible,
+  }
+
+  componentWillReceiveProps(nextProps) {
+    if (nextProps.visible !== this.props.visible) {
+      this.setState({
+        visible: nextProps.visible,
+      });
+    };
+  }
+
+  confirm = () => {
+    const {
+      onConfirm,
+    } = this.props;
+    if (onConfirm) {
+      onConfirm();
+    };
+  }
+
+  cancel = () => {
+    const {
+      onCancel,
+    } = this.props;
+    if (onCancel) {
+      onCancel();
+    };
+  }
+
+  render() {
+    const {
+      title,
+      children,
+      onCancel,
+      onConfirm,
+    } = this.props;
+    const {
+      visible,
+    } = this.state;
+    const fade = visible ? 'wowjoy-dialog__fadeIn' : '';
+    return (
+      <div className={`wowjoy-dialog ${fade}`}>
+        <div className="wowjoy-dialog__inner">
+          <div className="wowjoy-dialog__header">
+            {title}
+          </div>
+          <div className="wowjoy-dialog__body">
+            {children}
+          </div>
+          <div className="wowjoy-dialog__footer">
+            <Button type="primary" onClick={this.confirm}>确定</Button>
+            <Button type="cancel" onClick={this.cancel}>取消</Button>
+          </div>
+        </div>
+      </div>
+    );
+  }
+}
+
+export default Dialog;
\ No newline at end of file
diff --git a/SunshineIns/src/libs/Dialog/index.less b/SunshineIns/src/libs/Dialog/index.less
new file mode 100644
index 0000000..20eb760
--- /dev/null
+++ b/SunshineIns/src/libs/Dialog/index.less
@@ -0,0 +1,47 @@
+.wowjoy-dialog {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: rgba(0, 0, 0, 0.3);
+  //visibility: hidden;
+  display: none;
+  //transition: all .3s;
+  z-index: 10;
+}
+.wowjoy-dialog__fadeIn {
+  display: block;
+}
+.wowjoy-dialog__inner {
+  background: #ffffff;
+  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+  padding: 10px 20px;
+  width: 40%;
+  max-width: 500px;
+  min-width: 300px;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+  //opacity: 0;
+  //transition: all .3s;
+}
+.wowjoy-dialog__slideDown {
+  opacity: 1;
+  transform: translateY(-50%);
+}
+.wowjoy-dialog__header {
+  margin-bottom: 15px;
+  font-family: PingFangSC-Medium;
+  font-size: 16px;
+  color: #333333;
+}
+.wowjoy-dialog__footer {
+  height: 40px;
+  width: 100%;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
diff --git a/SunshineIns/src/libs/DragSort/example.js b/SunshineIns/src/libs/DragSort/example.js
new file mode 100644
index 0000000..8d5967d
--- /dev/null
+++ b/SunshineIns/src/libs/DragSort/example.js
@@ -0,0 +1,87 @@
+import React from 'react';
+import DragSort from './index.js';
+
+export default class DragSortExample extends React.Component {
+  constructor(props) {
+    super(props);
+    this.state = {
+      list: [{
+        name: 'title'
+      }, {
+        name: 'name'
+      }, {
+        name: 'code'
+      }, {
+        name: 'email'
+      }],
+      curMoveItem: null,
+      index: '',
+      dragged: false,
+    }
+  }
+
+  handleDragMove = (data, from, to) => {
+    this.setState({
+      curMoveItem: to,
+      list: data,
+      index: null,
+    });
+  }
+
+  handleDragEnd = (index) => {
+    this.setState({
+      curMoveItem: null,
+      dragged: false,
+      index,
+    });
+  }
+
+  enter = (index) => {
+    if (this.state.index !== null) {
+      this.setState({
+        index,
+      });
+    };
+  }
+
+  leave = () => {
+    if (this.state.index !== null) {
+      this.setState({
+        index: '',
+      });
+    };
+  }
+
+  render() {
+    const {
+      dragged,
+    } = this.state;
+    const el = this.state.list.map((item, index) => {
+      return (
+        <div 
+          className={this.state.curMoveItem === index ? 'item active' : 'item'}
+          onMouseEnter={this.enter.bind(this, index)}
+          onMouseLeave={this.leave.bind(this, index)}
+          style={{ 
+            background: this.state.index === index ? 'red' : '#eee',
+          }}
+          key={item.name}>
+            <div className="inner">{item.name}</div>
+        </div>
+      );
+    });
+    return (
+      <div>
+        <ul>
+          <DragSort 
+            onDragEnd={this.handleDragEnd} 
+            onDragMove={this.handleDragMove}
+            draggable={true} 
+            data={this.state.list}>
+              {el}
+          </DragSort>
+        </ul>
+      </div>
+    );
+  }
+}
\ No newline at end of file
diff --git a/SunshineIns/src/libs/DragSort/index.js b/SunshineIns/src/libs/DragSort/index.js
new file mode 100644
index 0000000..0bd21a7
--- /dev/null
+++ b/SunshineIns/src/libs/DragSort/index.js
@@ -0,0 +1,67 @@
+import React from 'react';
+
+let curDragIndex = null;
+
+export default function DragSort(props) {
+  let container = props.children;
+  let draggable = props.draggable;
+
+  function onChange(from, to) {
+    let curValue = props.data;
+    let newValue = arrMove(curValue, from, to);
+    if (typeof props.onDragMove === 'function') {
+      return props.onDragMove(newValue, from, to);
+    }
+  }
+  return (
+    <div>
+      {container.map((item, index)=>{
+        if(React.isValidElement(item)){
+          return React.cloneElement(item, {
+            draggable,
+            //开始拖动元素时触发此事件 
+            onDragStart(){
+              curDragIndex = index;
+            },
+            /*
+             * 当被拖动的对象进入其容器范围内时触发此事件
+             * 在自身拖动时也会触发该事件
+             */
+            onDragEnter() {
+              onChange(curDragIndex, index);
+              curDragIndex = index;
+            },
+            /* 
+             * 当被拖动的对象在另一对象容器范围内拖动时触发此事件
+             * 在拖动元素时,每隔350毫秒会触发onDragOver事件
+             */
+            onDragOver(e) {
+              /*
+               * 默认情况下,数据/元素不能放置到其他元素中。如果要实现该功能,我们需要
+               * 防止元素的默认处理方法,我们可以通过调用event.preventDefault()方法来实现onDragOver事件
+               */
+              e.preventDefault();
+            },
+            //完成元素拖动后触发
+            onDragEnd(){
+              curDragIndex = null;
+              if(typeof props.onDragEnd === 'function'){
+                props.onDragEnd(index);
+              };
+            },
+          })
+        }
+        return item;
+      })}
+    </div>
+  );
+}
+
+function arrMove(arr, fromIndex, toIndex) {
+  if (fromIndex !== toIndex) {
+    arr = arr.concat();
+    let item = arr.splice(fromIndex, 1)[0];
+    arr.splice(toIndex, 0, item);
+  };
+  return arr;
+}
\ No newline at end of file
diff --git a/SunshineIns/src/libs/DragSort/index.less b/SunshineIns/src/libs/DragSort/index.less
new file mode 100644
index 0000000..6da0bed
--- /dev/null
+++ b/SunshineIns/src/libs/DragSort/index.less
@@ -0,0 +1,22 @@
+.item {
+  height: 35px;
+  margin: 10px;
+  // background-color: #eee;
+  // &:hover {
+  //     background-color: red;
+  // }
+}
+.item-notdrag {
+  height: 35px;
+  margin: 10px;
+  background-color: #eee;
+}
+.inner {
+  height: 100%;
+}
+.item.active {
+  //height: 35px;
+  //margin:10px;
+  opacity: 0;
+  //background-color: #eee !important;
+}
diff --git a/SunshineIns/src/libs/Dropdown/index.js b/SunshineIns/src/libs/Dropdown/index.js
new file mode 100644
index 0000000..e682593
--- /dev/null
+++ b/SunshineIns/src/libs/Dropdown/index.js
@@ -0,0 +1,38 @@
+import React from 'react';
+import './index.less';
+
+class Select extends React.PureComponent {
+
+  handleChange = (e) => {
+    const {
+      onChange,
+    } = this.props;
+    if (onChange) {
+      onChange(e);
+    };
+  }
+
+  render() {
+    const {
+      name,
+      value,
+      options,
+    } = this.props;
+    return (
+      <div className="wowjoy-select">
+        <select
+          name={name}
+          placeholder="请选择"
+          className="wowjoy-select__inner"
+          value={value}
+          onChange={this.handleChange}>
+            {options.map((option, index) => {
+              return <option key={index} value={option}>{option}</option>
+            })}
+        </select>
+      </div>
+    );
+  }
+}
+
+export default Select;
\ No newline at end of file
diff --git a/SunshineIns/src/libs/Dropdown/index.less b/SunshineIns/src/libs/Dropdown/index.less
new file mode 100644
index 0000000..4c85022
--- /dev/null
+++ b/SunshineIns/src/libs/Dropdown/index.less
@@ -0,0 +1,3 @@
+.wowjoy-select {
+  display: inline-block;
+}
diff --git a/SunshineIns/src/libs/Input/index.js b/SunshineIns/src/libs/Input/index.js
new file mode 100644
index 0000000..e935e30
--- /dev/null
+++ b/SunshineIns/src/libs/Input/index.js
@@ -0,0 +1,89 @@
+import React from 'react'
+import './index.less'
+
+class Input extends React.PureComponent {
+  static defaultProps = {
+    disabled: false,
+    type: 'text',
+  }
+
+  handleChange = (e) => {
+    const {
+      onChange,
+      index,
+    } = this.props;
+    if (onChange) {
+      onChange(e, index);
+    };
+  }
+
+  handleBlur = (e) => {
+    const {
+      onBlur,
+      index,
+    } = this.props;
+    if (onBlur) {
+      onBlur(e, index);
+    };
+  }
+
+  fixControlledValue = (value) => {
+    if (typeof value === 'undefined' || value === null) {
+      return '';
+    };
+    return value;
+  }
+
+  render() {
+    const {
+      type,
+      name,
+      width,
+      margin,
+      style,
+      inputStyle = {},
+      maxLength,
+      rows,
+      disabled,
+      ...otherProps
+    } = this.props;
+    /*
+     * defaultValue只会在第一次渲染有效
+     * defaultValue和value尽量不共存,如果共存的话value将会覆盖defaultValue
+     * 在共存的情况下,如果value值为undefined或者null,会被defaultValue覆盖
+     */
+    if ('value' in otherProps) {
+      otherProps.value = this.fixControlledValue(otherProps.value);
+      delete otherProps.defaultValue;
+    };
+    return (
+      <div
+        className="wowjoy-input"
+        style={{ width, margin, ...inputStyle }}>
+          {type === 'textarea' ? (
+            <textarea {...otherProps}
+              rows={rows}
+              name={name}
+              disabled={disabled}
+              onChange={this.handleChange}
+              style={style}
+              className="wowjoy-textarea__inner"
+            />
+          ) : (
+            <input {...otherProps}
+              type={type || 'text'}
+              name={name}
+              maxLength={maxLength}
+              disabled={disabled}
+              onChange={this.handleChange}
+              onBlur={this.handleBlur}
+              style={style}
+              className="wowjoy-input__inner"
+            />
+          )}
+      </div>
+    );
+  }
+}
+
+export default Input;
\ No newline at end of file
diff --git a/SunshineIns/src/libs/Input/index.less b/SunshineIns/src/libs/Input/index.less
new file mode 100644
index 0000000..b5ef9d5
--- /dev/null
+++ b/SunshineIns/src/libs/Input/index.less
@@ -0,0 +1,33 @@
+.wowjoy-input {
+  overflow: hidden;
+  width: 100%;
+  height: 100%;
+  flex: 1;
+  z-index: 5;
+  display: inline-block;
+}
+.wowjoy-input__inner {
+  width: 100%;
+  height: 36px;
+  border: 1px solid #ddd;
+  outline: none;
+  transition: all 0.3s;
+  padding-left: 11px;
+  font-size: 14px;
+  color: rgb(102, 102, 102);
+  &:focus {
+    border-color: #1890ff;
+  }
+}
+.wowjoy-textarea__inner {
+  width: 100%;
+  border: 1px solid #ddd;
+  outline: none;
+  transition: all 0.3s;
+  padding: 0 11px;
+  font-size: 14px;
+  color: rgb(102, 102, 102);
+  &:focus {
+    border-color: #1890ff;
+  }
+}
diff --git a/SunshineIns/src/libs/Radio/index.js b/SunshineIns/src/libs/Radio/index.js
new file mode 100644
index 0000000..b763ade
--- /dev/null
+++ b/SunshineIns/src/libs/Radio/index.js
@@ -0,0 +1,39 @@
+import React from 'react';
+import './index.less';
+
+class Radio extends React.PureComponent {
+
+  handleChange = (e) => {
+    const {
+      onChange,
+    } = this.props;
+    if (onChange) {
+      onChange(e);
+    };
+  }
+
+  render() {
+    const {
+      defaultChecked,
+      value,
+      name,
+      label,
+      style,
+    } = this.props;
+    return (
+      <label className="wowjoy-radio" style={style}>
+        <input
+          type="radio"
+          name={name}
+          value={value}
+          defaultChecked={defaultChecked}
+          onChange={this.handleChange}
+          style={{ display: 'none' }}/>
+        <span className="wowjoy-radio__inner"></span>
+        <span className="wowjoy-radio__text">{label}</span>
+      </label>
+    );
+  }
+}
+
+export default Radio;
\ No newline at end of file
diff --git a/SunshineIns/src/libs/Radio/index.less b/SunshineIns/src/libs/Radio/index.less
new file mode 100644
index 0000000..1d184b2
--- /dev/null
+++ b/SunshineIns/src/libs/Radio/index.less
@@ -0,0 +1,37 @@
+.wowjoy-radio {
+  cursor: pointer;
+  display: inline-block;
+}
+input[type='radio']:checked {
+  & + .wowjoy-radio__inner {
+    border-color: #1890ff;
+    &:before {
+      content: '';
+      background: #1890ff;
+      width: 8px;
+      height: 8px;
+      border-radius: 50%;
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      transform: translate(-50%, -50%);
+    }
+  }
+}
+.wowjoy-radio__inner {
+  position: relative;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  border-radius: 50%;
+  background: #fff;
+  border: 1px solid #dbdbdb;
+  vertical-align: sub;
+  margin-right: 5px;
+}
+.wowjoy-radio__text {
+  display: inline-block;
+  max-width: 80%;
+  vertical-align: top;
+  word-break: break-all;
+}
diff --git a/SunshineIns/src/libs/Shake/index.js b/SunshineIns/src/libs/Shake/index.js
new file mode 100644
index 0000000..a034ffe
--- /dev/null
+++ b/SunshineIns/src/libs/Shake/index.js
@@ -0,0 +1,43 @@
+import React from 'react';
+import './index.less';
+
+class ShakeTransition extends React.PureComponent {
+  state = {
+    shake: false,
+  }
+
+  componentWillReceiveProps(nextProps) {
+    if (nextProps.shake !== this.props.shake) {
+      this.setState({
+        shake: true,
+      });
+      this.timerID = setTimeout(() => this.triggerShake(), 1000);
+    };
+  }
+
+  triggerShake = () => {
+    this.setState({
+      shake: false,
+    });
+  }
+
+  componentWillUnmount() {
+    clearTimeout(this.timerID);
+  }
+
+  render() {
+    const {
+      children,
+    } = this.props;
+    const {
+      shake,
+    } = this.state;
+    return (
+      <div className={`shake-transition ${shake ? 'shaked' : ''}`}>
+        {this.props.children}
+      </div>
+    );
+  }
+}
+
+export default ShakeTransition;
\ No newline at end of file
diff --git a/SunshineIns/src/libs/Shake/index.less b/SunshineIns/src/libs/Shake/index.less
new file mode 100644
index 0000000..3bd82c6
--- /dev/null
+++ b/SunshineIns/src/libs/Shake/index.less
@@ -0,0 +1,23 @@
+//animate
+@keyframes shake {
+  from, to {
+    transform: translate3d(0, 0, 0);
+  }
+
+  10%, 30%, 50%, 70%, 90% {
+    transform: translate3d(-8px, 0, 0);
+  }
+
+  20%, 40%, 60%, 80% {
+    transform: translate3d(8px, 0, 0);
+  }
+}
+.shake-transition {
+  height: 100%;
+  width: 100%;
+}
+.shaked {
+  animation-name: shake;
+  animation-duration: 1s;
+  animation-fill-mode: both;
+}
diff --git a/SunshineIns/src/page/.jsx b/SunshineIns/src/page/.jsx
new file mode 100644
index 0000000..ef17eb6
--- /dev/null
+++ b/SunshineIns/src/page/.jsx
@@ -0,0 +1,202 @@
+/**
+ * 徐祥健<xuxj@hugeinfo.com.cn>
+ * 2018年8月28日 10:41
+ *
+ */
+
+
+import React from 'react';
+
+import HeadView from '../view/HeadView';
+import TableBtnView from '../view/TableBtnView';
+import LinkView from '../view/LinkView';
+import { Input, Button, DatePicker, Divider,  Row, Col, message, Modal, Popconfirm, Badge } from 'antd';
+import moment from 'moment';
+import Fetch from '../fetch';
+import TableView from '../view/TableView';
+
+export default class BusList extends React.Component {
+  constructor(props) {
+    super(props);
+    this.state = {
+      data: [],
+      formdata: {},
+      key: 0,
+      type: this.props.type,
+      loading: false,
+      msgType: ''
+    };
+  }
+
+  componentDidMount() {
+    document.title = '投诉建议管理';
+    // Fetch.getSpecialPerson()
+    //   .then(res => {
+    //     this.setState({
+    //       data: res
+    //     });
+    //   });
+    const { type } = this.state;
+    var msgType;
+    switch(type){
+      case 'onlineAdvice':
+        msgType = 1;
+        break;
+      case 'onlineComplaints':
+        msgType = 2;
+        break;
+      case 'onlineLetter':
+        msgType = 3;
+        break;
+      case 'another':
+        msgType = 4;
+        break;
+      default:
+          break;
+    }
+    this.setState({ loading: true,msgType });
+    Fetch.getComSugges({msgType, businessType: 22}).then( res => {
+      for(var i=0;i<res.length;i++){
+        res[i]['index'] = i+1; 
+      }
+      this.setState({
+        data: res,
+        loading: false
+      })
+    })
+  }
+
+  onTimeChange = (date, dateString) => {
+    const formdata = {
+      ...this.state.formdata,
+      createTime: dateString
+    };
+    this.setState({ formdata });
+  }
+  onInputChange = ({ target: { value, name } }) => {
+    if (name === 'reset') {
+      this.setState({ formdata: {} });
+      this.onReset();
+    } else {
+      const formdata = {
+        ...this.state.formdata,
+        [name]: value
+      };
+      this.setState({ formdata });
+    }
+  }
+  
+  onReset = () => {
+    this.setState(prev => ({
+      key: prev.key + 1
+    }));
+    this.setState({
+      resetKey: Date.now(),
+      formdata: {}
+    }, this.onTableChange);
+  }
+
+  onSubmit = e => {
+    e.preventDefault();
+    this.onTableChange();
+  }
+
+  onTableChange = () => {
+    this.setState({ loading: true });
+    const { msgType } = this.state;
+    Fetch.getComSugges({msgType,...this.state.formdata}).then( res => {
+      for(var i=0;i<res.length;i++){
+        res[i]['index'] = i+1; 
+      }
+      this.setState({
+        data: res,
+        loading: false
+      })
+    })
+  }
+
+  onDetail = (_text, _record) =>{
+    const { type } = this.state;
+    this.props.history.push('/busDetail/' + _text.businessType + '/' + _text.businessId + '/' + _text.createId  + '/' + 'detail' + '/' + type);
+  }
+
+  onDo = (_text, _record) =>{
+    const { type } = this.state;
+    this.props.history.push('/busDetail/' + _text.businessType + '/' + _text.businessId + '/' + _text.createId  + '/' + 'com' + '/' + type);
+  }
+  
+  onDel = (_text, _record) => {
+    Fetch.businessDel({businessId:  _text.businessId}).then( res => {
+      if(res.code == 0){
+        message.warning('正在更新列表');
+        this.onTableChange();
+      }
+      }, err => {
+        message.error(err);
+    });
+  }
+
+  render() {
+    const columns = [{
+      title: '序号',
+      dataIndex: 'index',
+      key: 'index',
+    },{
+      title: '发送人',
+      dataIndex: 'userName',
+      key: 'userName',
+    }, {
+      title: '消息内容',
+      dataIndex: 'content',
+      key: 'content',
+    }, {
+      title: '发送时间',
+      dataIndex: 'createTime',
+      key: 'createTime',
+      render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span>
+    }, {
+      title: '状态',
+      dataIndex: 'status',
+      key: 'status',
+      render: text => (
+        text == "待审" ? 
+        <Badge count={'待回复'} /> : <Badge count={'已回复'} style={{ backgroundColor: '#52c41a' }} />
+      )
+    },{
+      title: '操作',
+      key: 'action',
+      render: (text, record) => (
+        <span>
+          {
+            record.status == "待审" ? <label onClick={()=>{this.onDo(text, record)}} className="theme-color">处理</label>
+            :<label onClick={()=>{this.onDetail(text, record)}} className="theme-color">详情</label>
+          }
+          
+          <Divider type="vertical" />
+          <Popconfirm placement="topRight" title={'你确定要删除该条记录吗'} onConfirm={()=>{this.onDel(text, record)}} okText="确定" cancelText="取消">
+            <label className="theme-color">删除</label>
+          </Popconfirm>
+        </span>
+      ),
+    }];
+    const { data, loading } = this.state;
+    const { title, local, type, total, notRead, contact, sed } = this.props;
+    return (
+      <div className="app-page">
+        <HeadView history={this.props.history} />
+        <LinkView local={local} sed={sed} />
+        <TableBtnView name={local} btnName='新建人员' key={this.state.key}>
+          <Input placeholder="根据发送人模糊查询" style={{ width: "200px" }} name='userName' onChange={this.onInputChange} onPressEnter={this.onSubmit}/>
+          <Input placeholder="根据消息内容模糊查询" style={{ width: "200px" }} name='content' onChange={this.onInputChange} onPressEnter={this.onSubmit}/>
+          {/* <Input placeholder="根据状态模糊查询" style={{ width: "200px" }} name='status' onChange={this.onInputChange} onPressEnter={this.onSubmit}/> */}
+          <DatePicker onChange={this.onTimeChange} placeholder="发送日期"/>
+          <Button type="primary" onClick={this.onSubmit}>查询</Button>
+          <Button name="reset" onClick={this.onInputChange}>重置</Button>
+        </TableBtnView>
+        <TableView columns={columns} data={data} pageSize='10' size='default' loading={loading}/>
+        {/* <FormSearch /> */}
+      </div>
+    );
+  }
+
+}
diff --git a/SunshineIns/src/page/Menu.jsx b/SunshineIns/src/page/Menu.jsx
index e04ab9b..8fe1db8 100644
--- a/SunshineIns/src/page/Menu.jsx
+++ b/SunshineIns/src/page/Menu.jsx
@@ -60,6 +60,10 @@
         <MenuView data={data}
           defaultOpenKeys={[(data.find(node => node.children && node.children.find(child => child.path == pathname)) || {}).name]}
           defaultSelectedKeys={[pathname]}
+          style={{
+            display: 'flex',
+            flexDirection: 'column'
+          }}
         />
       </Sider>
     )
diff --git a/SunshineIns/src/page/Newly.jsx b/SunshineIns/src/page/Newly.jsx
index 3c79a9f..fdcf575 100644
--- a/SunshineIns/src/page/Newly.jsx
+++ b/SunshineIns/src/page/Newly.jsx
@@ -1,33 +1,221 @@
 import React from 'react';
-import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge } from 'antd';
+import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge, Spin, Breadcrumb } from 'antd';
+import Questionnair from '../page/Questionnair'
+import Fetch from '../fetch'
 
 export default class Newly extends React.Component {
-    constructor(props) {
-        super(props);
-        this.state = {
-            data: [],
-           
-        };
-    }
+  constructor(props) {
+    super(props);
+    this.state = {
+      loading: false,
+      data: [
+        {
+          questionId: 'afaa9e6d672c56418199a8a62a4152c2d74f',
+          type: 'radio',
+          title: '单选题',
+          required: true,
+          remark: true,
+          remarkText: '(此题关于一个很有深度的问题)',
+          options: ['选项1', '选项2'],
+          rows: 1,
+          textareaHeight: 3,
+          maxLength: 50,
+          otherOption: true,
+          otherOptionForwards: '其他',
+          otherOptionBackwards: '22222',
+          completionForwards: '题目:',
+          completionBackwards: '',
+          isEditor: false,
+          isFirst: false,
+          editorShake: ''
+        },
+        {
+          questionId: '347a22645aa32d4f4a5a231fc98027e0b3c5',
+          type: 'dropdown',
+          title: '下拉',
+          required: true,
+          remark: false,
+          remarkText: '',
+          options: ['选项1', '选项2'],
+          rows: 1,
+          textareaHeight: 3,
+          maxLength: 50,
+          otherOption: false,
+          otherOptionForwards: '其他',
+          otherOptionBackwards: '',
+          completionForwards: '题目:',
+          completionBackwards: '',
+          isEditor: false,
+          isFirst: false,
+          editorShake: ''
+        },
+        {
+          questionId: '400eabd41ad9d846eca91abaf0a853670d38',
+          type: 'checkbox',
+          title: '多选题',
+          required: true,
+          remark: false,
+          remarkText: '',
+          options: ['选项1', '选项2'],
+          rows: 1,
+          textareaHeight: 3,
+          maxLength: 50,
+          otherOption: false,
+          otherOptionForwards: '其他',
+          otherOptionBackwards: '',
+          completionForwards: '题目:',
+          completionBackwards: '',
+          isEditor: false,
+          isFirst: false,
+          editorShake: ''
+        },
+        {
+          questionId: 'ea99f8009dc5c841504aaad62aab2ea2a7ee',
+          type: 'text',
+          title: '单行文本',
+          required: true,
+          remark: false,
+          remarkText: '',
+          options: ['选项', '选项'],
+          rows: 1,
+          textareaHeight: 3,
+          maxLength: 50,
+          otherOption: false,
+          otherOptionForwards: '其他',
+          otherOptionBackwards: '',
+          completionForwards: '题目:',
+          completionBackwards: '',
+          isEditor: false,
+          isFirst: false,
+          editorShake: ''
+        },
+        {
+          questionId: 'f0ca471ce2918043d5bad6f5b13b991bc5a6',
+          type: 'textarea',
+          title: '多行文本',
+          required: true,
+          remark: false,
+          remarkText: '',
+          options: ['选项', '选项'],
+          rows: 1,
+          textareaHeight: 3,
+          maxLength: 50,
+          otherOption: false,
+          otherOptionForwards: '其他',
+          otherOptionBackwards: '',
+          completionForwards: '题目:',
+          completionBackwards: '',
+          isEditor: false,
+          isFirst: false,
+          editorShake: ''
+        },
+        {
+          questionId: '0d0529163a79e749587888375a95a5045a0d',
+          type: 'input',
+          title: '',
+          required: true,
+          remark: false,
+          remarkText: '',
+          options: ['选项', '选项'],
+          rows: 1,
+          textareaHeight: 3,
+          maxLength: 50,
+          otherOption: false,
+          otherOptionForwards: '其他',
+          otherOptionBackwards: '',
+          completionForwards: '题目:',
+          completionBackwards: '下个路口见',
+          isEditor: false,
+          isFirst: false,
+          editorShake: ''
+        }
+      ],
+      initData: null,
+      btnLoading: false
 
-    componentDidMount() {
+    };
+  }
 
-        document.title = '新建问卷';
-        // this.getData();
-    }
+  componentDidMount() {
+    const { id } = this.props.match.params;
+    document.title = id == 'new' ? '新建问卷' : '编辑问卷';
+    this.setState({
+      loading: true
+    });
+    Fetch.questionFindById(id).then(res => {
+      console.log('res', res);
+      res.questionDtos = res.questionDtos && res.questionDtos.length ? res.questionDtos.map((item) => ({
+        ...item,
+        remark: true
+      })) : [];
+      this.setState({
+        loading: false,
+        initData: res
+      })
+    })
+  }
 
-    getData = () => {
-        
+  submitQuestionTemp = (questionDtos, extraData) => {
+    const { initData } = this.state;
+    console.log('questionDtos', questionDtos);
+    if (!extraData.questionnairTitle) {
+      return message.error('请填写问卷标题');
     }
-   
-    render() {
-        
-        const { data, loading, resetKey } = this.state;
-        return (
-            <div className="app-page">
-                qwe
-            </div>
-        );
-    }
+    questionDtos = questionDtos.map(({ type, title, required, remarkText, options, scores, warnFlag }) => ({
+      type, title, required, remarkText, options, scores, warnFlag
+    }));
+    this.setState({
+      btnLoading: true
+    })
+    Fetch.saveQuestionTemp({
+      ...initData,
+      title: extraData.questionnairTitle,
+      content: extraData.questionnairDescription,
+      questionDtos
+    }).then(res => {
+      console.log('res', res);
+      this.setState({
+        btnLoading: false
+      })
+      if (res.code == 0) {
+        message.success('问卷提交成功');
+      }
+    })
+  }
+
+  getData = () => {
+
+  }
+
+  render() {
+
+    const { data, loading, resetKey, initData, btnLoading } = this.state;
+    const { id } = this.props.match.params;
+    return (
+      <div className="app-page">
+        <div style={{
+          margin: '10px 0 0 10px'
+        }}>
+          <Breadcrumb>
+            <Breadcrumb.Item>
+              <a onClick={()=>{
+                this.props.history.goBack();
+              }}>问卷管理</a>
+            </Breadcrumb.Item>
+            <Breadcrumb.Item>
+              {id == 'new' ? '新建问卷' : '编辑问卷'}
+            </Breadcrumb.Item>
+          </Breadcrumb>
+        </div>
+        {
+          loading ?
+            <div style={{ height: 200, width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
+              <Spin spinning={loading} />
+            </div> :
+            initData && <Questionnair submitQuestionTemp={this.submitQuestionTemp} btnLoading={btnLoading} initData={initData} editors={initData.questionDtos || []} />
+        }
+      </div>
+    );
+  }
 
 }
diff --git a/SunshineIns/src/page/NewlyList.jsx b/SunshineIns/src/page/NewlyList.jsx
index f97f0b7..7b63719 100644
--- a/SunshineIns/src/page/NewlyList.jsx
+++ b/SunshineIns/src/page/NewlyList.jsx
@@ -1,33 +1,41 @@
 import React from 'react';
 import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge } from 'antd';
+import HeadView from '../view/HeadView';
+import LinkView from '../view/LinkView';
+import QuestionnaireTablelist from './QuestionnaireTablelist';
+
+
 
 export default class NewlyList extends React.Component {
-    constructor(props) {
-        super(props);
-        this.state = {
-            data: [],
-           
-        };
-    }
+  constructor(props) {
+    super(props);
+    this.state = {
+      data: [],
 
-    componentDidMount() {
+    };
+  }
 
-        document.title = '新建问卷';
-        // this.getData();
-    }
+  componentDidMount() {
 
-    getData = () => {
-        
-    }
-   
-    render() {
-        
-        const { data, loading, resetKey } = this.state;
-        return (
-            <div className="app-page">
-                <div>123</div>
-            </div>
-        );
-    }
+    document.title = '新建问卷';
+    // this.getData();
+  }
+
+  getData = () => {
+
+  }
+
+  render() {
+
+    const { data, loading, resetKey } = this.state;
+    return (
+      <div className="app-page">
+        <HeadView history={this.props.history} />
+        <LinkView sed="问卷管理" local="问卷管理" />
+        <QuestionnaireTablelist history={this.props.history} />
+
+      </div>
+    );
+  }
 
 }
diff --git a/SunshineIns/src/page/QuestionDetail.jsx b/SunshineIns/src/page/QuestionDetail.jsx
new file mode 100644
index 0000000..ca89b4e
--- /dev/null
+++ b/SunshineIns/src/page/QuestionDetail.jsx
@@ -0,0 +1,120 @@
+import React from 'react';
+import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge, Spin, Breadcrumb } from 'antd';
+import Questionnair from '../page/Questionnair'
+import Fetch from '../fetch'
+import HeadView from '../view/HeadView';
+
+export default class QuestionDetail extends React.Component {
+  constructor(props) {
+    super(props);
+    this.state = {
+      loading: false,
+      data: [],
+      initData: null,
+      btnLoading: false
+
+    };
+  }
+
+  componentDidMount() {
+
+    document.title = '问卷详情';
+    const { id } = this.props.match.params;
+
+    this.setState({
+      loading: true
+    });
+    Fetch.questionFindById(id).then(res => {
+      console.log('res', res);
+      this.setState({
+        loading: false,
+        initData: res
+      })
+    })
+  }
+
+  submitQuestionTemp = (questionDtos, extraData) => {
+    const { initData } = this.state;
+    console.log('questionDtos', questionDtos);
+    if (!extraData.questionnairTitle) {
+      return message.error('请填写问卷标题');
+    }
+    questionDtos = questionDtos.map(({ type, title, required, remarkText, options, scores, warnFlag }) => ({
+      type, title, required, remarkText, options, scores, warnFlag
+    }));
+    this.setState({
+      btnLoading: true
+    })
+    Fetch.saveQuestionTemp({
+      ...initData,
+      title: extraData.questionnairTitle,
+      content: extraData.questionnairDescription,
+      questionDtos
+    }).then(res => {
+      console.log('res', res);
+      this.setState({
+        btnLoading: false
+      })
+      if (res.code == 0) {
+        message.success('问卷提交成功');
+      }
+    })
+  }
+
+  getData = () => {
+
+  }
+
+  render() {
+
+    const { data, loading, resetKey, initData, btnLoading } = this.state;
+    return (
+      <div className="app-page">
+        <HeadView history={this.props.history} />
+        <div style={{
+          margin: 10
+        }}>
+          <Breadcrumb>
+            <Breadcrumb.Item>
+              <a onClick={() => {
+                this.props.history.goBack();
+              }}>问卷管理</a>
+            </Breadcrumb.Item>
+
+            <Breadcrumb.Item>
+              问卷详情
+            </Breadcrumb.Item>
+          </Breadcrumb>
+        </div>
+        {
+          loading ?
+            <div style={{ height: 200, width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
+              <Spin spinning={loading} />
+            </div> :
+            <React.Fragment>
+              {/* <Questionnair submitQuestionTemp={this.submitQuestionTemp} btnLoading={btnLoading} /> */}
+              {
+                initData &&
+                <div style={{ background: '#fff', marginTop: 10 }}>
+                  <div style={{ width: 700, margin: '0 auto', padding: '20px 0 0 0 ' }}>
+                    <h3>
+                      问卷标题:{initData.title || '暂无'}
+                    </h3>
+                    <h4 style={{ marginBottom: 0 }}>
+                      问卷描述:{initData.content || '暂无'}
+                    </h4>
+                  </div>
+                </div>
+              }
+
+              {initData && initData.questionDtos.map((item, index) => (
+                <Questionnair.Editor editor={item} acitveAnswer={true} key={item.questionId} index={index} />
+              ))}
+            </React.Fragment>
+        }
+
+      </div>
+    );
+  }
+
+}
diff --git a/SunshineIns/src/page/Questionnair.jsx b/SunshineIns/src/page/Questionnair.jsx
new file mode 100644
index 0000000..c67b830
--- /dev/null
+++ b/SunshineIns/src/page/Questionnair.jsx
@@ -0,0 +1,9 @@
+import Questionnair from '../view/Questionnair';
+import Editor from '../view/QuestionnairEditor';
+import Answer from '../view/QuestionnairAnswer';
+// import 'asset/iconfonts/iconfont.css';
+
+Questionnair.Editor = Editor;
+Questionnair.Answer = Answer;
+
+export default Questionnair;
\ No newline at end of file
diff --git a/SunshineIns/src/page/QuestionnaireTablelist.jsx b/SunshineIns/src/page/QuestionnaireTablelist.jsx
new file mode 100644
index 0000000..10af0f4
--- /dev/null
+++ b/SunshineIns/src/page/QuestionnaireTablelist.jsx
@@ -0,0 +1,314 @@
+/**
+ * 徐祥健<xuxj@hugeinfo.com.cn>
+ * 2018年8月28日 10:41
+ *
+ */
+
+
+import React from 'react';
+
+import HeadView from '../view/HeadView';
+import TableBtnView from '../view/TableBtnView';
+import LinkView from '../view/LinkView';
+import { Input, Button, DatePicker, Divider, Row, Col, message, Modal, Popconfirm, Badge, Tabs, Form, Table } from 'antd';
+import moment from 'moment';
+import Fetch from '../fetch';
+import TableView from '../view/TableView';
+
+const { TabPane } = Tabs;
+class QuestionnaireTable extends React.Component {
+  constructor(props) {
+    super(props);
+    this.state = {
+      loading: false,
+      formdata: {},
+      userId: "",
+      tableData: [],
+      totalElements: 1,
+      pageSize: 10,
+      page: 1,
+      currItem: {},
+      auditVisible: false //审核弹窗
+    };
+  }
+
+  componentDidMount() {
+    document.title = '问卷管理';
+    this.loadData(1, this.state.pageSize);
+  }
+
+  loadData = (page, pageSize) => {
+    let _this = this;
+    _this.setState({
+      loading: true
+    })
+    _this.props.form.validateFields((err, values) => {
+      _this.setState({ formdata: values });
+      Fetch.questionQuery({
+        ...values,
+        page: page,
+        size: pageSize,
+      })
+        .then(res => {
+          console.log('res', res);
+          this.setState({
+            loading: false
+          })
+          if (res.code == 0) {
+            for (var i = 0; i < res.data.content.length; i++) {
+              res.data.content[i]['index'] = i + 1;
+              res.data.content[i]['key'] = i;
+            }
+            this.setState({
+              tableData: res.data.content,
+              loading: false,
+              totalElements: res.data.totalElements,
+              page
+            });
+
+          }
+        });
+    })
+  }
+
+  onShowSizeChange = (current, pageSize) => {
+    this.setState({ pageSize, page: 1 })
+    this.loadData(1, pageSize);
+  }
+  pageChange = (page, pageSize) => {
+    this.loadData(page, pageSize);
+  }
+
+  audit = (data) => {
+    Fetch.questionAudit({
+      id: this.state.currItem.id,
+      ...data,
+    }).then(res => {
+      console.log('res', res);
+      if (res) {
+        message.success('操作完成');
+      } else {
+        message.warn('操作失败,请稍后重试!')
+      }
+      this.setState({
+        auditVisible: false,
+      }, ()=> {
+        this.loadData(this.state.page, this.state.pageSize)
+      })
+    })
+  }
+
+  callback(key) {
+    console.log(key);
+  }
+
+  render() {
+    const columns = [{
+      title: '编号',
+      dataIndex: 'index',
+      key: 'index',
+    }, {
+      title: '主题',
+      dataIndex: 'title',
+      key: 'title',
+      ellipsis: true,
+      render: (cur, item) => {
+        return cur || '暂无'
+      }
+    }, {
+      title: '描述',
+      dataIndex: 'content',
+      key: 'content',
+      ellipsis: true,
+      render: (cur, item) => {
+        return cur || '暂无'
+      }
+    }, {
+      title: '发布时间',
+      dataIndex: 'publicTime',
+      key: 'publicTime',
+      render: (cur, item) => {
+        return cur ? moment(cur).format("YYYY-MM-DD HH:mm") : '暂无'
+      }
+    }, {
+      title: '创建人',
+      dataIndex: 'createrName',
+      key: 'createrName',
+      render: (cur, item) => {
+        return cur || '暂无'
+      }
+    }, {
+      title: '创建时间',
+      dataIndex: 'createTime',
+      key: 'createTime',
+      render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span>
+    }, {
+      title: '状态',
+      dataIndex: 'status',
+      key: 'status',
+      render: cur => (
+        renderStatus(cur)
+      )
+    }, {
+      title: '操作',
+      key: 'action',
+      render: (cur, item) => {
+        return <React.Fragment>
+          <a onClick={() => {
+            console.log(item.id);
+            this.props.history.push(`/questionnaire/detail/${item.id}`)
+          }}>查看</a>
+          {
+            item.status == 0 &&
+            <React.Fragment>
+              <Divider type="vertical" />
+              <a onClick={() => {
+                console.log(item.id);
+                this.props.history.push(`/questionnaire/newly/${item.id}`)
+              }}>编辑</a>
+              <br />
+            </React.Fragment>
+          }
+          {
+            item.status == 1 &&
+            <React.Fragment>
+              <Divider type="vertical" />
+              <a onClick={() => {
+                this.setState({
+                  auditVisible: true,
+                  currItem: cur
+                })
+              }}>审核</a>
+              <br/>
+              <a onClick={() => {
+                console.log(item.id);
+                this.props.history.push(`/questionnaire/newly/${item.id}`)
+              }}>编辑</a>
+            </React.Fragment>
+          }
+          {
+            item.status == 2 &&
+            <React.Fragment>
+              <Divider type="vertical" />
+              <a onClick={() => {
+                this.audit({
+                  status: 3,
+                  id: item.id
+                })
+              }}>发布</a>
+              
+            </React.Fragment>
+          }
+          {
+            item.status == 3 &&
+            <React.Fragment>
+              <Divider type="vertical" />
+              <a onClick={() => {
+                this.audit({
+                  status: 4,
+                  id: item.id
+                })
+              }}>回收</a>
+            </React.Fragment>
+          }
+        </React.Fragment>
+
+      },
+    }];
+    const { data, loading, auditVisible } = this.state;
+    const { title, local, type, total, notRead, contact, sed } = this.props;
+    return (
+      <div className="app-page">
+        {/* <div style={{ background: '#fff', margin: '0 20px' }} >
+          <Tabs type="card" style={{ margin: 0 }} onChange={this.callback}>
+            <TabPane tab="全部" key="1">
+            </TabPane>
+            <TabPane tab="派送中" key="2">
+            </TabPane>
+            <TabPane tab="已回收" key="3">
+            </TabPane>
+          </Tabs>
+        </div> */}
+        {/* <TableView columns={columns} data={data} pageSize='10' size='default' loading={loading} /> */}
+        <div style={{
+          padding: '8px',
+          margin: '0px 20px',
+          backgroundColor: '#fff'
+        }}>
+          <Table
+            size="middle"
+            dataSource={this.state.tableData}
+            loading={{ spinning: this.state.loading }}
+            columns={columns}
+            pagination={{
+              pageSize: this.state.pageSize,
+              onChange: this.pageChange,
+              total: this.state.totalElements,
+              showSizeChanger: true,
+              onShowSizeChange: this.onShowSizeChange,
+              showTotal: (total, range) => `共${total}条记录 `,
+              // itemRender: this.itemRender,
+              showQuickJumper: true,
+              defaultCurrent: 1,
+              current: this.state.page
+            }}
+          />
+        </div>
+
+        <Modal
+          title="调查问卷审核"
+          visible={this.state.auditVisible}
+          footer={null}
+          onCancel={() => {
+            this.setState({
+              auditVisible: false
+            })
+          }}
+        >
+          <Row type="flex" justify="end" gutter={20}>
+            <Col>
+              <Button onClick={() => {
+                this.setState({
+                  auditVisible: false
+                })
+              }}>取消</Button>
+            </Col>
+            <Col>
+              <Button onClick={() => {
+                this.audit({
+                  status: 99
+                });
+              }}>不通过</Button>
+            </Col>
+            <Col>
+              <Button type="primary" onClick={() => {
+                this.audit({
+                  status: 2
+                });
+              }}>通过</Button>
+            </Col>
+          </Row>
+        </Modal>
+      </div>
+    );
+  }
+}
+const QuestionnaireTableList = Form.create()(QuestionnaireTable);
+export default QuestionnaireTableList;
+
+function renderStatus(status) {
+  switch (status) {
+    case 0:
+      return <Badge count={'草稿'} style={{ background: '#2db7f5' }} />
+    case 1:
+      return <Badge count={'待审核'} style={{ background: '#f50' }} />
+    case 2:
+      return <Badge count={'待发布'} style={{ background: '#f50' }} />
+    case 3:
+      return <Badge count={'已发布'} style={{ background: '#87d068' }} />
+    case 4:
+      return <Badge count={'已回收'} style={{ background: '#fadb14' }} />
+    default:
+      return '暂无'
+  }
+}
diff --git a/SunshineIns/src/utils/utils.js b/SunshineIns/src/utils/utils.js
new file mode 100644
index 0000000..e3d62fd
--- /dev/null
+++ b/SunshineIns/src/utils/utils.js
@@ -0,0 +1,11 @@
+export default function uuid() {
+  const s = [];
+  const hexDigits = '0123456789abcdef';
+  for (let i = 0; i < 36; i += 1) {
+    s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
+  }
+  s[14] = '4';
+  s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
+  const id = s.join('');
+  return id;
+}
\ No newline at end of file
diff --git a/SunshineIns/src/view/BusDetailView/style.scss b/SunshineIns/src/view/BusDetailView/style.scss
index aebfd9f..d9469c6 100644
--- a/SunshineIns/src/view/BusDetailView/style.scss
+++ b/SunshineIns/src/view/BusDetailView/style.scss
@@ -9,10 +9,11 @@
 
 .bus-detail-view {
   &-main {
-    height: 81vh;
+    // height: 81vh;
     background: #fff;
     margin: 0px 20px;
-    overflow-y: auto;
+    padding-bottom: 20px;
+    // overflow-y: auto;
   }
   &-main::-webkit-scrollbar{
     width: 0;
diff --git a/SunshineIns/src/view/MenuView/index.jsx b/SunshineIns/src/view/MenuView/index.jsx
index b6a1357..0028dd1 100644
--- a/SunshineIns/src/view/MenuView/index.jsx
+++ b/SunshineIns/src/view/MenuView/index.jsx
@@ -34,7 +34,7 @@
         title={
           <span>
             <img src={item.icon} className='icon' />
-            <span><Badge count={item.count || 0}  offset={[12, 0]}>{item.name}</Badge></span>
+            <span><Badge count={item.count || 0} offset={[12, 0]}>{item.name}</Badge></span>
           </span>
         }>
         {this.map(item.children, onClick)}
@@ -47,7 +47,7 @@
               {shorten(item.name)}
             </a>
             : item.path.charAt(0) == '/'
-              ? <Link to={item.path} replace> <img src={sks.indexOf(item.path) > -1 ? item.iconCheck : item.icon} className='icon' /><Badge count={item.count || 0}  offset={[12, 0]}>{item.name}</Badge></Link>
+              ? <Link to={item.path} replace> <img src={sks.indexOf(item.path) > -1 ? item.iconCheck : item.icon} className='icon' /><Badge count={item.count || 0} offset={[12, 0]}>{item.name}</Badge></Link>
               : <a href={item.path} target="_blank"> <img src={sks.indexOf(item.path) > -1 ? item.iconCheck : item.icon} className='icon' />{item.name}</a>
         }
       </Menu.Item>
@@ -70,7 +70,9 @@
             </div>
           </div>
         </div>
-        <Menu selectedKeys={this.props.defaultSelectedKeys}
+        <Menu
+          style={{ flex: '1', overflowX: 'hidden' }}
+          selectedKeys={this.props.defaultSelectedKeys}
           defaultOpenKeys={this.props.defaultOpenKeys}
           theme={this.props.theme || 'light'}
           className="tree-menu-main"
diff --git a/SunshineIns/src/view/Questionnair/index.js b/SunshineIns/src/view/Questionnair/index.js
new file mode 100644
index 0000000..d96ad09
--- /dev/null
+++ b/SunshineIns/src/view/Questionnair/index.js
@@ -0,0 +1,333 @@
+import React from 'react';
+import QuestionnairContent from '../QuestionnairContent';
+import QuestionnairEditor from '../QuestionnairEditor';
+import QuestionnairSiderbar from '../QuestionnairSiderbar';
+import DragSort from '../../libs/DragSort/index.js';
+import ShakeTransition from '../../libs/Shake';
+import Input from '../../libs/Input';
+import uuid from '../../utils/utils';
+import './index.scss';
+
+class Questionnair extends React.PureComponent {
+  constructor(props) {
+    super(props);
+    this.editorsEl = [];
+    this.scaleId = '';
+    this.sign = false;
+  }
+
+  state = {
+    editors: [
+      // {
+      //   questionId: 'afaa9e6d672c56418199a8a62a4152c2d74f',
+      //   type: 'radio',
+      //   title: '单选题',
+      //   required: true,
+      //   remark: true,
+      //   remarkText: '(此题关于一个很有深度的问题)',
+      //   options: ['选项1', '选项2'],
+      //   scores: [1, 0],
+      //   rows: 1,
+      //   textareaHeight: 3,
+      //   maxLength: 50,
+      //   otherOption: true,
+      //   otherOptionForwards: '其他',
+      //   otherOptionBackwards: '22222',
+      //   completionForwards: '题目:',
+      //   completionBackwards: '',
+      //   isEditor: false,
+      //   isFirst: false,
+      //   warnFlag: false,
+      //   editorShake: ''
+      // }
+      ],
+    questionnairTitle: '',
+    questionnairDescription: '',
+    curMoveItem: null,
+    drag: false,
+    scrollTo: 0,
+    newEditor: true
+  };
+  // UNSAFE_componentWillReceiveProps(nextProps) {
+  //   console.log('nextProps', nextProps);
+  //   this.setState({
+  //     editors: nextProps.editors
+  //   });
+  // }
+  componentDidMount() {
+    const { editors } = this.props;
+    this.setState({
+      editors
+    })
+  }
+
+  updateEditors = callback => {
+    this.state.editors.some((data, index) => {
+      if (data.isFirst && data.isEditor) {
+        this.state.editors.splice(index, 1);
+        return true;
+      } else if (!data.isFirst && data.isEditor) {
+        data.isEditor = false;
+        return true;
+      }
+    });
+    callback(this.state.editors);
+  };
+  /*
+   * 判断是否有处于编辑状态的题目, activeEditorIndex // -1,没有处于编辑状态的题目
+   * 如果有处于编辑状态的题目,则激活该编辑器抖动
+   */
+  isThereEditor = () => {
+    const activeEditorIndex = this.state.editors.findIndex(
+      data => data.isEditor === true
+    );
+    if (activeEditorIndex !== -1) {
+      let editors = JSON.parse(JSON.stringify(this.state.editors));
+      editors[activeEditorIndex].editorShake = uuid();
+      this.setState({
+        editors
+      });
+      return true;
+    } else {
+      return false;
+    }
+  };
+
+  createEditor = type => {
+    if (this.isThereEditor()) {
+      return;
+    }
+    const editor = {
+      questionId: uuid(), //id
+      type: type, //类型
+      title: '', //题目
+      required: false, //是否必填
+      remark: true, //是否有备注
+      remarkText: '', //备注内容
+      options: ['选项', '选项'], //选项(只有radio,checkbox,select有,其余尽量给个空数组)
+      scores: ['', ''], //选项对应的分数
+      rows: 1, //选项占的行数
+      textareaHeight: 3, //多行文本高度
+      maxLength: 50, //单行文本限制的字数
+      otherOption: false, //是否有其他选项
+      otherOptionForwards: '其他', //”其他“项文本(前)
+      otherOptionBackwards: '', //”其他“项文本(后)
+      completionForwards: '题目:', //填空题文本(前)
+      completionBackwards: '', //填空题文本(后)
+      isEditor: true, //编辑状态还是已编辑状态
+      isFirst: true, //是否是新创建的
+      warnFlag: [false, false], //警示标识
+      editorShake: ''
+    };
+    this.setState(prevState => ({
+      editors: [...prevState.editors, editor]
+    }));
+  };
+
+  dragEditorByOutline = editors => {
+    const { onDrag } = this.props;
+    this.setState(
+      {
+        editors
+      },
+      () => {
+        if (onDrag) {
+          this.updateEditors(onDrag);
+        }
+      }
+    );
+  };
+
+  locateEditor = index => {
+    this.setState({
+      scrollTo: this.editorsEl[index].offsetTop
+    });
+  };
+
+  cancelEdit = index => {
+    let editors = JSON.parse(JSON.stringify(this.state.editors));
+    editors[index].isFirst
+      ? editors.splice(index, 1)
+      : (editors[index].isEditor = false);
+    this.setState({
+      editors
+    });
+  };
+
+  confirmEdit = (index, newEditor) => {
+    const { onConfirm } = this.props;
+    let editors = JSON.parse(JSON.stringify(this.state.editors));
+    editors.splice(index, 1, newEditor);
+    this.setState(
+      {
+        editors
+      },
+      () => {
+        if (onConfirm) {
+          this.updateEditors(onConfirm);
+        }
+      }
+    );
+  };
+
+  againEdit = index => {
+    if (this.isThereEditor()) {
+      return;
+    }
+    let editors = JSON.parse(JSON.stringify(this.state.editors));
+    editors[index].isEditor = true;
+    this.setState({
+      editors
+    });
+  };
+
+  copyEdit = index => {
+    const { onCopy } = this.props;
+    let editors = JSON.parse(JSON.stringify(this.state.editors));
+    const copyEditor = {
+      ...this.state.editors[index],
+      questionId: uuid()
+    };
+    editors.splice(index + 1, 0, copyEditor);
+    this.setState(
+      {
+        editors
+      },
+      () => {
+        if (onCopy) {
+          this.updateEditors(onCopy);
+        }
+      }
+    );
+  };
+
+  removeEdit = index => {
+    const { onRemove } = this.props;
+    let editors = JSON.parse(JSON.stringify(this.state.editors));
+    editors.splice(index, 1);
+    this.setState(
+      {
+        editors
+      },
+      () => {
+        if (onRemove) {
+          this.updateEditors(onRemove);
+        }
+      }
+    );
+  };
+
+  handleDragMove = (editors, from, to) => {
+    this.setState({
+      curMoveItem: to,
+      editors,
+      drag: true
+    });
+  };
+
+  handleDragEnd = () => {
+    const { onDrag } = this.props;
+    this.setState(
+      {
+        curMoveItem: null,
+        drag: false
+      },
+      () => {
+        if (onDrag) {
+          this.updateEditors(onDrag);
+        }
+      }
+    );
+  };
+  //标记事件
+  handleSgin = sign => {
+    const { onSign } = this.props;
+    if (onSign) {
+      onSign(sign);
+    }
+  };
+  //问卷标题失焦事件
+  blurTitle = title => {
+    const { onSaveTitle } = this.props;
+    if (onSaveTitle) {
+      onSaveTitle(title);
+    }
+  };
+
+  render() {
+    const {
+      editors,
+      drag,
+      editorShake,
+      scrollTo,
+      questionnairTitle,
+      questionnairDescription
+    } = this.state;
+
+    const { submitQuestionTemp, btnLoading, initData } = this.props;
+
+    //如果有编辑状态的题目则禁止拖动
+    const hasEditor = editors.some(data => data.isEditor === true);
+    const canDrag = hasEditor ? false : true;
+    const isFirst = editors.length !== 0 && editors[editors.length - 1].isFirst;
+    const editorsEl = editors.map((editor, index) => {
+      return (
+        <div
+          className="drag-wrapper"
+          ref={el => (this.editorsEl[index] = el)}
+          key={editor.questionId}
+        >
+          <QuestionnairEditor
+            index={index}
+            curMoveItem={this.state.curMoveItem}
+            editor={editor}
+            drag={drag}
+            handleConfirm={this.confirmEdit}
+            handleCancel={this.cancelEdit}
+            handleEdit={this.againEdit}
+            handleRemove={this.removeEdit}
+            handleCopy={this.copyEdit}
+          />
+        </div>
+      );
+    });
+    return (
+      <div className="questionnair">
+        <QuestionnairSiderbar
+          editors={editors}
+          onSelectEditor={this.createEditor}
+          onDragOutline={this.dragEditorByOutline}
+          onClickOutline={this.locateEditor}
+          submitQuestionTemp={submitQuestionTemp}
+        />
+        <QuestionnairContent
+          editors={editors}
+          isThereEditor={this.isThereEditor}
+          isFirst={isFirst}
+          scrollTo={scrollTo}
+          questionnairSign={this.sign}
+          questionnairTitle={questionnairTitle}
+          questionnairDescription={questionnairDescription}
+          onBlurTitle={this.blurTitle}
+          onChangeSign={this.handleSgin}
+          submitQuestionTemp={submitQuestionTemp}
+          btnLoading={btnLoading}
+          initData={initData}
+        >
+          {editorsEl.length !== 0 && (
+            <DragSort
+              draggable={canDrag}
+              data={editors}
+              onDragEnd={this.handleDragEnd}
+              onDragMove={this.handleDragMove}
+            >
+              {editorsEl}
+            </DragSort>
+          )}
+        </QuestionnairContent>
+      </div>
+    );
+  }
+}
+
+export default Questionnair;
diff --git a/SunshineIns/src/view/Questionnair/index.scss b/SunshineIns/src/view/Questionnair/index.scss
new file mode 100644
index 0000000..3efee48
--- /dev/null
+++ b/SunshineIns/src/view/Questionnair/index.scss
@@ -0,0 +1,23 @@
+* {
+  box-sizing: border-box;
+  user-select: none;
+  font-family: 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica,
+    Arial, sans-serif;
+}
+.questionnair {
+  display: flex;
+  width: 100%;
+  height: 100%;
+  background: #f0f0f0;
+  position: relative;
+}
+.title-inner {
+  width: 700px;
+  height: 45px;
+  margin: 0 auto;
+  background: #fff;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  border: 1px solid transparent;
+}
diff --git a/SunshineIns/src/view/QuestionnairAnswer/index.js b/SunshineIns/src/view/QuestionnairAnswer/index.js
new file mode 100644
index 0000000..1e75f8a
--- /dev/null
+++ b/SunshineIns/src/view/QuestionnairAnswer/index.js
@@ -0,0 +1,22 @@
+import React from 'react';
+
+const QuestionnairAnswer = ({
+  answer
+}) => {
+  return (
+    <div style={{ minHeight: 60 }}>
+      <div style={{ color: '#666' }}>{`${index + 1}.${answer.type === 'input' ? answer.completionForwards : answer.title + ':'}`}</div>
+      <div style={{ paddingLeft: 12, color: '#151515' }}>{typeof answer.answer[answer.type] !== 'string' ? (
+        typeof answer.answer[answer.type].optionValue !== 'string' ? (
+          answer.answer[answer.type].optionValue.map((item, index) => {
+            return (
+              item && <span key={index} style={{ marginRight: 15 }}>{item}</span>
+            )
+          })
+        ) : answer.answer[answer.type].optionValue
+      ) : answer.answer[answer.type]}</div>
+    </div>
+  );
+}
+
+export default QuestionnairAnswer;
\ No newline at end of file
diff --git a/SunshineIns/src/view/QuestionnairAnswer/index.scss b/SunshineIns/src/view/QuestionnairAnswer/index.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/SunshineIns/src/view/QuestionnairAnswer/index.scss
diff --git a/SunshineIns/src/view/QuestionnairContent/index.js b/SunshineIns/src/view/QuestionnairContent/index.js
new file mode 100644
index 0000000..4b4c5b4
--- /dev/null
+++ b/SunshineIns/src/view/QuestionnairContent/index.js
@@ -0,0 +1,182 @@
+import React from 'react';
+import './index.scss';
+import Input from '../../libs/Input';
+// import Button from '../../libs/Button';
+import { Button } from 'antd';
+
+// import Default from '../../assets/scale_default.png'
+
+class QuestionnairContent extends React.PureComponent {
+  state = {
+    questionnairSign: false,
+    questionnairTitle: '',
+    questionnairDescription: ''
+  };
+
+  componentDidMount() {
+    const { title, content } = this.props.initData;
+    console.log(title);
+    this.setState({
+      questionnairTitle: title,
+      questionnairDescription: content
+    });
+  }
+  //新增题目时内容页滚动到底部
+  componentDidUpdate() {
+    if (this.scrollBottom) {
+      const scrollHeight = this.content.scrollHeight;
+      this.page.scrollTo(0, scrollHeight);
+    }
+    if (this.scrollTo) {
+      this.page.scrollTo(0, this.scrollTo);
+    }
+  }
+
+  componentWillReceiveProps(nextProps) {
+    if (nextProps.isFirst) {
+      this.scrollBottom = true;
+    } else {
+      this.scrollBottom = false;
+    }
+    if (nextProps.scrollTo !== this.props.scrollTo) {
+      this.scrollTo = nextProps.scrollTo;
+    } else {
+      this.scrollTo = false;
+    }
+    this.setState({
+      questionnairSign: nextProps.questionnairSign
+      // questionnairTitle: nextProps.questionnairTitle,
+      // questionnairDescription: nextProps.questionnairDescription
+    });
+  }
+
+  handleSign = () => {
+    const { onChangeSign } = this.props;
+    this.setState(
+      prevState => ({
+        questionnairSign: !prevState.questionnairSign
+      }),
+      () => {
+        onChangeSign(this.state.questionnairSign);
+      }
+    );
+  };
+
+  handleChange = (e, key) => {
+    this.setState({
+      [key]: e.target.value
+    });
+  };
+
+  handleBlur = () => {
+    // const { onBlurTitle } = this.props;
+    // if (onBlurTitle) {
+    //   onBlurTitle(this.state.questionnairTitle);
+    // }
+  };
+
+  render() {
+    const {
+      questionnairSign,
+      questionnairTitle,
+      questionnairDescription
+    } = this.state;
+    const { submitQuestionTemp, editors, btnLoading } = this.props;
+
+    const questionnairtitleEl = (
+      <div className="title-inner">
+        <span style={{ color: 'red' }}>*</span>
+        <Input
+          placeholder="问卷标题"
+          value={questionnairTitle}
+          onChange={e => {
+            this.handleChange(e, 'questionnairTitle');
+          }}
+          onBlur={this.handleBlur}
+          style={{
+            height: 45,
+            borderColor: 'transparent',
+            textAlign: 'center',
+            fontSize: 18,
+            color: '#666',
+            fontFamily: 'PingFangSC-Medium'
+          }}
+          className="title-input"
+        />
+      </div>
+    );
+    const questionnairDescriptionEl = (
+      <div className="title-inner" style={{ marginTop: 10 }}>
+        <Input
+          placeholder="问卷描述"
+          value={questionnairDescription}
+          onChange={e => {
+            this.handleChange(e, 'questionnairDescription');
+          }}
+          onBlur={this.handleBlur}
+          style={{
+            height: 25,
+            borderColor: 'transparent',
+            textAlign: 'left',
+            fontSize: 16,
+            color: '#666',
+            fontFamily: 'PingFangSC-Medium'
+          }}
+          className="title-input"
+        />
+      </div>
+    );
+    return (
+      <div className="questionnair-page" ref={el => (this.page = el)}>
+        <div className="questionnair-page-banner">
+          {/* <div className='banner-text' onClick={this.handleSign} style={{ color: questionnairSign ? '#FFBF47' : '' }}>
+            <i className="iconfont icon-dengpao"></i>
+            <span style={{ marginLeft: 6 }}>{questionnairSign ? '取消标记' : '标记'}</span>
+          </div> */}
+        </div>
+        <div className="questionnair-page-title">
+          {questionnairtitleEl}
+          {questionnairDescriptionEl}
+        </div>
+        <div
+          className="questionnair-page-content"
+          ref={el => (this.content = el)}
+        >
+          {/*如果组件没有子节点,this.props.children返回false*/}
+          {this.props.children || (
+            <div className="questionnair-page-default">
+              {/* <img src={Default} style={{ width: 130 }}/> */}
+              <div className="page-default-text">
+                您还没有添加题目哦,请点击左侧控件开始出题吧
+              </div>
+            </div>
+          )}
+        </div>
+        {this.props.children && (
+          <div className="questionnair-page-footer">
+            <div className="footer-text">
+              <Button
+                loading={btnLoading}
+                type="primary"
+                onClick={() => {
+                  if (this.props.isThereEditor()) {
+                    return;
+                  }
+                  // this.props.isThereEditor();
+                  submitQuestionTemp(editors, {
+                    questionnairTitle,
+                    questionnairDescription
+                  });
+                }}
+              >
+                提交问卷模板
+              </Button>
+            </div>
+          </div>
+        )}
+      </div>
+    );
+  }
+}
+
+export default QuestionnairContent;
diff --git a/SunshineIns/src/view/QuestionnairContent/index.scss b/SunshineIns/src/view/QuestionnairContent/index.scss
new file mode 100644
index 0000000..b58c5d8
--- /dev/null
+++ b/SunshineIns/src/view/QuestionnairContent/index.scss
@@ -0,0 +1,76 @@
+.questionnair-page {
+  flex: 1;
+  background: #fff;
+  box-shadow: 0 3px 4px 0 rgba(202, 202, 202, 0.5);
+  margin-left: 20px;
+  overflow: auto;
+  position: absolute;
+  left: 170px;
+  right: 20px;
+  top: 20px;
+  bottom: 20px;
+  width: 1000px;
+  margin: auto;
+}
+.questionnair-page-banner {
+  height: 46px;
+  width: 700px;
+  margin: 0 auto;
+  border-bottom: 1px solid #dbdbdb;
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+}
+.banner-text {
+  cursor: pointer;
+  display: inline-block;
+  color: #999;
+}
+.questionnair-page-title {
+  margin: 10px 0;
+  width: 100%;
+  padding: 10px 0;
+  border-top: 1px solid transparent;
+  border-bottom: 1px solid transparent;
+  &:hover {
+    border-color: #dbdbdb;
+    background: #fafafa;
+    :global {
+      .title-inner {
+        border-color: #dbdbdb;
+      }
+    }
+  }
+}
+.questionnair-page-content {
+  width: 100%;
+}
+.questionnair-page-footer {
+  height: 46px;
+  width: 700px;
+  margin: 0 auto;
+  border-top: 1px solid #dbdbdb;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.footer-text {
+  cursor: pointer;
+  display: inline-block;
+  color: #999;
+}
+.questionnair-page-default {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  flex-direction: column;
+  position: absolute;
+  top: 45%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+}
+.page-default-text {
+  font-size: 16px;
+  color: #999;
+  margin-top: 20px;
+}
diff --git a/SunshineIns/src/view/QuestionnairEditor/index.js b/SunshineIns/src/view/QuestionnairEditor/index.js
new file mode 100644
index 0000000..2696829
--- /dev/null
+++ b/SunshineIns/src/view/QuestionnairEditor/index.js
@@ -0,0 +1,975 @@
+import React from 'react';
+import { Button } from 'antd';
+import Input from '../../libs/Input';
+import Checkbox from '../../libs/Checkbox';
+import Radio from '../../libs/Radio';
+import Dropdown from '../../libs/Dropdown';
+// import Button from '../../libs/Button';
+import ContentEditable from '../../libs/ContentEditable';
+import ShakeTransition from '../../libs/Shake';
+import Dialog from '../../libs/Dialog';
+import uuid from '../../utils/utils';
+import './index.scss';
+
+const rowOptions = [1, 2, 3, 4];
+
+class QuestionnairEditor extends React.PureComponent {
+  constructor(props) {
+    super(props);
+    this.temp = '';
+    this.otherOptionInput = '';
+
+    this.answer = {};
+  }
+
+  // static defaultProps = {
+  //   acitveAnswer: true,
+  // }
+
+  state = {
+    toggleMutiOption: false,
+    editor: {
+      ...this.props.editor
+    },
+    hover: false,
+    inputShake: false,
+    optionShake: [],
+    hasOption: [],
+
+    scoreShake: [],
+    hasScore: [],
+    hasTitle: true,
+    dialogVisible: false,
+    mutiOption: '',
+    otherOptionInput: '',
+    otherOptionForwards: ''
+  };
+  /* 首先有点乱。。。
+   * 由于每次每个题目的操作实际上都是在操作整个题目数组,题目数组交给了题目组件的父组件来管理
+   * 所以每次题目操作完以后更新父组件的题目数组,父组件更新会触发题目组件的componentWillReceiveProps生命周期函数
+   */
+  componentWillReceiveProps(nextProps) {
+    /*
+     * 每次只能编辑一个题目,所以触发再次添加题目的操作,将会引起当前题目的抖动
+     * 连续点击产生连续抖动的效果,所以创建一个变量editorShake,来标志表格需要抖动
+     * 由于是更新数组,为了在抖动的效果下保留之前填写的数据,所以比较之前和新的editorShake是否相同
+     * 如果不同则说明只是要产生抖动,只更新editorShake变量
+     */
+    if (nextProps.editor.editorShake !== this.props.editor.editorShake) {
+      this.setState({
+        editor: {
+          ...this.state.editor,
+          editorShake: nextProps.editor.editorShake
+        }
+      });
+    } else {
+      this.setState({
+        editor: {
+          ...this.state.editor,
+          ...nextProps.editor
+        }
+      });
+    }
+  }
+
+  switchEditor = type => {
+    switch (type) {
+      case 'radio':
+        return '单选题';
+      case 'dropdown':
+        return '下拉题';
+      case 'checkbox':
+        return '多选题';
+      case 'textarea':
+        return '多行文本题';
+      case 'text':
+        return '单行文本题';
+      case 'input':
+        return '填空题';
+      default:
+        return '错误';
+    }
+  };
+
+  handleChange = (e, index) => {
+    let value = e.target ? e.target.value : e;
+    let key = e.target.name;
+    let checked = e.target.checked;
+    if (key === 'title' && value) {
+      //控制题目input边框颜色
+      this.setState({
+        hasTitle: true
+      });
+    }
+    if (key === 'options') {
+      let { options } = this.state.editor;
+      let { hasOption } = this.state;
+      hasOption[index] = true;
+      this.setState({
+        hasOption: [...hasOption]
+      });
+      let optionsTemp = options.concat();
+      optionsTemp[index] = value;
+      value = optionsTemp;
+    }
+    if (key === 'scores') {
+      let { scores } = this.state.editor;
+      let { hasScore } = this.state;
+      console.log('hasScore', hasScore);
+      hasScore[index] = true;
+      this.setState({
+        hasScore: [...hasScore]
+      });
+      let scoresTemp = scores.concat();
+      scoresTemp[index] = value;
+      value = scoresTemp;
+    }
+    if (key == 'warnFlag') {
+      let { warnFlag } = this.state.editor;
+      let warnFlagTemp = warnFlag.concat();
+      console.log('warnFlagTemp', warnFlagTemp)
+      warnFlagTemp[index] = checked;
+      value = warnFlagTemp;
+    }
+    if (key === 'required' || key === 'remark') {
+      value = checked;
+    }
+    if (key === 'maxLength') {
+      value = parseInt(value);
+    }
+    this.setState(prevState => ({
+      editor: {
+        ...prevState.editor,
+        [key]: value
+      }
+    }));
+  };
+  //填写答案时触发的事件
+  handleAnswerChange = (e, index) => {
+    let { type } = this.state.editor;
+    let value = e.target.value;
+    this.optionIndex = e.target.dataset.index;
+    console.log('answer', this, this.answer, type, this.optionIndex);
+    if (value === 'undefined') {
+      value = this.otherOptionValue;
+    }
+    if (type === 'checkbox') {
+      this.answer.checkbox = this.answer.checkbox || {};
+      this.answer.checkbox.optionValue = this.answer.checkbox.optionValue || [];
+      this.answer.checkbox.optionIndex = this.answer.checkbox.optionIndex || [];
+
+      let valueIn = this.answer.checkbox.optionValue.includes(value);
+      let indexIn = this.answer.checkbox.optionIndex.includes(this.optionIndex);
+      this.answer.checkbox.optionValue[this.optionIndex] = valueIn
+        ? null
+        : value;
+      this.answer.checkbox.optionIndex[this.optionIndex] = indexIn
+        ? null
+        : this.optionIndex;
+      // this.answer.checkbox.otherOptionValue = this.otherOptionValue;
+    } else if (type === 'radio') {
+      this.answer[type] = {
+        optionValue: value,
+        optionIndex: this.optionIndex
+        // otherOptionValue: this.otherOptionValue
+      };
+    } else {
+      this.answer[type] = value;
+    }
+    const answerEditor = {
+      ...this.state.editor,
+      answer: this.answer
+    };
+    console.log(answerEditor, this.props.index);
+    this.props.onAnswer && this.props.onAnswer(answerEditor, this.props.index);
+  };
+  //填写radio、checkbox'其他'选项时触发的方法
+  handleOtherOptionInputChange = e => {
+    const {
+      type,
+      otherOptionForwards,
+      otherOptionBackwards
+    } = this.state.editor;
+    this.otherOptionValue = e.target.innerHTML;
+    this.allValue =
+      otherOptionForwards + this.otherOptionValue + otherOptionBackwards;
+    this.optionIndex = e.target.dataset.index;
+    if (type === 'checkbox') {
+      const length = this.answer.checkbox.optionValue.length;
+      this.answer.checkbox.optionValue[length - 1] =
+        this.answer.checkbox.optionValue[length - 1] === null
+          ? null
+          : this.allValue;
+      this.answer.checkbox.otherOptionValue = this.allValue;
+    } else if (type === 'radio') {
+      this.answer[type] = {
+        optionValue: this.allValue,
+        optionIndex: this.optionIndex,
+        otherOptionValue: this.allValue
+      };
+    } else {
+      this.answer[type] = this.allValue;
+    }
+    const answerEditor = {
+      ...this.state.editor,
+      answer: this.answer
+    };
+    console.log(answerEditor, this.props.index);
+    this.props.onAnswer && this.props.onAnswer(answerEditor, this.props.index);
+  };
+  //新增选项
+  createOption = () => {
+    this.setState(prevState => ({
+      editor: {
+        ...prevState.editor,
+        options: [...prevState.editor.options, '']
+      }
+    }));
+  };
+  //删除选项
+  deleteOption = index => {
+    let options = [...this.state.editor.options];
+    options.splice(index, 1);
+    this.setState(prevState => ({
+      editor: {
+        ...prevState.editor,
+        options
+      }
+    }));
+  };
+  /*
+   * 以下都是有关于批量编辑的事件
+   */
+  //点击打开批量编辑的弹窗
+  handleMutiOption = () => {
+    this.setState({
+      dialogVisible: true,
+      mutiOption: this.state.editor.options.join('\n')
+    });
+  };
+  //批量编辑textarea中的change
+  handleMutiTextarea = e => {
+    this.mutiTextareaValue = e.target.value;
+    this.setState({
+      mutiOption: e.target.value
+    });
+  };
+  //关闭批量编辑的弹窗
+  closeDialog = () => {
+    this.setState({
+      dialogVisible: false
+    });
+  };
+  //打开批量编辑的弹窗
+  confirmDialog = () => {
+    const options = this.mutiTextareaValue.split('\n');
+    this.setState(prevState => ({
+      dialogVisible: false,
+      editor: {
+        ...prevState.editor,
+        options
+      }
+    }));
+  };
+  //确认
+  confirm = () => {
+    const { index, handleConfirm } = this.props;
+    const { editor, inputShake } = this.state;
+    if (!editor.title && editor.type !== 'input') {
+      this.setState(prevState => ({
+        inputShake: !prevState.inputShake,
+        hasTitle: false
+      }));
+      return;
+    }
+    //判断选项是否为空
+    if (['radio', 'checkbox', 'dropdown'].includes(editor.type)) {
+      let empty = editor.options.some((item, index) => {
+        if (item === '') {
+          this.setState(prevState => {
+            prevState.optionShake[index] = !prevState.optionShake[index];
+            prevState.hasOption[index] = false;
+            return {
+              optionShake: [...prevState.optionShake],
+              hasOption: [...prevState.hasOption]
+            };
+          });
+          return true;
+        }
+      });
+      let emptyScore = editor.scores.some((item, index) => {
+        if (item === '') {
+          this.setState(prevState => {
+            prevState.scoreShake[index] = !prevState.scoreShake[index];
+            prevState.hasScore[index] = false;
+            return {
+              scoreShake: [...prevState.scoreShake],
+              hasScore: [...prevState.hasScore]
+            };
+          });
+          return true;
+        }
+      });
+      if (empty || emptyScore) {
+        return;
+      }
+    }
+    const newEditor = {
+      ...editor,
+      isEditor: false,
+      isFirst: false
+    };
+    if (handleConfirm) {
+      handleConfirm(index, newEditor);
+    }
+    this.isFirst = false;
+    this.temp = JSON.parse(JSON.stringify(this.state.editor));
+  };
+  //取消
+  cancel = () => {
+    const { index, handleCancel } = this.props;
+    if (handleCancel) {
+      handleCancel(index);
+    }
+    this.setState({
+      editor: this.temp
+    });
+  };
+  //编辑
+  edit = () => {
+    const { index, handleEdit } = this.props;
+    if (handleEdit) {
+      handleEdit(index);
+    }
+  };
+  //复制
+  copy = () => {
+    const { index, handleCopy } = this.props;
+    if (handleCopy) {
+      handleCopy(index);
+    }
+  };
+  //删除
+  remove = () => {
+    const { index, handleRemove } = this.props;
+    if (handleRemove) {
+      handleRemove(index);
+    }
+  };
+  //鼠标进入
+  mouseEnter = () => {
+    if (!this.props.drag && !this.props.acitveAnswer) {
+      this.setState({
+        hover: true
+      });
+    }
+  };
+  //鼠标离开
+  mouseLeave = () => {
+    if (!this.props.drag && !this.props.acitveAnswer) {
+      this.setState({
+        hover: false
+      });
+    }
+  };
+  disableEnter = event => {
+    if (event.which == 13) {
+      event.cancelBubble = true;
+      event.preventDefault();
+      event.stopPropagation();
+    }
+  };
+  render() {
+    const { index, curMoveItem, drag, acitveAnswer } = this.props;
+    const {
+      toggleMutiOption,
+      editor,
+      hover,
+      inputShake,
+      optionShake,
+      hasOption,
+      scoreShake,
+      hasScore,
+      hasTitle,
+      dialogVisible,
+      mutiOption
+    } = this.state;
+    let {
+      type,
+      isEditor,
+      title,
+      required,
+      remark,
+      remarkText,
+      options,
+      scores,
+      rows,
+      textareaHeight,
+      maxLength,
+      otherOption,
+      otherOptionForwards,
+      otherOptionBackwards,
+      completionForwards,
+      completionBackwards,
+      editorShake,
+      answer,
+      warnFlag
+    } = editor;
+    this.answer = answer ? JSON.parse(JSON.stringify(answer)) : {};
+    this.otherOptionValue = answer ? this.answer[type].otherOptionValue : [];
+
+    /*
+     *
+     * 以下元素为编辑状态下的元素
+     *
+     */
+    //编辑状态下的题目
+    const ediTitleEl = (
+      <div className="editor-row">
+        <label className="editor-row-title">题目</label>
+        <div className="editor-row-content">
+          <ShakeTransition shake={inputShake}>
+            <Input
+              name={'title'}
+              value={title}
+              onChange={this.handleChange}
+              style={{
+                borderColor: hasTitle ? '' : 'red'
+              }}
+            />
+          </ShakeTransition>
+        </div>
+      </div>
+    );
+    //编辑状态下的选项框
+    const optionsArr = options.map((option, index) => {
+      return (
+        <div className="editor-row" key={index}>
+          <label className="editor-row-title">
+            <i className="iconfont icon-xuanxiangicon"></i>
+          </label>
+          <div className="editor-row-content">
+            <ShakeTransition shake={optionShake[index]}>
+              <Input
+                index={index}
+                name={'options'}
+                value={option}
+                onChange={this.handleChange}
+                style={{
+                  borderColor: hasOption[index] === false ? 'red' : ''
+                }}
+              />
+            </ShakeTransition>
+          </div>
+          <div style={{ height: '100%', width: '20px' }}></div>
+          <Checkbox
+            name={'warnFlag'}
+            index={index}
+            defaultChecked={warnFlag[index]}
+            checked={warnFlag[index]}
+            label={'警示标识'}
+            onChange={this.handleChange}
+            style={{
+              marginRight: 15
+            }}
+          />
+          <div style={{ flex: '1', display: 'flex', alignItems: 'center' }}>
+            <ShakeTransition shake={scoreShake[index]}>
+              <Input
+                index={index}
+                placeholder="分值"
+                name={'scores'}
+                value={scores[index]}
+                onChange={this.handleChange}
+                style={{
+                  borderColor: hasScore[index] === false ? 'red' : ''
+                }}
+              />
+            </ShakeTransition>
+          </div>
+
+          <i
+            className="iconfont icon-chachaicon"
+            onClick={() => this.deleteOption(index)}
+          ></i>
+        </div>
+      );
+    });
+    //编辑状态下的选项框和新建框
+    const ediOptionsEl = (
+      <div>
+        {optionsArr}
+        <div className="editor-row">
+          <div className="editor-row-content">
+            <div className="editor-create-option" onClick={this.createOption}>
+              <i className="iconfont icon-xinjianxuanxiangicon"></i>
+              <span style={{ color: '#999' }}>新建选项</span>
+            </div>
+          </div>
+          <i
+            className="iconfont icon-chachaicon"
+            style={{ visibility: 'hidden' }}
+          ></i>
+        </div>
+      </div>
+    );
+    //编辑状态下的”其他“选项
+    const ediOtherOptionsEl = (
+      <div className="editor-row">
+        <div className="editor-row-content">
+          <div className="other-option-wrapper">
+            <ContentEditable
+              name={'otherOptionForwards'}
+              html={otherOptionForwards}
+              onChange={this.handleChange}
+              onKeyPress={this.disableEnter}
+            />
+            <div className="other-fill">
+              <div className="other-fill-inner">____</div>
+            </div>
+            <ContentEditable
+              style={{ flex: 1 }}
+              name={'otherOptionBackwards'}
+              html={otherOptionBackwards}
+              onChange={this.handleChange}
+              onKeyPress={this.disableEnter}
+            />
+          </div>
+        </div>
+        <i
+          className="iconfont icon-chachaicon"
+          onClick={() =>
+            this.handleChange({ target: { value: false, name: 'otherOption' } })
+          }
+        ></i>
+      </div>
+    );
+    //编辑状态下的填空题
+    const ediCompletionEl = (
+      <div className="editor-row">
+        <label className="editor-row-title">内容</label>
+        <div className="editor-row-content">
+          <div className="other-option-wrapper">
+            <ContentEditable
+              name={'completionForwards'}
+              html={completionForwards}
+              onChange={this.handleChange}
+              onKeyPress={this.disableEnter}
+            />
+            <div className="other-fill">
+              <div className="other-fill-inner">____</div>
+            </div>
+            <ContentEditable
+              style={{ flex: 1 }}
+              name={'completionBackwards'}
+              html={completionBackwards}
+              onChange={this.handleChange}
+              onKeyPress={this.disableEnter}
+            />
+          </div>
+        </div>
+      </div>
+    );
+    //添加"其他"选项 | 批量编辑
+    const ediCtrlOptionsEl = (
+      <div className="options-control">
+        {/* <button
+          className="control-button"
+          style={{
+            color: otherOption ? '#CCC' : '#45A8E6',
+            cursor: otherOption ? 'not-allowed' : 'pointer',
+            fontSize: 14
+          }}
+          disabled={otherOption}
+          onClick={() =>
+            this.handleChange({ target: { value: true, name: 'otherOption' } })
+          }
+        >
+          添加“其他”选项
+        </button>
+        <span style={{ margin: '0 10px' }}>|</span> */}
+        <button
+          className="control-button"
+          style={{
+            color: toggleMutiOption ? '#CCC' : '#45A8E6',
+            cursor: toggleMutiOption ? 'not-allowed' : 'pointer',
+            fontSize: 14
+          }}
+          disabled={toggleMutiOption}
+          onClick={() => this.handleMutiOption()}
+        >
+          批量编辑
+        </button>
+      </div>
+    );
+    /*
+     *
+     * 以下元素为填写状态下的元素
+     *
+     */
+    //填写状态下的填空
+    const subCompletionEl = (
+      <div className="subject-other-option">
+        <span>{completionForwards}</span>
+        <div
+          className="other-option-input"
+          onInput={this.handleOtherOptionInputChange}
+          onKeyPress={this.disableEnter}
+          contentEditable
+          dangerouslySetInnerHTML={{ __html: answer && this.answer[type] }}
+        ></div>
+        <span>{completionBackwards}</span>
+      </div>
+    );
+    //填写状态下的单选、多选其他选项
+    const subOtherOptionsEl = (
+      <div className="subject-other-option">
+        <span>{otherOptionForwards}</span>
+        <div
+          className="other-option-input"
+          onInput={this.handleOtherOptionInputChange}
+          onKeyPress={this.disableEnter}
+          contentEditable
+          dangerouslySetInnerHTML={{ __html: this.otherOptionInput }}
+        ></div>
+        <span>{otherOptionBackwards}</span>
+      </div>
+    );
+    //填写状态下的单选、多选
+    const optionsCom = otherOption ? options.concat('undefined') : options;
+    const subRadioEl = (
+      <div className="radio-group">
+        {optionsCom.map((data, index) => {
+          return (
+            <label
+              className="wowjoy-radio"
+              style={{ width: `${100 / parseInt(rows)}%`, marginBottom: 8, marginRight: 30 }}
+              key={uuid()}
+            >
+              <input
+                type="radio"
+                name="radio"
+                data-index={index}
+                value={data}
+                defaultChecked={
+                  answer && this.answer.radio.optionIndex === index + ''
+                }
+                onChange={this.handleAnswerChange}
+                style={{ display: 'none' }}
+              />
+              <span className="wowjoy-radio__inner"></span>
+              <span className="wowjoy-radio__text">
+                {data === 'undefined' ? (
+                  <div className="subject-other-option">
+                    <span>{otherOptionForwards}</span>
+                    <div
+                      data-index={index}
+                      className="other-option-input"
+                      onInput={this.handleOtherOptionInputChange}
+                      onKeyPress={this.disableEnter}
+                      contentEditable
+                      dangerouslySetInnerHTML={{
+                        __html: this.otherOptionValue
+                      }}
+                    ></div>
+                    <span>{otherOptionBackwards}</span>
+                  </div>
+                ) : (
+                  data
+                )}
+              </span>
+            </label>
+          );
+        })}
+      </div>
+    );
+    const subCheckboxEl = (
+      <div className="checkbox-group">
+        {optionsCom.map((data, index) => {
+          return (
+            <label
+              className="wowjoy-checkbox"
+              key={uuid()}
+              style={{ width: `${100 / parseInt(rows)}%`, marginBottom: 8 }}
+            >
+              <input
+                type="checkbox"
+                name="checkbox"
+                value={data}
+                data-index={index}
+                defaultChecked={
+                  answer &&
+                  this.answer.checkbox !== '' &&
+                  this.answer.checkbox.optionIndex.includes(index + '')
+                }
+                onChange={this.handleAnswerChange}
+                style={{ display: 'none' }}
+              />
+              <span className="wowjoy-checkbox__inner"></span>
+              <span className="wowjoy-checkbox__text">
+                {data === 'undefined' ? (
+                  <div className="subject-other-option">
+                    <span>{otherOptionForwards}</span>
+                    <div
+                      data-index={index}
+                      className="other-option-input"
+                      onInput={this.handleOtherOptionInputChange}
+                      onKeyPress={this.disableEnter}
+                      contentEditable
+                      dangerouslySetInnerHTML={{
+                        __html: this.otherOptionValue
+                      }}
+                    ></div>
+                    <span>{otherOptionBackwards}</span>
+                  </div>
+                ) : (
+                  data
+                )}
+              </span>
+            </label>
+          );
+        })}
+      </div>
+    );
+    //填写状态下的下拉框
+    const subDropdownEl = (
+      <select
+        defaultValue={answer && this.answer[type]}
+        onChange={this.handleAnswerChange}
+      >
+        {options.map((option, index) => {
+          return (
+            <option key={index} value={option}>
+              {option}
+            </option>
+          );
+        })}
+      </select>
+    );
+    const optionsEl =
+      type === 'dropdown'
+        ? subDropdownEl
+        : type === 'radio'
+        ? subRadioEl
+        : subCheckboxEl;
+    //填写状态下的单行文本、多行文本
+    const subTextEl = (
+      <input
+        defaultValue={answer && this.answer[type]}
+        className="subject-input"
+        style={{ height: 36 }}
+        onChange={this.handleAnswerChange}
+        maxLength={maxLength}
+      />
+    );
+    const subTextareaEl = (
+      <textarea
+        defaultValue={answer && this.answer[type]}
+        className="subject-input"
+        name={'textarea'}
+        onChange={this.handleAnswerChange}
+        rows={textareaHeight}
+      />
+    );
+    return (
+      /*
+       * 想了很多交互,最终认为还是将编辑模块和题目模块放在一起实现起来相对方便点,虽然这样造成的后果是代码很臃肿。。。
+       * 如果不这样做,组件之间的传值问题将会变得错综复杂
+       * 后期有时间再仔细想想看看能不能有更优的办法
+       */
+      <div className="questionnair-item">
+        {isEditor ? (
+          <ShakeTransition shake={editorShake}>
+            <div className="questionnair-editor">
+              <div className="questionnair-editor-inner">
+                <div className="editor-type">
+                  <i className="iconfont icon-Q-icon"></i>
+                  <span className="editor-type-text">
+                    {this.switchEditor(type)}
+                  </span>
+                </div>
+                {'input' === type ? ediCompletionEl : ediTitleEl}
+                <div className="editor-row">
+                  <div className="editor-row-content">
+                    <Checkbox
+                      name={'required'}
+                      defaultChecked={required}
+                      label={'必填'}
+                      onChange={this.handleChange}
+                      style={{
+                        marginRight: 15
+                      }}
+                    />
+                    {/* <Checkbox
+                      name={'warnFlag'}
+                      defaultChecked={warnFlag}
+                      label={'警示标识'}
+                      onChange={this.handleChange}
+                      style={{
+                        marginRight: 15
+                      }}
+                    /> */}
+                    {/* <Checkbox
+                      name={'remark'}
+                      defaultChecked={remark}
+                      label={'备注'}
+                      onChange={this.handleChange}
+                      style={{
+                        marginRight: 15
+                      }}
+                      disabled={true}
+                    /> */}
+                    备注:
+                    {remark && (
+                      <Input
+                        name={'remarkText'}
+                        value={remarkText || ''}
+                        onChange={this.handleChange}
+                      />
+                    )}
+                  </div>
+                </div>
+                {['radio', 'dropdown', 'checkbox'].includes(type) &&
+                  ediOptionsEl}
+                {/* {otherOption && ediOtherOptionsEl} */}
+                {/* {['radio', 'checkbox'].includes(type) && ediCtrlOptionsEl}
+                {['radio', 'checkbox'].includes(type) && (
+                  <div className="editor-adv">
+                    <span className="adv-option">
+                      每行显示
+                      <Dropdown
+                        name={'rows'}
+                        value={rows}
+                        options={rowOptions}
+                        onChange={this.handleChange}
+                      />
+                      个选项
+                    </span>
+                  </div>
+                )}
+                {'text' === type && (
+                  <div className="editor-adv">
+                    <span className="adv-option">
+                      最多填写
+                      <Input
+                        width={50}
+                        margin={'0 10px'}
+                        type={'number'}
+                        name={'maxLength'}
+                        value={maxLength}
+                        onChange={this.handleChange}
+                      />
+                      字
+                    </span>
+                  </div>
+                )}
+                {'textarea' === type && (
+                  <div className="editor-adv">
+                    <span className="adv-option">
+                      文本框高度
+                      <Input
+                        width={50}
+                        margin={'0 10px'}
+                        type={'number'}
+                        name={'textareaHeight'}
+                        value={textareaHeight}
+                        onChange={this.handleChange}
+                      />
+                      行
+                    </span>
+                  </div>
+                )} */}
+                <div className="editor-button">
+                  <Button type="primary" onClick={this.confirm}>
+                    确定
+                  </Button>
+
+                  <Button
+                    type="cancel"
+                    onClick={this.cancel}
+                    style={{ marginLeft: 20 }}
+                  >
+                    取消
+                  </Button>
+                </div>
+              </div>
+              <Dialog
+                visible={dialogVisible}
+                title="批量修改"
+                onCancel={this.closeDialog}
+                onConfirm={this.confirmDialog}
+              >
+                <Input
+                  type="textarea"
+                  value={mutiOption}
+                  onChange={this.handleMutiTextarea}
+                  rows={6}
+                />
+              </Dialog>
+            </div>
+          </ShakeTransition>
+        ) : (
+          <div
+            className="questionnair-subject"
+            style={{
+              background: drag ? '' : hover ? '#F5F5F5' : '#fff',
+              borderTopColor: drag && index === 0 ? '#dbdbdb' : '',
+              borderBottomColor: drag ? '#dbdbdb' : '',
+              cursor: acitveAnswer ? '' : 'move',
+              display: 'flex',
+              justifyContent: 'center'
+            }}
+            onMouseEnter={this.mouseEnter}
+            onMouseLeave={this.mouseLeave}
+          >
+            <div
+              className="questionnair-subject-inner"
+              style={{ margin: acitveAnswer ? '' : '0 auto' }}
+            >
+              <div className="subject-row">
+                <span>{index + 1}.</span>
+                {'input' === type ? subCompletionEl : <span>{title}</span>}
+                {required && <span className="subject-title-require">*</span>}
+              </div>
+              {remark && (
+                <div className="subject-row subject-remarks">{remarkText}</div>
+              )}
+              <div className="subject-row">
+                {['radio', 'dropdown', 'checkbox'].includes(type) && optionsEl}
+                {type === 'text' && subTextEl}
+                {type === 'textarea' && subTextareaEl}
+              </div>
+            </div>
+            {!acitveAnswer && (
+              <div
+                className="subject-control-mask"
+                style={{
+                  background:
+                    curMoveItem === index ? 'rgba(245,245,245,0.3)' : ''
+                }}
+              ></div>
+            )}
+            <div
+              className="subject-control-bar"
+              style={{ transform: drag ? '' : hover ? 'translateX(0)' : '' }}
+            >
+              <div className="control-bar-inner">
+                <div className="control-bar-button" onClick={this.edit}>
+                  <i className="iconfont icon-grey_bianji"></i>
+                </div>
+                <div className="control-bar-button" onClick={this.copy}>
+                  <i className="iconfont icon-grey_fuzhi"></i>
+                </div>
+                <div className="control-bar-button" onClick={this.remove}>
+                  <i className="iconfont icon-grey_shanchu"></i>
+                </div>
+              </div>
+            </div>
+          </div>
+        )}
+      </div>
+    );
+  }
+}
+
+export default QuestionnairEditor;
diff --git a/SunshineIns/src/view/QuestionnairEditor/index.scss b/SunshineIns/src/view/QuestionnairEditor/index.scss
new file mode 100644
index 0000000..66293db
--- /dev/null
+++ b/SunshineIns/src/view/QuestionnairEditor/index.scss
@@ -0,0 +1,268 @@
+//编辑框样式
+.questionnair-item {
+  width: 100%;
+}
+.questionnair-editor {
+  width: 100%;
+  background: #f5f5f5;
+  position: relative;
+  font-size: 14px;
+}
+.questionnair-editor-inner {
+  width: 700px;
+  margin: 0 auto;
+  padding: 15px 0;
+  color: #666;
+  margin-bottom: 20px;
+}
+.editor-type-text {
+  font-family: PingFangSC-Medium;
+  font-size: 16px;
+  margin-left: 10px;
+}
+.editor-row {
+  display: flex;
+  align-items: center;
+  margin: 15px 0;
+  position: relative;
+}
+.editor-row-title {
+  position: absolute;
+  left: 0;
+  text-align: right;
+  width: 32px;
+}
+.editor-row-content {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  margin-left: 40px;
+  height: 36px;
+}
+.other-option-wrapper {
+  width: 100%;
+  background: #fff;
+  padding: 0 11px;
+  border: 1px solid #ddd;
+  display: flex;
+  transition: all 0.3s;
+  &:focus-within {
+    border-color: #1890ff;
+  }
+}
+.other-option {
+  outline: none;
+  height: 36px;
+  line-height: 36px;
+}
+.other-fill {
+  width: 30px;
+  height: 36px;
+  padding-top: 5px;
+}
+.other-fill-inner {
+  height: 25px;
+  padding-top: 3px;
+  border: 1px solid transparent;
+  cursor: pointer;
+  transition: all 0.3s;
+  &:hover {
+    border-color: #45a8e6;
+  }
+}
+.other-option-input {
+  border-bottom: 1px solid;
+  min-width: 80px;
+  display: inline-block;
+  padding: 0 5px;
+  outline: none;
+  cursor: text;
+}
+.editor-create-option {
+  width: 100%;
+  height: 36px;
+  border: 1px dashed #ddd;
+  display: flex;
+  align-items: center;
+  cursor: pointer;
+}
+.options-control {
+  margin-left: 38px;
+  margin-bottom: 15px;
+}
+.control-button {
+  border: none;
+  background: #f5f5f5;
+  padding: 0;
+  cursor: pointer;
+  outline: none;
+}
+.editor-button {
+  width: 100%;
+  text-align: center;
+}
+.editor-adv {
+  width: 100%;
+  border-top: 1px solid #dbdbdb;
+  padding: 20px 0;
+  display: flex;
+}
+.adv-option {
+  display: flex;
+  align-items: center;
+  margin-right: 60px;
+  font-size: 12px;
+}
+.editor-input-number {
+  width: 54px;
+  height: 36px;
+  border: 1px solid #ddd;
+  outline: none;
+  margin: 0 10px;
+  padding-left: 11px;
+}
+//题目样式
+.questionnair-subject {
+  position: relative;
+  width: 100%;
+  padding: 20px 0;
+  overflow: hidden;
+  min-height: 144px;
+  border: 1px dashed transparent;
+}
+.questionnair-subject-inner {
+  width: 700px;
+}
+.subject-row {
+  margin-bottom: 8px;
+  width: 100%;
+}
+.subject-title-require {
+  color: red;
+  vertical-align: middle;
+  margin-left: 5px;
+}
+.subject-remarks {
+  font-size: 12px;
+  color: #999;
+}
+.subject-control-mask {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: 2;
+}
+.subject-control-bar {
+  width: 48px;
+  background: #ededed;
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  right: 0;
+  transform: translateX(100%);
+  transition: transform 0.2s;
+  z-index: 3;
+  display: flex;
+  align-items: center;
+}
+.control-bar-inner {
+  width: 100%;
+  height: 144px;
+  display: flex;
+  flex-direction: column;
+}
+.control-bar-button {
+  width: 100%;
+  cursor: pointer;
+  flex: 1;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  &:hover {
+    i {
+      color: #1890ff;
+    }
+  }
+}
+.subject-other-option {
+  display: inline-block;
+}
+.subject-input {
+  outline: none;
+  border: 1px solid #dddddd;
+  width: 100%;
+  resize: none;
+  padding: 0 11px;
+}
+.wowjoy-radio {
+  cursor: pointer;
+  display: inline-block;
+}
+input[type='radio']:checked {
+  & + .wowjoy-radio__inner {
+    border-color: #1890ff;
+    &:before {
+      content: '';
+      background: #1890ff;
+      width: 8px;
+      height: 8px;
+      border-radius: 50%;
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      transform: translate(-50%, -50%);
+    }
+  }
+}
+.wowjoy-radio__inner {
+  position: relative;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  border-radius: 50%;
+  background: #fff;
+  border: 1px solid #dbdbdb;
+  vertical-align: sub;
+  margin-right: 5px;
+}
+.wowjoy-radio__text {
+  display: inline-block;
+  max-width: 80%;
+  vertical-align: top;
+  word-break: break-all;
+}
+.wowjoy-checkbox {
+  cursor: pointer;
+  display: inline-block;
+}
+input[type='checkbox']:checked {
+  & + .wowjoy-checkbox__inner {
+    border-color: #1890ff;
+    &:before {
+      content: '\2713';
+      color: #1890ff;
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      transform: translate(-50%, -50%);
+    }
+  }
+}
+.wowjoy-checkbox__inner {
+  position: relative;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  background: #fff;
+  border: 1px solid #dbdbdb;
+  vertical-align: sub;
+  margin-right: 5px;
+}
+.wowjoy-checkbox__text {
+  display: inline-block;
+  max-width: 80%;
+  vertical-align: top;
+  word-break: break-all;
+}
diff --git a/SunshineIns/src/view/QuestionnairSiderbar/index.js b/SunshineIns/src/view/QuestionnairSiderbar/index.js
new file mode 100644
index 0000000..241f25f
--- /dev/null
+++ b/SunshineIns/src/view/QuestionnairSiderbar/index.js
@@ -0,0 +1,183 @@
+import React from 'react';
+import DragSort from '../../libs/DragSort';
+import './index.scss';
+
+const tabs = [{
+  name: '题目控件',
+}, {
+  name: '问题大纲',
+}, ];
+
+const subjects = [{
+  name: '单选题',
+  type: 'radio',
+  icon: 'icon-danxuanicon',
+},
+//  {
+//   name: '下拉题',
+//   type: 'dropdown',
+//   icon: 'icon-xialaicon',
+// },
+ {
+  name: '多选题',
+  type: 'checkbox',
+  icon: 'icon-duoxuan-icon',
+}, 
+// {
+//   name: '单行文本题',
+//   type: 'text',
+//   icon: 'icon-danhangicon',
+// }, {
+//   name: '多行文本题',
+//   type: 'textarea',
+//   icon: 'icon-duohangicon',
+// }, {
+//   name: '填空题',
+//   type: 'input',
+//   icon: 'icon-tiankongtiicon',
+// }, 
+];
+
+class QuestionnairSiderbar extends React.PureComponent {
+  state = {
+    tabIndex: 0,
+    curMoveItem: null,
+    editors: [],
+  };
+
+  componentWillReceiveProps(nextProps) {
+    this.setState({
+      editors: nextProps.editors,
+    })
+  }
+
+  toggleTab = (index) => {
+    this.setState({
+      tabIndex: index,
+    })
+  }
+
+  switchIcon = (type) => {
+    switch (type) {
+      case 'radio':
+        return 'icon-danxuanicon';
+      case 'dropdown':
+        return 'icon-xialaicon';
+      case 'checkbox':
+        return 'icon-duoxuan-icon';
+      case 'textarea':
+        return 'icon-duohangicon';
+      case 'text':
+        return 'icon-danhangicon';
+      case 'input':
+        return 'icon-tiankongtiicon';
+    }
+  }
+
+  handleDragMove = (editors, from, to) => {
+    const {
+      onDragOutline,
+    } = this.props;
+    if (onDragOutline) {
+      onDragOutline(editors)
+    }
+    this.setState({
+      curMoveItem: to,
+      editors,
+    })
+  }
+
+  handleDragEnd = () => {
+    this.setState({
+      curMoveItem: null,
+    })
+  }
+
+  clickOutline = (index) => {
+    const {
+      onClickOutline,
+    } = this.props;
+    if (onClickOutline) {
+      onClickOutline(index)
+    }
+  }
+
+  render() {
+    this.tabs = [];
+    const {
+      onSelectEditor,
+    } = this.props;
+    const {
+      tabIndex,
+      editors,
+      curMoveItem,
+    } = this.state;
+    return (
+      <div className='questionnair-siderbar'>
+        <div className='siderbar-tab'>
+            {tabs.map((data, index) => {
+              return (
+                <div
+                  key={data.name}
+                  className={`tab-item ${tabIndex === index && 'tab-item-active'}`}
+                  onClick={() => this.toggleTab(index)}
+                  ref={(tab) => tab && this.tabs.push(tab)}>
+                    {data.name}
+                </div>
+              )
+            })}
+        </div>
+        <div className='siderbar-menu'>
+          <div className='siderbar-menu-content' style={{ display:  0 !== tabIndex && 'none' }}>
+            {subjects.map((data, index) => {
+              return (
+                <div
+                  key={data.name}
+                  className='siderbar-menu-editors'
+                  onClick={() => onSelectEditor(data.type)}>
+                    <i className={ `iconfont ${data.icon} siderbar-menu-icon`}></i>
+                  <span>{data.name}</span>
+                </div>
+              )
+            })}
+          </div>
+          <div className='siderbar-menu-content' style={{ display:  1 !== tabIndex && 'none', paddingTop: 12 }}>
+            <DragSort
+              draggable={true}
+              data={editors}
+              onDragEnd={this.handleDragEnd}
+              onDragMove={this.handleDragMove}>
+              {editors.map((data, index) => {
+                return (
+                  <div
+                    className='siderbar-menu-summary'
+                    onClick={() => this.clickOutline(index)}
+                    style={{
+                      border: 'none',
+                      cursor: 'move'
+                    }}
+                    key={data.questionId}>
+                    <i className={`iconfont ${this.switchIcon(data.type)} siderbar-menu-icon`}></i>
+                    {data.type === 'input' ? (
+                      <span className='summary-text'>{data.completionForwards}____{data.completionBackwards}</span>
+                    ) : (
+                      <span className='summary-text'>{data.title}</span>
+                    )}
+                    <div
+                      className='summary-drag-mask'
+                      style={{
+                        background: curMoveItem === index ? 'rgba(245,245,245,0.50)' : ''
+                      }}>
+                    </div>
+                  </div>
+                )
+              })}
+            </DragSort>
+          </div>
+        </div>
+      </div>
+    )
+  }
+}
+
+export default QuestionnairSiderbar;
\ No newline at end of file
diff --git a/SunshineIns/src/view/QuestionnairSiderbar/index.scss b/SunshineIns/src/view/QuestionnairSiderbar/index.scss
new file mode 100644
index 0000000..6f89f70
--- /dev/null
+++ b/SunshineIns/src/view/QuestionnairSiderbar/index.scss
@@ -0,0 +1,90 @@
+.questionnair-siderbar {
+	position: absolute;
+	bottom: 20px;
+	top: 20px;
+	left: 20px;
+	width: 210px;
+	display: flex;
+	flex-direction: column;
+}
+.siderbar-tab {
+	width: 100%;
+	height: 30px;
+	display: flex;
+	position: relative;
+	z-index: 1;
+}
+.tab-item {
+	flex: 1;
+	text-align: center;
+	height: 30px;
+	line-height: 30px;
+	color: #666;
+	background: #F7F7F7;
+	border: 1px solid #e8e8e8;
+	cursor: pointer;
+}
+.tab-item-active {
+	box-shadow: 0 0 4px 0 rgba(202,202,202,0.50);
+	border: 1px solid transparent;
+	background: #fff;
+	position: relative;
+	&:before {
+		content: '';
+		position: absolute;
+	    top: -1px;
+	    left: -1px;
+	    right: -1px;
+	    height: 2px;
+	    background-color: #1890ff;
+	    z-index: 1;
+	}
+}
+.siderbar-menu {
+	flex: 1;
+	box-shadow: 0 3px 4px 0 rgba(202,202,202,0.50);
+	background: #fff;
+	z-index: 2;
+}
+.siderbar-menu-content {
+	width: 100%;
+}
+.siderbar-menu-icon {
+	margin-right: 10px;
+}
+.siderbar-menu-editors {
+	width: 168px;
+	height: 36px;
+	border: 1px solid #1890ff;
+	color: #1890ff;
+	padding-left: 8px;
+	margin: 15px auto;
+	cursor: pointer;
+	display: flex;
+	align-items: center;
+	position: relative;
+}
+.siderbar-menu-summary {
+	width: 100%;
+	height: 36px;
+	color: #1890ff;
+	padding-left: 30px;
+	padding-right: 10px;
+	margin: 0 auto;
+	cursor: pointer;
+	display: flex;
+	align-items: center;
+	position: relative;
+}
+.summary-text {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap; 
+}
+.summary-drag-mask {
+	position: absolute;
+	top: 0;
+	left: 0;
+	right: 0;
+	bottom: 0;
+}

--
Gitblit v1.8.0