jifuning 5 éve
szülő
commit
e2e452fa7b
100 módosított fájl, 36862 hozzáadás és 1 törlés
  1. 1 1
      .gitignore
  2. 315 0
      css/addRecode.css
  3. 3625 0
      css/animate.css
  4. 82 0
      css/api.css
  5. 159 0
      css/apiToast.css
  6. BIN
      css/aui-iconfont.ttf
  7. 2718 0
      css/aui.css
  8. 411 0
      css/popoPicker.css
  9. 881 0
      css/projeck.css
  10. 916 0
      css/projeck.less
  11. 1030 0
      css/select.css
  12. 513 0
      css/style.css
  13. 15 0
      css/swiper.css
  14. 167 0
      css/toast.css
  15. 803 0
      html/704/704.html
  16. 98 0
      html/704/securtyFrm.html
  17. 92 0
      html/704/securtyWin.html
  18. 1007 0
      html/704Jinfeng/704.html
  19. 108 0
      html/704Jinfeng/securtyFrm.html
  20. 92 0
      html/704Jinfeng/securtyWin.html
  21. 824 0
      html/704Zaoquan/704.html
  22. 108 0
      html/704Zaoquan/securtyFrm.html
  23. 92 0
      html/704Zaoquan/securtyWin.html
  24. 225 0
      html/Qrcode/11.html
  25. 599 0
      html/Qrcode/QRcode0.html
  26. 571 0
      html/Qrcode/QRcode1.html
  27. 180 0
      html/Qrcode/QRcodeList.html
  28. 110 0
      html/Qrcode/QrcodeDetaile.html
  29. 76 0
      html/Qrcode/QrcodeRecodeList.html
  30. 119 0
      html/Qrcode/Sweepcode.html
  31. 110 0
      html/Qrcode/recordDetaile.html
  32. 1202 0
      html/browseQrcode/addRecode.html
  33. 2499 0
      html/browseQrcode/browseQrcodeDe.html
  34. 58 0
      html/browseQrcode/browseQrcode_win.html
  35. 94 0
      html/browseQrcode/browseRecodeDe.html
  36. 94 0
      html/browseQrcode/browseRecodeItem.html
  37. 94 0
      html/browseQrcode/browseUrl.html
  38. 396 0
      html/browseQrcode/echartLevel.html
  39. 69 0
      html/browseQrcode/map.html
  40. 241 0
      html/browseQrcode/moreBrowse.html
  41. 147 0
      html/browseQrcode/qrcodeShare.html
  42. 682 0
      html/browseQrcode/recodeDetails.html
  43. 496 0
      html/browseQrcode/recodeItem.html
  44. 194 0
      html/forgetBind/bindPhone.html
  45. 196 0
      html/forgetBind/forgetPass.html
  46. 43 0
      html/mail/mailList.html
  47. 156 0
      html/mail/mailList_frm.html
  48. 114 0
      html/mail/modul.html
  49. 203 0
      html/mail/organization.html
  50. 195 0
      html/mail/organization_frame.html
  51. 318 0
      html/mail/personalInfo.html
  52. 71 0
      html/main.html
  53. 100 0
      html/news/getNewsDetaile.html
  54. 389 0
      html/news/news_frm.html
  55. 301 0
      html/news/news_win.html
  56. 155 0
      html/page/addPosonal.html
  57. 47 0
      html/page/clearCache.html
  58. 484 0
      html/page/frame0.html
  59. 605 0
      html/page/frame1.html
  60. 431 0
      html/page/frame2.html
  61. 293 0
      html/page/frame22.html
  62. 187 0
      html/page/frame3.html
  63. 55 0
      html/page/frame3_1.html
  64. 1011 0
      html/page/frame3_2.html
  65. 570 0
      html/page/frame4.html
  66. 94 0
      html/page/openNews.html
  67. 118 0
      html/page/openUrl.html
  68. 114 0
      html/page/openUrlBanner.html
  69. 197 0
      html/page/search2_frameDetails1.html
  70. 199 0
      html/page/search2_frameDetails2.html
  71. 200 0
      html/page/search2_frameDetails3.html
  72. 200 0
      html/page/search2_frameDetails4.html
  73. 98 0
      html/page/search_frame0.html
  74. 113 0
      html/page/search_frame1.html
  75. 113 0
      html/page/search_frame2.html
  76. 202 0
      html/page/search_frameDetails1.html
  77. 200 0
      html/page/search_frameDetails2.html
  78. 204 0
      html/page/search_frameDetails3.html
  79. 59 0
      html/page/search_frameDetails4.html
  80. 267 0
      html/page/search_win.html
  81. 114 0
      html/page/tailoring.html
  82. 127 0
      html/personalData/personal.html
  83. 343 0
      html/personalData/personal_frame0.html
  84. 86 0
      html/personalData/personal_frame1.html
  85. 86 0
      html/personalData/personal_frame2.html
  86. 113 0
      html/personalData/tailoring01.html
  87. 1207 0
      html/producationDataItem/informationCenter.html
  88. 1089 0
      html/producationDataItem/jinfengCoalMine.html
  89. 1179 0
      html/producationDataItem/zaoquanCoalMine.html
  90. 541 0
      html/productionData/efficiencyFrm.html
  91. 71 0
      html/productionData/efficiencyWin.html
  92. 491 0
      html/productionData/equipmentMonitoring.html
  93. 217 0
      html/productionData/monitor0.html
  94. 200 0
      html/productionData/monitor1.html
  95. 10 0
      html/productionData/monitor2.html
  96. 10 0
      html/productionData/monitor3.html
  97. 108 0
      html/productionData/monitorDetaile.html
  98. 162 0
      html/productionData/monitorDetaileWin.html
  99. 93 0
      html/productionData/monitorVideo.html
  100. 0 0
      html/productionData/persnoalLocation.html

+ 1 - 1
.gitignore

@@ -1,7 +1,7 @@
 .DS_Store
 node_modules
 /dist
-
+config.xml
 # local env files
 .env.local
 .env.*.local

+ 315 - 0
css/addRecode.css

@@ -0,0 +1,315 @@
+*{
+  box-sizing: border-box;
+}
+.template_my_record{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+.template_name{
+  font-size: 20px;
+  font-weight: bold;
+  color: #009FE8;
+  padding: 10px 0;
+}
+.my_record{
+  color: #009FE8;
+  font-size: 14px
+}
+.recode_contents{
+  background: #fff;
+  padding:  8px;
+  border-radius: 5px;
+}
+.row_col>label{
+  color: #333;
+  font-size: 16px;
+  padding: 15px 0 ;
+  position: relative;
+  width: 100%;
+}
+.row_col>label:after{
+  content: '';
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 1px;
+  background: #ECF0F1;
+}
+.recode-warp{
+    padding: 10px 15px;
+    background: #009FE8;
+}
+.input-recode{
+    position: relative;
+}
+.title{
+    font-size: 16px;
+    color: #97A3B4;
+    font-weight: normal;
+    margin-bottom: 10px;
+}
+.title span{
+    color: red;
+    position: relative;
+    top: 2px;
+}
+.input-recode .input{
+    margin: 0;
+    height: 45px;
+    border: 1px solid #e1e5e9;
+    background: #ffffff;
+    font-size: 14px;
+    width: 100%;
+    -webkit-border-radius: 3px;
+    border-radius: 3px;
+    padding-left: 15px;
+    padding-right: 30px;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    color: #333;
+}
+.modula:not(:first-child){
+    margin-top: 18px;
+}
+.ico{
+    display: block;
+    position: absolute;
+    top: 16px;
+    right: 8px;
+    width: 18px;
+    height: 13px;
+    background: url(../icon/ico.png) no-repeat;
+    background-size: cover;
+}
+/*录音*/
+.input-recode audio{
+  width: 100%;
+}
+.upload-btn{
+    width: 100px;
+    height: 33px;
+    background: url(../icon/mp3.jpg);
+    background-size: cover;
+    display: block;
+    cursor: pointer;
+}
+.del-btn{
+    display: none;
+    width: 60px;
+    height: 30px;
+    line-height: 30px;
+    text-align: center;
+    color: #fff;
+    background: #07c160;
+    border-radius: 3px;
+    font-size: 14px;
+    margin-bottom: 10px;
+}
+/*文件*/
+.file-items-add{
+    border: 1px dashed #D9D9D9;
+    padding: 10px 10px 0 10px;
+    display: flex;
+    justify-content: flex-start;
+    flex-wrap: wrap;
+    box-sizing: border-box;
+}
+.file-width{
+    width: 33.3333333%;
+    box-sizing: border-box;
+    font-size: 14px;
+    color: #333;
+    margin-bottom: 10px;
+}
+.file-item-add{
+    text-align: center;
+}
+.file-item-add img{
+    width: 35px;
+    height: 35px;
+    margin-bottom: 5px;
+}
+.file-item-add p{
+    padding: 0 5px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+    height: auto;
+}
+.upload img{
+    width: 80px;
+    height: 80px;
+    margin-left: 15px;
+}
+/*图片*/
+.img-item{
+    text-align: center;
+}
+.img-item img{
+    width: 80px;
+    height: 80px;
+    border-radius: 3px;
+    object-fit: cover;
+}
+.img-items .upload{
+    text-align: center;
+}
+.img-items .upload img{
+    width: 80px;
+    height: 80px;
+    margin: 0;
+}
+/*视频*/
+.upload-btn1{
+    width: 100px;
+    height: 33px;
+    background: url(../icon/vedio.png);
+    background-size: cover;
+    display: block;
+    cursor: pointer;
+}
+.submit-btn{
+  width: 100%;
+  font-size: 18px;
+  background: #009fe8;
+  height: 55px;
+  line-height: 55px;
+  letter-spacing: 5px;
+  color: #fff;
+  border-radius: 3px;
+  margin-top: 20px;
+  margin-bottom: 10px;
+}
+/*检查项*/
+.radio-wrap{
+    font-size: 14px;
+    display: flex;
+    justify-content: flex-start;
+    flex-wrap: wrap;
+    padding-top: 10px;
+}
+.radio-wrap label{
+  margin-right: 10px;
+  padding: 5px 0;
+}
+.radio-wrap label input{
+  margin-right: 10px;
+}
+/*position*/
+.flex-space-between{
+    display: flex;
+    justify-content: space-between;
+    white-space: nowrap;
+    align-items: center;
+}
+.flex-space{
+    display: flex;
+    justify-content: space-between;
+    white-space: nowrap;
+    align-items: center;
+}
+.ico-map{
+    width: 25px;
+    height: 25px;
+    background: url("../icon/position.png") no-repeat;
+    background-position: center;
+    background-size: cover;
+}
+.position{
+    padding: 5px 0;
+    padding-left: 15px;
+    padding-right: 10px;
+    border-radius: 50px;
+    background: #F0F0F0;
+    font-size: 14px;
+    margin-top:10px;
+}
+.map1{
+    color: #009FE8;
+    margin-bottom: 5px;
+}
+.again{
+    color: #6C6F74;
+}
+.map-name {
+  width: 78%;
+}
+.names{
+  width: 85%;
+  white-space: normal;
+}
+#position_warp{
+  /*padding: 0 ;*/
+  padding-bottom: 5px;
+}
+.textarea{
+  height: 45px;
+  line-height: 1.5;
+}
+
+/*a类型 图标显示 css*/
+.a-recodeWrap-ul {
+    padding: 16px 16px;
+    background: #009FE8;
+    color: #232627;
+    font-size: 16px;
+    padding-bottom: 6px;
+}
+.a-recodeWrap-ul li{
+    padding: 12px 16px;
+    background: #fff;
+    border-radius: 3px;
+    position: relative;
+    padding-right: 32px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    margin-bottom: 10px;
+}
+.a-recodeWrap-ul li .a-addRecode{
+    position: absolute;
+    top: 15px;
+    right: 16px;
+    width: 12px;
+    height: 12px;
+    background: url('../icon/add.png') no-repeat;
+    background-size: cover;
+}
+/*图标*/
+.a-recodeWrap-ul-icon{
+    padding: 14px 16px;
+    background: #009FE8;
+    color: #FFFFFF;
+    font-size: 14px;
+    padding-bottom: 6px;
+    text-align: center;
+    display: flex;
+    justify-content: flex-start;
+    align-items: center;
+    flex-wrap: wrap;
+}
+.a-recodeWrap-ul-icon li{
+    width: 25%;
+    margin-bottom: 10px;
+
+}
+.a-recodeWrap-ul-icon img{
+    width: 45px;
+    height: 45px;
+    display: block;
+    margin: auto;
+    margin-bottom: 7px;
+    border-radius: 50%;
+    object-fit: cover;
+}
+.a-recodeWrap-ul-icon span{
+    display: block;
+    padding: 0 5px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 3625 - 0
css/animate.css


+ 82 - 0
css/api.css

@@ -0,0 +1,82 @@
+html{
+	font-family: sans-serif;
+}
+html,body,header,section,footer,div,ul,ol,li,img,a,span,em,del,legend,center,strong,var,fieldset,form,label,dl,dt,dd,cite,input,hr,time,mark,code,figcaption,figure,textarea,h1,h2,h3,h4,h5,h6,p{
+	margin:0;
+	border:0;
+	padding:0;
+	font-style:normal;
+}
+html,body {
+	-webkit-touch-callout:none;
+	-webkit-text-size-adjust:none;
+	-webkit-tap-highlight-color:rgba(0, 0, 0, 0);
+	-webkit-user-select:none;
+	background-color: #fff;
+}
+nav,article,aside,details,main,header,footer,section,fieldset,figcaption,figure{
+	display: block;
+}
+img,a,button,em,del,strong,var,label,cite,small,time,mark,code,textarea{
+	display:inline-block;
+}
+header,section,footer {
+	position:relative;
+}
+ol,ul{
+	list-style:none;
+}
+input,button,textarea {
+	border:0;
+	margin:0;
+	padding:0;
+	font-size:1em;
+	line-height:1em;
+	/*-webkit-appearance:none;*/
+	background-color:rgba(0, 0, 0, 0);
+	outline: none;
+}
+span{
+	display:inline-block;
+}
+a:active, a:hover {
+  outline: 0;
+}
+a, a:visited{
+	text-decoration:none;
+}
+
+label, .wordWrap{
+    word-wrap: break-word;
+    word-break: break-all;
+}
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+td,th {
+  padding: 0;
+}
+.clearfix:after{
+	content: ' ';
+	display: block;
+	clear: both;
+	visibility:hidden;
+	line-height: 0;
+	height:0;
+}
+.loading_more{
+	display: block;
+	height: 1.5em;
+	width: 100%;
+}
+.loading_more:before {
+	display: inline-block; vertical-align: text-bottom;
+	content: ' '; height: 16px; width: 16px; margin-right: 6px;
+	background: url(../image/loading_more.gif) no-repeat center;
+	-webkit-background-size: contain;
+	background-size: contain;
+} 
+.loading_more:after {
+	content: '加载更多';	
+}

+ 159 - 0
css/apiToast.css

@@ -0,0 +1,159 @@
+/*toast*/
+.api-toast {
+	background: rgba(0, 0, 0, 0.7);
+	text-align: center;
+	border-radius: 0.25rem;
+	color: #ffffff;
+	position: fixed;
+	z-index: 3;
+	top: 45%;
+	left: 50%;
+	width: 7.5em;
+	padding: 0.5rem;
+	margin-left: -3.75em;
+	margin-top: -4rem;
+	display: none;
+}
+.api-toast .api-iconfont {
+	display: block;
+	font-size: 2.6rem;
+}
+.api-toast-content {
+	font-size: 14px;
+  /*margin: 0 0 0.75rem;*/
+}
+.api-toast-loading {
+    background-color: #ffffff;
+    border-radius: 100%;
+    margin: 0.75rem 0;
+    -webkit-animation-fill-mode: both;
+        	animation-fill-mode: both;
+    border: 2px solid #ffffff;
+    border-bottom-color: transparent;
+    height: 3.25rem;
+    width: 3.25rem;
+    background: transparent !important;
+    display: inline-block;
+    -webkit-animation: rotate 1s 0s linear infinite;
+        	animation: rotate 1s 0s linear infinite;
+}
+/*基础动画类*/
+@keyframes rotate {
+    0% {
+        -webkit-transform: rotate(0deg) scale(1);
+            	transform: rotate(0deg) scale(1);
+    }
+    50% {
+        -webkit-transform: rotate(180deg) scale(1);
+            	transform: rotate(180deg) scale(1);
+    }
+    100% {
+        -webkit-transform: rotate(360deg) scale(1);
+            	transform: rotate(360deg) scale(1);
+    }
+}
+@-webkit-keyframes rotate {
+    0% {
+        -webkit-transform: rotate(0deg) scale(1);
+            	transform: rotate(0deg) scale(1);
+    }
+    50% {
+        -webkit-transform: rotate(180deg) scale(1);
+            	transform: rotate(180deg) scale(1);
+    }
+    100% {
+        -webkit-transform: rotate(360deg) scale(1);
+            	transform: rotate(360deg) scale(1);
+    }
+}
+@keyframes bounce {
+	0%, 100% {
+	-webkit-transform: scale(0.0);
+			transform: scale(0.0);
+	}
+	50% {
+	-webkit-transform: scale(1.0);
+			transform: scale(1.0);
+	}
+}
+@-webkit-keyframes bounce {
+	0%, 100% {
+		-webkit-transform: scale(0.0);
+				transform: scale(0.0);
+	}
+	50% {
+		-webkit-transform: scale(1.0);
+				transform: scale(1.0);
+	}
+}
+@keyframes fadeIn {
+    from { opacity: 0.3; }
+    to { opacity: 1; }
+}
+@-webkit-keyframes fadeIn {
+    from { opacity: 0.3; }
+    to { opacity: 1; }
+}
+@font-face {
+	font-family: "aui_iconfont";
+	src: url('aui-iconfont.ttf') format('truetype');
+}
+.api-iconfont {
+	position: relative;
+	font-family:"aui_iconfont" !important;
+	font-size: 0.7rem;
+	font-style:normal;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+.aui-icon-menu:before { content: "\e6eb"; }
+.aui-icon-paper:before { content: "\e6ec"; }
+.aui-icon-info:before { content: "\e6ed"; }
+.aui-icon-question:before { content: "\e6ee"; }
+.aui-icon-left:before { content: "\e6f4"; }
+.aui-icon-right:before { content: "\e6f5"; }
+.aui-icon-top:before { content: "\e6f6"; }
+.aui-icon-down:before { content: "\e6f7"; }
+.aui-icon-share:before { content: "\e700"; }
+.aui-icon-comment:before { content: "\e701"; }
+.aui-icon-edit:before { content: "\e6d3"; }
+.aui-icon-trash:before { content: "\e6d4"; }
+.aui-icon-recovery:before { content: "\e6dc"; }
+.aui-icon-refresh:before { content: "\e6dd"; }
+.aui-icon-close:before { content: "\e6d8"; }
+.aui-icon-cart:before { content: "\e6df"; }
+.aui-icon-star:before { content: "\e6e0"; }
+.aui-icon-plus:before { content: "\e6e3"; }
+.aui-icon-minus:before { content: "\e62d"; }
+.aui-icon-correct:before { content: "\e6e5"; }
+.aui-icon-search:before { content: "\e6e6"; }
+.aui-icon-gear:before { content: "\e6e8"; }
+.aui-icon-map:before { content: "\e6d2"; }
+.aui-icon-location:before { content: "\e6d1"; }
+.aui-icon-image:before { content: "\e6ce"; }
+.aui-icon-phone:before { content: "\e6c4"; }
+.aui-icon-camera:before { content: "\e6cd"; }
+.aui-icon-video:before { content: "\e6cc"; }
+.aui-icon-qq:before { content: "\e6cb"; }
+.aui-icon-wechat:before { content: "\e6c9"; }
+.aui-icon-weibo:before { content: "\e6c8"; }
+.aui-icon-note:before { content: "\e6c6"; }
+.aui-icon-mail:before { content: "\e6c5"; }
+.aui-icon-wechat-circle:before { content: "\e6ca"; }
+.aui-icon-home:before { content: "\e706"; }
+.aui-icon-forward:before { content: "\e6d9"; }
+.aui-icon-back:before { content: "\e6da"; }
+.aui-icon-laud:before { content: "\e64b"; }
+.aui-icon-lock:before { content: "\e6ef"; }
+.aui-icon-unlock:before { content: "\e62f"; }
+.aui-icon-like:before { content: "\e62b"; }
+.aui-icon-my:before { content: "\e610"; }
+.aui-icon-more:before { content: "\e625"; }
+.aui-icon-mobile:before { content: "\e697"; }
+.aui-icon-calendar:before { content: "\e68a"; }
+.aui-icon-date:before { content: "\e68c"; }
+.aui-icon-display:before { content: "\e612"; }
+.aui-icon-hide:before { content: "\e624"; }
+.aui-icon-pencil:before { content: "\e615"; }
+.aui-icon-flag:before { content: "\e6f1"; }
+.aui-icon-cert:before { content: "\e704"; }

BIN
css/aui-iconfont.ttf


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 2718 - 0
css/aui.css


+ 411 - 0
css/popoPicker.css

@@ -0,0 +1,411 @@
+.p-scroll{
+    position: fixed;
+    bottom: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    font-family: -apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;
+    -webkit-tap-highlight-color: rgba(0,0,0,0);
+    font-size: 14px;
+    z-index: 10000;
+}
+.p-select-mask{
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    cursor: pointer;
+    background: rgba(0,0,0,.7);
+    -webkit-animation: p-scroll-fade-in .3s ease both;
+}
+.p-scroll.hide .p-select-mask{
+    -webkit-animation: p-scroll-fade-out .3s ease both;
+}
+.p-select-wrap{
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    display: -webkit-flex;
+    -webkit-align-items: center;
+    -webkit-justify-content: center;
+}
+.p-select-main{
+    display: -webkit-flex;
+    -webkit-flex-direction: column;
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    z-index: 2;
+    background: #fff;
+    box-shadow: 0 -5px 10px rgba(0,0,0,.1);
+    -webkit-animation: p-scroll-in .3s ease both;
+}
+.p-scroll.hide .p-select-main{
+    -webkit-animation: p-scroll-out .3s ease both;
+}
+@-webkit-keyframes p-scroll-in {
+    0%{ -webkit-transform: translate3d(0,100%,0);}
+    100%{ -webkit-transform: translate3d(0,0,0);}
+}
+@-webkit-keyframes p-scroll-out {
+    0%{ -webkit-transform: translate3d(0,0,0);}
+    100%{ -webkit-transform: translate3d(0,100%,0);}
+}
+@-webkit-keyframes p-scroll-fade-in {
+    0%{ opacity: 0;}
+    100%{ opacity: 1;}
+}
+@-webkit-keyframes p-scroll-fade-out {
+    0%{ opacity: 1;}
+    100%{ opacity: 0;}
+}
+.p-select-head{
+    position: relative;
+    height: 45px;
+    line-height: 45px;
+    display: -webkit-flex;
+    -webkit-align-items: center;
+    -webkit-justify-content: space-between;
+    background: #f2f2f2;
+    z-index: 5;
+}
+.p-select-head:before{
+    content: "";
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    width: 100%;
+    height: 1px;
+    -webkit-transform: scaleY(.5);
+    background-color: #d5d5d6;
+}
+.p-select-title{
+    -webkit-flex: 1;
+    font-size: 18px;
+    color: #333;
+    text-align: center;
+}
+.p-select-head a{
+    display: block;
+    padding: 0 15px;
+    height: 45px;
+    line-height: 45px;
+    font-size: 15px;
+    text-decoration: none;
+    color: #007aff;
+}
+.p-select-foot{
+    position: relative;
+    display: -webkit-flex;
+    -webkit-align-items: center;
+    background-color: #fff;
+}
+.p-select-foot:before{
+    content: "";
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 1px;
+    background-color: #d5d5d6;
+    -webkit-transform: scaleY(0.5);
+}
+.p-select-foot a{
+    position: relative;
+    display: block;
+    height: 45px;
+    line-height: 45px;
+    font-size: 18px;
+    text-decoration: none;
+    color: #007aff;
+    -webkit-flex: 1;
+    text-align: center;
+}
+.p-select-foot a:before{
+    content: "";
+    position: absolute;
+    top: 0;
+    right: 0;
+    height: 100%;
+    width: 1px;
+    background-color: #d5d5d6;
+    -webkit-transform: scaleX(0.5);
+}
+.p-select-foot a:last-child:before{
+    display: none;
+}
+.p-select-body{
+    position: relative;
+    margin: 20px auto;
+    width: 100%;
+    display: -webkit-flex;
+    -webkit-align-items: center;
+    -webkit-justify-content: center;
+    overflow: hidden;
+    box-sizing: border-box;
+}
+.p-select-body ul{
+    list-style-type: none;
+}
+.p-select-item {
+    position: relative;
+    display: -webkit-flex;
+    -webkit-align-items: center;
+    height: 170px;
+    text-align: center;
+    /* overflow: hidden; */
+}
+.p-select-col{
+    height: 100%;
+    position: relative;
+}
+.p-select-ul {
+    margin: 0;
+    padding: 0;
+    position: relative;
+}
+.p-select-list,
+.p-select-wheel,
+.p-select-line{
+    position: absolute;
+    top: 50%;
+    left: 0;
+    right: 0;
+    height: 34px;
+    margin-top: -17px;
+    box-sizing: border-box;
+    -webkit-transition: all .3s;
+}
+.p-select-wheel {
+    padding: 0;
+    -webkit-transform-style: preserve-3d;
+    height: 34px;
+    z-index: 1;
+
+}
+.p-select-list{
+    position: relative;
+    top: 68px;
+    margin-top: 0;
+    z-index: 45;
+}
+.p-select-line {
+    height: 34px;
+    z-index: 100;
+    pointer-events: none;
+    box-sizing: border-box;
+}
+.p-select-line:before,
+.p-select-line:after{
+    content: "";
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    height: 1px;
+    -webkit-transform: scaleY(.5);
+    background: #f3f3f3;
+}
+.p-select-line:after{
+    top: auto;
+    bottom: 0;
+}
+.p-select-label{
+    margin: 0 -5px;
+    min-width: 10px;
+    display: -webkit-flex;
+    -webkit-align-items: center;
+    -webkit-justify-content: center;
+    box-sizing: border-box;
+    white-space: nowrap;
+    z-index: 100;
+    color: #666;
+}
+.p-select-label span{
+    display: block;
+    position: relative;
+    top: -3px;
+    font-size: 22px;
+    font-weight: normal;
+    text-align: center;
+    z-index: 50;
+}
+
+.p-select-ul>li,
+.p-select-wheel>li{
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    width: 100%;
+    padding: 0 10px;
+    line-height: 34px;
+    font-size: 15px;
+    box-sizing: border-box;
+    cursor: pointer;
+    -webkit-user-select: none;
+    text-align: center;
+}
+.p-select-ul>li{
+    color: #666;
+    font-size: 18px;
+}
+.p-select-wheel>li {
+    -webkit-backface-visibility: hidden;
+    position: absolute;
+    top: 0;
+    color: #999;
+}
+.p-select-wheel>li:active{
+    /* opacity: .7;*/
+}
+.p-select-wheel>li.visible{
+    display: list-item;
+}
+.p-select-time-split-1{
+    position: relative;
+    top: 0;
+    right: 0;
+    bottom: 15px;
+    margin: 0 15px;
+    width: 1px;
+    height: 160px;
+    -webkit-transform: scaleX(.7) translateZ(200px);
+    background: -webkit-linear-gradient(90deg,#fff,#ccc 15%,#ccc 85%,#fff);
+}
+
+/*is3d*/
+.p-select-wrap.p-3d .p-select-body{
+    -webkit-perspective: 1200;
+}
+.p-select-wrap.p-3d .p-select-list{
+    height: 34px;
+    overflow:hidden;
+    background-color: #fff;
+}
+.p-select-wrap.p-3d .p-select-ul>li,
+.p-select-wrap.p-3d .p-select-label{
+    color: #2a2b2c;
+}
+.p-select-wrap.p-3d .p-select-body:before{
+    content: "";
+    position: absolute;
+    top: -15px;
+    bottom: -15px;
+    left: 0;
+    right: 0;
+    background: -webkit-linear-gradient(#fff,rgba(255,255,255,0) 52%,rgba(2555,255,255,0) 48%,#fff);
+    pointer-events: none;
+    -webkit-transform: translate3d(0,0,120px);
+    z-index: 5;
+}
+.p-select-wrap.p-3d .p-select-line:before{
+    top: 1px;
+}
+.p-select-wrap.p-3d .p-select-line:after{
+    bottom: 1px;
+}
+
+
+.p-select-wrap.dark .p-select-main,
+.p-select-wrap.dark .p-select-body{
+    background-color: #080808;
+}
+.p-select-wrap.dark .p-select-body:before{
+    background: -webkit-linear-gradient(#080808,rgba(8,8,8,0) 52%,rgba(8,8,8,0) 48%,#080808);
+}
+.p-select-wrap.dark .p-select-head{
+    background-color: #1c1c1c;
+    border-bottom: none;
+}
+.p-select-wrap.dark .p-select-head:before{
+    background-color: transparent;
+}
+.p-select-wrap.dark .p-select-head a{
+    color: #ff8400;
+}
+.p-select-wrap.dark .p-select-list,
+.p-select-wrap.dark .p-select-ul>li,
+.p-select-wrap.dark .p-select-wheel>li{
+    background-color: #080808;
+}
+.p-select-wrap.dark .p-select-line:before,
+.p-select-wrap.dark .p-select-line:after{
+    background-color: #444;
+}
+.p-select-wrap.dark .p-select-time-split-1{
+    background: -webkit-linear-gradient(90deg,transparent,#333 15%,#333 85%,transparent);
+}
+.p-select-wrap.dark .p-select-title,
+.p-select-wrap.dark .p-select-label,
+.p-select-wrap.dark .p-select-ul>li{
+    color: #fff;
+}
+.p-select-wrap.dark .p-select-foot{
+    border-top: none;
+    background-color: #444;
+}
+.p-select-wrap.dark .p-select-foot a{
+    color: #ff8400;
+}
+.p-select-wrap.dark .p-select-foot:before,
+.p-select-wrap.dark .p-select-foot a:before{
+    background-color: #444;
+}
+
+/*center*/
+.p-center{
+    position: relative;
+    top: auto;
+    left: auto;
+    -webkit-transform: none;
+    width: auto;
+}
+.p-center .p-select-head{
+    background-color: #f2f2f2;
+}
+.p-center .p-select-body{
+    min-width: 300px;
+    padding: 0 25px;
+    box-sizing: border-box;
+    background-color: #fff;
+}
+.p-center .p-select-body:before{
+    background: -webkit-linear-gradient(#f7f7f7,rgba(245,245,245,0) 52%,rgba(245,245,245,0) 48%,#f7f7f7);
+}
+.p-center .p-select-main{
+    position: relative;
+    margin: auto;
+    bottom: auto;
+    max-width: 400px;
+    border-radius: 10px;
+    overflow: hidden;
+    -webkit-animation: p-scroll-fade-in .3s ease both;
+}
+.p-scroll.hide .p-center .p-select-main{
+    -webkit-animation: p-scroll-fade-out .3s ease both;
+}
+.p-center .p-select-line{
+    border-color: #ccc;
+}
+.p-center .p-select-list{
+    background-color: #fff;
+}
+
+
+/*center dark*/
+.p-center.dark .p-select-wrap.dark{
+    border: none;
+}
+.p-center.dark .p-select-head{
+    background-color: #000;
+}
+.p-center.dark .p-select-head:before{
+    background-color: #444;
+}
+.p-center.dark .p-select-foot{
+    background-color: #000;
+}

+ 881 - 0
css/projeck.css

@@ -0,0 +1,881 @@
+button,
+input {
+  outline: none;
+}
+.api_layout {
+  width: 100%;
+  position: relative;
+}
+.hide {
+  display: none;
+}
+.show {
+  display: block;
+}
+.age_list a {
+  display: block;
+}
+.api_swiper_wrap {
+  width: 100%;
+  padding: 10px 15px  0 15px ;
+}
+.api_swiper_wrap .swiper-pagination-fraction {
+  width: 15%;
+  left: inherit;
+  right: 10px;
+  bottom: 6px;
+  color: #fff;
+  z-index: 1001;
+}
+.age_list img {
+  width: 100%;
+  height: 185px;
+  display: block;
+  object-fit: cover;
+}
+.api_duty {
+  border-bottom: 1px solid #ebebeb;
+}
+.api_title {
+  font-size: 18px;
+  margin: 15px  0 0 0;
+  padding: 0 20px 0 55px;
+  position: relative;
+  color: #121212;
+}
+.api_title .News_icon {
+  width: 25px;
+  height: 25px;
+  position: absolute;
+  top: 0;
+  left: 20px;
+  background: url("../image/newsIcon.png") no-repeat;
+  background-size: cover;
+}
+.api_title img {
+  height: 25px;
+  position: absolute;
+  top: 0;
+  left: 20px;
+}
+.api_list {
+  font-size: 15px;
+  color: #6c6f74;
+  padding: 0 20px;
+  margin-bottom: 13px;
+}
+.api_list li {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: normal;
+}
+.api_more {
+  font-size: 14px;
+  color: #6c6f74;
+  position: absolute;
+  top: 3px;
+  right: 20px;
+  font-weight: normal;
+}
+.api_newsList {
+  position: relative;
+  margin-top: 3px;
+  padding: 0 20px;
+  font-size: 16px;
+}
+.api_newsList li {
+  display: flex;
+  justify-content: flex-start;
+  display: -webkit-flex;
+  -webkit-justify-content: flex-start;
+  align-items: center;
+  padding: 10px 0;
+  position: relative;
+}
+.api_newsList li:after {
+  content: '';
+  display: table;
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 1px;
+  background: #f5f7f8;
+}
+.api_newsList li p {
+  color: #121212;
+  font-size: 14px;
+}
+.api_newsList li img {
+  width: 90px;
+  height: 50px;
+  margin-right: 11px;
+  object-fit: cover;
+}
+.api_news_content {
+  padding-right: 20px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.api_newsList_item {
+  position: relative;
+  height: 34px;
+  line-height: 34px;
+  border-bottom: 1px solid #ebebeb;
+  font-size: 13px;
+}
+.api_news_more {
+  position: absolute;
+  top: 12px;
+  right: 0;
+  width: 10px;
+  height: 10px;
+  background: url("../image/more.png") no-repeat;
+  background-size: cover;
+}
+.api_line {
+  background: #ecf0f1;
+  height: 2px;
+}
+.api_h2 {
+  text-align: center;
+  color: #9b9b9b;
+  font-weight: normal;
+  margin-top: 13px;
+  font-size: 16px;
+}
+.api_office {
+  border-bottom: 1px solid #ebebeb;
+}
+.api_office:last-child {
+  padding-bottom: 30px;
+}
+.api_row {
+  width: 100%;
+  padding: 0 20px;
+  display: flex;
+  display: -webkit-flex;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+  flex-wrap: nowrap;
+  -webkit-flex-wrap: nowrap;
+}
+.api_col {
+  font-size: 12px;
+  display: inline-block;
+  height: 42px;
+  line-height: 42px;
+  text-align: center;
+  color: #009fe8;
+  border: 1px solid #009fe8;
+  border-radius: 10px;
+  width: 24%;
+}
+#api_grid img {
+  width: 45px;
+  height: 45px;
+  position: relative;
+  margin: auto;
+  margin-bottom: 10px;
+}
+.api_page span {
+  color: #fff !important;
+}
+.api_page_text {
+  position: absolute;
+  width: 100%;
+  bottom: 6px;
+  left: 0;
+  z-index: 1000;
+}
+.api_banner_info {
+  font-size: 14px;
+  width: 75%;
+  height: 24px;
+  padding-left: 5px;
+  line-height: 24px;
+  color: #fff;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.header-login {
+  width: 100%;
+  height: 50px !important;
+  background-color: #009fe8;
+  text-align: center;
+  position: relative;
+}
+.backBtn {
+  position: absolute;
+  height: 30px;
+  left: 0;
+  margin-top: 10px;
+  margin-left: 15px;
+  z-index: 1000;
+}
+.api_text {
+  height: 50px;
+  line-height: 50px;
+  margin: 0;
+  font-size: 18px;
+  color: #fff;
+  width: 70%;
+  margin: auto;
+}
+.api_title_text {
+  height: 45px;
+  line-height: 45px;
+  width: 100%;
+  box-sizing: border-box;
+  color: #afb6c3;
+  font-size: 13px;
+  background: #f3f6fa;
+  padding-left: 15px;
+}
+.api_mail_items {
+  width: 100%;
+  box-sizing: border-box;
+  padding: 18px 24px 0 24px;
+  display: flex;
+  display: -webkit-flex;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+  flex-wrap: wrap;
+}
+.api_mail_items .api_mail_item {
+  box-sizing: border-box;
+  border: 1px solid #ebebeb;
+  width: 145px;
+  padding: 15px 3px 10px 18px;
+  border-radius: 5px;
+  margin-bottom: 25px;
+  position: relative;
+}
+.api_mail_items .api_mail_item .api_mail_logo {
+  width: 50px;
+  height: 50px;
+  margin-bottom: 6px;
+  border-radius: 50%;
+}
+.api_mail_items .api_mail_item .api_more01 {
+  position: absolute;
+  top: 3px;
+  right: 3px;
+  width: 22px;
+  height: 30px;
+}
+.api_mail_items .api_mail_item p {
+  margin-bottom: 15px;
+  font-size: 12px;
+}
+.api_mail_items .api_mail_item p span {
+  font-size: 12px;
+  color: #97a3b4;
+}
+.api_mail_items .api_mail_item .api_mail_details {
+  font-size: 12px;
+  color: #009fe8;
+}
+.api_personal_header {
+  background: #009fe8;
+  width: 100%;
+  text-align: center;
+  padding: 20px 0;
+  border-top: 1px solid #37b0e9;
+}
+.api_personal_header .api_header_img {
+  width: 100px;
+  height: 100px;
+  border-radius: 50%;
+  margin: auto;
+  background: url("") no-repeat;
+  background-size: cover;
+}
+.api_personal_header p {
+  margin-bottom: 13px;
+  color: #fff;
+  font-size: 18px;
+}
+.api_personal_header .api_personal_name {
+  font-weight: bold;
+  font-size: 20px;
+}
+.api_personal_header .api_dep {
+  font-size: 14px;
+}
+.api_personal_header .api_personal_more {
+  height: 31px;
+  line-height: 31px;
+  background: #ecf0f1;
+  color: #2c3e50;
+  font-size: 12px;
+  border-radius: 25px;
+}
+.api_phoneBind {
+  width: 100%;
+  height: 38px;
+  line-height: 38px;
+  box-sizing: border-box;
+  position: relative;
+  color: #7f8c8d;
+  padding-left: 37px;
+  font-size: 12px;
+}
+.api_phoneBind img {
+  width: 17px;
+  height: 17px;
+  position: absolute;
+  top: 10px;
+  left: 15px;
+}
+.api_function .ico {
+  height: 35px;
+  display: inline-block;
+}
+.api_function .api_icon1 {
+  background: url("../image/news.png") no-repeat;
+  background-size: cover;
+  width: 39px;
+}
+.api_function .api_icon2 {
+  background: url("../image/collection.png") no-repeat;
+  background-size: cover;
+  width: 35px;
+  height: 35px;
+}
+.api_function .api_icon3 {
+  background: url("../image/explain.png") no-repeat;
+  background-size: cover;
+  width: 30px;
+}
+.api_function_items .api_function_item {
+  height: 40px;
+  line-height: 40px;
+  padding-left: 41px;
+  color: #000;
+  font-size: 15px;
+  position: relative;
+  border-bottom: 1px solid #ebebeb;
+}
+.api_function_items img {
+  position: absolute;
+  top: 21px;
+  width: 18px;
+  height: 18px;
+}
+.api_function_items .api_pass_img {
+  left: 15px;
+}
+.api_function_items .api_more_img {
+  right: 20px;
+}
+.api_forget_phone {
+  padding: 15px 20px;
+}
+.api_forget_phone .api_phone {
+  width: 100%;
+  height: 49px;
+  margin-bottom: 14px;
+  box-sizing: border-box;
+  display: flex;
+  display: -webkit-flex;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+  flex-wrap: nowrap;
+}
+.api_forget_phone input::-webkit-input-placeholder {
+  font-size: 14px;
+  position: relative;
+}
+.api_forget_phone input {
+  background-color: #fff;
+  -webkit-tap-highlight-color: rgba(255, 0, 0, 0);
+  outline: none;
+  box-shadow: none;
+  border-radius: 0;
+  padding-left: 22px;
+  border: none;
+  width: 100%;
+  height: 100%;
+  box-sizing: border-box;
+  font-size: 14px;
+}
+.api_forget_phone .api_vali {
+  width: 180px;
+}
+.api_forget_phone .api_btn_vali {
+  display: inline-block;
+  width: 107px;
+  line-height: 49px;
+  text-align: center;
+  background: #009fe8;
+  border: none;
+  font-size: 14px;
+  color: #fff;
+}
+.api_forget_phone .api_bnt {
+  width: 100%;
+  height: 49px;
+  line-height: 49px;
+  background: #009fe8;
+  color: #fff;
+  text-align: center;
+  font-size: 14px;
+}
+.api_nav {
+  width: 100%;
+  height: 49px;
+  background: #fff;
+  box-sizing: border-box;
+  display: block;
+}
+.header-nav {
+  box-sizing: border-box;
+}
+.header-nav-items {
+  list-style: none;
+  padding: 0;
+  margin: 0;
+  height: 100%;
+  width: 100%;
+  transition: all 1s;
+  box-sizing: border-box;
+  overflow: hidden;
+  position: relative;
+}
+.header-nav-items :after {
+  content: "";
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 1px;
+  background: #ebebeb;
+}
+.header-nav-items li {
+  position: relative;
+  font-size: 17px;
+  line-height: 49px;
+  padding: 0 16px;
+  white-space: nowrap;
+  text-align: center;
+}
+.header-nav-items .active::after {
+  position: absolute;
+  content: "";
+  display: block;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 2.5px;
+  background: #009fe8;
+}
+.header_img {
+  width: 50px;
+  height: 50px;
+  background: url("") no-repeat;
+  background-size: cover;
+  border-radius: 50%;
+}
+.api_lists {
+  background-image: none;
+}
+.api_lists span {
+  color: #bdc3c7;
+}
+.api_lists .api_bind_img {
+  width: 17px;
+  height: 17px;
+  background: url("../image/bind.png") no-repeat;
+  background-size: cover;
+  position: absolute;
+  top: 10px;
+  right: 15px;
+}
+.api_bottom {
+  padding: 15px 0;
+  text-align: center;
+  background: #f2f2f2;
+  color: #bdc3c7;
+}
+.api_layout .aui-list .aui-list-item {
+  height: 42px;
+  min-height: 42px;
+}
+.api_layout .aui-list .aui-list-item-inner {
+  height: 42px;
+  line-height: 42px;
+  min-height: 42px;
+  font-size: 14px;
+}
+.api_layout .aui-list .aui-list-item-title {
+  font-size: 14px;
+}
+.api_leader_wrap {
+  padding: 15px;
+  border-bottom: 1px solid #ebebeb;
+}
+.api_leader_wrap .api_title_or {
+  color: #bdc3c7;
+  font-size: 16px;
+}
+.api_leader_wrap .api_leader_content {
+  width: 100%;
+  border-radius: 10px;
+  padding: 33px 30px 23px 30px;
+  box-sizing: border-box;
+  border: 1px solid #ebebeb;
+  margin-top: 20px;
+  color: #002257;
+}
+.api_leader_wrap .api_leader_content h1 {
+  margin-bottom: 30px;
+  font-size: 22px;
+}
+.api_leader_wrap .api_leader_content p {
+  font-size: 14px;
+  margin-bottom: 18px;
+}
+.api_leader_wrap .api_leader_content .api_leader_head {
+  width: 50px;
+  height: 50px;
+  border-radius: 50%;
+  object-fit: cover;
+  margin: auto;
+  margin-bottom: 5px;
+}
+.api_leader_wrap1 {
+  padding: 20px 18px 10px 18px;
+}
+.api_leader_wrap1 h1 {
+  color: #002257;
+  font-size: 22px;
+  margin-bottom: 20px;
+}
+.api_leader_wrap1 .api_leader_item1 li {
+  margin-bottom: 20px;
+  font-size: 15px;
+}
+.api_leader_wrap1 .api_leader_item1 li span {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  color: #bdc3c7;
+}
+.api_leader_wrap1 .api_leader_item1 li p {
+  color: #002257;
+}
+.api_news_item {
+  padding: 10px;
+}
+.api_news_item li {
+  padding: 15px 0 15px 10px;
+  display: flex;
+  justify-content: flex-start;
+  flex-wrap: nowrap;
+  display: -webkit-flex;
+  -webkit-justify-content: flex-start;
+  -webkit-flex-wrap: nowrap;
+  align-items: center;
+  -webkit-align-items: center;
+  position: relative;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  box-shadow: 0 2px 4px 0 #a6a6a6;
+  border-radius: 5px;
+  margin-bottom: 10px;
+}
+.api_news_item li .api_date {
+  position: absolute;
+  bottom: 15px;
+  right: 20px;
+  font-size: 11px;
+  color: #bdc3c7;
+}
+.api_news_item li .api_news_num {
+  position: absolute;
+  color: #fff;
+  background-color: #ff0037;
+  width: 20px;
+  height: 20px;
+  line-height: 2.2;
+  text-align: center;
+  border-radius: 50%;
+  font-size: 10px;
+  top: 15px;
+  right: 20px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.api_news_item li .api_ceil {
+  width: 10px;
+  height: 100%;
+  background-color: #009fe8;
+  position: absolute;
+  top: 0;
+  right: 0;
+  border-top-right-radius: 5px;
+  border-bottom-right-radius: 5px;
+}
+.api_news_item li:last-child {
+  margin-bottom: 0;
+}
+.api_news_item .api_titles {
+  width: 60%;
+  padding-left: 10px;
+}
+.api_news_item .api_titles .api_news_title {
+  font-size: 15px;
+  margin-bottom: 8px;
+  font-weight: bold;
+}
+.api_news_item .api_titles p {
+  font-size: 14px;
+  color: #bdc3c7;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.api_news_item .api_titles .api_ico {
+  display: inline-block;
+  width: 15px;
+  height: 15px;
+  background: url("../image/icons.png") no-repeat;
+  background-size: cover;
+  position: relative;
+  top: 2px;
+}
+.api_news_item .news_img {
+  width: 45px;
+  height: 45px;
+  background: url("../image/news_img.png") no-repeat;
+  background-size: cover;
+}
+@media screen and (max-width: 320px) {
+  .api_mail_items .api_mail_item {
+    width: 130px;
+  }
+  .api_forget_phone .api_vali {
+    width: 160px;
+  }
+  .api_forget_phone .api_btn_vali {
+    width: 100px;
+  }
+  .api_news_item .api_titles {
+    width: 50%;
+  }
+}
+@media screen and (min-width: 414px) {
+  .api_mail_items .api_mail_item {
+    width: 170px;
+  }
+}
+@media screen and (min-width: 411px) {
+  .api_mail_items .api_mail_item {
+    width: 170px;
+  }
+}
+@media (min-width: 380px) and (max-width: 400px) {
+  .api_mail_items .api_mail_item {
+    width: 160px;
+  }
+}
+/*搜索条*/
+.aui-searchbar {
+  display: -webkit-box;
+  -webkit-box-pack: center;
+  -webkit-box-align: center;
+  height: 2.2rem;
+  overflow: hidden;
+  width: 100%;
+  background-color: #ebeced;
+  color: #9e9e9e;
+  -webkit-backface-visibility: hidden;
+  backface-visibility: hidden;
+}
+.aui-searchbar.focus {
+  -webkit-box-pack: start;
+}
+.aui-searchbar-input {
+  margin: 0 0.5rem;
+  background-color: rgba(255, 255, 255, 0.3);
+  border-radius: 50px;
+  height: 31px;
+  line-height: 31px;
+  font-size: 0.7rem;
+  position: relative;
+  padding-left: 10px;
+  display: -webkit-box;
+  -webkit-box-flex: 1;
+}
+.aui-searchbar form {
+  width: 95%;
+}
+.aui-searchbar-input input {
+  color: #666666;
+  width: 87%;
+  padding: 0;
+  margin: 0;
+  height: 31px;
+  line-height: 32px;
+  border: 0;
+  -webkit-appearance: none;
+  font-size: 0.7rem;
+  margin-left: 33px;
+  color: #fff;
+}
+.aui-searchbar input::-webkit-input-placeholder {
+  color: #ccc;
+}
+.aui-searchbar .aui-iconfont {
+  line-height: 1.4rem;
+  margin-right: 0.25rem;
+  color: #9e9e9e !important;
+}
+.aui-searchbar .aui-searchbar-btn {
+  font-size: 0.7rem;
+  color: #666666;
+  margin-right: -2.2rem;
+  width: 2.2rem;
+  height: 1.4rem;
+  padding-right: 0;
+  line-height: 1.4rem;
+  text-align: center;
+  -webkit-transition: all .3s;
+  transition: all .3s;
+}
+.aui-searchbar-clear-btn {
+  position: absolute;
+  right: 5px;
+  top: 3px;
+  width: 1.1rem;
+  height: 1.1rem;
+  background: #eeeeee;
+  border-radius: 50%;
+  line-height: 0.6rem;
+  text-align: center;
+  display: none;
+}
+.aui-searchbar-clear-btn .aui-iconfont {
+  font-size: 0.6rem;
+  margin: 0 auto;
+  position: relative;
+  top: -2px;
+}
+.aui-searchbar .aui-searchbar-btn .aui-iconfont {
+  color: #666666;
+}
+.aui-icon-search:before {
+  content: "\e6e6";
+}
+.aui-iconfont {
+  position: relative;
+  font-family: "aui_iconfont" !important;
+  font-size: 0.7rem;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+.duty {
+  padding: 6px 22px 0 22px;
+}
+.duty .duty_title {
+  font-size: 18px;
+  color: #fff;
+  padding-left: 34px;
+  position: relative;
+  margin-bottom: 6px;
+}
+.duty .duty_icon {
+  background: url("../image/gonggao.png") no-repeat;
+  display: block;
+  width: 22px;
+  height: 22px;
+  background-size: cover;
+  position: absolute;
+  left: 0;
+  top: 1px;
+}
+.duty .duty_content {
+  font-size: 14px;
+  color: #fff;
+}
+.item {
+  margin-bottom: 20px;
+}
+.flex-space {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: space-between;
+  -webkit-justify-content: space-between;
+  flex-wrap: nowrap;
+  -webkit-flex-wrap: nowrap;
+  align-items: center;
+}
+.flex-start {
+  display: -webkit-flex;
+  display: flex;
+  justify-content: flex-start;
+  -webkit-justify-content: flex-start;
+  flex-wrap: nowrap;
+  -webkit-flex-wrap: nowrap;
+  align-items: center;
+}
+.after-border:after {
+  content: '';
+  display: block;
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  background: #ebeef3;
+  right: 0;
+  height: 1px;
+}
+.relative {
+  position: relative;
+}
+.noText {
+  width: 91px;
+  height: 134px;
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  margin: auto;
+}
+.noText img {
+  width: 100%;
+}
+#tips {
+  position: absolute;
+  top: 0;
+  left: 0;
+  background: #fff;
+  width: 100%;
+  height: 100%;
+}
+#tips p {
+  width: 200px;
+  height: 150px;
+  line-height: 30px;
+  text-align: center;
+  position: absolute;
+  top: 0;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  margin: auto;
+  color: #ccc;
+}
+#tips i {
+  width: 100px;
+  height: 100px;
+  display: block;
+  background: url("../image/error.png") no-repeat;
+  background-size: contain;
+  margin: auto;
+}

+ 916 - 0
css/projeck.less

@@ -0,0 +1,916 @@
+@bjheader:#009fe8;
+@border:#ebebeb;
+@textColor:#bdc3c7;
+  button,input{
+    outline: none;
+  }
+.api_layout{
+  width: 100%;
+  position: relative;
+}
+.hide{
+  display: none;
+}
+.show{
+  display: block;
+}
+.age_list a{
+  display: block;
+}
+.api_swiper_wrap{
+  width: 100%;
+  padding: 10px 15px  0 15px ;
+}
+.api_swiper_wrap .swiper-pagination-fraction {
+  width: 15%;
+  left: inherit;
+  right: 10px;
+  bottom: 6px;
+  color: #fff;
+  z-index: 1001
+}
+.age_list img{
+  width: 100%;
+  height: 185px;
+  display: block;
+  object-fit: cover;
+}
+//值班
+.api_duty{
+  border-bottom: 1px solid #ebebeb;
+}
+.api_title{
+  font-size: 18px;
+  margin: 15px  0 0 0;
+  padding: 0 20px 0 55px;
+  position: relative;
+  color: #121212;
+  .News_icon{
+    width: 25px;
+    height: 25px;
+    position: absolute;
+    top: 0;
+    left: 20px;
+    background: url("../image/newsIcon.png") no-repeat;
+    background-size: cover;
+  }
+  img{
+    height: 25px;
+    position: absolute;
+    top: 0;
+    left: 20px;
+  }
+}
+.api_list{
+  font-size: 15px;
+  color: #6c6f74;
+  padding: 0 20px;
+  margin-bottom:  13px;
+}
+.api_list li{
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: normal;
+}
+.api_more{
+  font-size: 14px;
+  color: #6c6f74;
+  position: absolute;
+  top:3px;
+  right: 20px;
+  font-weight: normal;
+}
+.api_news{
+  // margin-bottom: 26px;
+}
+.api_newsList{
+  position: relative;
+  margin-top: 3px;
+  padding: 0 20px;
+  font-size: 16px;
+  li{
+    display: flex;
+    justify-content: flex-start;
+    display: -webkit-flex;
+    -webkit-justify-content: flex-start;
+    align-items: center;
+    padding: 10px 0;
+    position: relative;
+    &:after{
+      content: '';
+      display:table;
+      position: absolute;
+      bottom: 0;
+      left: 0;
+      width: 100%;
+      height: 1px;
+      background: #f5f7f8;
+    }
+    p{
+      color: #121212;
+      font-size: 14px;
+    }
+    img{
+      width: 90px;
+      height: 50px;
+      margin-right: 11px;
+      object-fit: cover;
+    }
+  }
+}
+.api_news_content{
+  padding-right: 20px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.api_newsList_item{
+  position: relative;
+  height: 34px;
+  line-height: 34px;
+  border-bottom: 1px solid #ebebeb;
+  font-size: 13px;
+}
+.api_news_more{
+  position: absolute;
+  top: 12px;
+  right: 0;
+  width: 10px;
+  height: 10px;
+  background: url("../image/more.png") no-repeat;
+  background-size: cover;
+}
+.api_line{
+  background: #ecf0f1;
+  height: 2px;
+}
+.api_h2{
+  text-align: center;color: #9b9b9b;font-weight: normal;
+  margin-top: 13px;
+  font-size: 16px;
+}
+.api_office{
+  border-bottom: 1px solid #ebebeb;
+  &:last-child{
+    padding-bottom: 30px;
+  }
+}
+.api_row{
+  width: 100%;
+  padding: 0 20px;
+  display: flex;
+  display: -webkit-flex;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+  flex-wrap: nowrap;
+  -webkit-flex-wrap: nowrap;
+}
+.api_col{
+  font-size: 12px;
+  display: inline-block;
+  height: 42px;
+  line-height: 42px;
+  text-align: center; color: #009fe8;
+  border:1px solid #009fe8;
+  border-radius: 10px;
+  width: 24%;
+}
+#api_grid img{
+  width: 45px;
+  height: 45px;
+  position: relative;
+  margin: auto;
+  margin-bottom: 10px;
+}
+.api_page span{
+  color: #fff !important;
+}
+.api_page_text{
+  position: absolute;
+  width: 100%;
+  bottom: 6px;
+  left: 0;
+  z-index: 1000;
+}
+.api_banner_info{
+  font-size: 14px;
+  width: 75%;
+  height: 24px;
+  padding-left: 5px;
+  line-height: 24px;
+  color: #fff;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+// header
+.header-login{
+  width: 100%;
+  height: 50px !important;
+  background-color: #009fe8;
+  text-align: center;
+  position: relative;
+}
+.backBtn{
+  position: absolute;
+  height: 30px;
+  left: 0;
+  margin-top: 10px;
+  margin-left: 15px;
+  z-index: 1000;
+}
+.api_text{
+  height: 50px;
+  line-height: 50px;
+  margin: 0;
+  font-size: 18px;
+  color: #fff;
+  width: 70%;
+  margin: auto;
+}
+// 通讯录
+.api_title_text{
+  height: 45px;
+  line-height: 45px;
+  width: 100%;
+  box-sizing: border-box;
+  color: #afb6c3;font-size: 13px;background: #f3f6fa;
+  padding-left: 15px;
+}
+.api_mail_items{
+  width: 100%;
+  box-sizing: border-box;
+  padding: 18px 24px 0 24px;
+  display: flex;
+  display: -webkit-flex;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+  flex-wrap: wrap;
+  .api_mail_item{
+    box-sizing: border-box;
+    border: 1px solid @border;
+    width: 145px;
+    padding: 15px 3px 10px 18px;
+    border-radius: 5px;
+    margin-bottom: 25px;
+    position: relative;
+    .api_mail_logo{
+      width: 50px;
+      height: 50px;
+      margin-bottom: 6px;
+      border-radius: 50%;
+    }
+    .api_more01{
+      position: absolute;
+      top: 3px;
+      right: 3px;
+      width: 22px;
+      height: 30px;
+    }
+    p{
+      margin-bottom: 15px;
+      font-size: 12px;
+      span{
+        font-size: 12px;
+        color: #97a3b4;
+      }
+    }
+    .api_mail_details{
+      font-size: 12px;
+      color: @bjheader;
+
+    }
+  }
+}
+// 个人中心
+.api_personal_header{
+  background: @bjheader;
+  width: 100%;
+  text-align: center;
+  padding: 20px 0;
+  border-top: 1px solid #37b0e9;
+  .api_header_img{
+    width: 100px;
+    height: 100px;
+    border-radius: 50%;
+    margin: auto;
+    background: url("") no-repeat;
+    background-size: cover;
+  }
+  p{
+    margin-bottom: 13px;
+    color: #fff;
+    font-size: 18px;
+  }
+  .api_personal_name{
+    font-weight: bold;
+    font-size: 20px;
+  }
+  .api_dep{
+    font-size: 14px;
+  }
+  .api_personal_more{
+    height: 31px;
+    line-height: 31px;
+    background: #ecf0f1;
+    color: #2c3e50;
+    font-size: 12px;
+    border-radius: 25px;
+  }
+}
+.api_phoneBind{
+  width: 100%;
+  height: 38px;
+  line-height: 38px;
+  box-sizing: border-box;
+  position: relative;
+  color: #7f8c8d;
+  padding-left: 37px;
+  font-size: 12px;
+  img{
+    width: 17px;
+    height: 17px;
+    position: absolute;
+    top: 10px;
+    left:15px;
+  }
+}
+.api_function{
+  .ico{
+    height: 35px;
+    display: inline-block;
+  }
+  .api_icon1{
+    background: url("../image/news.png") no-repeat;
+    background-size:cover;
+    width: 39px;
+  }
+  .api_icon2{
+    background: url("../image/collection.png") no-repeat;
+    background-size:cover;
+    width: 35px;
+    height: 35px;
+  }
+  .api_icon3{
+    background: url("../image/explain.png") no-repeat;
+    background-size:cover;
+    width: 30px;
+  }
+}
+.api_function_items{
+  .api_function_item{
+    height: 40px;
+    line-height: 40px;
+    padding-left: 41px;
+    color: #000;
+    font-size: 15px;
+    position: relative;
+    border-bottom: 1px solid @border;
+  }
+  img{
+    position: absolute;
+    top: 21px;
+    width: 18px;
+    height: 18px;
+  }
+  .api_pass_img{
+    left: 15px;
+  }
+  .api_more_img{
+    right: 20px;
+  }
+}
+// 修改密码
+.api_forget_phone{
+  padding: 15px 20px;
+  .api_phone{
+    width: 100%;
+    height: 49px;
+    margin-bottom: 14px;
+    box-sizing: border-box;
+    display: flex;
+    display: -webkit-flex;
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+    flex-wrap: nowrap;;
+  }
+  input::-webkit-input-placeholder{
+    font-size: 14px;position: relative;
+  }
+  input{
+    background-color: #fff;
+    -webkit-tap-highlight-color: rgba(255, 0, 0, 0);
+    outline:none;
+    box-shadow:none;
+    border-radius: 0;
+    padding-left: 22px;
+    border: none;
+    width: 100%;
+    height: 100%;
+    box-sizing: border-box;
+    font-size: 14px;
+  }
+  .api_vali{
+    width: 180px;
+  }
+  .api_btn_vali{
+    display: inline-block;
+    width: 107px;
+    line-height: 49px;
+    text-align: center;
+    background: @bjheader;
+    border: none;
+    font-size: 14px;
+    color: #fff;
+  }
+  .api_bnt{
+    width: 100%;
+    height: 49px;
+    line-height: 49px;
+    background: @bjheader;
+    color: #fff;
+    text-align: center;
+    font-size: 14px;
+  }
+}
+// 个人资料
+// nav
+.api_nav{
+  width: 100%;
+  height: 49px;
+  // position: absolute;
+  // top: 50px;
+  // left: 0;
+  background: #fff;
+  box-sizing: border-box;
+  display: block;
+}
+.header-nav {
+  box-sizing: border-box;
+}
+.header-nav-items {
+  list-style: none;
+  padding: 0;
+  margin: 0;
+  height: 100%;
+  width: 100%;
+  transition: all 1s;
+  // border: 1px solid @border;
+  box-sizing: border-box;
+  // display: flex;
+  // justify-content: center;
+  // flex-wrap: nowrap;
+  // display: -webkit-flex;
+  // -webkit-justify-content: center;
+  // -webkit-flex-wrap: nowrap;
+  overflow: hidden;
+  position: relative;
+}
+.header-nav-items :after{
+  content: "";
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 1px;
+  background: @border;
+}
+.header-nav-items li {
+  position: relative;
+  font-size: 17px;
+  line-height: 49px;
+  padding: 0 16px;
+  white-space: nowrap;
+  text-align: center;
+}
+.header-nav-items .active::after {
+  position: absolute;
+  content: "";
+  display: block;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 2.5px;
+  background: @bjheader;
+}
+// 基本信息
+.header_img{
+  width: 50px;
+  height: 50px;
+  background: url("") no-repeat;
+  background-size:cover;
+  border-radius: 50%;
+}
+.api_lists{
+  background-image: none;
+  span{
+    color: #bdc3c7;
+  }
+  .api_bind_img{
+    width: 17px;
+    height: 17px;
+    background: url("../image/bind.png") no-repeat;
+    background-size:cover;
+    position: absolute;
+    top: 10px;
+    right:15px;
+  }
+}
+.api_bottom{
+  padding: 15px 0;
+  text-align: center;
+  background: #f2f2f2;
+  color: @textColor;
+}
+.api_layout{
+  .aui-list {
+    .aui-list-item{
+      height: 42px;
+      min-height: 42px;
+    }
+    .aui-list-item-inner{
+      height: 42px;
+      line-height: 42px;
+      min-height: 42px;
+      font-size: 14px;
+    }
+    .aui-list-item-title{
+      font-size: 14px;
+    }
+  }
+}
+// 组织&区队
+.api_leader_wrap{
+  padding: 15px;
+  border-bottom: 1px solid @border;
+  .api_title_or{
+    color: @textColor;
+    font-size: 16px;
+  }
+  .api_leader_content{
+    width: 100%;
+    border-radius: 10px;
+    padding: 33px 30px 23px 30px;
+    box-sizing: border-box;
+    border: 1px solid @border;
+    margin-top: 20px;
+    color: #002257;
+    h1{
+      margin-bottom: 30px;
+      font-size: 22px;
+    }
+    p{
+      font-size: 14px;
+      margin-bottom: 18px;
+    }
+    .api_leader_head{
+      width: 50px;
+      height: 50px;
+      border-radius: 50%;
+      object-fit: cover;
+      margin: auto;
+      margin-bottom: 5px;
+    }
+  }
+}
+.api_leader_wrap1{
+  padding: 20px 18px 10px 18px;
+  h1{
+    color: #002257;
+    font-size: 22px;
+    margin-bottom: 20px;
+  }
+  .api_leader_item1{
+    li{
+      margin-bottom: 20px;
+      font-size: 15px;
+      span{
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+        color: @textColor;
+      }
+      p{
+        color: #002257;
+      }
+    }
+  }
+}
+//消息列表
+.api_news_item{
+  padding: 10px;
+  li{
+    padding: 15px 0 15px 10px;
+    display: flex;
+    justify-content: flex-start;
+    flex-wrap: nowrap;
+    display: -webkit-flex;
+    -webkit-justify-content: flex-start;
+    -webkit-flex-wrap: nowrap;
+    align-items: center;
+    -webkit-align-items: center;
+    position: relative;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    box-shadow: 0 2px 4px 0 #a6a6a6;
+    border-radius: 5px;
+    margin-bottom: 10px;
+    .api_date{
+      position: absolute;
+      bottom: 15px;
+      right: 20px;
+      font-size: 11px;
+      color: #bdc3c7;
+    }
+    .api_news_num{
+      position: absolute;
+      color: #fff;
+      background-color: #ff0037;
+      width: 20px;
+      height: 20px;
+      line-height: 2.2;
+      text-align: center;
+      border-radius: 50%;
+      font-size: 10px;
+      top: 15px;
+      right: 20px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+    }
+    .api_ceil{
+      width: 10px;
+      height: 100%;
+      background-color: #009fe8;
+      position: absolute;
+      top: 0;
+      right: 0;
+      border-top-right-radius: 5px;
+      border-bottom-right-radius: 5px;
+    }
+  }
+  li:last-child{
+    margin-bottom: 0;
+  }
+  .api_titles{
+    width: 60%;
+    padding-left: 10px;
+    .api_news_title{
+      font-size: 15px;
+      margin-bottom: 8px;
+      font-weight: bold;
+    }
+    p{
+      font-size: 14px;
+      color: #bdc3c7;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+    }
+    .api_ico{
+      display: inline-block;
+      width: 15px;
+      height: 15px;
+      background: url("../image/icons.png") no-repeat;
+      background-size: cover;
+      position: relative;
+      top: 2px;
+    }
+  }
+  .news_img{
+    width: 45px;
+    height: 45px;
+    background: url("../image/news_img.png") no-repeat;
+    background-size: cover;
+  }
+}
+@media screen and (max-width: 320px){
+  .api_mail_items .api_mail_item{
+    width: 130px;
+  }
+  .api_forget_phone .api_vali{
+    width: 160px;
+  }
+  .api_forget_phone .api_btn_vali{
+    width: 100px;
+  }
+  .api_news_item{
+    .api_titles{
+      width: 50%;
+    }
+  }
+}
+@media screen and (min-width: 414px){
+  .api_mail_items .api_mail_item{
+    width: 170px;
+  }
+}
+@media screen and (min-width: 411px){
+  .api_mail_items .api_mail_item{
+    width: 170px;
+  }
+}
+@media (min-width: 380px) and (max-width:400px){
+  .api_mail_items .api_mail_item{
+    width: 160px;
+  }
+}
+// aui搜索框
+/*搜索条*/
+.aui-searchbar {
+    display: -webkit-box;
+    -webkit-box-pack: center;
+    -webkit-box-align: center;
+    height: 2.2rem;
+    overflow: hidden;
+    width: 100%;
+    background-color: #ebeced;
+    color: #9e9e9e;
+    -webkit-backface-visibility: hidden;
+  			backface-visibility: hidden;
+}
+.aui-searchbar.focus {
+    -webkit-box-pack: start;
+}
+.aui-searchbar-input {
+    margin: 0 0.5rem;
+	  background-color: rgba(255,255,255,.3);
+    border-radius: 50px;
+    height: 31px;
+    line-height: 31px;
+    font-size: 0.7rem;
+    position: relative;
+    padding-left: 10px;
+    display: -webkit-box;
+    -webkit-box-flex: 1;
+}
+.aui-searchbar form {
+	width: 95%;
+}
+.aui-searchbar-input input {
+    color: #666666;
+    width: 87%;
+    padding: 0;
+    margin: 0;
+    height: 31px;
+    line-height: 32px;
+    border: 0;
+    -webkit-appearance: none;
+    font-size: 0.7rem;
+    margin-left: 33px;
+    color: #fff;
+}
+.aui-searchbar input::-webkit-input-placeholder {
+	color: #ccc;
+}
+.aui-searchbar .aui-iconfont {
+    line-height: 1.4rem;
+    margin-right: 0.25rem;
+    color: #9e9e9e !important;
+}
+.aui-searchbar .aui-searchbar-btn {
+	font-size: 0.7rem;
+	color: #666666;
+	margin-right: -2.2rem;
+	width: 2.2rem;
+	height: 1.4rem;
+	padding-right: 0;
+	line-height: 1.4rem;
+	text-align: center;
+	-webkit-transition: all .3s;
+	      	transition: all .3s;
+}
+.aui-searchbar-clear-btn {
+	position: absolute;
+	right: 5px;
+	top: 3px;
+	width: 1.1rem;
+	height: 1.1rem;
+	background: #eeeeee;
+	border-radius: 50%;
+	line-height: 0.6rem;
+	text-align: center;
+	display: none;
+}
+.aui-searchbar-clear-btn .aui-iconfont {
+	font-size: 0.6rem;
+	margin: 0 auto;
+	position: relative;
+	top: -2px;
+}
+.aui-searchbar .aui-searchbar-btn .aui-iconfont {
+	color: #666666;
+}
+.aui-icon-search:before { content: "\e6e6"; }
+.aui-iconfont {
+  position: relative;
+  font-family:"aui_iconfont" !important;
+  font-size: 0.7rem;
+  font-style:normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+//值班
+.duty{
+  padding: 6px 22px 0 22px;
+  .duty_title{
+    font-size: 18px;
+    color: #fff;
+    padding-left: 34px;
+    position: relative;
+    margin-bottom: 6px;
+
+  }
+  .duty_icon{
+    background: url("../image/gonggao.png") no-repeat;
+    display: block;
+    width: 22px;
+    height: 22px;
+    background-size: cover;
+    position: absolute;
+    left: 0;
+    top: 1px;
+  }
+  .duty_content{
+    font-size: 14px;
+    color: #fff;
+  }
+}
+.item{
+  margin-bottom:20px;
+}
+// 公共
+.flex-space{
+    display: -webkit-flex;
+    display: flex;
+    justify-content: space-between;
+    -webkit-justify-content: space-between;
+    flex-wrap: nowrap;
+    -webkit-flex-wrap: nowrap;
+    align-items: center;
+}
+.flex-start{
+    display: -webkit-flex;
+    display: flex;
+    justify-content: flex-start;
+    -webkit-justify-content: flex-start;
+    flex-wrap: nowrap;
+    -webkit-flex-wrap: nowrap;
+    align-items: center;
+}
+.after-border:after{
+    content: '';
+    display: block;
+    position: absolute;
+    left: 0;  bottom:0;
+    background: #ebeef3;
+    right:0;
+    height: 1px;
+}
+.relative{
+    position: relative;
+}
+// 无内容
+.noText{
+    width: 91px;
+    height: 134px;
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    margin: auto;
+}
+.noText img{
+    width: 100%;
+}
+// tips提示
+#tips{
+  position: absolute;
+  top: 0;
+  left: 0;
+  background:#fff;
+  width: 100%;
+  height: 100%;
+}
+#tips p{
+  width: 200px;
+  height: 150px;
+  line-height: 30px;
+  text-align: center;
+  position: absolute;
+  top: 0;
+  left: 0;
+  bottom: 0;
+  right:0;
+  margin: auto;
+  color: #ccc;
+}
+#tips i{
+  width: 100px;
+  height: 100px;
+  display: block;
+  background:url("../image/error.png") no-repeat;
+  background-size:contain;
+  margin: auto;
+}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1030 - 0
css/select.css


+ 513 - 0
css/style.css

@@ -0,0 +1,513 @@
+html,body {  font-size:14px; height:100%;  }
+.hover{ opacity: .8; }
+.flex-wrap{ display: -webkit-box;	display: -webkit-flex;	display: flex; }
+.flex-con{     -webkit-box-flex: 1;     -webkit-flex: 1;    flex: 1;}
+.flex-vertical{ -webkit-box-orient: vertical;-webkit-flex-flow: column;flex-flow: column;}
+
+.border-t,
+.border-b{ position:relative;  }
+.border-t:before,
+.border-b:after{     content: '';     position: absolute;     left: 0;  top:0;     background: #ddd;   right:0;    height: 0;     -webkit-transform: scaleY(0.5);             transform: scaleY(0.5);     -webkit-transform-origin: 0 0;             transform-origin: 0 0; }
+.border-b:after{ top:auto; bottom:0;  }
+
+#footer:after{     content: '';     position: absolute;     left: 0;  top:0;     background: #ddd;   right:0;    height: 1px;     -webkit-transform: scaleY(0.5);             transform: scaleY(0.5);     -webkit-transform-origin: 0 0;             transform-origin: 0 0; }
+#wrap{ height: 100%; }
+.normal{
+    color: #2c3e50;
+}
+.alarm{
+    color: #e74c3c;
+}
+.sign{
+    color: #27ae60;
+}
+.fault{
+    color: #2873ff;
+}
+.close{
+    color: #2873ff;
+}
+.open{
+
+  color: #27ae60;
+}
+.normalBg{
+    background: #2c3e50;
+}
+.alarmBg{
+    background: #e74c3c;
+}
+.signBg{
+    background: #27ae60;
+}
+.faultBg{
+    background: #2873ff;
+}
+.closeBg{
+    background: #2873ff;
+}
+.openBg{
+background: #27ae60;
+}
+.NoContent{
+    color: #c0c6ca;
+}
+.Nonews{
+    width: 91px;
+    height: 129px;
+    background: url("../image/NOnews.png") no-repeat;
+    background-size: contain;
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    margin: auto;
+    display: none;
+}
+
+/*生产数据图表css*/
+.navs_item{
+    padding: 0 15px;
+}
+.navs_item li{
+    text-align: center;
+    position: relative;
+}
+.navs_item li span{
+    font-size: 14px;
+    color: #3d3c42;
+}
+.icon_p{
+    width: 68px;
+    height: 48px;
+    background: #fff;
+    -webkit-border-radius: 50%;
+    -moz-border-radius: 50%;
+    border-radius: 50%;
+    position: relative;
+}
+
+.navs_item li:first-child:after{
+    content: "";
+    display: table;
+    width: 1px;
+    height: 100%;
+    position: absolute;
+    top: 0;right: 0;
+    background: #ecf0f1;
+
+}
+.navs_item li:nth-child(2) .icon{
+    background: url('../icon/r.png') no-repeat;
+    background-size: cover;
+}
+.navs_item li:nth-child(3) .icon{
+    background: url('../icon/a.png') no-repeat;
+    background-size: cover;
+}
+.navs_item li:nth-child(4) .icon{
+    background: url('../icon/x.png') no-repeat;
+    background-size: cover;
+}
+.navs_item li:last-child:after{
+    content: "";
+    display: table;
+    width: 1px;
+    height: 100%;
+    position: absolute;
+    top: 0;left: 0;
+    background: #ecf0f1;
+
+}
+.navs_item li .icon{
+    width: 40px;
+    height: 40px;
+    background: url('../icon/s.png') no-repeat;
+    background-size: cover;
+    position: absolute;
+    top: 0;
+    bottom: 5px;
+    left: 0;
+    right: 0;
+    margin: auto;
+}
+.borderRa{
+    -webkit-border-radius: 10px;
+    -moz-border-radius: 10px;
+    border-radius: 10px;
+}
+.Stitle{
+    font-size: 17px;
+    color: #3d3c42;
+}
+.centertT{
+    text-align: center;
+}
+.Scontent{
+    text-indent:30px ;
+    padding: 8px 0 5px 0;
+}
+.Notice{
+    padding: 15px;
+    background: #fff;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 100%;
+    margin-bottom: 13px;
+    position: relative;
+    padding-top: 13px;
+    box-shadow:0 3px 29px 0 rgba(59,74,116,0.14);
+}
+.Notice1{
+    padding: 15px;
+    background: #fff;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 100%;
+    margin-bottom: 13px;
+    position: relative;
+}
+.beforS:after{
+  content: "";
+  position: absolute;
+  top: 50px;
+  left: 0;
+  width: 100%;
+  height: 1px;
+  background: #F3F3F3;
+}
+.afterS:after{
+  content: "";
+  position: absolute;
+  bottom: 45px;
+  left: 0;
+  width: 100%;
+  height: 1px;
+  background: #F3F3F3;
+}
+.canvasTitle{
+  font-size: 14px;
+  color: #3d3c42;
+}
+.seachDetatle{
+  color: #3d3c42;
+  margin-top: 10px;
+}
+.circular{
+  width: 60px;
+  height: 60px;
+  border-radius: 50%;
+  line-height: 60px;
+  text-align: center;
+  color: #fff;
+  font-size: 15px;
+}
+.police li span{
+    margin-top:0;
+    margin-bottom: 9px;
+}
+.police li:nth-child(1) .circular{
+  background: #E74C3C;
+}
+.police li:nth-child(2) .circular{
+  background: #E67E22;
+}
+.police li:nth-child(3) .circular{
+  background: #3498DB;
+}
+.police .navs_item{
+  margin: 0;
+  margin-top: 20px;
+}
+.items{
+  margin-top: 15px;
+  padding: 0 23px;
+}
+.items .item i{
+  width: 40px;
+  height: 40px;
+  display: block;
+  background-position: center;
+  margin-top: 10px;
+}
+.items .item span{
+  margin: 10px 0;
+  font-size: 14px;
+  color:#232627;
+}
+.num{
+  font-size: 14px;
+  color:#232627;
+}
+.items .item:nth-child(1) i{
+  background: url('../icon/p.png') no-repeat;
+  background-size: cover;
+}
+.items .item:nth-child(2) i{
+    background: url('../icon/d.png') no-repeat;
+    background-size: cover;
+}
+.items .item:nth-child(3) i{
+    background: url('../icon/g.png') no-repeat;
+    background-size: cover;
+}
+.selectYield{
+    outline: none;
+    border: 1px solid #F3F3F3;
+    padding: 5px;
+    width: 100px;
+    height: 32px;
+    line-height: 30px;
+    border-radius: 3px;
+    margin-top: 10px;
+    background: #fff;
+}
+#button-value{
+    width: 120px;
+    padding: 6px 0;
+    -webkit-border-radius: 3px;
+    -moz-border-radius: 3px;
+    border-radius: 3px;
+    border: 1px solid #F3F3F3;
+    padding-left: 10px;
+    color: #3d3c42;
+    font-size: 14px;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    -webkit-appearance:none;
+}
+.button-value{
+  width: 90px;
+  padding: 6px 0;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+  border: 1px solid #F3F3F3;
+  text-align: center;
+  color: #3d3c42;
+  font-size: 14px;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  outline: none;
+  -webkit-appearance:none;
+}
+.selectTime,.selectTime1{
+    margin-left: 10px;
+}
+.Sharebox{
+    display: inline-block;
+}
+.lower{
+    width: 10px;
+    height: 10px;
+    position: absolute;
+    top: 10px;
+    right: 10px;
+    background: url("../icon/lower.png") no-repeat;
+    background-size: cover;
+    background-position: center;
+}
+.padding0{
+  padding: 0 15px;
+}
+/*弹性盒子*/
+.flex-space{
+    display: -webkit-flex;
+    display: flex;
+    justify-content: space-between;
+    -webkit-justify-content: space-between;
+    flex-wrap: nowrap;
+    -webkit-flex-wrap: nowrap;
+    align-items: center;
+}
+.flex-start{
+    display: -webkit-flex;
+    display: flex;
+    justify-content: flex-start;
+    -webkit-justify-content: flex-start;
+    flex-wrap: nowrap;
+    -webkit-flex-wrap: nowrap;
+    align-items: center;
+}
+.flex-center{
+    display: -webkit-flex;
+    display: flex;
+    justify-content: center;
+    -webkit-justify-content: center;
+    flex-wrap: nowrap;
+    -webkit-flex-wrap: nowrap;
+    align-items: center;
+}
+/*// 无内容*/
+.noText{
+    width: 91px;
+    height: 134px;
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    margin: auto;
+}
+.noText img{
+    width: 100%;
+}
+/*****审批人列表***/
+.api_layout_box{
+    background-color: rgba(0,0,0, .4);
+    position: fixed; margin: auto;
+    left: 0; right: 0; top: 0; bottom: 0;
+    width: 100%;
+    height: 100%;
+    opacity: 1;
+    padding: 0 20px;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    overflow: hidden;
+}
+.box_m{
+    width: 325px; height: 444px;
+    background: #fff;
+    border-radius: 5px;
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    margin: auto;
+    padding-top: 120px;
+    overflow: hidden;
+}
+.api_box{
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    background: #fff;
+    z-index: 100;
+    padding: 0 20px;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    border-radius: 5px;
+}
+.api_box h3{
+    font-size: initial;
+}
+.selectTitle{
+    padding: 15px 0;
+}
+.api_layout_box .font-s{
+    font-size: 14px;
+}
+.api_layout_box .input-s{
+    height: 40px;
+    border: 1px solid #97a3b4;
+    -webkit-border-radius: 5px;
+    -moz-border-radius: 5px;
+    border-radius: 5px;
+    padding-left: 10px;
+}
+.api_layout_box .column{
+    height: 319px;
+    overflow-y: scroll;;
+    -webkit-overflow-scrolling: touch;
+}
+.column-select{
+    background-color: transparent;
+    box-shadow: none;
+    display: block;
+    padding: 0;
+    margin: 0;
+    width: 100%;
+    line-height: normal;
+    color: #424242;
+    font-family: inherit;
+    box-sizing: border-box;
+    -webkit-user-select: text;
+    user-select: text;
+    -webkit-appearance: none;
+    appearance: none;
+}
+.aui-list-item-input{
+    margin-top: 10px;
+    position: relative;
+}
+.aui-list-item-input:after{
+    content:"";
+    border-left:5px solid transparent;
+    border-right:5px solid transparent;
+    border-bottom:5px solid #b3c0ce;
+    -webkit-transform-origin:5px 2.5px;
+    transform-origin:5px 2.5px;
+    -webkit-transition: all .5s ease;
+    transition: all .5s ease;
+    position:absolute;
+    right:10px;
+    top:18px;
+    -webkit-transform:rotate(180deg);
+    transform:rotate(180deg);
+}
+.api_leader_head{
+    height: 50px;
+    width: 50px;
+    display: block;
+    -webkit-border-radius: 50%;
+    border-radius: 50%;
+    margin-right: 10px;
+}
+.api_layout_box .column li{
+    padding: 10px;
+}
+/*cheackbox*/
+.remember-password-container {
+    width: 56px;
+    height: 24px;
+    text-align: center;
+}
+.remember-password-container .remember-password-content {
+    position: relative;
+}
+
+.remember-password-container input[type=checkbox]{
+    width: 20px;
+    height: 20px;
+    position: absolute;
+    opacity: 0;
+    cursor: pointer;
+    z-index: 2;
+    font-size: initial;
+}
+
+.remember-me-label {
+    cursor: pointer;
+}
+.remember-password-container span {
+    position: absolute;
+    width: 20px;
+    height: 20px;
+    top: 2px;
+    background: url(../image/cheackbox2.png);
+    background-size: 20px;
+    background-repeat: no-repeat;
+}
+
+.remember-password-container input[type=checkbox]:checked+span {
+    background: url(../image/cheackbox1.png);
+    background-size: 20px;
+    background-repeat: no-repeat;
+}
+.api_box .api-icon-close{
+    position: absolute;
+    top: 13px;
+    right: -5px;
+    font-size: 24px;
+    font-weight: bold;
+}
+select{
+    outline: none;
+}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 15 - 0
css/swiper.css


+ 167 - 0
css/toast.css

@@ -0,0 +1,167 @@
+/*toast*/
+.api-toast{
+	width: 100%;
+	height: 100%;
+	position: fixed;
+	top: 0;
+	left: 0;
+	background: rgba(255,255,255,1);
+}
+.aui-toast {
+	background: rgba(0, 0, 0, 0.7);
+	text-align: center;
+	border-radius: 0.25rem;
+	color: #ffffff;
+	position: fixed;
+	z-index: 3;
+	top: 45%;
+	left: 50%;
+	width: 7.5em;
+	padding: 0.5rem;
+	margin-left: -3.75em;
+	margin-top: -4rem;
+	display: none;
+}
+.aui-toast .aui-iconfont {
+	display: block;
+	font-size: 2.6rem;
+}
+.aui-toast-content {
+	font-size: 14px;
+  /*margin: 0 0 0.75rem;*/
+}
+.aui-toast-loading {
+    background-color: #ffffff;
+    border-radius: 100%;
+    margin: 0.75rem 0;
+    -webkit-animation-fill-mode: both;
+        	animation-fill-mode: both;
+    border: 2px solid #ffffff;
+    border-bottom-color: transparent;
+    height: 3.25rem;
+    width: 3.25rem;
+    background: transparent !important;
+    display: inline-block;
+    -webkit-animation: rotate 1s 0s linear infinite;
+        	animation: rotate 1s 0s linear infinite;
+}
+/*基础动画类*/
+@keyframes rotate {
+    0% {
+        -webkit-transform: rotate(0deg) scale(1);
+            	transform: rotate(0deg) scale(1);
+    }
+    50% {
+        -webkit-transform: rotate(180deg) scale(1);
+            	transform: rotate(180deg) scale(1);
+    }
+    100% {
+        -webkit-transform: rotate(360deg) scale(1);
+            	transform: rotate(360deg) scale(1);
+    }
+}
+@-webkit-keyframes rotate {
+    0% {
+        -webkit-transform: rotate(0deg) scale(1);
+            	transform: rotate(0deg) scale(1);
+    }
+    50% {
+        -webkit-transform: rotate(180deg) scale(1);
+            	transform: rotate(180deg) scale(1);
+    }
+    100% {
+        -webkit-transform: rotate(360deg) scale(1);
+            	transform: rotate(360deg) scale(1);
+    }
+}
+@keyframes bounce {
+	0%, 100% {
+	-webkit-transform: scale(0.0);
+			transform: scale(0.0);
+	}
+	50% {
+	-webkit-transform: scale(1.0);
+			transform: scale(1.0);
+	}
+}
+@-webkit-keyframes bounce {
+	0%, 100% {
+		-webkit-transform: scale(0.0);
+				transform: scale(0.0);
+	}
+	50% {
+		-webkit-transform: scale(1.0);
+				transform: scale(1.0);
+	}
+}
+@keyframes fadeIn {
+    from { opacity: 0.3; }
+    to { opacity: 1; }
+}
+@-webkit-keyframes fadeIn {
+    from { opacity: 0.3; }
+    to { opacity: 1; }
+}
+@font-face {
+	font-family: "aui_iconfont";
+	src: url('aui-iconfont.ttf') format('truetype');
+}
+.aui-iconfont {
+	position: relative;
+	font-family:"aui_iconfont" !important;
+	font-size: 0.7rem;
+	font-style:normal;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+.aui-icon-menu:before { content: "\e6eb"; }
+.aui-icon-paper:before { content: "\e6ec"; }
+.aui-icon-info:before { content: "\e6ed"; }
+.aui-icon-question:before { content: "\e6ee"; }
+.aui-icon-left:before { content: "\e6f4"; }
+.aui-icon-right:before { content: "\e6f5"; }
+.aui-icon-top:before { content: "\e6f6"; }
+.aui-icon-down:before { content: "\e6f7"; }
+.aui-icon-share:before { content: "\e700"; }
+.aui-icon-comment:before { content: "\e701"; }
+.aui-icon-edit:before { content: "\e6d3"; }
+.aui-icon-trash:before { content: "\e6d4"; }
+.aui-icon-recovery:before { content: "\e6dc"; }
+.aui-icon-refresh:before { content: "\e6dd"; }
+.aui-icon-close:before { content: "\e6d8"; }
+.aui-icon-cart:before { content: "\e6df"; }
+.aui-icon-star:before { content: "\e6e0"; }
+.aui-icon-plus:before { content: "\e6e3"; }
+.aui-icon-minus:before { content: "\e62d"; }
+.aui-icon-correct:before { content: "\e6e5"; }
+.aui-icon-search:before { content: "\e6e6"; }
+.aui-icon-gear:before { content: "\e6e8"; }
+.aui-icon-map:before { content: "\e6d2"; }
+.aui-icon-location:before { content: "\e6d1"; }
+.aui-icon-image:before { content: "\e6ce"; }
+.aui-icon-phone:before { content: "\e6c4"; }
+.aui-icon-camera:before { content: "\e6cd"; }
+.aui-icon-video:before { content: "\e6cc"; }
+.aui-icon-qq:before { content: "\e6cb"; }
+.aui-icon-wechat:before { content: "\e6c9"; }
+.aui-icon-weibo:before { content: "\e6c8"; }
+.aui-icon-note:before { content: "\e6c6"; }
+.aui-icon-mail:before { content: "\e6c5"; }
+.aui-icon-wechat-circle:before { content: "\e6ca"; }
+.aui-icon-home:before { content: "\e706"; }
+.aui-icon-forward:before { content: "\e6d9"; }
+.aui-icon-back:before { content: "\e6da"; }
+.aui-icon-laud:before { content: "\e64b"; }
+.aui-icon-lock:before { content: "\e6ef"; }
+.aui-icon-unlock:before { content: "\e62f"; }
+.aui-icon-like:before { content: "\e62b"; }
+.aui-icon-my:before { content: "\e610"; }
+.aui-icon-more:before { content: "\e625"; }
+.aui-icon-mobile:before { content: "\e697"; }
+.aui-icon-calendar:before { content: "\e68a"; }
+.aui-icon-date:before { content: "\e68c"; }
+.aui-icon-display:before { content: "\e612"; }
+.aui-icon-hide:before { content: "\e624"; }
+.aui-icon-pencil:before { content: "\e615"; }
+.aui-icon-flag:before { content: "\e6f1"; }
+.aui-icon-cert:before { content: "\e704"; }

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 803 - 0
html/704/704.html


+ 98 - 0
html/704/securtyFrm.html

@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css">
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body{
+            background: #fff;
+        }
+        .nav_title{
+            padding: 0 5px;
+            background: #f3f6fa;
+        }
+        .nav_title li{
+            text-align: center;
+            font-size: 14px;
+            padding: 12px 0 ;
+        }
+        .row_content{
+            padding: 0 5px;
+        }
+        .row_content li{
+            text-align: center;
+            font-size: 13px;
+            padding: 12px 0;
+            align-items: center;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <div class="row_contents">
+        <ul class="row_content" id="row_content">
+
+        </ul>
+    </div>
+</div>
+<div class="noText hide" id="nocode">
+  <img src="../../image/noText.png" alt="">
+</div>
+<script type="text/template" id="templateStatu">
+    {{~it:value}}
+      <li class="flex-wrap after-border relative {{=value.status}}">
+          <span class="flex-con">{{=value.id}}</span>
+          <span class="flex-con">{{=value.position}}</span>
+          <span class="flex-con">{{=value.value}}{{=value.unit}}</span>
+      </li>
+    {{~}}
+</script>
+<script src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+    var toast = new auiToast();
+    apiready = function () {
+        monitorStatusFun(api.pageParam.type);
+  }
+  // 全部数据详情
+  function monitorStatusFun(type) {
+    var data = {
+      status:type,
+    }
+    toast.loading({
+        title: "加载中",
+        duration: 2000
+    });
+    $http.fnReuestDataNologing(UrlRouter.getSafetyStatusList,'','post',data,function(ret,err){
+      toast.hide();
+      if (ret.data.length == 0) {
+          document.getElementById("nocode").style.display = 'block';
+          return false;
+      }else {
+          document.getElementById("nocode").style.display = 'none';
+      }
+      if (ret && ret.code == 0) {
+        if (ret.data.length > 0) {
+          $apis.html(row_content,'#templateStatu',ret.data);
+        }
+      }else {
+        api.toast({
+            msg: '网络请求超时,请稍后重试',
+            duration: 2000,
+            location: 'bottom'
+        });
+      }
+    })
+  }
+</script>
+</body>
+</html>

+ 92 - 0
html/704/securtyWin.html

@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css">
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body{
+            background: #fff;
+        }
+        .nav_title{
+            padding: 0 5px;
+            background: #f3f6fa;
+        }
+        .nav_title li{
+            text-align: center;
+            font-size: 14px;
+            padding: 12px 0 ;
+        }
+        .row_content{
+            padding: 0 5px;
+        }
+        .row_content li{
+            text-align: center;
+            font-size: 13px;
+            padding: 12px 0;
+            align-items: center;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+    <nav>
+        <ul class="nav_title flex-wrap">
+            <li class="flex-con">序号</li>
+            <li class="flex-con">安装地点</li>
+            <li class="flex-con">数值/状态</li>
+        </ul>
+    </nav>
+</div>
+<script src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+    apiready = function () {
+      $api.fixStatusBar($api.dom('header') );
+      $api.html($api.dom('.api_text'), api.pageParam.title);
+      openFrame(api.pageParam.title,api.pageParam.type);
+    };
+    function openFrame(name,type) {
+      api.openFrame({
+          name: 'securtyFrm',
+          url: 'securtyFrm.html',
+          rect: {
+              x: 0,
+              y: $api.dom('.api_layout').offsetHeight ,
+              w: 'auto',
+              h: 'auto'
+          },
+          pageParam: {
+              title:name,
+              type:type
+          },
+          bounces: true,
+          bgColor: '#fff',
+          vScrollBarEnabled: true,
+          hScrollBarEnabled: true
+      });
+    }
+    function backIndex() {
+        api.closeWin();
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+          name: 'keyback'
+        }, function(ret, err){
+          api.closeWin();
+      });
+    }
+</script>
+</body>
+</html>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1007 - 0
html/704Jinfeng/704.html


+ 108 - 0
html/704Jinfeng/securtyFrm.html

@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="UTF-8" />
+    <meta
+      name="viewport"
+      content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"
+    />
+    <meta
+      name="format-detection"
+      content="telephone=no,email=no,date=no,address=no"
+    />
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" href="../../css/aui.css" />
+    <link rel="stylesheet" href="../../css/projeck.css" />
+    <style>
+      body {
+        background: #fff;
+      }
+      .nav_title {
+        padding: 0 5px;
+        background: #f3f6fa;
+      }
+      .nav_title li {
+        text-align: center;
+        font-size: 14px;
+        padding: 12px 0;
+      }
+      .row_content {
+        padding: 0 5px;
+      }
+      .row_content li {
+        text-align: center;
+        font-size: 13px;
+        padding: 12px 0;
+        align-items: center;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="api_layout">
+      <div class="row_contents">
+        <ul class="row_content" id="row_content"></ul>
+      </div>
+    </div>
+    <div class="noText hide" id="nocode">
+      <img src="../../image/noText.png" alt="" />
+    </div>
+    <script type="text/template" id="templateStatu">
+      {{~it:value}}
+        <li class="flex-wrap after-border relative {{=value.status}}">
+            <span class="flex-con">{{=value.id}}</span>
+            <span class="flex-con">{{=value.position}}</span>
+            <span class="flex-con">{{=value.value}}{{=value.unit}}</span>
+        </li>
+      {{~}}
+    </script>
+    <script src="../../script/api.js"></script>
+    <!-- <script src="../../script/fastclick.min.js"></script> -->
+    <!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+    <script src="../../script/doT.min.js"></script>
+    <script src="../../script/config.js"></script>
+    <script>
+      var toast = new auiToast();
+      apiready = function () {
+        monitorStatusFun(api.pageParam.type);
+      };
+      // 全部数据详情
+      function monitorStatusFun(type) {
+        var data = {
+          status: type,
+        };
+        toast.loading({
+          title: '加载中',
+          duration: 2000,
+        });
+        $http.fnReuestDataNologing(
+          jinfengUrlRouter.getSafetyStatusList,
+          '',
+          'post',
+          data,
+          function (ret, err) {
+            toast.hide();
+            if (ret.data.length == 0) {
+              document.getElementById('nocode').style.display = 'block';
+              return false;
+            } else {
+              document.getElementById('nocode').style.display = 'none';
+            }
+            if (ret && ret.code == 0) {
+              if (ret.data.length > 0) {
+                $apis.html(row_content, '#templateStatu', ret.data);
+              }
+            } else {
+              api.toast({
+                msg: '网络请求超时,请稍后重试',
+                duration: 2000,
+                location: 'bottom',
+              });
+            }
+          }
+        );
+      }
+    </script>
+  </body>
+</html>

+ 92 - 0
html/704Jinfeng/securtyWin.html

@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css">
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body{
+            background: #fff;
+        }
+        .nav_title{
+            padding: 0 5px;
+            background: #f3f6fa;
+        }
+        .nav_title li{
+            text-align: center;
+            font-size: 14px;
+            padding: 12px 0 ;
+        }
+        .row_content{
+            padding: 0 5px;
+        }
+        .row_content li{
+            text-align: center;
+            font-size: 13px;
+            padding: 12px 0;
+            align-items: center;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+    <nav>
+        <ul class="nav_title flex-wrap">
+            <li class="flex-con">序号</li>
+            <li class="flex-con">安装地点</li>
+            <li class="flex-con">数值/状态</li>
+        </ul>
+    </nav>
+</div>
+<script src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+    apiready = function () {
+      $api.fixStatusBar($api.dom('header') );
+      $api.html($api.dom('.api_text'), api.pageParam.title);
+      openFrame(api.pageParam.title,api.pageParam.type);
+    };
+    function openFrame(name,type) {
+      api.openFrame({
+          name: 'securtyFrm',
+          url: 'securtyFrm.html',
+          rect: {
+              x: 0,
+              y: $api.dom('.api_layout').offsetHeight ,
+              w: 'auto',
+              h: 'auto'
+          },
+          pageParam: {
+              title:name,
+              type:type
+          },
+          bounces: true,
+          bgColor: '#fff',
+          vScrollBarEnabled: true,
+          hScrollBarEnabled: true
+      });
+    }
+    function backIndex() {
+        api.closeWin();
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+          name: 'keyback'
+        }, function(ret, err){
+          api.closeWin();
+      });
+    }
+</script>
+</body>
+</html>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 824 - 0
html/704Zaoquan/704.html


+ 108 - 0
html/704Zaoquan/securtyFrm.html

@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="UTF-8" />
+    <meta
+      name="viewport"
+      content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"
+    />
+    <meta
+      name="format-detection"
+      content="telephone=no,email=no,date=no,address=no"
+    />
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" href="../../css/aui.css" />
+    <link rel="stylesheet" href="../../css/projeck.css" />
+    <style>
+      body {
+        background: #fff;
+      }
+      .nav_title {
+        padding: 0 5px;
+        background: #f3f6fa;
+      }
+      .nav_title li {
+        text-align: center;
+        font-size: 14px;
+        padding: 12px 0;
+      }
+      .row_content {
+        padding: 0 5px;
+      }
+      .row_content li {
+        text-align: center;
+        font-size: 13px;
+        padding: 12px 0;
+        align-items: center;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="api_layout">
+      <div class="row_contents">
+        <ul class="row_content" id="row_content"></ul>
+      </div>
+    </div>
+    <div class="noText hide" id="nocode">
+      <img src="../../image/noText.png" alt="" />
+    </div>
+    <script type="text/template" id="templateStatu">
+      {{~it:value}}
+        <li class="flex-wrap after-border relative {{=value.status}}">
+            <span class="flex-con">{{=value.id}}</span>
+            <span class="flex-con">{{=value.position}}</span>
+            <span class="flex-con">{{=value.value}}{{=value.unit}}</span>
+        </li>
+      {{~}}
+    </script>
+    <script src="../../script/api.js"></script>
+    <!-- <script src="../../script/fastclick.min.js"></script> -->
+    <!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+    <script src="../../script/doT.min.js"></script>
+    <script src="../../script/config.js"></script>
+    <script>
+      var toast = new auiToast();
+      apiready = function () {
+        monitorStatusFun(api.pageParam.type);
+      };
+      // 全部数据详情
+      function monitorStatusFun(type) {
+        var data = {
+          status: type,
+        };
+        toast.loading({
+          title: '加载中',
+          duration: 2000,
+        });
+        $http.fnReuestDataNologing(
+          zaoquanUrlRouter.getSafetyStatusList,
+          '',
+          'post',
+          data,
+          function (ret, err) {
+            toast.hide();
+            if (ret.data.length == 0) {
+              document.getElementById('nocode').style.display = 'block';
+              return false;
+            } else {
+              document.getElementById('nocode').style.display = 'none';
+            }
+            if (ret && ret.code == 0) {
+              if (ret.data.length > 0) {
+                $apis.html(row_content, '#templateStatu', ret.data);
+              }
+            } else {
+              api.toast({
+                msg: '网络请求超时,请稍后重试',
+                duration: 2000,
+                location: 'bottom',
+              });
+            }
+          }
+        );
+      }
+    </script>
+  </body>
+</html>

+ 92 - 0
html/704Zaoquan/securtyWin.html

@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css">
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body{
+            background: #fff;
+        }
+        .nav_title{
+            padding: 0 5px;
+            background: #f3f6fa;
+        }
+        .nav_title li{
+            text-align: center;
+            font-size: 14px;
+            padding: 12px 0 ;
+        }
+        .row_content{
+            padding: 0 5px;
+        }
+        .row_content li{
+            text-align: center;
+            font-size: 13px;
+            padding: 12px 0;
+            align-items: center;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+    <nav>
+        <ul class="nav_title flex-wrap">
+            <li class="flex-con">序号</li>
+            <li class="flex-con">安装地点</li>
+            <li class="flex-con">数值/状态</li>
+        </ul>
+    </nav>
+</div>
+<script src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+    apiready = function () {
+      $api.fixStatusBar($api.dom('header') );
+      $api.html($api.dom('.api_text'), api.pageParam.title);
+      openFrame(api.pageParam.title,api.pageParam.type);
+    };
+    function openFrame(name,type) {
+      api.openFrame({
+          name: 'securtyFrm',
+          url: 'securtyFrm.html',
+          rect: {
+              x: 0,
+              y: $api.dom('.api_layout').offsetHeight ,
+              w: 'auto',
+              h: 'auto'
+          },
+          pageParam: {
+              title:name,
+              type:type
+          },
+          bounces: true,
+          bgColor: '#fff',
+          vScrollBarEnabled: true,
+          hScrollBarEnabled: true
+      });
+    }
+    function backIndex() {
+        api.closeWin();
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+          name: 'keyback'
+        }, function(ret, err){
+          api.closeWin();
+      });
+    }
+</script>
+</body>
+</html>

+ 225 - 0
html/Qrcode/11.html

@@ -0,0 +1,225 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" href="../../css/apiToast.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+    html,body{
+       background: #fff;
+       }
+       .api_layout{
+            width: 100%;
+            position: relative;
+        }
+        .List_QRcode{
+            width: 100%;
+            padding: 10px;
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .List_QRcode li{
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            position: relative;
+            margin-bottom: 25px;
+            border-bottom: 1px solid #ecf0f1;
+        }
+        .List_QRcode li:first-child{
+            padding: 20px 10px 15px 20px;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            border-bottom: 0;
+            background-color: #009fe8;
+            -webkit-border-radius: 3px;
+            -moz-border-radius: 3px;
+            border-radius: 3px;
+        }
+        .List_QRcode li:first-child .time{
+            font-size: 18px;
+            color: #fff;
+            margin-bottom: 30px;
+            position: relative;
+        }
+        .btn{
+            width: 80px;
+            height: 32px;
+            line-height: 32px;
+            font-size: 12px;
+            background: #fff;
+            color: #41c1fc;
+            -webkit-border-radius: 50px;
+            -moz-border-radius: 50px;
+            border-radius: 50px;
+        }
+        .texts{
+            font-size: 16px;
+            color: #fff;
+            line-height: 18px;
+            width: 65%;
+            line-height: 1.5;
+        }
+        .start1{
+            position: absolute;
+            top: -10px;
+            right: 127px;
+            background: url("../../image/Star2.png") no-repeat;
+            background-size: cover;
+            width: 14px;
+            height: 14px;
+        }
+        .bg_start{
+            display: inline-block;
+            width: 20px;
+            height: 20px;
+            background: url("../../image/star.png");
+            background-size: cover;
+            position: relative;
+            top: 4px;
+        }
+        .bord{
+           border: 1px solid #41c1fc;
+        }
+        .List_QRcode li:not(:first-child){
+            padding: 0 10px 10px 13px;
+        }
+        .List_QRcode li:not(:first-child) .btn{
+            position: absolute;
+            top: 15px;
+            right: 10px;
+        }
+        .List_QRcode li:not(:first-child) .list_title{
+            font-size: 16px;
+            color: #97a3b4;
+            height: 23px;
+            line-height: 23px;
+            margin-bottom: 18px;
+        }
+        .List_QRcode li:not(:first-child) .texts01{
+            color: #1d1e2c;
+        }
+        .List_QRcode li:not(:first-child) .list_title .start1{
+            width:0;
+        }
+        .List_QRcode li:first-child .time .bg_start{
+            display:inline;
+        }
+        .List_QRcode li:first-child .bord{
+            display:none;
+        }
+        .List_QRcode li:not(:first-child) .bords{
+            display: none;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <div class="List_QRcodes">
+        <ul class="List_QRcode" id="List_QRcode">
+
+        </ul>
+    </div>
+</div>
+<div class="Nonews" id="nocode"></div>
+</body>
+</html>
+<script type="text/template" id="template">
+  {{~it:value}}
+  <li>
+      <p class="time list_title">
+            <i class="bg_start"></i>
+            <span>{{=value.createDate}}</span>
+            <i class="start1"></i>
+      </p>
+      <p class="texts texts01">{{=value.dataContent}}</p>
+      <div style="text-align: right">
+          <button class="btn bords" style="background:#009fe8;color: #ffffff;border: 1px solid #ffffff;" onclick="QRcodeDetaile('{{=value.pageId}},{{=value.id}},{{=value.departmentId}}','{{=value.pageName}}')">查看详情</button>
+          <button class="btn bord" onclick="QRcodeDetaile('{{=value.pageId}},{{=value.id}},{{=value.departmentId}}','{{=value.pageName}}')">查看详情</button>
+      </div>
+  </li>
+  {{~}}
+  </script>
+
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var depIDs = '',uuid='';
+    var isLoadding = false;
+		var skip = 1;
+    var apiToast = new apiToast();
+    apiready = function () {
+        depIDs = api.pageParam.depIDs;
+        var info = $api.getStorage('data'),
+        user = JSON.parse(info).data.user;
+        uuid = JSON.parse(info).data.user.staff_num;
+        QRcodeListFun(uuid,depIDs,true);
+        resetWidth();
+        api.addEventListener({
+  				name : 'scrolltobottom',
+  				extra : {
+  					threshold : 0 //设置距离底部多少距离时触发,默认值为0,数字类型
+  				}
+  			}, function(ret, err) {
+  				if (!isLoadding) {
+  					isLoadding = true;
+  					QRcodeListFun(uuid,depIDs,true);
+  				}
+  			});
+    }
+    function QRcodeListFun(uuid,depID,isLoadMore){
+      var filter = {
+				"departmentId" : depID,
+        'userId':uuid,
+				"pageNumber" : skip,
+				"pageSize" : 10
+			};
+     $http.fnReuestDataNoW(UrlRouter.getPageDynamicApi,'','get',filter,function (ret, err) {
+         apiToast.hide();
+        if (ret.data.length == 0 && skip == 1) {
+            document.getElementById("nocode").style.display = 'block';
+            return false;
+        }else {
+            document.getElementById("nocode").style.display = 'none';
+        }
+         if (ret) {
+             if (ret.data.length > 0) {
+                 skip += 1;
+                 $apis.append(List_QRcode,'#template',ret.data);
+             } else {
+                 isLoadding = true;
+                 api.toast({
+                     msg: '没有更多数据',
+                     duration: 2000,
+                     location: 'bottom'
+                 });
+             }
+         } else {
+             apiToast.hide();
+             api.toast({
+                 msg: '加载超时,请检查网络',
+                 duration: 2000,
+                 location: 'bottom'
+             });
+         }
+     });
+    }
+    function resetWidth() {
+        var items = document.getElementsByClassName("texts");
+        for (var i = 0; i < items.length; i++) {
+            items[i].style.width = (api.frameWidth - 130) + "px";
+        }
+    }
+    function QRcodeDetaile(pageid,title) {
+      var pageidA = pageid.split(',');
+      $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:pageidA[0],id:pageidA[1],departmentId:pageidA[2],title:title},'');
+      // $event.openWin('QrcodeDetaile','QrcodeDetaile',{pageId:pageidA[0],id:pageidA[1],departmentId:pageidA[2],flag:true},'');
+    }
+</script>

+ 599 - 0
html/Qrcode/QRcode0.html

@@ -0,0 +1,599 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" href="../../css/apiToast.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+       html,body{
+           background: #fff;
+       }
+       .api_layout{
+            width: 100%;
+            position: relative;
+        }
+        .List_QRcode{
+            width: 100%;
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .List_QRcode li{
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            position: relative;
+            border-bottom: 1px solid #ecf0f1;
+        }
+        .btn{
+            width: 80px;
+            height: 32px;
+            line-height: 32px;
+            font-size: 12px;
+            background: #fff;
+            color: #41c1fc;
+            -webkit-border-radius: 50px;
+            -moz-border-radius: 50px;
+            border-radius: 50px;
+        }
+        .texts{
+            font-size: 16px;
+            color: #fff;
+            line-height: 18px;
+            width: 100%;
+            line-height: 1.5;
+        }
+        .bg_start{
+            display: inline-block;
+            width: 20px;
+            height: 20px;
+            background: url("../../image/star.png");
+            background-size: cover;
+            position: relative;
+            top: 4px;
+        }
+        .bord{
+           border: 1px solid #41c1fc;
+        }
+        .List_QRcode li {
+            padding:10px 0;
+        }
+        .List_QRcode li .btn{
+            position: absolute;
+            top: 15px;
+            right: 10px;
+        }
+        .List_QRcode li .list_title{
+            font-size: 16px;
+            color: #97a3b4;
+            height: 23px;
+            line-height: 23px;
+            margin-bottom: 10px;
+        }
+        .List_QRcode li .texts01{
+            color: #1d1e2c;
+        }
+        .List_QRcode li .list_title .start1{
+            width:0;
+        }
+      /*巡检记录列表样式*/
+      .record_list li{
+          padding: 12px 15px;
+          position: relative;
+      }
+      .record_list li:after{
+          content: '';
+          width: 100%;
+          display: block;
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          height: 1px;
+          background: #e6e7e8;
+      }
+      .record_header{
+          width: 52px;
+          height: 52px;
+          -webkit-border-radius: 50%;
+          -moz-border-radius: 50%;
+          border-radius: 50%;
+          margin-right: 7px;
+          border: 1px solid #ECF0F1;
+      }
+      .personal_info{
+          display: flex;
+          justify-content: flex-start;
+          flex-wrap: nowrap;
+          display: -webkit-flex;
+          -webkit-justify-content: flex-start;
+          -webkit-flex-wrap: nowrap;
+          align-items: center;
+          position: relative;
+      }
+      .personal_info span{
+          display: block;
+          font-size: 15px;
+          color: #000;
+      }
+      .personal_info span:first-child{
+        font-weight: bold;
+      }
+      .personal_info span:last-child{
+          color: #69707f;
+      }
+      .more_recode{
+          width: 32px;
+          height: 23px;
+          -webkit-box-sizing: border-box;
+          -moz-box-sizing: border-box;
+          box-sizing: border-box;
+          display: block;
+          background: url("../../image/moreRecord.png") no-repeat;
+          background-size: cover;
+          position: absolute;
+          top: 0;
+          right: 8px;
+      }
+      .text_content{
+          margin-top: 15px;
+          color: #000;
+          font-size: 15px;
+      }
+      .rows{
+          display: flex;
+          /*justify-content: space-around;*/
+          flex-wrap: wrap;
+          align-items: flex-start;
+          margin-top: 10px;
+      }
+      .column{
+          /*width: 100%;*/
+          margin-bottom: 10px;
+      }
+      .column img{
+          width: 100%;
+          height: 100%;
+          object-fit: cover;
+          -webkit-border-radius: 10px;
+          -moz-border-radius: 10px;
+          border-radius: 10px;
+          margin: auto;
+          border: 1px solid #f2f2f2;
+      }
+      .date_record{
+          color: #999;
+          font-size: 15px;
+      }
+      .Unread{
+          width: 40px;
+          height: 32px;
+          display: block;
+          position: absolute;
+          top: 0;
+          right: 0;
+          background: url("../../image/unread.png") no-repeat;
+          background-size: cover;
+      }
+      .nread{
+          width: 40px;
+          height: 32px;
+          display: block;
+          position: absolute;
+          top: 0;
+          right: 0;
+          background: url("../../image/nread.png") no-repeat;
+          background-size: cover;
+      }
+      .footers{
+          display: flex;
+          display: -webkit-flex;
+          justify-content: space-between;
+          -webkit-justify-content: space-between;
+          white-space: nowrap;
+          align-items: center;
+          -webkit-align-items: center;
+          padding: 10px 0;
+      }
+      .thumbs{
+          width: 15px;
+          height: 15px;
+          background: url("../../icon/momentHeart.png") no-repeat;
+          -webkit-background-size: contain;
+          background-size: contain;
+          background-position: center;
+      }
+      .comment{
+          width: 15px;
+          height: 15px;
+          background: url("../../icon/momentComment.png") no-repeat;
+          -webkit-background-size: contain;
+          background-size: contain;
+          background-position: center;
+      }
+      .thumbsAndcomment{
+          display: flex;
+          display: -webkit-flex;
+          justify-content:flex-start;
+          -webkit-justify-content: flex-start;
+          white-space: nowrap;
+          align-items: center;
+          -webkit-align-items: center;
+      }
+      .thumbsAndcomment span{
+          position: relative;
+          top: 0;
+          margin-left: 5px;
+          color: #3a4553;
+          font-size: 12px;
+      }
+      .thumbs_num{
+          background: #f3f3f3;
+          padding: 5px 0;
+          display: none;
+          padding-right: 5px;
+          position: relative;
+      }
+      .thumbs_num:after{
+          content: '';
+          display: block;
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          height: 1px;
+          width: 100%;
+          background: rgba(226,226,228,.4);
+      }
+      .thumbs_num p{
+          color: #6d6f96;
+          font-size: 13px;
+      }
+      .thumbs-s{
+          margin-right: 50px;
+      }
+      .taox{
+          width: 15px;
+          height: 15px;
+          background: url("../../icon/taox.png") no-repeat;
+          -webkit-background-size: contain;
+          background-size: contain;
+          background-position: center;
+          margin: 0 5px;
+      }
+      .comment_content p{
+          background: #f3f3f3;
+      }
+      .comment_c{
+          font-size: 13px;
+          padding: 5px;
+      }
+      .title{
+          color: #6d6f96;
+      }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <div class="List_QRcodes">
+        <ul class="List_QRcode" id="List_QRcode"></ul>
+    </div>
+</div>
+<div class="noText hide">
+  <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="template">
+  {{~it:value}}
+  {{?value.msgType == 'CODE'}}
+      <li style="padding:15px;" onclick="QRcodeDetaile('{{=value.pageId}},{{=value.id}},{{=value.departmentId}}','{{=value.pageName}}')">
+          <p class="time list_title">
+             <i class="bg_start"></i>
+             <span>{{=value.createDate}}</span>
+          </p>
+          <p class="texts texts01">{{=value.dataContent}}</p>
+      </li>
+  {{??}}
+      <li style="padding:10px 15px;">
+        <div onclick="RecordDetaile('{{=value.recordId}}')">
+          <div class="personal_info">
+              <img src="{{=urlphp}}storage/avatar/avatar_{{=value.createId}}.png" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="record_header">
+              <p>
+                  <span>{{=value.createName}}</span>
+                  <span>{{=value.uesrOrganizationName}}</span>
+              </p>
+          </div>
+          <p class="text_content">{{=value.dataContent}}</p>
+          <div class="row{{=value.id}} rows">
+              {{if (value.dataImages != "") { }}
+                  {{ for (var j=0;j<value.dataImages.length;j++) { }}
+                  {{if(j<=8) { }}
+                    <div class="column">
+                        <img src="{{=value.dataImages[j]}}" alt="">
+                    </div>
+                    {{ } }}
+                  {{ } }}
+              {{ } }}
+          </div>
+          <i class=" {{=value.readFlag == true?'nread' : 'Unread'}}"></i>
+        </div>
+        <div class="footers">
+            <span class="date_record">{{=value.createDate}}</span>
+            <div class="thumbsAndcomment">
+                <div class="flex-start thumbs-s" id="thumbsid{{=value.id}}"  onclick="dianzan(this,'{{=value.id}}')" flat="{{=value.staffflag}}">
+                    <i class="thumbs" style="background:url({{=value.staffflag==true?'../../icon/momentHeart_like.png':'../../icon/momentHeart.png'}}) no-repeat;background-size: contain;background-position: center;"></i>
+                    <span class="zan">赞</span>
+                </div>
+                <div class="flex-start" onclick="comment(this,'{{=value.id}}')">
+                    <i class="comment"></i>
+                    <span>评论</span>
+                </div>
+            </div>
+        </div>
+        <div class="thumbs_num" style="display:{{=value.staffLIkes.length == 0?'none':'block'}}">
+          <div class="flex-start">
+              <i class="taox"></i>
+              <p class="names">
+                {{? value.staffLIkes.length > 0}}
+                  {{ for(var d = 0;d<value.staffLIkes.length;d++) { }}
+                       {{? d === 0}}
+                       <span class="{{=value.staffLIkes[d].staffNum == uuid?'true':''}}">{{=value.staffLIkes[d].name}}</span>
+                       {{??}}
+                          <span class="{{=value.staffLIkes[d].staffNum == uuid?'true':''}}">,{{=value.staffLIkes[d].name}}</span>
+                      {{?}}
+                  {{ } }}
+                {{?}}
+              </p>
+          </div>
+        </div>
+        <div class="comment_content">
+        {{? value.staffCommentVos.length > 0}}
+            {{ for(var s = 0;s<value.staffCommentVos.length;s++) { }}
+                <p class="comment_c"  onclick=deleteComment(this,'{{=value.staffCommentVos[s].id}}','{{=value.staffCommentVos[s].staffNum}}')>
+                    <span class="title">{{=value.staffCommentVos[s].name}}:</span>
+                    {{=value.staffCommentVos[s].content}}
+                </p>
+            {{ } }}
+          {{?}}
+      </div>
+      </li>
+  {{?}}
+  {{~}}
+  </script>
+
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script src="../../script/zepto.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var depIDs = '',uuid='';
+    var isLoadding = false;
+		var skip = 1,name = "";
+    apiready = function () {
+        depIDs = api.pageParam.depID;
+        var info = $api.getStorage('data'),
+        user = JSON.parse(info).data.user;
+        uuid = JSON.parse(info).data.user.staff_num;
+        name = JSON.parse(info).data.user.name;
+        QRcodeListFun(uuid,depIDs,true);
+        resetWidth();
+        api.addEventListener({
+  				name : 'scrolltobottom',
+  				extra : {
+  					threshold : 0 //设置距离底部多少距离时触发,默认值为0,数字类型
+  				}
+  			}, function(ret, err) {
+  				if (!isLoadding) {
+  					isLoadding = true;
+  					QRcodeListFun(uuid,depIDs,true);
+  				}
+  			})
+    }
+    function QRcodeListFun(uuid,depID,isLoadMore){
+      var filter = {
+				"departmentId" : depID,
+        'userId':uuid,
+				"pageNumber" : skip,
+				"pageSize" : 10
+			};
+     $http.requestShowProgress(UrlRouter.getPageAndRecordDynamic,'get',filter)
+     .then(ret=>{
+       if (ret.data.length == 0 && skip == 1) {
+         $api.removeCls($api.dom('.noText'), 'hide');
+           return false;
+       }else {
+         $api.addCls($api.dom('.noText'), 'hide');
+       }
+       if (ret.data.length > 0) {
+           skip += 1;
+           $apis.append(List_QRcode,'#template',ret.data);
+           for (var i = 0; i < ret.data.length; i++) {
+             flexImage(ret.data[i].id)
+           }
+       } else {
+           isLoadding = true;
+           api.toast({
+               msg: '没有更多数据',
+               duration: 2000,
+               location: 'bottom'
+           });
+       }
+     })
+     .catch(err=>{
+       api.toast({
+           msg: '加载超时,请检查网络',
+           duration: 2000,
+           location: 'bottom'
+       });
+     })
+    }
+    function resetWidth() {
+        var items = document.getElementsByClassName("texts");
+        for (var i = 0; i < items.length; i++) {
+            items[i].style.width = (api.frameWidth - 130) + "px";
+        }
+    }
+    function QRcodeDetaile(pageid,title) {
+      var pageidA = pageid.split(',');
+      $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:pageidA[0],id:pageidA[1],departmentId:pageidA[2],title:title},'');
+      // $event.openWin('QrcodeDetaile','QrcodeDetaile',{pageId:pageidA[0],id:pageidA[1],departmentId:pageidA[2],flag:true},'');
+    }
+    // 巡检记录
+    // 记录详情
+    function RecordDetaile(recordId) {
+      $event.openTabLayout('recodeDetails','../browseQrcode/recodeDetails','记录详情',{recordParentId:recordId});
+    }
+    function flexImage(j) {
+        var length = document.querySelectorAll('.row'+j+' .column').length,
+            column = document.querySelectorAll('.row'+j+' .column');
+            imgs = document.querySelectorAll('.row'+j+' .column img');
+        if (length == 1) {
+            column[0].style.width = api.winWidth-30 + 'px';
+            column[0].style.height = (api.winWidth-30) +'px'
+        }else if (length == 2) {
+            for (var i = 0; i < column.length; i++) {
+                column[i].style.width = (api.winWidth-30) / 2 +'px'
+                column[i].style.height = (api.winWidth-30-20) / 2 +'px'
+                column[i].getElementsByTagName('img')[0].style.width= (api.winWidth-50) / 2 +'px'
+            }
+        }else {
+            for (var i = 0; i < column.length; i++) {
+                column[i].style.width = (api.winWidth-30) / 3 +'px'
+                column[i].style.height = (api.winWidth-30-20) / 3 +'px'
+                column[i].getElementsByTagName('img')[0].style.width=(api.winWidth-50) / 3 +'px'
+            }
+        }
+    };
+    // 点赞
+    function dianzan(el,id,type) {
+        var gray ='../../icon/momentHeart.png',red = '../../icon/momentHeart_like.png';
+        var thumbs_num = $(el).parent().parent().parent().find('.thumbs_num');
+        var str = "";
+        if ($(el).attr('flat') === "false"){
+            $(el).attr('flat','true');
+            $(el).find('.thumbs').css("backgroundImage",'url('+red+')');
+            if (thumbs_num.find('p').html().replace(/\s+/g,"") === ""){
+                thumbsPost(id,type)
+                str =`<span class="true">${name}</span>`;
+                $(thumbs_num).css('display','block');
+                $(thumbs_num.find('p')).append(str)
+            }else {
+                thumbsPost(id,type)
+                $(thumbs_num).css('display','block');
+                str =`<span class="true">,${name}</span>`;
+                $(thumbs_num.find('p')).append(str);
+            }
+
+        } else {
+            thumbsPost(id,type)
+            var thumbs_numTrue =  $(el).parent().parent().parent().find('.thumbs_num').find('p').find('.true');
+            var index = $(el).parent().parent().parent().find('.thumbs_num p>span').length;
+            index === 1?$(thumbs_num).css('display','none'):"";
+            $(el).attr('flat','false');
+            $(el).find('.thumbs').css("backgroundImage",'url('+gray+')');
+            $(thumbs_numTrue).remove();
+        }
+    }
+    // 评论
+    function comment(el,id,type) {
+      var inputField = api.require('inputField');
+      inputField.open({
+        bgColor: '#f5f5f5',
+        lineColor: '#ccc',
+        fileBgColor: '#fff',
+        borderColor: '#ccc',
+        autoFocus:true,
+        placeholder:'评论',
+        sendBtn:{
+           bg: '#86c3f7',          //字符串类型;发送按钮常态背景色
+           inputBg:'#009fe8',      //(可选项)字符串类型;当输入文字发时送按钮的背景色;默认:bg的色值
+           bgHighlight: '#009fe8', //字符串类型;发送按钮点击时的高亮背景色
+           title: '发送',        //字符串类型;发送按钮的标题
+           titleSize: 14,       //数字类型;发送按钮的标题字体大小
+           titleColor: '#fff',  //字符串类型;发送按钮标题文字颜色
+           corner: 5,           //数字类型;发送按钮圆角大小
+           sendW:60,            //数字类型;发送按钮的宽
+           sendH:30,            //数字类型;发送按钮的高
+           marginRight:10,
+        },
+        placeholderStyles:{
+           color: '#ccc',     //字符串类型;占位文字颜色,支持rgb、rgba、#;默认:#696969
+           size: 14,          //数字类型;占位文字大小;默认:13
+           marginL: 10
+        },
+        fixedOn: api.frameName
+      }, function(ret, err) {
+        if (ret) {
+            commentFun(el,id,type,ret.msg)
+            inputField.close();
+        }
+      });
+      addEventWindow();// 监听关闭input
+    }
+    // 监听点击空白处关闭input
+    function addEventWindow() {
+      var inputField = api.require('inputField');
+      inputField.setInputFieldListener(function(ret, err) {
+          if (ret) {
+              if (ret.chatViewH === 0) {
+                var inputField = api.require('inputField');
+                inputField.close();
+              }
+          }
+      });
+    }
+    // 删除评论
+    function deleteComment(el,ids,jobNum) {
+      if (jobNum != uuid) return false;
+      api.actionSheet({
+          cancelTitle: '取消',
+          destructiveTitle: '删除',
+      }, function(ret, err) {
+          if (ret.buttonIndex === 1) {
+              $http.requestData(UrlRouter.delComment,'post',{id:ids})
+              .then(ret=>{
+                if (ret.code === 0) {
+                  $(el).remove();
+                }
+              }).catch(err=>{})
+          }
+      });
+    }
+    // 点赞接口
+    function thumbsPost(ids,types) {
+      var data ={
+        id:ids,
+        type:'record'
+      }
+      $http.requestData(UrlRouter.thumbs,'post',data)
+      .then(ret=>{
+        if (ret.code === 401) {
+            api.alert({
+                title: '提示',
+                msg: '登录过期,重新登录',
+            });
+        }
+      }).catch(err=>{})
+    }
+    // 评论接口
+    function commentFun(el,ids,type,msg) {
+      var data = {
+        id:ids,
+        type:'record',
+        content:msg
+      }
+      $http.requestData(UrlRouter.comment,'post',data)
+      .then(ret=>{
+        if (ret.code === 0) {
+          var comment = $(el).parent().parent().parent().find('.comment_content')
+          var html = `<p class="comment_c" onclick=deleteComment(this,${ret.data.id},${ret.data.staff_num})>
+                        <span class="title">${name}:</span>
+                        ${ret.data.content}
+                      </p>`;
+          $(comment).append(html);
+        }
+      }).catch(err=>{})
+    }
+</script>

+ 571 - 0
html/Qrcode/QRcode1.html

@@ -0,0 +1,571 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" href="../../css/apiToast.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        html,body{
+            background: #fff;
+        }
+        .api_layout{
+            width: 100%;
+            position: relative;
+        }
+        .record_list li{
+            padding: 12px 15px;
+            position: relative;
+        }
+        .record_list li:after{
+            content: '';
+            width: 100%;
+            display: block;
+            position: absolute;
+            bottom: 0;
+            left: 0;
+            height: 1px;
+            background: #e6e7e8;
+        }
+        .record_header{
+            width: 52px;
+            height: 52px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            margin-right: 7px;
+            border: 1px solid #ECF0F1;
+        }
+        .personal_info{
+            display: flex;
+            justify-content: flex-start;
+            flex-wrap: nowrap;
+            display: -webkit-flex;
+            -webkit-justify-content: flex-start;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            position: relative;
+        }
+        .personal_info span{
+            display: block;
+            font-size: 15px;
+            color: #000;
+        }
+        .personal_info span:first-child{
+          font-weight: bold;
+        }
+        .personal_info span:last-child{
+            color: #69707f;
+        }
+        .more_recode{
+            width: 32px;
+            height: 23px;
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+            display: block;
+            background: url("../../image/moreRecord.png") no-repeat;
+            background-size: cover;
+            position: absolute;
+            top: 0;
+            right: 8px;
+        }
+        .text_content{
+            margin-top: 15px;
+            color: #000;
+            font-size: 15px;
+        }
+        .rows{
+            display: flex;
+            /*justify-content: space-around;*/
+            flex-wrap: wrap;
+            align-items: flex-start;
+            margin-top: 10px;
+        }
+        .column{
+            /*width: 100%;*/
+            margin-bottom: 10px;
+        }
+        .column img{
+            width: 100%;
+            height: 100%;
+            object-fit: cover;
+            -webkit-border-radius: 10px;
+            -moz-border-radius: 10px;
+            border-radius: 10px;
+            margin: auto;
+            border: 1px solid #f2f2f2;
+        }
+        .date_record{
+            color: #999;
+            font-size: 15px;
+        }
+        .Unread{
+            width: 40px;
+            height: 32px;
+            display: block;
+            position: absolute;
+            top: 0;
+            right: 0;
+            background: url("../../image/unread.png") no-repeat;
+            background-size: cover;
+        }
+        .nread{
+            width: 40px;
+            height: 32px;
+            display: block;
+            position: absolute;
+            top: 0;
+            right: 0;
+            background: url("../../image/nread.png") no-repeat;
+            background-size: cover;
+        }
+        .footers{
+            display: flex;
+            display: -webkit-flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            white-space: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            padding: 10px 0;
+        }
+        .thumbs{
+            width: 15px;
+            height: 15px;
+            background: url("../../icon/momentHeart.png") no-repeat;
+            -webkit-background-size: contain;
+            background-size: contain;
+            background-position: center;
+        }
+        .comment{
+            width: 15px;
+            height: 15px;
+            background: url("../../icon/momentComment.png") no-repeat;
+            -webkit-background-size: contain;
+            background-size: contain;
+            background-position: center;
+        }
+        .thumbsAndcomment{
+            display: flex;
+            display: -webkit-flex;
+            justify-content:flex-start;
+            -webkit-justify-content: flex-start;
+            white-space: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+        }
+        .thumbsAndcomment span{
+            position: relative;
+            top: 0;
+            margin-left: 5px;
+            color: #3a4553;
+            font-size: 12px;
+        }
+        /*.thumbs_num img{*/
+           /*width: 30px;*/
+           /*height: 30px;*/
+            /*-webkit-border-radius: 50%;*/
+            /*-moz-border-radius: 50%;*/
+            /*border-radius: 50%;*/
+            /*border: 1px solid #ccc;*/
+        /*}*/
+        .thumbs_num{
+            background: #f3f3f3;
+            padding: 5px 0;
+            display: none;
+            padding-right: 5px;
+            position: relative;
+        }
+        .thumbs_num:after{
+            content: '';
+            display: block;
+            position: absolute;
+            bottom: 0;
+            left: 0;
+            height: 1px;
+            width: 100%;
+            background: rgba(226,226,228,.4);
+        }
+        .thumbs_num p{
+            color: #6d6f96;
+            font-size: 13px;
+        }
+        .thumbs-s{
+            margin-right: 50px;
+        }
+        .taox{
+            width: 15px;
+            height: 15px;
+            background: url("../../icon/taox.png") no-repeat;
+            -webkit-background-size: contain;
+            background-size: contain;
+            background-position: center;
+            margin: 0 5px;
+        }
+        .comment_content p{
+            background: #f3f3f3;
+        }
+        .comment_c{
+            font-size: 13px;
+            padding: 5px;
+        }
+        .title{
+            color: #6d6f96;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <div class="recode_warp">
+        <ul class="record_list" id="record_lists">
+         <!-- <li>
+             <div>
+                 <div class="personal_info">
+                     <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="record_header">
+                     <p>
+                         <span>张三</span>
+                         <span>信息监测中心</span>
+                     </p>
+                 </div>
+                 <p class="text_content">今天天气很好,我很开心。。。</p>
+                 <i class=" {{=it[i].readFlag == true?'nread' : 'Unread'}}"></i>
+             </div>
+              <div class="footers">
+                  <span class="date_record">2019-10-29</span>
+                  <div class="thumbsAndcomment">
+                      <div class="flex-start thumbs-s" onclick="dianzan(this)" flat="false">
+                          <i class="thumbs"></i>
+                          <span class="zan">赞</span>
+                      </div>
+                      <div class="flex-start" onclick="comment(this)">
+                          <i class="comment"></i>
+                          <span>评论</span>
+                      </div>
+                  </div>
+              </div>
+              <div class="thumbs_num">
+                  <div class="flex-start">
+                      <i class="taox"></i>
+                      <p class="names"></p>
+                  </div>
+              </div>
+              <div class="comment_content">
+                  <p class="comment_c">
+                    <span class="title">王五:</span>
+                    送骄傲手机哦怕就送手机哦怕手机哦送骄傲手机哦怕就送手机哦怕手机哦
+                  </p>
+              </div>
+          </li> -->
+        </ul>
+    </div>
+</div>
+<div class="Nonews" id="nocode"></div>
+</body>
+</html>
+<script type="text/template" id="templateRecord">
+  {{ for (var i = 0;i<it.length;i++) { }}
+      <li>
+          <div onclick="RecordDetaile('{{=it[i].recordId}}')">
+            <div class="personal_info">
+                <img src="{{=urlphp}}storage/avatar/avatar_{{=it[i].createId}}.png" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="record_header">
+                <p>
+                    <span>{{=it[i].createName}}</span>
+                    <span>{{=it[i].uesrOrganizationName}}</span>
+                </p>
+            </div>
+            <p class="text_content">{{=it[i].dataContent}}</p>
+            <div class="row{{=it[i].id}} rows">
+                {{if (it[i].dataImages != "") { }}
+                    {{ for (var j=0;j<it[i].dataImages.length;j++) { }}
+                    {{if(j<=8) { }}
+                      <div class="column">
+                          <img src="{{=it[i].dataImages[j]}}" alt="">
+                      </div>
+                      {{ } }}
+                    {{ } }}
+                {{ } }}
+            </div>
+            <i class=" {{=it[i].readFlag == true?'nread' : 'Unread'}}"></i>
+          </div>
+          <div class="footers">
+              <span class="date_record">{{=it[i].createDate}}</span>
+              <div class="thumbsAndcomment">
+                  <div class="flex-start thumbs-s" id="thumbsid{{=it[i].id}}"  onclick="dianzan(this,'{{=it[i].id}}')" flat="{{=it[i].staffflag}}">
+                      <i class="thumbs" style="background:url({{=it[i].staffflag==true?'../../icon/momentHeart_like.png':'../../icon/momentHeart.png'}}) no-repeat;background-size: contain;background-position: center;"></i>
+                      <span class="zan">赞</span>
+                  </div>
+                  <div class="flex-start" onclick="comment(this,'{{=it[i].id}}')">
+                      <i class="comment"></i>
+                      <span>评论</span>
+                  </div>
+              </div>
+          </div>
+          <div class="thumbs_num" style="display:{{=it[i].staffLIkes.length == 0?'none':'block'}}">
+            <div class="flex-start">
+                <i class="taox"></i>
+                <p class="names">
+                  {{? it[i].staffLIkes.length > 0}}
+                    {{ for(var d = 0;d<it[i].staffLIkes.length;d++) { }}
+                         {{? d === 0}}
+                         <span class="{{=it[i].staffLIkes[d].staffNum == uuid?'true':''}}">{{=it[i].staffLIkes[d].name}}</span>
+                         {{??}}
+                            <span class="{{=it[i].staffLIkes[d].staffNum == uuid?'true':''}}">,{{=it[i].staffLIkes[d].name}}</span>
+                        {{?}}
+                    {{ } }}
+                  {{?}}
+                </p>
+            </div>
+          </div>
+          <div class="comment_content">
+            {{? it[i].staffCommentVos.length > 0}}
+                {{ for(var s = 0;s<it[i].staffCommentVos.length;s++) { }}
+                    <p class="comment_c"  onclick=deleteComment(this,'{{=it[i].staffCommentVos[s].id}}','{{=it[i].staffCommentVos[s].staffNum}}')>
+                        <span class="title">{{=it[i].staffCommentVos[s].name}}:</span>
+                        {{=it[i].staffCommentVos[s].content}}
+                    </p>
+                {{ } }}
+              {{?}}
+          </div>
+      </li>
+  {{ } }}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+ <script src="../../script/zepto.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    // kkk();
+    var isLoadding = false,uuid="";
+    var apiToast = new apiToast();
+    var skip = 1;
+    var depIDs = '';
+    var headers = "",name = "";
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        depIDs = api.pageParam.depIDs;
+        var info = $api.getStorage('data'),
+        token = JSON.parse(info).data.access_token,
+        user = JSON.parse(info).data.user;
+        uuid = JSON.parse(info).data.user.staff_num;
+        name = JSON.parse(info).data.user.name;
+        recordItmes(uuid,depIDs,false);
+        // 上拉加载
+        api.addEventListener({
+  				name : 'scrolltobottom',
+  				extra : {
+  					threshold : 0 //设置距离底部多少距离时触发,默认值为0,数字类型
+  				}
+  			}, function(ret, err) {
+  				if (!isLoadding ) {
+  					isLoadding = true;
+  					recordItmes(uuid,depIDs,true);
+  				}
+  			});
+        // header
+        headers = {
+            "Authorization": "Bearer " + token
+        }
+    };
+    // 数据
+    function recordItmes(useruuid,depID,isLoadMore){
+      var filter = {
+        "departmentId" : depID,
+        'userId':useruuid,
+        "pageNumber" : skip,
+        "pageSize" :10
+      };
+      $http.fnReuestDataNoW(UrlRouter.getRecordDynamicApi,'','get',filter,function (ret,err) {
+        isLoadding = false;
+        apiToast.hide();
+        if (ret.data.length == 0 && skip == 1) {
+            document.getElementById("nocode").style.display = 'block';
+            return false;
+        }else {
+            document.getElementById("nocode").style.display = 'none';
+        }
+        if (ret) {
+            if (ret.data.length > 0) {
+              skip += 1;
+              $apis.append(record_lists,'#templateRecord',ret.data);
+                for (var i = 0; i < ret.data.length; i++) {
+                  flexImage(ret.data[i].id)
+                }
+            } else {
+               isLoadding =true;
+                api.toast({
+                    msg: '没有更多数据',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        } else {
+            apiToast.hide();
+            api.toast({
+                msg: '加载超时,请检查网络',
+                duration: 2000,
+                location: 'bottom'
+            });
+        }
+      });
+    };
+    // function photoTailoringFun(value,i) {
+    //   var imageBrowser = api.require('imageBrowser');
+    //     imageBrowser.openImages({
+    //         imageUrls: value.split(','),
+    //         activeIndex:i,
+    //         showList:false
+    //     });
+    // }
+    // 记录详情
+    function RecordDetaile(recordId) {
+      $event.openTabLayout('recodeDetails','../browseQrcode/recodeDetails','记录详情',{recordParentId:recordId});
+      // $event.openWin('recordDetaile','recordDetaile',{recordParentId:''},'');
+    }
+    function flexImage(j) {
+        var length = document.querySelectorAll('.row'+j+' .column').length,
+            column = document.querySelectorAll('.row'+j+' .column');
+            imgs = document.querySelectorAll('.row'+j+' .column img');
+        if (length == 1) {
+            column[0].style.width = api.winWidth-30 + 'px';
+            column[0].style.height = (api.winWidth-30) +'px'
+        }else if (length == 2) {
+            for (var i = 0; i < column.length; i++) {
+                column[i].style.width = (api.winWidth-30) / 2 +'px'
+                column[i].style.height = (api.winWidth-30-20) / 2 +'px'
+                column[i].getElementsByTagName('img')[0].style.width= (api.winWidth-50) / 2 +'px'
+            }
+        }else {
+            for (var i = 0; i < column.length; i++) {
+                column[i].style.width = (api.winWidth-30) / 3 +'px'
+                column[i].style.height = (api.winWidth-30-20) / 3 +'px'
+                column[i].getElementsByTagName('img')[0].style.width=(api.winWidth-50) / 3 +'px'
+            }
+        }
+    };
+    // 点赞
+    function dianzan(el,id,type) {
+        var gray ='../../icon/momentHeart.png',red = '../../icon/momentHeart_like.png';
+        var thumbs_num = $(el).parent().parent().parent().find('.thumbs_num');
+        var str = "";
+        if ($(el).attr('flat') === "false"){
+            $(el).attr('flat','true');
+            $(el).find('.thumbs').css("backgroundImage",'url('+red+')');
+            if (thumbs_num.find('p').html().replace(/\s+/g,"") === ""){
+                thumbsPost(id,type)
+                str =`<span class="true">${name}</span>`;
+                $(thumbs_num).css('display','block');
+                $(thumbs_num.find('p')).append(str)
+            }else {
+                thumbsPost(id,type)
+                $(thumbs_num).css('display','block');
+                str =`<span class="true">,${name}</span>`;
+                $(thumbs_num.find('p')).append(str);
+            }
+
+        } else {
+            thumbsPost(id,type)
+            var thumbs_numTrue =  $(el).parent().parent().parent().find('.thumbs_num').find('p').find('.true');
+            var index = $(el).parent().parent().parent().find('.thumbs_num p>span').length;
+            index === 1?$(thumbs_num).css('display','none'):"";
+            $(el).attr('flat','false');
+            $(el).find('.thumbs').css("backgroundImage",'url('+gray+')');
+            $(thumbs_numTrue).remove();
+        }
+    }
+    // 评论
+    function comment(el,id,type) {
+      var inputField = api.require('inputField');
+      inputField.open({
+        bgColor: '#f5f5f5',
+        lineColor: '#ccc',
+        fileBgColor: '#fff',
+        borderColor: '#ccc',
+        autoFocus:true,
+        placeholder:'评论',
+        sendBtn:{
+           bg: '#86c3f7',          //字符串类型;发送按钮常态背景色
+           inputBg:'#009fe8',      //(可选项)字符串类型;当输入文字发时送按钮的背景色;默认:bg的色值
+           bgHighlight: '#009fe8', //字符串类型;发送按钮点击时的高亮背景色
+           title: '发送',        //字符串类型;发送按钮的标题
+           titleSize: 14,       //数字类型;发送按钮的标题字体大小
+           titleColor: '#fff',  //字符串类型;发送按钮标题文字颜色
+           corner: 5,           //数字类型;发送按钮圆角大小
+           sendW:60,            //数字类型;发送按钮的宽
+           sendH:30,            //数字类型;发送按钮的高
+           marginRight:10,
+        },
+        placeholderStyles:{
+           color: '#ccc',     //字符串类型;占位文字颜色,支持rgb、rgba、#;默认:#696969
+           size: 14,          //数字类型;占位文字大小;默认:13
+           marginL: 10
+        },
+        fixedOn: api.frameName
+      }, function(ret, err) {
+        if (ret) {
+            commentFun(el,id,type,ret.msg)
+            inputField.close();
+        }
+      });
+      addEventWindow();// 监听关闭input
+    }
+    // 监听点击空白处关闭input
+    function addEventWindow() {
+      var inputField = api.require('inputField');
+      inputField.setInputFieldListener(function(ret, err) {
+          if (ret) {
+              if (ret.chatViewH === 0) {
+                var inputField = api.require('inputField');
+                inputField.close();
+              }
+          }
+      });
+    }
+    // 删除评论
+    function deleteComment(el,ids,jobNum) {
+      if (jobNum != uuid) return false;
+      api.actionSheet({
+          cancelTitle: '取消',
+          destructiveTitle: '删除',
+      }, function(ret, err) {
+          if (ret.buttonIndex === 1) {
+              $http.fnReuestDataNologing(UrlRouter.delComment,headers,'post',{id:ids},function (ret,err) {
+                  if (ret.code === 0) {
+                    $(el).remove();
+                  }
+              })
+          }
+      });
+    }
+    // 点赞接口
+    function thumbsPost(ids,types) {
+      var data ={
+        id:ids,
+        type:'record'
+      }
+      $http.fnReuestDataNologing(UrlRouter.thumbs,headers,'post',data,function (ret,err) {
+        // console.log(JSON.stringify(ret));
+      });
+    }
+    // 评论接口
+    function commentFun(el,ids,type,msg) {
+      var data = {
+        id:ids,
+        type:'record',
+        content:msg
+      }
+      $http.fnReuestDataNologing(UrlRouter.comment,headers,'post',data,function (ret,err) {
+        if (ret.code === 0) {
+          var comment = $(el).parent().parent().parent().find('.comment_content')
+          var html = `<p class="comment_c" onclick=deleteComment(this,${ret.data.id},${ret.data.staff_num})>
+                        <span class="title">${name}:</span>
+                        ${ret.data.content}
+                      </p>`;
+          $(comment).append(html);
+        }
+      });
+    }
+</script>

+ 180 - 0
html/Qrcode/QRcodeList.html

@@ -0,0 +1,180 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+      #nav_items{
+          display: flex;
+          display: -webkit-flex;
+          justify-content: center;
+          -webkit-justify-content: center;
+          align-items: center;
+          position: relative;
+          top: 11.5px;
+      }
+      #nav_items li{
+          width: 85px;
+          height: 27px;
+          line-height: 27px;
+          color: #fff;
+          border: 1px solid #fff;
+          -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+          font-size: 14px;
+      }
+      #nav_items li:first-child{
+          border-top-left-radius: 2px;
+          border-bottom-left-radius: 2px;
+          border-right: 0;
+      }
+      #nav_items li:last-child{
+          border-top-right-radius: 2px;
+          border-bottom-right-radius: 2px;
+          border-left: 0;
+      }
+      #nav_items .active_nav{
+          background: #ffffff;
+          color: #009fe8;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <ul id="nav_items">
+         <li class="active_nav" tapmode="active_nav" onclick="randomSwitchBtn(this)">
+             二维码
+         </li>
+         <li tapmode="active_nav" onclick="randomSwitchBtn(this)">
+            记录
+         </li>
+       </ul>
+    </header>
+    <div class="api_nav">
+      <div class="header-nav scroller nav-haohuo" id="navScroll">
+
+      </div>
+    </div>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var depID = api.pageParam.depID,messageFlag = api.pageParam.messageFlag;
+        if (messageFlag == 'CODE') {
+          funIniGroup(depID,0);
+        }else if (messageFlag == 'RECORD') {
+          funIniGroup(depID,1);
+        }
+        keybackFun()//调用监听物理返回键
+    };
+    var eHeaderLis;
+    function funIniGroup(depID,id){
+            eHeaderLis = $api.domAll('#nav_items li'),
+            frames = [];
+        for (var i = 0,len = eHeaderLis.length; i < len; i++) {
+            frames.push( {
+                name: 'QRcode'+i,
+                url: 'QRcode'+i+'.html',
+                bgColor : '#f2f2f2',
+                bounces:true,
+                pageParam:{
+                  depIDs:depID
+                },
+            } )
+        }
+        api.openFrameGroup({
+            name: 'QRcodegroup',
+            scrollEnabled: true,
+            rect: {
+                x: 0,
+                y: $api.dom('header').offsetHeight,
+                w: api.winWidth,
+                h: $api.winHeight
+            },
+            preload:0,
+            index: id,
+            frames: frames
+        }, function (ret, err) {
+            menuSelected(ret.index);
+        });
+    };
+    function menuSelected(index) {
+        for (var i = 0; i < eHeaderLis.length; i++) {
+          if(index == i ){
+            $api.addCls(eHeaderLis[i], 'active_nav');
+          }else {
+            $api.removeCls(eHeaderLis[i], 'active_nav');
+          }
+        }
+    }
+    function randomSwitchBtn( tag ) {
+        if( tag == $api.dom('#nav_items li.active_nav') )return;
+        var eFootLis = $api.domAll('#nav_items li');
+            index = 0;
+        for (var i = 0,len = eFootLis.length; i < len; i++) {
+            if( tag == eFootLis[i] ){
+                index = i;
+            }else{
+                $api.removeCls(eFootLis[i], 'active_nav');
+            }
+        }
+        $api.addCls( eFootLis[index], 'active_nav');
+        api.setFrameGroupIndex({
+            name: 'QRcodegroup',
+            index: index
+        });
+    }
+    function backIndex() {
+      var newsFun ='newsFun()'
+      api.sendEvent({
+        name: 'myEvent',
+        extra: {
+            key1: 'value1',
+            key2: 'value2'
+        }
+      });
+      api.sendEvent({
+        name: 'newsBroadcast',
+        extra: {
+            key1: 'value1',
+            key2: 'value2'
+        }
+      });
+      api.closeWin({
+        name:'QRcodeLisr'
+      });
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          api.sendEvent({
+            name: 'myEvent'
+          });
+          api.sendEvent({
+            name: 'newsBroadcast'
+          });
+          api.closeWin({
+            name:'QRcodeLisr'
+          });
+      });
+    }
+</script>

+ 110 - 0
html/Qrcode/QrcodeDetaile.html

@@ -0,0 +1,110 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var info = $api.getStorage('data'),
+        name = JSON.parse(info).data.user.name,
+        uuid = JSON.parse(info).data.user.staff_num,
+        departmentID = JSON.parse(info).data.user.section_id,
+        id = api.pageParam.id,
+        departmentId = api.pageParam.departmentId,
+        flag = api.pageParam.flag,
+        title = api.pageParam.title,
+        pageId =api.pageParam.pageId;
+        detaile(name,uuid,pageId,departmentID,title,flag);
+        keybackFun();
+    };
+    // 详情
+    function detaile(uname,uuid,pageId,departmentID,title,flag) {
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: urlphp+"assets/html/QRcoddetails/index.html?name="+uname+"&uuid="+uuid+"&pageId="+pageId+"&departmentID="+departmentID,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              if (flag) {
+                var api_text = $api.dom('.api_text');
+                $api.html(api_text, ret.title);
+              }else {
+                var api_text = $api.dom('.api_text');
+                $api.html(api_text, title);
+              }
+                  break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      });
+    }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+        browser.historyBack(
+            function(ret, err) {
+                if (!ret.status) {
+                    api.closeWin();
+                }
+            }
+        );
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          var browser = api.require('webBrowser');
+            browser.historyBack(
+                function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                }
+            );
+
+      });
+    }
+</script>

+ 76 - 0
html/Qrcode/QrcodeRecodeList.html

@@ -0,0 +1,76 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+        <p class="api_text" id="api_text"></p>
+    </header>
+    <div class="api_nav">
+      <div class="header-nav scroller nav-haohuo" id="navScroll">
+
+      </div>
+    </div>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var depID = api.pageParam.depID,title=api.pageParam.title;
+        $api.html(api_text, title);
+        openQrcodeRecodeList(depID)
+        keybackFun()//调用监听物理返回键
+    };
+    var eHeaderLis;
+    function openQrcodeRecodeList(depID){
+        $event.openFrame('QRcode0','header','',{depID:depID},'')
+    };
+    function backIndex() {
+      var newsFun ='newsFun()'
+      api.sendEvent({
+        name: 'myEvent'
+      });
+      api.sendEvent({
+        name: 'newsBroadcast'
+      });
+      api.closeWin({
+        name:'QrcodeRecodeList'
+      });
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          api.sendEvent({
+            name: 'myEvent'
+          });
+          api.sendEvent({
+            name: 'newsBroadcast'
+          });
+          api.closeWin({
+            name:'QrcodeRecodeList'
+          });
+      });
+    }
+</script>

+ 119 - 0
html/Qrcode/Sweepcode.html

@@ -0,0 +1,119 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var info = $api.getStorage('data'),
+        name = JSON.parse(info).data.user.name,
+        uuid = JSON.parse(info).data.user.staff_num,
+        departmentID = JSON.parse(info).data.user.section_id,
+        pageUrl =api.pageParam.pageUrl;
+        detaile(pageUrl,name,uuid,departmentID);
+        keybackFun();
+    };
+    // 详情
+    function detaile(url,uname,uuid,departmentID) {
+      var name,value,pageidA = [],Route = url,pageidName = [];
+      var str=url;
+      var num=str.indexOf("?");
+      str=str.substr(num+1);
+      var arr=str.split("&");
+      for(var i=0;i < arr.length;i++){
+          num=arr[i].indexOf("=");
+          if(num>0){
+              name=arr[i].substring(0,num);
+              value=arr[i].substr(num+1);
+              this[name]=value;
+              pageidName.push(name)
+              pageidA.push(value)
+          }
+      }
+      if(pageidA[2] != "" && pageidA[2] && pageidName[2] == 'pageId'){
+          Route = urlphp+"assets/html/QRcoddetails/index.html?name="+uname+"&uuid="+uuid+"&pageId="+pageidA[2]+"&departmentID="+departmentID
+      }
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: Route,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              var api_text = $api.dom('.api_text');
+              $api.html(api_text, ret.title);
+                  break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      });
+    }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+        browser.historyBack(
+            function(ret, err) {
+                if (!ret.status) {
+                    api.closeWin();
+                }
+            }
+        );
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          var browser = api.require('webBrowser');
+            browser.historyBack(
+                function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                }
+            );
+
+      });
+    }
+</script>

+ 110 - 0
html/Qrcode/recordDetaile.html

@@ -0,0 +1,110 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text">巡检详情</p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var info = $api.getStorage('data'),
+        name = JSON.parse(info).data.user.name,
+        uuid = JSON.parse(info).data.user.staff_num,
+        departmentID = JSON.parse(info).data.user.section_id,
+        id = api.pageParam.id,
+        recordParentId = api.pageParam.recordParentId,
+        departmentIds = api.pageParam.departmentIds,
+        pageId =api.pageParam.pageId;
+        // var fitles = {
+        //     departmentId: departmentIds,
+        //     recordDynamicId:id,
+        //     userId:uuid
+        // };
+        // $http.fnReuestData(UrlRouter.addRecordDynamicApi,'','post',fitles,AlreadyReadData);
+        detaile(recordParentId,departmentID,name,uuid);
+        keybackFun();
+    };
+    // 详情
+    function detaile(recordParentId,departmentID,name,uuid) {
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: urlphp+"assets/html/QRcoddetails/static/recordDe.html?recordParentId="+recordParentId+"&departmentId="+departmentID+"&uname="+name+'&uuid='+uuid,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              var api_text = $api.dom('.api_text');
+              $api.html(api_text, ret.title);
+                  break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      });
+    }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+        browser.historyBack(
+            function(ret, err) {
+                if (!ret.status) {
+                    api.closeWin();
+                }
+            }
+        );
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          var browser = api.require('webBrowser');
+            browser.historyBack(
+                function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                }
+            );
+
+      });
+    }
+</script>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1202 - 0
html/browseQrcode/addRecode.html


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 2499 - 0
html/browseQrcode/browseQrcodeDe.html


+ 58 - 0
html/browseQrcode/browseQrcode_win.html

@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>浏览二维码详情</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="api.closeWin()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        $api.html($api.dom('.api_text'), api.pageParam.title);
+        openBrowseQrcode(api.pageParam.pageId)
+    };
+    // 详情
+    function openBrowseQrcode(pageId) {
+      api.openFrame({
+          name: 'browseQrcodeDe',
+          url: 'browseQrcodeDe.html',
+          rect: {
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: 'auto',
+              h: 'auto'
+          },
+          animation:{
+            type:'fade'
+          },
+          bounces: false,
+          scrollEnabled:true,
+          hScrollBarEnabled:false,
+          pageParam:{
+            pageId: pageId
+          }
+      });
+      // $event.openFrame('browseQrcodeDe','header')
+    }
+</script>

+ 94 - 0
html/browseQrcode/browseRecodeDe.html

@@ -0,0 +1,94 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        detaile(api.pageParam.id,api.pageParam.departmentID,api.pageParam.name,api.pageParam.uuid);
+        keybackFun();
+    };
+    // 详情
+    function detaile(id,departmentID,name,uuid) {
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: urlphp+"assets/html/QRcoddetails/static/recordDe.html?recordParentId="+id+"&departmentId="+departmentID+"&uname="+name+'&uuid='+uuid,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              var api_text = $api.dom('.api_text');
+              $api.html(api_text, ret.title);
+                  break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      });
+    }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+        browser.historyBack(
+            function(ret, err) {
+                if (!ret.status) {
+                    api.closeWin();
+                }
+            }
+        );
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          var browser = api.require('webBrowser');
+            browser.historyBack(
+                function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                }
+            );
+
+      });
+    }
+</script>

+ 94 - 0
html/browseQrcode/browseRecodeItem.html

@@ -0,0 +1,94 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        detaile(api.pageParam.id);
+        keybackFun();
+    };
+    // 详情
+    function detaile(id) {
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: urlphp+"assets/html/QRcoddetails/recordList-move.html?recordParentId="+id,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              var api_text = $api.dom('.api_text');
+              $api.html(api_text, ret.title);
+                  break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      });
+    }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+        browser.historyBack(
+            function(ret, err) {
+                if (!ret.status) {
+                    api.closeWin();
+                }
+            }
+        );
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          var browser = api.require('webBrowser');
+            browser.historyBack(
+                function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                }
+            );
+
+      });
+    }
+</script>

+ 94 - 0
html/browseQrcode/browseUrl.html

@@ -0,0 +1,94 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        detaile(api.pageParam.url);
+        keybackFun();
+    };
+    // 详情
+    function detaile(url) {
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: url=='#'?'www.404.com':url,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              var api_text = $api.dom('.api_text');
+              $api.html(api_text, ret.title);
+                  break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      });
+    }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+        browser.historyBack(
+            function(ret, err) {
+                if (!ret.status) {
+                    api.closeWin();
+                }
+            }
+        );
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          var browser = api.require('webBrowser');
+            browser.historyBack(
+                function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                }
+            );
+
+      });
+    }
+</script>

+ 396 - 0
html/browseQrcode/echartLevel.html

@@ -0,0 +1,396 @@
+
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>记录列表</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/popoPicker.css"/>
+    <link rel="stylesheet" href="../../css/style.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+        overflow-x: hidden;
+      }
+      .hide{
+        display: none;
+      }
+      /*name*/
+      .date-lists{
+          width: 100%;
+          overflow-x: scroll;
+          white-space: nowrap;
+          box-sizing: border-box;
+      }
+      .date-lists::-webkit-scrollbar{
+        display: none;
+      }
+      .date-wrap{
+        width: 100%;
+        position: fixed;
+        top: 0;
+        left: 0;
+        box-sizing: border-box;
+        z-index: 9999;
+        background: #fff;
+      }
+      .date-lists li{
+          margin-right: 20px;
+          padding: 14px 10px;
+          font-size: 16px;
+          color: #333;
+          position: relative;
+      }
+      .date-lists .active{
+          color: #009FE8;
+      }
+      .date-lists .active:after{
+          content: "";
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          width: 100%;
+          height: 2px;
+          background: #009FE8;
+      }
+       /*记录列表*/
+      .recode-wraps{
+        width: 95%;
+        border: 1px dashed #ECF0F1;
+        margin: auto;
+        margin-top: 10px;
+        border-radius: 5px;
+        padding-bottom: 5px;
+      }
+      .time{
+          background: #31A5FF;
+          padding: 5px 10px;
+          font-size: 14px;
+          display: inline-block;
+          color: #fff;
+          border-radius: 10px;
+          position: relative;
+          margin-bottom: 5px;
+      }
+      .recodeTitle{
+        display: block;
+        margin-top: 3px;
+      }
+      .name{
+          color: #000;
+          font-size: 14px;
+          /*font-weight: bold;*/
+          line-height: 1.6;
+      }
+      .main{
+          padding-left: 50px;
+          position: relative;
+          padding-bottom: 10px;
+      }
+      .main:after{
+          content: '';
+          position: absolute;
+          top: 0;
+          left: 30px;
+          width:2px;
+          background: #31A5FF;
+          height: 100%;
+      }
+      .main:before{
+          content: '';
+          position: absolute;
+          top: 5px;
+          left:23px;
+          width:15px;
+          background: #31A5FF;
+          height: 15px;
+          border-radius: 50%;
+      }
+      /*三角形*/
+      .Triangle{
+          position: absolute;
+          top: 5px;
+          left: -14px;
+          width: 0;
+          height: 0;
+          border-width: 8px;
+          border-style: solid;
+          border-color: transparent #31A5FF transparent transparent;
+          transform: rotate(360deg);
+      }
+      .recode-img{
+          display: inline-block;
+          width: 38px;
+          height: 46px;
+          background: url("../../icon/recode.png")  center no-repeat;
+          background-size: contain;
+          position: relative;
+          left: 12px;
+          top: 9px;
+      }
+      .state{
+        padding-left: 50px;
+        position: relative;
+      }
+      .stop{
+        position: absolute;
+        top: 6px;
+        left: 23px;
+        width: 15px;
+        height: 15px;
+        background: url("../../icon/stop.png")  center no-repeat;
+        background-size: contain;
+        z-index: 800;
+      }
+      .state:after{
+          content: '';
+          position: absolute;
+          top: -2px;
+          left: 30px;
+          width:2px;
+          background: #31A5FF;
+          height: 10px;
+        }
+        .recode-more{
+          padding: 20px;
+          text-align: center;
+        }
+        /*tool*/
+        .tool_itme{
+            padding: 10px;
+        }
+        .tool_time{
+          display: flex;
+          justify-content: space-between;
+        }
+        .tool_time input{
+            border: 1px solid #ccc;
+            padding: 8px 10px;
+            border-radius: 3px;
+            width: 46%;
+            box-sizing: border-box;
+           -webkit-appearance: none;
+           text-align: center;
+        }
+        .tool_seacrh_export{
+            padding: 10px 0;
+        }
+        .tool_seacrh_export button{
+            padding: 10px 0;
+            color: #fff;
+            background: #009FE8;
+            width: 100px;
+            border-radius: 4px;
+            text-align: center;
+            cursor: pointer;
+        }
+        .tool_seacrh_export button{
+            margin-right: 20px;
+        }
+    </style>
+</head>
+<body>
+  <div class="date-wrap" id="date_wrap">
+
+  </div>
+  <div class="api_layout" id="recode_item">
+      <div id="recode_content">
+
+      </div>
+  </div>
+  <div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+  </div>
+  <a href="javascript:;" class="upload_file"></a>
+</body>
+</html>
+
+<script type="text/template" id="recodeTemplate">
+  {{~it:value}}
+       <div class="recode-wraps">
+           <span class="recode-img"></span>
+           <div class="recode-list">
+              {{ for (var t=0;t<value.length;t++) { }}
+                 <div class="main" onclick="openRecordDe('{{=value[t].recordParentId}}')">
+                     <p class="time">
+                         {{=value[t].createDate}}
+                         <span class="Triangle"></span>
+                         <span class="recodeTitle">{{=value[t].templateName}}</span>
+                     </p>
+                     <p class="name">{{=value[t].createName}}</p>
+                     <div class="name">
+                       {{?value[t].recordStatusInstanceList != null}}
+                         {{ for(var i= 0;i<value[t].recordStatusInstanceList.length;i++){ }}
+                           <div class="state-items">
+                             <p class="state-title" style="width:auto;display:{{=value[t].statusName == ""?'none':'inline-block'}}">{{=value[t].recordStatusInstanceList[i].statusName}}:</p>
+                               {{ for(var j= 0;j<value[t].recordStatusInstanceList[i].recordStatusInstanceItemList.length;j++){ }}
+                                 {{?value[t].recordStatusInstanceList[i].recordStatusInstanceItemList.length == 1}}
+                                   <span>{{=value[t].recordStatusInstanceList[i].recordStatusInstanceItemList[j].statusContent}}</span>
+                                 {{??}}
+                                   <span>{{=value[t].recordStatusInstanceList[i].recordStatusInstanceItemList[j].statusContent}},</span>
+                                 {{?}}
+                               {{ } }}
+                            </div>
+                          {{ } }}
+                        {{??}}
+                          <div class="state-items">
+                            <p class="state-title" style="width:auto;display:{{=value[t].statusName == ""?'none':'inline-block'}}">{{=value[t].statusName}}:</p>
+                            <span>{{=value[t].statusContent}}</span>
+                           </div>
+                        {{?}}
+                     </div>
+                 </div>
+                 {{?t == value.length-1}}
+                 {{?value[value.length-1].continueStatus == false}}
+                     <div class="state">
+                         <p class="time">
+                             结束:{{=value[t].createDate}}
+                             <span class="Triangle" style="top:6px;"></span>
+                         </p>
+                         <i class="stop"></i>
+                     </div>
+                   {{??}}
+                     <div class="state wait">
+                         <p class="time" style="background:#F7A329">
+                             等待处理......
+                             <span class="Triangle" style="top:6px;border-color: transparent #F7A329 transparent transparent;"></span>
+                         </p>
+                         <i class="stop" style="background: url('../../icon/Continue.png')  center no-repeat;background-size: contain;"></i>
+                     </div>
+                   {{?}}
+                 {{?}}
+             {{ } }}
+           </div>
+       </div>
+  {{~}}
+</script>
+<script type="text/template" id="TemplateName">
+  <ul class="date-lists flex-start">
+    {{~it:value:index}}
+        {{?index == 0}}
+          <li class="active" onclick="randomSwitchBtn(this,'{{=value.parentId}}','{{=value.templateId}}')">{{=value.templateName}}</li>
+        {{??}}
+          <li onclick="randomSwitchBtn(this,'{{=value.parentId}}','{{=value.templateId}}')">{{=value.templateName}}</li>
+        {{?}}
+    {{~}}
+  </ul>
+</script>
+
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script type="text/javascript" src="../../script/zepto.js"></script>
+<script src="../../script/popoPicker.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var isLoadding = false;
+    var skip = 1;
+    apiready = function () {
+      if (api.pageParam.type === 'my') {
+        var info = $api.getStorage('data'),
+        uuid = JSON.parse(info).data.user.staff_num;
+        myRecodeList(uuid,api.pageParam.pageId)
+      }else {
+        recodeList(api.pageParam)
+      }
+      // 上拉加载
+      api.addEventListener({
+        name : 'scrolltobottom',
+        extra : {
+          threshold : 0 //设置距离底部多少距离时触发,默认值为0,数字类型
+        }
+      }, function(ret, err) {
+        if (!isLoadding && api.pageParam.type === 'my') {
+          isLoadding = true;
+          myRecodeList(uuid,api.pageParam.pageId)
+        }else {
+          isLoadding = true;
+          recodeList(api.pageParam)
+        }
+      });
+    }
+    function recodeList(params) {
+      var data = {
+        ...params,
+        pageNumber:skip,
+        pageSize:10
+      }
+      $http.requestShowProgress(UrlRouter.getPageRecordInstanceListRadio,'get',data)
+      .then(ret=>{
+        isLoadding = false;
+        if (ret.data.length == 0 && skip == 1) {
+            $api.removeCls($api.dom('.noText'), 'hide');
+            $apis.html(recode_content,'#recodeTemplate','');
+            isLoadding = true;
+            return false;
+        }else {
+            $api.addCls($api.dom('.noText'), 'hide');
+        }
+        if (ret.data.length > 0) {
+          skip += 1;
+          $apis.append(recode_content,'#recodeTemplate',ret.data);
+        } else {
+           isLoadding =true;
+            api.toast({
+                msg: '没有更多数据',
+                duration: 2000,
+                location: 'bottom'
+            });
+        }
+      })
+      .catch(err=>{
+        api.toast({
+            msg: '加载超时,请检查网络',
+            duration: 2000,
+            location: 'bottom'
+        });
+      })
+    }
+    // 记录详情
+    function openRecordDe(id) {
+      $event.openTabLayout('recodeDetails','recodeDetails','记录详情',{recordParentId:id});
+    }
+    // 我的记录
+    function myRecodeList(uuid,id) {
+      var data = {
+        createBy:uuid,
+        pageId:id,
+        pageNumber:skip,
+        pageSize:10
+      }
+      $http.requestShowProgress(UrlRouter.getPageRecordInstanceList,'get',data)
+      .then(ret=>{
+        // console.log(JSON.stringify(ret));
+        isLoadding = false;
+        if (ret.data.length == 0 && skip == 1) {
+            $api.removeCls($api.dom('.noText'), 'hide');
+            $apis.html(recode_content,'#recodeTemplate','');
+            isLoadding = true;
+            return false;
+        }else {
+            $api.addCls($api.dom('.noText'), 'hide');
+        }
+        if (ret.data.length > 0) {
+          skip += 1;
+          $apis.append(recode_content,'#recodeTemplate',ret.data);
+        } else {
+           isLoadding =true;
+            api.toast({
+                msg: '没有更多数据',
+                duration: 2000,
+                location: 'bottom'
+            });
+        }
+      })
+      .catch(err=>{
+        api.toast({
+            msg: '加载超时,请检查网络',
+            duration: 2000,
+            location: 'bottom'
+        });
+      })
+    }
+</script>

+ 69 - 0
html/browseQrcode/map.html

@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>map</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <style media="screen">
+        body,html{
+            margin: 0;
+            background: #fff;
+        }
+    </style>
+</head>
+<body>
+
+</body>
+</html>
+
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    apiready = function () {
+      openMap(api.pageParam.lon,api.pageParam.lat)
+    }
+    function openMap(lon,lat) {
+      var aMap = api.require('aMap');
+        aMap.open({
+            rect: {
+                x: 0,
+                y: 0,
+                w: 'auto',
+                h: 'auto'
+            },
+            showUserLocation: true,
+            showsAccuracyRing:false,
+            showsAccuracyRing:true,
+            zoomLevel: 17,
+            center: {
+                lon: api.pageParam.lon,
+                lat: api.pageParam.lat
+            },
+            fixed: true
+        },function (ret) {
+            if (ret.status) {
+              aMap.addAnnotations({
+                  annotations: [{
+                      id: 1,
+                      lon: lon,
+                      lat: lat
+                  }],
+                  draggable: false,
+                  timeInterval: 2.0
+              });
+            }
+        });
+    }
+    function keybackFun() {
+      api.addEventListener({
+          name: 'keyback'
+        }, function(ret, err){
+          api.closeWin();
+          var aMap = api.require('aMap');
+          aMap.close();
+      });
+    }
+</script>

+ 241 - 0
html/browseQrcode/moreBrowse.html

@@ -0,0 +1,241 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" href="../../css/swiper.css">
+    <link rel="stylesheet" href="../../css/animate.css">
+    <style media="screen">
+      .hide{
+        display: none;
+      }
+      .col{
+        padding: 0 10px;
+      }
+      .col label{
+        color: #333;
+        font-size: 16px;
+        padding: 15px 0 ;
+        position: relative;
+        padding-left: 15px;
+        width: 100%;
+      }
+      .col label:before{
+        content: '';
+        position: absolute;
+        top: 13px;
+        left: 0;
+        width: 3px;
+        height: 26px;
+        background: #009fe8;
+      }
+      .col label:after{
+        content: '';
+        position: absolute;
+        bottom: 0;
+        left: 0;
+        width: 100%;
+        height: 1px;
+        background: #ECF0F1;
+      }
+      /*浏览记录*/
+      .browse-items{
+        display: -webkit-flex;
+        display: flex;
+        justify-content: flex-start;
+        -webkit-justify-content: flex-start;
+        flex-wrap: wrap;
+        -webkit-flex-wrap: wrap;
+        align-items: center;;
+      }
+      .browse-info{
+        padding-top: 15px;
+      }
+      .browse-item{
+        width: 20%;
+        font-size: 14px;
+        color: #333;
+        text-align: center;
+        margin-bottom: 10px;
+      }
+      .browse-item img{
+        width: 100%;
+        border-radius: 50%;
+        object-fit: cover;
+        margin: auto;
+        margin-bottom: 5px;
+      }
+      .browse-item p{
+        text-overflow: ellipsis;
+        overflow: hidden;
+        white-space: nowrap;
+        min-width: 0;
+      }
+      .browse-item span{
+        display: block;
+        color: #fff;
+        /*background: red;*/
+        text-align: center;
+        margin: auto;
+        margin-bottom: 9px;
+        border-radius: 50%;
+      }
+      /*浏览弹出框*/
+      .modular{
+        position: fixed;
+        top: 0;
+        left: 0;
+        width: 100%;
+        height: 100%;
+        background: rgba(0,0,0, .6);
+        z-index: 1000;
+       }
+        .box{
+          -webkit-border-radius: 5px;
+          -moz-border-radius: 5px;
+          border-radius: 5px;
+          background: #fff;
+          position: absolute;
+          top: -10%;
+          bottom: 0;
+          left: 0;
+          right: 0;
+          margin: auto;
+          width: 270px;
+          height: 220px;
+          z-index: 200;
+          padding: 20px 10px;
+          -webkit-box-sizing: border-box;
+          -moz-box-sizing: border-box;
+          box-sizing: border-box;
+        }
+        .header-img{
+          text-align: center;
+        }
+        .header-img img{
+          width: 60px;
+          height: 60px;
+          -webkit-border-radius: 50%;
+          -moz-border-radius: 50%;
+          border-radius: 50%;
+          margin: auto;
+        }
+        .header-img p{
+          text-align: center;
+          -webkit-border-radius: 50%;
+          -moz-border-radius: 50%;
+          border-radius: 50%;
+        }
+        .header-img{
+          margin-bottom: 10px;
+        }
+        .personal-info p{
+          padding: 5px 0;
+          text-align: center;
+          font-size: 14px;
+          color: #333;
+        }
+        .personal-info .times{
+         color: #727472;
+       }
+    </style>
+  </head>
+  <body>
+    <div>
+      <div class="col">
+        <label>浏览记录</label>
+        <div class="browse-info">
+          <ul class="browse-items" id="browse_items">
+
+
+          </ul>
+        </div>
+      </div>
+    </div>
+    <!--浏览信息弹出框-->
+    <div class="modular hide animated" id="myModal">
+        <div class=" box">
+            <div class="header-img">
+                <!--<img src="http://jiewei-php-files.oss-cn-qingdao.aliyuncs.com/avatar/avatar_15038412.png" alt="">-->
+            </div>
+            <div class="personal-info">
+                <p class="name"></p>
+                <p class="dep"></p>
+                <p class="times"></p>
+            </div>
+        </div>
+    </div>
+  </body>
+</html>
+<script type="text/template" id="browseTl">
+  {{~it:value}}
+    {{?value.name != "" && value.name != null}}
+      {{?value.img == null || value.img == ""}}
+        <li class="browse-item" onclick="openModular('{{=value.name}}','{{=value.img}}','{{=value.department}}','{{=value.createDate}}')">
+          <span style="width: {{=imgSize()}}px;height:{{=imgSize()}}px;line-height:{{=imgSize()}}px;background-color:#{{=Math.random().toString(16).slice(2,8)}}">{{=value.name.substr(value.name.length-1,1)}}</span>
+          <p>{{=value.name}}</p>
+        </li>
+      {{??}}
+        <li class="browse-item" onclick="openModular('{{=value.name}}','{{=value.img}}','{{=value.department}}','{{=value.createDate}}')">
+          <img src="{{=String(value.img).substr(value.img, 4) == 'http'?value.img:urlphp+value.img}}" style="width: {{=imgSize()}}px;height:{{=imgSize()}}px" alt="">
+          <p>{{=value.name}}</p>
+        </li>
+      {{?}}
+    {{?}}
+  {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script type="text/javascript" src="../../script/zepto.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+apiready = function () {
+  $apis.UILoading('')
+  browseNum(api.pageParam.id)
+};
+// 浏览人数
+function browseNum(id) {
+  $http.fnReuestDataNologing(UrlRouter.getPageUserByPageId+id,'','get','',function (ret, err) {
+    if (ret.code === '200') {
+      $apis.html(browse_items,'#browseTl',ret.data);
+      $apis.CloseUILoading()
+    }
+  })
+}
+// 浏览人员详情
+function openModular(name, img, dep, time) {
+   $('.modular').show();
+   $('.box').addClass('animated bounceInDown');
+   setTimeout(function () {
+       $('.box').removeClass('animated bounceInDown')
+   }, 1000);
+   if (img == 'null') {
+     $('.box').find('.header-img').html(` <p style="background:#${Math.random().toString(16).slice(2,8)};width: 60px;height: 60px;line-height:60px;margin: auto">${name.substr(name.length-1,1)}</p>`)
+   }else {
+     var url = img.substr(img, 4)
+     if ( url == 'http') {
+       $('.box').find('.header-img').html(`<img src="${img}">`)
+     }else {
+       $('.box').find('.header-img').html(`<img src="${urlphp+img}">`)
+     }
+   }
+   $('.box').find('.name').html('姓名:'+name)
+   $('.box').find('.dep').html('部门:'+ dep)
+   $('.box').find('.times').html('最新浏览时间:' + time)
+}
+window.onclick = function(event) {
+  if (event.target ==  document.getElementById('myModal')) {
+      $('.modular').hide();
+  }
+}
+
+// 动态计算浏览人数img大小
+function imgSize() {
+  var width = document.body.clientWidth;
+  return  width / 5 - 23
+}
+</script>

+ 147 - 0
html/browseQrcode/qrcodeShare.html

@@ -0,0 +1,147 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>二维码分享</title>
+    <style>
+        html body {
+            position: relative;
+        }
+
+        .api_layout {
+            margin: 25px 12px 0 12px;
+            background: #fff;
+            text-align: center;
+            box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.1);
+            border-radius: 10px;
+        }
+
+        header {
+            height: 58px;
+            line-height: 58px;
+            font-size: 18px;
+            color: #333333;
+            border-bottom: solid 1px #E0E1E2;
+        }
+
+        .footer {
+            height: 40px;
+            line-height: 40px;
+            font-size: 12px;
+            color: #6C6F74;
+            border-top: solid 1px #E0E1E2;
+        }
+
+        .qrcode_img {
+            margin: 17px;
+            width: 300px;
+            height: 300px;
+            margin: 0 auto;
+        }
+
+        .qrcode_img img {
+            display: block;
+            width: 100%;
+            height: 100%;
+        }
+
+        .handle_item {
+            margin: 80px 20px 0 20px;
+            text-align: center;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+        }
+
+        .handle_item .handle_item_contaoner {
+            width: 100%;
+            height: 35px;
+            /*width: 145px;
+            height: 35px;*/
+            background: rgba(255, 255, 255, 1);
+            border-radius: 5px;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+        }
+
+        /*.handle_item_contaoner div:first-child {
+          line-height: 16px;
+        }*/
+
+        .handle_item_contaoner div:first-child img{
+          width: 16px;
+          height: 16px;
+          display: block;
+          line-height: 16px;
+        }
+
+        .handle_item_contaoner div:last-child {
+          margin-left: 8px;
+        }
+    </style>
+</head>
+
+<body style="background-color:#009FE8;">
+    <div class="api_layout">
+        <header>
+            App下载二维码
+        </header>
+        <div class="qrcode_img">
+            <img src="" id="qrOssImg" alt="">
+        </div>
+        <div class="footer" onclick="handleDownLoadQrCode()">
+            扫一扫下载
+        </div>
+    </div>
+    <div class="handle_item">
+        <div class="handle_item_contaoner" onclick="handleDownLoadQrImg()">
+          <!--  -->
+            <div><img src="../../image/downLoadQrCode.png" alt=""></div>
+            <div>保存到手机</div>
+        </div>
+        <!-- <div class="handle_item_contaoner">
+            <div><img src="../../image/shareImg.png" alt=""></div>
+            <div>分享</div>
+        </div> -->
+    </div>
+</body>
+
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var token, uuid, headers,imgSrc = '',qr_oss_mg='';
+    var toast = new auiToast();
+    apiready = function() {
+        var info = $api.getStorage('data'),
+            user = JSON.parse(info).data.user;
+        token = JSON.parse(info).data.access_token;
+        uuid = JSON.parse(info).data.user.staff_num;
+        headers = {
+            "Authorization": "Bearer " + token
+        };
+        imgSrc = `https://jiewei-icon.oss-cn-beijing.aliyuncs.com/下载二维码/${ossImgName}.png`
+        qr_oss_mg = $api.byId('qrOssImg');
+        qr_oss_mg.src = imgSrc
+    };
+
+
+    function handleDownLoadQrImg() {
+        api.saveMediaToAlbum({
+            path: imgSrc
+        }, function(ret, err) {
+            console.log(JSON.stringify(ret));
+            if (ret && ret.status) {
+                console.log('保存成功');
+            } else {
+                alert('保存失败');
+            }
+        });
+    }
+</script>

+ 682 - 0
html/browseQrcode/recodeDetails.html

@@ -0,0 +1,682 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>浏览记录详情</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+      *{
+          box-sizing: border-box;
+          outline: none;
+      }
+      .note{
+          border-bottom: 20px solid #ECF0F1;
+          padding-bottom: 20px;
+      }
+      .note:last-child{
+        border-bottom: 0 solid #ECF0F1;
+        padding-bottom: 0;
+      }
+      .noneMargin:last-child{
+          margin-bottom: 20px
+      }
+      /*header*/
+      .top {
+          text-align: center;
+          margin: 20px;
+      }
+      .top .icon {
+          text-align: center;
+      }
+      .note-name, .note-time {
+          font-size: 18px;
+          line-height: 30px;
+          color: #2c3e50;
+      }
+      .top .name {
+          font-size: 18px;
+          color: #7f8c8d;
+      }
+      /*状态*/
+      .m-card{
+        padding: 0 15px;
+      }
+      .m-card .header {
+          margin: 0 -15px;
+          line-height: 40px;
+          border-bottom: 1px solid #ECF0F1;
+          background-color: #ECF0F1;
+          font-size: 18px;
+          position: relative;
+      }
+      .m-card .header span {
+          margin-left: 15px;
+          color: #2980B9;
+          padding: 2px 0 2px 10px;
+      }
+      .m-card .header:after{
+          content: '';
+          position: absolute;
+          top:8px;
+          left: 14px;
+          width: 3px;
+          height: 60%;
+          background: #3498DB;
+      }
+      .cell-item {
+          display: -webkit-flex;
+          display: flex;
+          justify-content: flex-start;
+          position: relative;
+          overflow: hidden;
+          margin: 15px 0;
+      }
+      .m-cell {
+          background-color: #FFF;
+          position: relative;
+          z-index: 1;
+      }
+      /*.m-cell:after {*/
+      /*    content: '';*/
+      /*    position: absolute;*/
+      /*    z-index: 0;*/
+      /*    bottom: 0;*/
+      /*    left: 0;*/
+      /*    width: 100%;*/
+      /*    height: 1px;*/
+      /*    border-bottom: 1px solid #B2B2B2;*/
+      /*    -webkit-transform: scaleY(0.5);*/
+      /*    transform: scaleY(0.5);*/
+      /*    -webkit-transform-origin: 0 100%;*/
+      /*    transform-origin: 0 100%;*/
+      /*}*/
+      /*记录项*/
+      .cell-left {
+          width: 30%;
+          font-size: 16px;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          white-space: wrap;
+          color: #333;
+          display: -webkit-box;
+          display: -webkit-flex;
+          display: -ms-flexbox;
+          display: flex;
+          -webkit-box-align: center;
+          -webkit-align-items: center;
+          -ms-flex-align: center;
+          align-items: center;
+      }
+      .cell-right{
+        display: flex;
+        font-weight: bold;
+        -webkit-justify-content: flex-start;
+        justify-content: flex-start;
+        text-align: left;
+        width: 70%;
+        min-height: 1rem;
+        color: #525252;
+        font-size: 16px;
+        padding-right: 0.24rem;
+        padding-left: 10px;
+      }
+      .m-card .m-cell .cell-title {
+          width: 30%;
+          color: #333;
+          font-size: 16px;
+          margin: 10px 0;
+      }
+      .m-card .m-cell .cell-content {
+          color: #525252;
+          font-size:16px;
+          font-weight: bold;
+          margin: 10px 0;
+          padding: 0 5px;
+          width: 70%;
+      }
+      .call-centers{
+        display: flex;
+        justify-content: center;
+        align-items: center;
+      }
+      .m-card .card-box .title {
+          font-size: 16px;
+          margin: 10px 0;
+      }.m-card .card-box .content {
+          padding: 10px;
+          border-width: 2px;
+          border-style: dashed;
+          border-color: #ECF0F1;
+          margin-bottom: 5px;
+      }
+      /*file*/
+      .card-box{
+          margin-bottom: 15px;
+      }
+     .card-box .content .file-item {
+          display: inline-block;
+          padding: 10px;
+          width: 32%;
+          vertical-align: top;
+          text-align: center;
+          height: 100px;
+      }
+      .card-box .content .file-item img {
+          margin: 0 auto;
+          width: 40px;
+      }
+      .card-box .content .file-item p {
+          margin-top: 10px;
+          width: 100%;
+          font-size: 14px;
+          color: #7f8c8d;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          display: -webkit-box;
+          -webkit-line-clamp: 2;
+          line-clamp: 2;
+          -webkit-box-orient: vertical;
+      }
+      /*img*/
+      .m-card .card-box .img-list> .img-item {
+          display: inline-block;
+          width: 32%;
+      }
+     .card-box .img-list .img-item {
+          position: relative;
+          display: inline-block;
+      }
+      .card-box .img-list .img-item img {
+          z-index: 0;
+          height: 27vw;
+          width: 27vw;
+          object-fit: cover;
+          border-radius: 5px;
+      }
+      /*检查项*/
+      /*提交按钮*/
+      .submitBtn{
+        width:100%;
+        color:#fff;
+        position: fixed;bottom: 0;left:0;
+        z-index:100;
+        margin: 0;
+        height: 55px;
+        line-height: 55px;
+        font-size: 18px;
+        background: #009fe8
+      }
+       /*浏览记录*/
+      .browse-item{
+        padding: 15px;
+        position: relative;
+      }
+      .browse-item:after{
+          content: '';
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          width: 100%;
+          height: 1px;
+          background: #ECF0F1;
+      }
+     .header-ico{
+        width: 40px;
+        height: 40px;
+        border-radius: 50%;
+        line-height: 40px;
+        text-align: center;
+        object-fit: cover;
+         margin-right: 10px;
+         font-size: 13px;
+     }
+     .browse-time{
+        font-size: 13px;
+        color: #BDC3C7;
+        line-height: 1.5;
+     }
+     .personal-info,.browse-num{
+        color: #2C3E50;
+        font-size: 13px;
+        font-style: normal;
+     }
+     .browse-title{
+       color: #333;
+       font-size: 16px;
+       padding: 15px 0 ;
+       position: relative;
+       width: 100%;
+       padding-left: 25px;
+     }
+     .browse-title:before{
+       content: '';
+       position: absolute;
+       top: 13px;
+       left: 14px;
+       width: 3px;
+       height: 26px;
+       background: #009fe8;
+     }
+     .browse-title:after{
+       content: '';
+       position: absolute;
+       bottom: 0;
+       left: 0;
+       width: 100%;
+       height: 1px;
+       background: #ECF0F1;
+     }
+     /*返回当前二维码*/
+     .backQrcode{
+       width: 45px;
+       height: 45px;
+       -webkit-border-radius: 50%;
+       -moz-border-radius: 50%;
+       border-radius: 50%;
+       border: 1px solid #f2f2f2;
+       position: fixed;
+       bottom: 50px;
+       right: 20px;
+       z-index: 9999;
+       background: #fff;
+       opacity: 1;
+       transition: .5s;
+       text-align: center;
+       padding: 5px;
+      }
+      .backQrcode img{
+        width: 100%;
+        height: 100%;
+      }
+      /*position*/
+      .flex-starts{
+          display: flex;
+          justify-content: space-between;
+          white-space: nowrap;
+          align-items: center;
+      }
+      .flex-spaces{
+          display: flex;
+          justify-content: space-between;
+          white-space: nowrap;
+          align-items: center;
+      }
+      .ico-map{
+          width: 25px;
+          height: 25px;
+          background: url("../../icon/position.png") no-repeat;
+          background-position: center;
+          background-size: cover;
+      }
+      .more-icon{
+        width: 20px;
+        height: 20px;
+        background: url("../../image/more.png") no-repeat;
+        background-position: center;
+        background-size: cover;
+      }
+      .position{
+          padding: 5px 15px;
+          border-radius: 50px;
+          background: #F0F0F0;
+          font-size: 14px;
+          margin-top:10px;
+      }
+      .map1{
+          color: #009FE8;
+          margin-bottom: 5px;
+          text-align: left;
+      }
+      .map-name {
+        width: 78%;
+      }
+      .names{
+        width: 85%;
+        white-space: normal;
+      }
+    </style>
+</head>
+<body>
+  <div class="g-flexview" id="g_flexview"></div>
+  <!-- 浏览记录UI统计  之前在Script标签中  一直报 undefined 所以只能把这个写到body中 -->
+  <div class="browse-wrap" id="browse_items"></div>
+</body>
+</html>
+<script type="text/template" id="recordTemplate">
+  {{?it.recordInstanceList !=null}}
+    {{ for (var i = 0;i<it.recordInstanceList.length;i++) { }}
+      <div class="note" id="note${recordInstanceList[r].id}">
+          <div class="top recordInfo">
+              <div class="icon"><img src="../../icon/0001.png"></div>
+              <div class="note-name">{{=it.recordInstanceList[i].templateName}}</div>
+              <div class="note-time">{{=it.recordInstanceList[i].createDate}}</div>
+              <div class="name">{{=it.recordInstanceList[i].createName}}</div>
+              {{?it.recordInstanceList[i].spName}}
+              <div class="position flex-spaces" onclick="openMaps('{{=it.recordInstanceList[i].lng}}','{{=it.recordInstanceList[i].lat}}')">
+                  <div class="map-name flex-starts">
+                    <i class="ico-map"></i>
+                    <div class="names">
+                      <p class="map1">{{=it.recordInstanceList[i].spName}}</p>
+                    </div>
+                  </div>
+                  <p class="more-icon"></p>
+              </div>
+              {{?}}
+          </div>
+          <!--状态-->
+          {{? it.recordInstanceList[i].recordStatusInstanceList != null && it.recordInstanceList[i].recordStatusInstanceList != ""}}
+            <div class="m-card">
+                <div class="header"><span>状态</span></div>
+                <div class="content">
+                    <div class="m-cell statusItem">
+                        {{ for (var j = 0;j<it.recordInstanceList[i].recordStatusInstanceList.length;j++) { }}
+                        <div class="cell-item">
+                            <div class="cell-left">{{=it.recordInstanceList[i].recordStatusInstanceList[j].statusName}}</div>
+                            <div class="cell-right" id="statusP${recordInstanceList[r].id+u}">
+                                {{ for (var u = 0;u<it.recordInstanceList[i].recordStatusInstanceList[j].recordStatusInstanceItemList.length;u++) { }}
+                                <span style="color:{{=it.recordInstanceList[i].recordStatusInstanceList[j].recordStatusInstanceItemList[u].statusColor}};">
+                                    {{=it.recordInstanceList[i].recordStatusInstanceList[j].recordStatusInstanceItemList[u].statusContent}}
+                                </span>
+                                {{ } }}
+                            </div>
+                        </div>
+                        {{ } }}
+                    </div>
+                </div>
+            </div>
+          {{?}}
+          {{?it.recordInstanceList[i].statusName != ""}}
+            <div class="m-card">
+                <div class="header"><span>状态</span></div>
+                <div class="content">
+                    <div class="m-cell">
+                        <div class="cell-item">
+                            <div class="cell-left">{{=it.recordInstanceList[i].statusName}}</div>
+                            <div class="cell-right"><span class="blue">{{=it.recordInstanceList[i].statusContent}}</span></div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+          {{?}}
+          <!--记录项-->
+          {{?it.recordInstanceList[i].inputList != null && it.recordInstanceList[i].inputList != ""}}
+            {{ for(var prop in it.recordInstanceList[i].inputList) { }}
+              <div class="m-card">
+                <div class="header">
+                    <span>{{=prop==""?'记录项':prop}}</span>
+                </div>
+              <div class="content contents">
+              {{ for (var t = 0;t<it.recordInstanceList[i].inputList[prop].length;t++) { }}
+                {{? it.recordInstanceList[i].inputList[prop][t].inputType === 'photo' && it.recordInstanceList[i].inputList[prop][t].values !=""}}
+                    <div class="card-box">
+                        <div class="title">{{=it.recordInstanceList[i].inputList[prop][t].inputName}}:</div>
+                        <div class="content">
+                            <div class="my-gallery img-list" data-pswp-uid="1">
+                                {{ for (var s = 0;s<it.recordInstanceList[i].inputList[prop][t].values.length;s++) { }}
+                                <div class="img-dv img-item" onclick="browseImg('{{=i}}','{{=it.recordInstanceList[i].inputList[prop][t].values}}')">
+                                    <a href="javascript:;">
+                                       <img src="{{=it.recordInstanceList[i].inputList[prop][t].values[s]}}?x-oss-process=style/img-200">
+                                    </a>
+                                </div>
+                                {{ } }}
+                            </div>
+                        </div>
+                    </div>
+                {{?? it.recordInstanceList[i].inputList[prop][t].inputType === 'file' && it.recordInstanceList[i].inputList[prop][t].values !=""}}
+                    <div class="card-box">
+                      <div class="title">{{=it.recordInstanceList[i].inputList[prop][t].inputName}}:</div>
+                      <div class="content">
+                        <div class="file-list">
+                            {{ for (var f = 0;f<it.recordInstanceList[i].inputList[prop][t].values.length;f++) { }}
+                              <div class="file-item" onclick="browseFile('{{=it.recordInstanceList[i].inputList[prop][t].values[f].substr(0,it.recordInstanceList[i].inputList[prop][t].values[f].lastIndexOf('-'))}}')">
+                                <a href="javascript:;">
+                                    <img src="../../icon/{{=it.recordInstanceList[i].inputList[prop][t].values[f].substr(it.recordInstanceList[i].inputList[prop][t].values[f].lastIndexOf(".")+1)}}.png">
+                                    <p>{{=it.recordInstanceList[i].inputList[prop][t].values[f].substr(it.recordInstanceList[i].inputList[prop][t].values[f].lastIndexOf('-')+1)}}</p>
+                                </a>
+                              </div>
+                            {{ } }}
+                        </div>
+                      </div>
+                  </div>
+                {{?? it.recordInstanceList[i].inputList[prop][t].inputType === 'video' && it.recordInstanceList[i].inputList[prop][t].values !=""}}
+                    <div class="card-box">
+                        <div class="title">{{=it.recordInstanceList[i].inputList[prop][t].inputName}}:</div>
+                        <div class="content vedios">
+                            <video controls webkit-playsinline="true" class="video" style="width: 100%;height: 200px;">
+                                <source src="{{=it.recordInstanceList[i].inputList[prop][t].values[0]}}">
+                            </video>
+                        </div>
+                    </div>
+                {{?? it.recordInstanceList[i].inputList[prop][t].inputType === 'mp3' && it.recordInstanceList[i].inputList[prop][t].values !=""}}
+                      <div class="card-box" style="margin-bottom: 15px;">
+                          <div class="title titleAudio">{{=it.recordInstanceList[i].inputList[prop][t].inputName}}:</div>
+                          <div class="audio_a" style="position: relative;">
+                              <audio id="audio_src" controls style="width:100%;">
+                                  <source src="{{=it.recordInstanceList[i].inputList[prop][t].values[0]}}">
+                              </audio>
+                          </div>
+                      </div>
+                    </div>
+                {{?? it.recordInstanceList[i].inputList[prop][t].values !=""}}
+                    <div class="m-cell recordItem">
+                        <div class="cell-item">
+                            <div class="cell-title">{{=it.recordInstanceList[i].inputList[prop][t].inputName}}:</div>
+                            <div class="cell-content">
+                              <span class="normal">{{=it.recordInstanceList[i].inputList[prop][t].values.join(',')}}</span>
+                            </div>
+                        </div>
+                    </div>
+                {{?}}
+              {{ } }}
+          </div>
+        </div>
+       {{ } }}
+       {{?}}
+      <!--检查项-->
+      {{?it.recordInstanceList[i].checkItemMap != null && it.recordInstanceList[i].checkItemMap != ""}}
+      <div class="m-card inspectItems">
+          <div class="header">
+              <span>检查项</span>
+          </div>
+          <div class="content">
+              {{ for(var key in it.recordInstanceList[i].checkItemMap) { }}
+              <div class="m-cell inspectItem">
+                  <div class="cell-item">
+                      <div class="cell-title" style="width: 80%">{{=it.recordInstanceList[i].checkItemMap[key][0].groupName}}</div>
+                      <div class="cell-content call-centers" style="width:20%;">
+                        {{ for (var c = 0;c<it.recordInstanceList[i].checkItemMap[key].length;c++) { }}
+                          <span class="normal">{{=it.recordInstanceList[i].checkItemMap[key][c].itemValue ===""?"暂无内容":it.recordInstanceList[i].checkItemMap[key][c].itemValue}}</span>
+                        {{ } }}
+                      </div>
+                  </div>
+              </div>
+              {{ } }}
+          </div>
+      </div>
+      {{?}}
+      </div>
+    {{ } }}
+    {{?}}
+    {{?it.pageRecord != null}}
+        <button type="button" class="btn-block btn-primary submitBtn" onclick="nextStep('{{=it.pageRecord.templateName}}','{{=it.pageId}}','{{=it.pageRecord.id}}','{{=it.recordParentId}}')">{{=it.pageRecord.templateName}}</button>
+        {{=bottom()}}
+    {{?}}
+    <!--返回当前二维码-->
+    <div class="backQrcode" onclick="backQrcode('{{=it.pageId}}','{{=it.pageName}}')">
+        <img src="../../icon/qrcode.png" alt="">
+    </div>
+</script>
+<script type="text/template" id="browseTl">
+  <label class="browse-title">浏览记录</label>
+  <ul class="browse-items" style="margin-bottom:35px;">
+    {{~it:value}}
+      <li class="browse-item flex-space">
+          <div class="flex-start">
+            {{?value.img == null}}
+              <p class="header-ico" style="background:#{{=Math.random().toString(16).slice(2,8)}}">
+                  {{=value.name.substr(value.name.length-1)}}
+              </p>
+            {{??}}
+               <img src="{{=value.img.substr(value.img, 4) == 'http'?value.img:urlImgUrl+value.img}}" class="header-ico" alt="">
+            {{?}}
+            <div class="browse-time" style="margin-right:10px">
+              <p class="personal-info">{{=value.name}}</p>
+              <p class="personal-info">{{=value.department}}</p>
+            </div>
+            <div class="browse-time">
+                <p>最近:{{=value.lastDate.substr(5)}}</p>
+                <p>首次:{{=value.createDate.substr(5)}}</p>
+            </div>
+          </div>
+          <i class="browse-num">{{=value.count}}次</i>
+        </li>
+    {{~}}
+  </ul>
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script src="../../script/zepto.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var name= "",uuid="",organizationIds="";
+    apiready = function () {
+      var info = $api.getStorage('data');
+      name = JSON.parse(info).data.user.name;
+      uuid = JSON.parse(info).data.user.staff_num;
+      organizationIds = JSON.parse(info).data.user.section_id;
+      recodeDetails(api.pageParam.recordParentId);
+      // 返回二维码
+      scrollBottom()
+    };
+    function recodeDetails(id) {
+      var params = {
+        recordParentId:id,
+        departmentId:organizationIds
+      }
+
+      $http.requestShowProgress(UrlRouter.getRecordInstanceDetailList,'get',params)
+      .then(ret=>{
+          if (ret.code == '200') {
+            $apis.html(g_flexview,'#recordTemplate',ret.data)
+            // 添加浏览记录
+            var param={
+              recordParentId:id,
+              userId:uuid
+            }
+            return $http.requestData(UrlRouter.addRecordUser,'post',param)
+          }
+      })
+      .then(ret=>{
+        // console.log(JSON.stringify(ret));
+        // console.log(JSON.stringify(id));
+        // 在then 回调中 调浏览记录方法  但是会报 browse_items undifend 在此处 then没有起到回调函数的作用 所以只能把 browse_items这个容器放到body中
+        browseNum(id)
+      })
+      .catch(err=>{})
+    }
+    function bottom() {
+      $api.css($api.dom('.g-flexview'), 'padding-bottom: 30px;');
+      return "";
+    }
+    // 文件浏览
+    function browseFile(paths) {
+      var flag = true;
+      if (paths.substr(paths.lastIndexOf(".")+1) == 'zip'&& paths.substr(paths.lastIndexOf(".")+1) == 'rar') {
+        flag = false;
+      }else {
+        api.showProgress({
+          title: '提示',
+          text: '打开文件中...',
+        });
+      }
+      api.download({
+          url: paths,
+          report: true,
+          cache: true,
+          allowResume: true
+      }, function(ret, err) {
+          if (ret.state == 1) {
+             api.hideProgress();
+              if (flag) {
+                var superFile = api.require('superFile');
+                superFile.open({path:ret.savePath});
+              }
+              setTimeout(function () {
+                api.toast({
+                    msg: '下载成功',
+                    duration: 2000,
+                    location: 'top'
+                });
+              },100)
+          }
+      });
+    }
+    // 图片浏览
+    function browseImg(i,value) {
+      var imageBrowser = api.require('imageBrowser');
+        imageBrowser.openImages({
+            imageUrls: value.split(','),
+            activeIndex:i,
+            showList:false
+        });
+    }
+    // 如果有下一步执行次方法
+    function nextStep(title,pageId,pageRecordId,recordTrueID) {
+      var param= {
+          pageId: pageId,
+          pageRecordId: pageRecordId,
+          createBy: uuid,
+          createName: name,
+          recordTrueID: recordTrueID,
+          organizationIds:organizationIds
+      }
+      $event.openTabLayout('addRecode','addRecode',title,param);
+    }
+    // 浏览人数
+    function browseNum(recordParentId) {
+      // console.log(recordParentId);
+      $http.fnReuestDataNologing(UrlRouter.getRecordUserById+recordParentId,'','get','',function (ret, err) {
+        if (ret.code === '200') {
+          // console.log(JSON.stringify(ret.data));
+          $apis.html(browse_items,'#browseTl',ret.data);
+        }
+      })
+    }
+    // 返回二维码js
+    function scrollBottom() {
+        var window1 = $(window).height();
+        var documents = $(document).height();
+        if (window1 == documents) {
+            $(".backQrcode").css({bottom:'50px',opacity:'1'})
+            return false;
+        }
+        $(window).on('scroll',function(){
+            if($(window).scrollTop()>=10){
+                $(".backQrcode").css({bottom:'50px',opacity:'1'})
+            }
+            else if ($(window).scrollTop() <= 50) {
+                $(".backQrcode").css({bottom:'0',opacity:'0'})
+            }
+        });
+    }
+    // 返回二维码
+    function backQrcode(id,title) {
+      var param={
+        pageId:id,
+        title:title
+      }
+      $event.openWin('browseQrcode_win'+Math.random(),'browseQrcode_win',param,'');
+    }
+    // 打开地图
+    function openMaps(lon,lat) {
+      $event.openTabLayout('map','map','',{lon:lon,lat:lat})
+    }
+</script>

+ 496 - 0
html/browseQrcode/recodeItem.html

@@ -0,0 +1,496 @@
+
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>记录列表</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/popoPicker.css"/>
+    <link rel="stylesheet" href="../../css/style.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+        overflow-x: hidden;
+      }
+      .hide{
+        display: none;
+      }
+      /*name*/
+      .date-lists{
+          width: 100%;
+          overflow-x: scroll;
+          white-space: nowrap;
+          box-sizing: border-box;
+      }
+      .date-lists::-webkit-scrollbar{
+        display: none;
+      }
+      .date-wrap{
+        width: 100%;
+        position: fixed;
+        top: 0;
+        left: 0;
+        box-sizing: border-box;
+        z-index: 9999;
+        background: #fff;
+      }
+      .date-lists li{
+          margin-right: 20px;
+          padding: 14px 10px;
+          font-size: 16px;
+          color: #333;
+          position: relative;
+      }
+      .date-lists .active{
+          color: #009FE8;
+      }
+      .date-lists .active:after{
+          content: "";
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          width: 100%;
+          height: 2px;
+          background: #009FE8;
+      }
+       /*记录列表*/
+      .recode-wraps{
+        width: 95%;
+        border: 1px dashed #ECF0F1;
+        margin: auto;
+        margin-top: 10px;
+        border-radius: 5px;
+        padding-bottom: 5px;
+      }
+      .time{
+          background: #31A5FF;
+          padding: 5px 10px;
+          font-size: 14px;
+          display: inline-block;
+          color: #fff;
+          border-radius: 10px;
+          position: relative;
+          margin-bottom: 5px;
+      }
+      .recodeTitle{
+        display: block;
+        margin-top: 3px;
+      }
+      .name{
+          color: #000;
+          font-size: 14px;
+          /*font-weight: bold;*/
+          line-height: 1.6;
+      }
+      .main{
+          padding-left: 50px;
+          position: relative;
+          padding-bottom: 10px;
+      }
+      .main:after{
+          content: '';
+          position: absolute;
+          top: 0;
+          left: 30px;
+          width:2px;
+          background: #31A5FF;
+          height: 100%;
+      }
+      .main:before{
+          content: '';
+          position: absolute;
+          top: 5px;
+          left:23px;
+          width:15px;
+          background: #31A5FF;
+          height: 15px;
+          border-radius: 50%;
+      }
+      /*三角形*/
+      .Triangle{
+          position: absolute;
+          top: 5px;
+          left: -14px;
+          width: 0;
+          height: 0;
+          border-width: 8px;
+          border-style: solid;
+          border-color: transparent #31A5FF transparent transparent;
+          transform: rotate(360deg);
+      }
+      .recode-img{
+          display: inline-block;
+          width: 38px;
+          height: 46px;
+          background: url("../../icon/recode.png")  center no-repeat;
+          background-size: contain;
+          position: relative;
+          left: 12px;
+          top: 9px;
+      }
+      .state{
+        padding-left: 50px;
+        position: relative;
+      }
+      .stop{
+        position: absolute;
+        top: 6px;
+        left: 23px;
+        width: 15px;
+        height: 15px;
+        background: url("../../icon/stop.png")  center no-repeat;
+        background-size: contain;
+        z-index: 800;
+      }
+      .state:after{
+          content: '';
+          position: absolute;
+          top: -2px;
+          left: 30px;
+          width:2px;
+          background: #31A5FF;
+          height: 10px;
+        }
+        .recode-more{
+          padding: 20px;
+          text-align: center;
+        }
+        #recode_item{
+          padding-top: 50px;
+        }
+        /*tool*/
+        .tool_itme{
+            padding: 10px;
+        }
+        .tool_time{
+          display: flex;
+          justify-content: space-between;
+        }
+        .tool_time input{
+            border: 1px solid #ccc;
+            padding: 8px 10px;
+            border-radius: 3px;
+            width: 46%;
+            box-sizing: border-box;
+           -webkit-appearance: none;
+           text-align: center;
+        }
+        .tool_seacrh_export{
+            padding: 10px 0;
+        }
+        .tool_seacrh_export button{
+            padding: 10px 0;
+            color: #fff;
+            background: #009FE8;
+            width: 100px;
+            border-radius: 4px;
+            text-align: center;
+            cursor: pointer;
+        }
+        .tool_seacrh_export button{
+            margin-right: 20px;
+        }
+    </style>
+</head>
+<body>
+  <div class="date-wrap" id="date_wrap">
+
+  </div>
+  <div class="api_layout" id="recode_item">
+      <div class="tool_itme">
+          <div class="tool_time ">
+              <input type="text" class="start_time" readonly placeholder="开始时间">
+              <input type="text" class="end_time" readonly placeholder="结束时间">
+          </div>
+          <div class="tool_seacrh_export">
+            <button type="button" onclick="searchRecode()">查询</button>
+            <button type="button" onclick="exportRecode()">导出</button>
+          </div>
+      </div>
+      <div id="recode_content">
+
+      </div>
+  </div>
+  <div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+  </div>
+  <a href="javascript:;" class="upload_file"></a>
+</body>
+</html>
+
+<script type="text/template" id="recodeTemplate">
+  {{~it:value}}
+       <div class="recode-wraps">
+           <span class="recode-img"></span>
+           <div class="recode-list">
+              {{ for (var t=0;t<value.length;t++) { }}
+                 <div class="main" onclick="openRecordDe('{{=value[t].recordParentId}}')">
+                     <p class="time">
+                         {{=value[t].createDate}}
+                         <span class="Triangle"></span>
+                         <span class="recodeTitle">{{=value[t].templateName}}</span>
+                     </p>
+                     <p class="name">{{=value[t].createName}}</p>
+                     <div class="name">
+                       {{?value[t].recordStatusInstanceList != null}}
+                         {{ for(var i= 0;i<value[t].recordStatusInstanceList.length;i++){ }}
+                           <div class="state-items">
+                             <p class="state-title" style="width:auto;display:{{=value[t].statusName == ""?'none':'inline-block'}}">{{=value[t].recordStatusInstanceList[i].statusName}}:</p>
+                               {{ for(var j= 0;j<value[t].recordStatusInstanceList[i].recordStatusInstanceItemList.length;j++){ }}
+                                 {{?value[t].recordStatusInstanceList[i].recordStatusInstanceItemList.length == 1}}
+                                   <span>{{=value[t].recordStatusInstanceList[i].recordStatusInstanceItemList[j].statusContent}}</span>
+                                 {{??}}
+                                   <span>{{=value[t].recordStatusInstanceList[i].recordStatusInstanceItemList[j].statusContent}},</span>
+                                 {{?}}
+                               {{ } }}
+                            </div>
+                          {{ } }}
+                        {{??}}
+                          <div class="state-items">
+                            <p class="state-title" style="width:auto;display:{{=value[t].statusName == ""?'none':'inline-block'}}">{{=value[t].statusName}}:</p>
+                            <span>{{=value[t].statusContent}}</span>
+                           </div>
+                        {{?}}
+                     </div>
+                 </div>
+                 {{?t == value.length-1}}
+                 {{?value[value.length-1].continueStatus == false}}
+                     <div class="state">
+                         <p class="time">
+                             结束:{{=value[t].createDate}}
+                             <span class="Triangle" style="top:6px;"></span>
+                         </p>
+                         <i class="stop"></i>
+                     </div>
+                   {{??}}
+                     <div class="state wait">
+                         <p class="time" style="background:#F7A329">
+                             等待处理......
+                             <span class="Triangle" style="top:6px;border-color: transparent #F7A329 transparent transparent;"></span>
+                         </p>
+                         <i class="stop" style="background: url('../../icon/Continue.png')  center no-repeat;background-size: contain;"></i>
+                     </div>
+                   {{?}}
+                 {{?}}
+             {{ } }}
+           </div>
+       </div>
+  {{~}}
+</script>
+<script type="text/template" id="TemplateName">
+  <ul class="date-lists flex-start">
+    {{~it:value:index}}
+        {{?index == 0}}
+          <li class="active" onclick="randomSwitchBtn(this,'{{=value.parentId}}','{{=value.templateId}}')">{{=value.templateName}}</li>
+        {{??}}
+          <li onclick="randomSwitchBtn(this,'{{=value.parentId}}','{{=value.templateId}}')">{{=value.templateName}}</li>
+        {{?}}
+    {{~}}
+  </ul>
+</script>
+
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script type="text/javascript" src="../../script/zepto.js"></script>
+<script src="../../script/popoPicker.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var pageId = "",departmentID="",name="",uuid="",isLoadding = false;
+    var skip = 1,parentId = "",templateId="";
+    var startTime = '',endTime = '',scrolltobottomFlat = true;
+    apiready = function () {
+      pageId = api.pageParam.id
+      departmentID= api.pageParam.departmentID
+      name= api.pageParam.name
+      uuid= api.pageParam.uuid
+      TemplateName(api.pageParam.id)
+      // 上拉加载
+      api.addEventListener({
+        name : 'scrolltobottom',
+        extra : {
+          threshold : 0 //设置距离底部多少距离时触发,默认值为0,数字类型
+        }
+      }, function(ret, err) {
+        if (!isLoadding && scrolltobottomFlat) {
+          isLoadding = true;
+          recodeList(parentId)
+        }
+      });
+    }
+    // TemplateName Nav
+    var num=0;
+    function TemplateName(pageID) {
+      $http.fnReuestDataNologing(UrlRouter.selectRecordByGetPageId+pageID,'','get','',function (ret, err) {
+          if (ret.code == '200' && ret.data != "") {
+              $apis.html(date_wrap,'#TemplateName',ret.data);
+              parentId = ret.data[0].parentId;
+              templateId = ret.data[0].templateId
+              recodeList(ret.data[0].parentId,false)
+          }
+      })
+    }
+    function recodeList(ParentId) {
+      api.showProgress({
+          title: '努力加载中...',
+          text: '先喝杯茶...',
+          modal: true
+      });
+      var parm= {
+        pageId:pageId,
+        pageRecordParentId: ParentId,
+        startTime: startTime,
+        endTime: endTime,
+        pageNumber:skip,
+        pageSize: 10
+      }
+      $http.fnReuestDataNologing(UrlRouter.getPageRecordInstanceList,'','get',parm,function (ret, err) {
+          isLoadding = false;
+          api.hideProgress();
+          if (ret.data.length == 0 && skip == 1) {
+              $api.removeCls($api.dom('.noText'), 'hide');
+              $apis.html(recode_content,'#recodeTemplate','');
+              isLoadding = true;
+              return false;
+          }else {
+              $api.addCls($api.dom('.noText'), 'hide');
+          }
+          if (ret) {
+            if (ret.data.length > 0) {
+              skip += 1;
+              $apis.append(recode_content,'#recodeTemplate',ret.data);
+              // $api.addCls($api.dom('.noText'), 'hide');
+              // $api.removeCls($api.dom('.noText'), 'hide');
+            } else {
+               isLoadding =true;
+                api.toast({
+                    msg: '没有更多数据',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+          }else {
+            api.toast({
+                msg: '加载超时,请检查网络',
+                duration: 2000,
+                location: 'bottom'
+            });
+          }
+      })
+    }
+    // 模版名称
+    function randomSwitchBtn( tag ,ParentId,temId) {
+        if( tag == $api.dom('.date-lists li.active') )return;
+        var eFootLis = $api.domAll('.date-lists li');
+        skip = 1;
+        index = 0;
+        $apis.html(recode_content,'#recodeTemplate','');
+        for (var i = 0,len = eFootLis.length; i < len; i++) {
+            if( tag == eFootLis[i] ){
+                index = i;
+            }else{
+                $api.removeCls(eFootLis[i], 'active');
+            }
+        }
+        $api.addCls( eFootLis[index], 'active');
+        templateId = temId
+        startTime = ''
+        endTime = ''
+        $('.start_time').val('')
+        $('.end_time').val('')
+        parentId = ParentId
+        recodeList(ParentId)
+    }
+    // 记录详情
+    function openRecordDe(id) {
+      $event.openTabLayout('recodeDetails','recodeDetails','记录详情',{recordParentId:id});
+    }
+    new popoDateT('.start_time',{
+        container:'.tool_time',
+        background:'light',
+        save:function (data) {
+            startTime = data
+        }
+    });
+    new popoDateT('.end_time',{
+        container:'.tool_time',
+        background:'light',
+        save:function (data) {
+            endTime = data
+        }
+    });
+    // 查询
+    function searchRecode() {
+      scrolltobottomFlat = false
+      var parm= {
+        pageId:pageId,
+        pageRecordParentId: parentId,
+        startTime: startTime,
+        endTime: endTime,
+        pageNumber:0,
+        pageSize: 0
+      }
+      $http.requestShowProgress(UrlRouter.getPageRecordInstanceList,'get',parm)
+      .then(ret=>{
+        if (ret.data.length > 0) {
+          $api.addCls($api.dom('.noText'), 'hide');
+          $apis.html(recode_content,'#recodeTemplate',ret.data);
+        } else {
+            api.toast({
+                msg: '没有更多数据',
+                duration: 2000,
+                location: 'bottom'
+            });
+            $apis.html(recode_content,'#recodeTemplate',"");
+            $api.removeCls($api.dom('.noText'), 'hide');
+        }
+      }).catch(err=>{
+        api.toast({
+            msg: '加载超时,请检查网络',
+            duration: 2000,
+            location: 'bottom'
+        });
+      })
+    }
+    // 导出
+    function exportRecode(that) {
+      if (startTime == "" && startTime =="") {
+        api.toast({
+            msg: '请选择时间',
+            duration: 2000,
+            location: 'top'
+        });
+        return false
+      }
+      var uploadFileElm=$('.upload_file')
+      var url = UrlRouter.getRecordInstanceDetailListMobileExcel+"?startTime="+ startTime +"&endTime="+ endTime
+      +"&templateId="+templateId
+      $http.requestShowProgress(url,'get','')
+      .then(ret=>{
+        if (ret.code === '200') {
+          var fileUrl= ret.data
+          api.confirm({
+              title: '提示',
+              msg: '是否导出记录',
+              buttons: ['确定', '取消']
+          }, function(ret, err) {
+              var index = ret.buttonIndex;
+              if (index === 1) {
+                uploadFileElm.attr('href',fileUrl)
+                uploadFileElm.attr('download',fileUrl)
+                uploadFileElm.click()
+              }
+          });
+        }
+      }).catch(err=>{
+        api.toast({
+            msg: '下载失败',
+            duration: 2000,
+            location: 'top'
+        });
+      })
+    }
+</script>

+ 194 - 0
html/forgetBind/bindPhone.html

@@ -0,0 +1,194 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/toast.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #ecf0f1;
+      }
+    </style>
+</head>
+<body>
+  <!-- <header class="header-login">
+     <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+     <p class="api_text">绑定手机号</p>
+  </header> -->
+  <div class="api_forget_phone">
+      <div class="api_phone">
+        <input type="number" name="" value="" placeholder="请输入手机号" class="api_phone_bind">
+      </div>
+      <div class="api_phone">
+        <input type="number" name="" value="" placeholder="验证码" class="api_vali">
+        <button type="button" class="api_btn_vali" id="verify-sms" onclick="changeTitleOnSendSms()">发送验证码</button>
+      </div>
+      <div class="api_bnt" onclick="bindPhoneFun()">绑定</div>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        api.setStatusBarStyle({
+            style: 'light',
+            color: 'rgba(0,159,232,0.5)'
+        });
+    }
+
+    function backIndex() {
+      api.closeWin();
+    }
+    var interval;
+    function changeTitleOnSendSms() {
+      var phone = $api.dom('.api_phone_bind').value;
+      var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
+      if (!reg.test(phone)) {
+        api.toast({
+            msg: '电话号码格式不正确',
+            duration: 2000,
+            location: 'top'
+        });
+        return false;
+      }else if (phone == '') {
+        api.toast({
+            msg: '电话号码不能为空',
+            duration: 2000,
+            location: 'top'
+        });
+        return false;
+      }else {
+        phoneFun();
+      	interval = setInterval("changeTime()", 1000);
+      	var verify_btn = $api.byId("verify-sms");
+      	verify_btn.style.backgroundColor = "#D9D9D9";
+        verify_btn.setAttribute('disabled','true');
+      }
+    }
+    //
+    var remaining_time = 30;
+    function changeTime() {
+    	var verify_btn = $api.byId("verify-sms");
+    	$api.html(verify_btn, remaining_time + "s后重发");
+    	remaining_time -= 1;
+    	if (remaining_time <= 0) {
+    		window.clearInterval(interval);
+    		remaining_time = 30;
+    		verify_btn.style.backgroundColor = "#009fe8";
+        verify_btn.removeAttribute('disabled','true');
+    		$api.html(verify_btn, "获取验证码");
+    		// canSms = true;
+    	}
+    }
+    function phoneFun() {
+      var phone = $api.dom('.api_phone_bind');
+      var phoneValue = $api.val(phone);
+      $http.requestData(UrlRouter.vcodeApi,'post',{mobile: phoneValue})
+      .then(ret=>{
+        if (ret.code === 0) {
+          api.toast({
+              msg: '发送成功',
+              duration: 2000,
+              location: 'top'
+          });
+        }else if (ret.code === 3001) {
+          api.toast({
+              msg: '电话号码错误',
+              duration: 2000,
+              location: 'top'
+          });
+        }else if (ret.code === 3002) {
+          api.toast({
+              msg: '发送失败',
+              duration: 2000,
+              location: 'top'
+          })
+        }
+      })
+      .catch(err=>{
+        api.toast({
+            msg: '请求超时!',
+            duration: 2000,
+            location: 'top'
+        });
+      })
+    }
+    // 手机号验证
+    // function checkPhone() {
+		// 	var phone = $api.dom('.api_phone_bind').value;
+		// 	if (!(/^1[34578]\d{9}$/.test(phone))) {
+		// 		return false;
+		// 	}
+		// 	return true;
+		// }
+    // 绑定
+    function bindPhoneFun() {
+      var phone = $api.dom('.api_phone_bind').value,
+          vcode = $api.dom('.api_vali').value;
+          var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
+          if (!reg.test(phone)) {
+            api.toast({
+                msg: '电话号码格式不正确',
+                duration: 2000,
+                location: 'top'
+            });
+            return false;
+          }
+          if(phone !='' && vcode !=''){
+            $http.requestDataLoging(UrlRouter.setApi,'post',{mobile: phone,vcode})
+            .then(ret=>{
+              if (ret.code === 0) {
+                api.toast({
+                    msg: '绑定成功',
+                    duration: 2000,
+                    location: 'top'
+                });
+                api.sendEvent({
+                  name: 'myEvent',
+                  extra: {
+                      key1: 'value1',
+                      key2: 'value2'
+                  }
+                });
+                api.closeWin();
+              }else if (ret.code === 4002) {
+                api.toast({
+                    msg: '验证码超时或者错误',
+                    duration: 2000,
+                    location: 'top'
+                });
+              }else if (ret.code === 4001) {
+                api.toast({
+                    msg: '缺少必要参数',
+                    duration: 2000,
+                    location: 'top'
+                });
+              }
+            })
+            .catch(err=>{
+              api.toast({
+                  msg: '网络超时',
+                  duration: 2000,
+                  location: 'top'
+              });
+            })
+          }else {
+            api.toast({
+                msg: '手机号或验证码不能为空',
+                duration: 2000,
+                location: 'top'
+            });
+          }
+    }
+</script>

+ 196 - 0
html/forgetBind/forgetPass.html

@@ -0,0 +1,196 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/toast.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        background: #ecf0f1;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+      <!-- <header class="header-login">
+         <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+         <p class="api_text">修改密码</p>
+      </header> -->
+      <div class="api_forget_phone">
+          <div class="api_phone">
+            <input type="number" name="" value="" placeholder="请输入手机号" class="api_phone_bind">
+          </div>
+          <div class="api_phone">
+            <input type="number" name="" value="" placeholder="验证码" class="api_vali">
+            <button type="button" class="api_btn_vali" id="verify-sms" onclick="changeTitleOnSendSms()">发送验证码</button>
+          </div>
+          <div class="api_phone">
+          <input type="password" placeholder="输入新密码" class="api_new_pass">
+          </div>
+          <div class="api_phone">
+            <input type="password" placeholder="重复新密码" onblur="passVerification()" class="api_new_pass01">
+          </div>
+          <div class="api_bnt" onclick="sureForget()">确认修改</div>
+      </div>
+  <div class="api_layout">
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var uuid;
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var info = $api.getStorage('data');
+        uuid = JSON.parse(info).data.user.staff_num;
+    }
+    function backIndex() {
+      api.closeWin();
+    };
+    var interval;
+    function changeTitleOnSendSms() {
+      var phone = $api.dom('.api_phone_bind').value;
+      var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
+      if (phone == "") {
+        api.toast({
+            msg: '电话号码不能为空',
+            duration: 2000,
+            location: 'top'
+        });
+        return false;
+      }else if (!reg.test(phone)) {
+        api.toast({
+            msg: '电话号码格式不正确',
+            duration: 2000,
+            location: 'top'
+        });
+        return false;
+      }else {
+        phoneFun();
+      	interval = setInterval("changeTime()", 1000);
+      	var verify_btn = $api.byId("verify-sms");
+      	verify_btn.style.backgroundColor = "#D9D9D9";
+        verify_btn.setAttribute('disabled','true');
+      }
+    }
+    //
+    var remaining_time = 30;
+    function changeTime() {
+    	var verify_btn = $api.byId("verify-sms");
+    	$api.html(verify_btn, remaining_time + "s后重发");
+    	remaining_time -= 1;
+    	if (remaining_time <= 0) {
+    		window.clearInterval(interval);
+    		remaining_time = 30;
+    		verify_btn.style.backgroundColor = "#009fe8";
+        verify_btn.removeAttribute('disabled','true');
+    		$api.html(verify_btn, "获取验证码");
+    		// canSms = true;
+    	}
+    }
+    function phoneFun() {
+      var mobile = $api.val($api.dom('.api_phone_bind'));
+      $http.requestData(UrlRouter.vcodeApi,'post',{mobile})
+      .then(ret=>{
+        if (ret.code === 0) {
+          api.toast({
+              msg: '发送成功',
+              duration: 2000,
+              location: 'top'
+          });
+        }else if (ret.code === 3001) {
+          api.toast({
+              msg: '电话号码错误',
+              duration: 2000,
+              location: 'top'
+          });
+        }else if (ret.code === 3002) {
+          api.toast({
+              msg: '发送失败',
+              duration: 2000,
+              location: 'top'
+          });
+        }
+      })
+      .catch(err=>{
+        api.toast({
+            msg: '发送失败',
+            duration: 2000,
+            location: 'top'
+        });
+      })
+    };
+    // 密码做验证
+    function passVerification() {
+      var newPass = $api.dom('.api_new_pass').value,
+          api_new_pass01 = $api.dom('.api_new_pass01').value;
+          if (newPass != api_new_pass01) {
+            api.toast({
+                msg: '两次密码不一致',
+                duration: 2000,
+                location: 'top'
+            });
+            return false;
+          }else {
+            return true;
+          }
+    }
+    function sureForget() {
+      var mobile = $api.dom('.api_phone_bind').value,
+          vcode = $api.dom('.api_vali').value,
+          password = $api.dom('.api_new_pass').value;
+      if (mobile != '' && vcode != '' && password != '' && passVerification()) {
+        $http.requestDataLoging(UrlRouter.repasswordApi,'post',{mobile,vcode,password})
+        .then(ret=>{
+          if(ret.code === 0){
+            api.toast({
+                msg: '修改密码成功',
+                duration: 2000,
+                location: 'top'
+            });
+            var userInfo = {username:uuid,password:""}
+            $api.setStorage('userInfo',JSON.stringify(userInfo));
+            api.openWin({
+                name: 'login',
+                reload:true,
+                slidBackEnabled:false,
+                url: '../../login.html',
+                pageParam:{
+                  status:true
+                }
+            });
+            api.closeWin({
+                name:'index'
+            });
+          }else if(ret.code === 4002){
+            api.toast({
+                msg: '验证码超时',
+                duration: 2000,
+                location: 'top'
+            });
+          }
+        })
+        .catch(err=>{
+          api.toast({
+              msg: '发送失败',
+              duration: 2000,
+              location: 'top'
+          });
+        })
+      }else {
+        api.toast({
+            msg: '手机号,验证码,密码不能为空',
+            duration: 2000,
+            location: 'top'
+        })
+      }
+    }
+</script>

+ 43 - 0
html/mail/mailList.html

@@ -0,0 +1,43 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="./../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div id="wrap">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text">信息科</p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+  apiready = function () {
+    $api.fixStatusBar($api.dom('header'));
+    // openFram()
+  }
+  function openFram() {
+    $event.openFrame('mailList_frm','header','','','');
+  }
+  function backIndex() {
+    api.closeWin();
+  }
+</script>

+ 156 - 0
html/mail/mailList_frm.html

@@ -0,0 +1,156 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/toast.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+      html,body{
+        background: #fff;
+      }
+      .api_layout{
+        width: 100%;
+        position: relative;
+      }
+      .api_mail_name{
+        font-size: 16px;
+      }
+      .header-title{
+        width: 50px;
+        height: 50px;
+        line-height: 50px;
+        text-align: center;
+        border-radius: 50%;
+        display: block;
+        background: red;
+        /*margin-bottom: 10px;*/
+        margin: 0px auto 10px auto;
+        color: #fff;
+        font-size: 16px;
+        font-weight: bold;
+      }
+      .api_mail_post{
+        width: 100%;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+      }
+      .api_mail_items .api_mail_item{
+        text-align: center;
+        padding: 15px;
+      }
+
+      .api_mail_items .api_mail_item p {
+          margin-bottom: 12px;
+          font-size: 14px;
+          color: #97a3b4;
+      }
+      .api_mail_items .api_mail_item p.api_mail_name {
+          color: #232627;
+      }
+      .api_mail_items .api_mail_item p span {
+          font-size: 14px;
+          color: #232627;
+      }
+      .api_mail_items .api_mail_item .api_mail_details {
+          font-size: 14px;
+          color: #0064FF;
+      }
+</style>
+</head>
+<body>
+    <div class="api_layout" id="wrap">
+      <div class="api_mail_info">
+        <p class="api_title_text">部门人员:</p>
+        <ul class="api_mail_items" id="api_mail_items">
+          <!-- <li class="api_mail_item">
+            <img src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" alt="" class="api_mail_logo">
+            <p class="api_mail_name">19995262241</p>
+            <p class="api_mail_tel">TEL:<span>19995262241</span></p>
+            <p class="api_mail_post">职务:<span>飒飒飒飒飒飒飒飒飒飒飒飒阿萨飒飒</span></p>
+            <span class="api_mail_details">查看详情</span>
+            <img src="../../image/more01.png" alt="" class="api_more01">
+          </li>
+          <li class="api_mail_item">
+            <span class="header-title">惠</span>
+            <p class="api_mail_name">19995262241</p>
+            <p class="api_mail_tel">TEL:<span>19995262241</span></p>
+            <p class="api_mail_post">职务:<span>飒飒飒飒飒飒飒飒飒飒飒飒阿萨飒飒</span></p>
+            <span class="api_mail_details">查看详情</span>
+            <img src="../../image/more01.png" alt="" class="api_more01">
+          </li> -->
+        </ul>
+      </div>
+    </div>
+</body>
+</html>
+<script type="text/template" id="template_mail">
+    {{~it:value}}
+    <li class="api_mail_item">
+      <div onclick="openDetails('{{=value.name}}','{{=value.mobile}}','{{=value.avatar}}','{{=value.position_name}}')">
+        {{?value.avatar!=null }}
+          <img src="{{=value.avatar}}" class="api_mail_logo">
+        {{??}}
+          <span class="header-title" style="background:#{{=Math.floor(Math.random()*0xffffff).toString(16)}}">{{=value.name.substr(value.name.length-1,1)}}</span>
+        {{?}}
+        <p class="api_mail_name" style="font-size:16px;">{{=value.name}}</p>
+        <p class="api_mail_tel">电话:<span>{{=value.mobile == null?'无':value.mobile}}</span></p>
+        <p class="api_mail_post">职务:<span>{{=value.position_name == 'null'?'无':value.position_name}}</span></p>
+      </div>
+      <span class="api_mail_details" onclick="openPersonalInfo('{{=value.staff_num}}')">查看详情</span>
+      <img src="../../image/more01.png" alt="" class="api_more01">
+    </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+  var toast = new auiToast();
+  apiready = function () {
+      api.parseTapmode();
+      var info = $api.getStorage('data'),
+      user = JSON.parse(info).data.user;
+      token = JSON.parse(info).data.access_token;
+      getPersonalInfo(token,api.pageParam.id);
+  }
+  function getPersonalInfo(token,ids) {
+    var headers = {
+        "Authorization": "Bearer " + token
+    };
+    var data={
+      id:ids
+    }
+    $http.fnReuestData(UrlRouter.getPersonalList,headers,'post',data,function (ret,err) {
+      if (ret && ret.code === 0) {
+        $apis.append(api_mail_items,'#template_mail',ret.data);
+        toast.hide();
+      }else {
+        toast.hide();
+        api.toast({
+            msg: '网络错误',
+            duration: 2000,
+            location: 'bottom'
+        });
+      }
+    })
+  }
+  function openDetails(name,phone,img,del) {
+    var param = {
+        username: name,
+        mobile:phone,
+        avatar:img,
+        delp:del
+    };
+    $event.openPopup(api.winWidth,'auto','modul',param)
+  }
+  function openPersonalInfo(ids){
+    $event.openPopup('auto','auto','personalInfo',{id: ids})
+  }
+</script>

+ 114 - 0
html/mail/modul.html

@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <style>
+    	html,body{
+			background: transparent;
+			-webkit-touch-callout: none;
+			font-family: Tahoma, Geneva, sans-serif;
+			font-style: normal;
+      margin: 0;
+		}
+		#dialog{
+			background-color: #fff;
+			position: absolute; margin: auto;
+			left: 0; right: 0; top: -150px; bottom: 0;
+			width: 260px; height: 260px;
+			opacity: 0;
+      text-align: center;
+      padding: 20px 0;
+      box-sizing: border-box;
+			-webkit-border-radius: 5px;
+			border-radius: 5px;
+		}
+		#dialog.in{
+			opacity: 1;
+		}
+    .name{
+      font-size: 25px;
+      color: #000;
+      /*font-weight: bold;*/
+    }
+    .head{
+      width: 90px;
+      height: 90px;
+      background: url("../../image/header.png") no-repeat;
+      background-size: cover;
+      border-radius: 50%;
+    }
+    .del{
+      color: #bdc3c7;
+      font-size: 16px;
+      margin: 15px 0;
+    }
+    .phone{
+      font-size: 20px;
+    }
+    .call_phone{
+      position: absolute;
+      bottom: -30px;
+      left: 100px;
+      width: 60px;
+      height: 60px;
+      background: url("../../image/mobile_icon.png") no-repeat;
+      background-size: cover;
+      border-radius: 50%;z-index: 100;
+    }
+    .close{
+      position: absolute;
+      top: -8px;
+      right: -8px;
+      width: 30px;
+      height: 30px;
+      background: url("../../image/close.png") no-repeat;
+      background-size: cover;
+      background-position: center;
+      border-radius: 50%;
+      z-index: 100;
+    }
+    </style>
+</head>
+<body>
+	<div id="dialog">
+    <span class="head"></span>
+    <p class="name"></p>
+    <p class="del"></p>
+    <p class="phone"></p>
+    <span class="call_phone" tapmode onclick="call_phone()"></span>
+    <span class="close" tapmode onclick="api.closeFrame()"></span>
+	</div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/config.js"></script>
+<script type="text/javascript">
+	$api.addCls(dialog,'in');
+	apiready = function(){
+		api.parseTapmode();
+  		$api.html($api.dom('.name'), api.pageParam.username);
+  		$api.html($api.dom('.del'), String(api.pageParam.delp) == 'null'?'无':api.pageParam.delp);
+			$api.html($api.dom('.phone'), String(api.pageParam.mobile) == 'null'?'无':api.pageParam.mobile);
+			if (String(api.pageParam.avatar) == 'null') {
+				$api.css($api.dom('.head'), 'background:url(http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png) no-repeat;background-size:cover');
+			}else {
+				$api.css($api.dom('.head'), 'background:url('+api.pageParam.avatar+') no-repeat;background-size:cover');
+			}
+	};
+	function call_phone() {
+		if ($api.html($api.dom('.phone')) == "无") {
+			api.alert({
+			    title: '提示',
+			    msg: '暂无手机号',
+			});
+		}else {
+			api.call({
+			    type: 'tel_prompt',
+			    number: $api.html($api.dom('.phone'))
+			});
+		}
+	}
+</script>
+</html>

+ 203 - 0
html/mail/organization.html

@@ -0,0 +1,203 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="./../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/toast.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+      .api_seach_personal{
+        padding: 0 15px;
+        box-sizing: border-box;
+        position: relative;
+        background: #f1f5f7;
+        width: 90%;
+        margin: auto;
+        margin-top: 10px;
+        /*border-bottom: 1px solid #ebebeb;*/
+      }
+      .api_seach_personal_box{
+        height: 45px;
+      }
+      .api_seach_personal input{
+        box-sizing: border-box;
+        height: 44px;
+        width: 100%;
+        padding-left: 15px;
+        border: none;
+        outline: none;
+        padding-right: 40px;
+        -webkit-tap-highlight-color:rgba(0,0,0,0);
+        -webkit-tap-highlight-color: transparent;
+      }
+      /*.seach_api{*/
+        /*width: 44px;*/
+        /*height: 44px;*/
+        /*background: url("../../image/seach_api.png") no-repeat;*/
+        /*background-size: cover;*/
+        /*position: absolute;*/
+        /*top: 20px;*/
+        /*right: 20px;*/
+      /*}*/
+    </style>
+</head>
+<body>
+  <header class="header-login">
+     <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+     <p class="api_text">通讯录</p>
+  </header>
+  <div style="padding-bottom:10px;"class="api_seach_personal_box relative after-border">
+    <div class="api_seach_personal" id="api_seach_personal">
+      <input type="text" name="" value="" placeholder="" class="info" id="info_input">
+    </div>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script type="text/javascript" src="../../script/config.js"></script>
+<script type="text/javascript">
+var UIInputId;
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var info = $api.getStorage('data'),
+        user = JSON.parse(info).data.user;
+        token = JSON.parse(info).data.access_token;
+        // api.parseTapmode();
+        fnInitUIInput(token);
+        openFram();
+        openSeachList();
+    }
+    function openSeachList(){
+      var info = $api.dom('.info').value;;
+      var UIListSearch = api.require('UIListSearch');
+      UIListSearch.open({
+          rect: {
+              x: 0,
+              y: $api.dom('header').offsetHeight + $api.dom('.api_seach_personal').offsetHeight+30,
+              w: api.winWidth,
+              h: api.winHeigh
+          },
+          contacts:[],
+          fixedOn: api.organization_frame
+      }, function(ret, err) {
+          if (ret) {
+              UIListSearch.hide();
+              var UIInput = api.require('UIInput');
+              UIInput.closeKeyboard({
+                  id:UIInputId
+              });
+              openDetails(ret.contact.name,ret.contact.mobile,ret.contact.avatar,ret.contact.position);
+          }
+       });
+       UIListSearch.hide();
+    };
+    // 数据更新
+    function functionName(arr) {
+      var UIListSearch = api.require('UIListSearch');
+        UIListSearch.show();
+        UIListSearch.reloadData({
+        contacts:JSON.parse(arr)
+        });
+    }
+    function openFram() {
+      api.openFrame({
+          name: 'organization_frame',
+          bounces: true,
+          url: 'organization_frame.html',
+          rect: {
+              x: 0,
+              y: $api.dom('header').offsetHeight + $api.dom('.api_seach_personal_box').offsetHeight+10,
+              w: api.winWidth,
+              h: 'auto',
+          },
+          pageParam: {
+              // name: 'test'
+          }
+      });
+    }
+    function backIndex() {
+      api.closeWin();
+      var UIListSearch = api.require('UIListSearch');
+      UIListSearch.close();
+    }
+    // input
+    function fnInitUIInput(tokens) {
+      var searchText = $api.byId('info_input');
+      var rect = $api.offset(searchText);
+      var UIInput = api.require('UIInput');
+      UIInput.open({
+          rect: {
+              x: rect.l,
+              y: rect.t,
+              w: rect.w,
+              h: rect.h
+          },
+          styles: {
+              bgColor: '#f1f5f7',
+              size: 14,
+              color: '#000',
+              placeholder: {
+                  color: '#ccc'
+              }
+          },
+          autoFocus: false,
+          maxRows: 1,
+          placeholder: '使用姓名,工号查找',
+          keyboardType: 'default',
+          fixedOn: api.frameName
+      }, function(ret, err) {
+          // console.log(JSON.stringify(ret));
+          UIInputId = ret.id;
+          if (ret.eventType == "change") {
+            UIInput.value({
+                id: ret.id
+            }, function(ret, err) {
+                if (ret) {
+                    if (ret.status) {
+                      if (ret.msg == "") {
+                        var UIListSearch = api.require('UIListSearch');
+                        UIListSearch.hide();
+                      }else {
+                        selectPersonal(tokens,ret.msg);
+                        // functionName()
+                      }
+                    }
+                }
+            });
+            // functionName();
+          }
+      });
+    }
+    // 查询
+    function selectPersonal(token,name) {
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+       $http.fnReuestDataNologing(UrlRouter.searchPersonal,headers,'post',{content:name},function (ret,err) {
+         if (ret.code === 0) {
+           functionName(JSON.stringify(ret.data))
+         }
+        // console.log(JSON.stringify(ret));
+      })
+    }
+    // 点击人员列表看详情
+    function openDetails(name,phone,img,del) {
+      var param = {
+        username: name,
+        mobile:phone,
+        avatar:img,
+        delp:del
+      };
+      $event.openPopup(api.winWidth,'auto','modul',param);
+    }
+</script>

+ 195 - 0
html/mail/organization_frame.html

@@ -0,0 +1,195 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+     <link rel="stylesheet" type="text/css" href="../../css/toast.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        html,body{
+          background: #fff;
+        }
+        .api_layout{
+          width: 100%;
+          position: relative;
+        }
+      .bannerOr{
+        height: 135px;
+        width: 100%;
+        background:url('') no-repeat;
+        background-size: 100% 100%;
+      }
+      .h3{
+        font-size: 21px;
+        padding: 19px 15px;
+        position: relative;
+        font-weight: normal;
+      }
+      .icon{
+        display: block;
+        width: 35px;
+        height: 35px;
+        background: url(../../image/t.png) no-repeat;
+        background-size: cover;
+        margin-right: 20px;
+      }
+      .list{
+          padding: 0 10px;
+      }
+      .list li{
+          padding: 12px 0;
+          padding-left: 15px;
+      }
+      .del_name{
+        font-size: 16px;
+        color: #000;
+        /*font-weight: bold;*/
+      }
+      .icon_left{
+          width: 16px;
+          height: 16px;
+          display: block;
+          background: url("../../image/more.png") no-repeat;
+          background-size: contain;
+          position: absolute;
+          right: 10px;
+      }
+    </style>
+</head>
+<body>
+    <div class="api_layout">
+        <div class="bannerOr" id="bannerOr"></div>
+        <div class="organization_content" id="organization_content">
+            <!-- <div class="organization_item">
+              <h3 class="h3 after-border">机关部室</h3>
+              <ul class="list relative after-border">
+                 <li class="flex-start relative after-border">
+                    <i class="icon"></i>
+                    <p class="del_name">领导班子 (8人)</p>
+                    <i class="icon_left"></i>
+                 </li>
+                  <li class="flex-start relative after-border">
+                      <i class="icon"></i>
+                      <p class="del_name">领导班子 (8人)</p>
+                      <i class="icon_left"></i>
+                  </li>
+                  <li class="flex-start relative after-border">
+                      <i class="icon"></i>
+                      <p class="del_name">领导班子 (8人)</p>
+                      <i class="icon_left"></i>
+                  </li>
+              </ul>
+            </div>
+            <div class="organization_item">
+                <h3 class="h3 after-border">机关部室</h3>
+                <ul class="list relative after-border">
+                    <li class="flex-start relative after-border">
+                        <i class="icon"></i>
+                        <p class="del_name">领导班子 (8人)</p>
+                        <i class="icon_left"></i>
+                    </li>
+                    <li class="flex-start relative after-border">
+                        <i class="icon"></i>
+                        <p class="del_name">领导班子 (8人)</p>
+                        <i class="icon_left"></i>
+                    </li>
+                    <li class="flex-start relative after-border">
+                        <i class="icon"></i>
+                        <p class="del_name">领导班子 (8人)</p>
+                        <i class="icon_left"></i>
+                    </li>
+                </ul>
+            </div> -->
+        </div>
+    </div>
+</body>
+</html>
+<script type="text/template" id="template_organzation">
+  {{ for(var prop in it) { }}
+    {{? prop != 'leader'}}
+      <div class="organization_item">
+        <h3 class="h3 after-border">{{=it[prop].name}}</h3>
+        <ul class="list relative after-border">
+          {{ for (var i=0;i<it[prop].data.length;i++) { }}
+           <li class="flex-start relative after-border" onclick="openPersonalList('{{=it[prop].data[i].id}}','{{=it[prop].data[i].title}}')">
+              <i class="icon"></i>
+              <p class="del_name">{{=it[prop].data[i].title}} ({{=it[prop].data[i].user_num}}人)</p>
+              <i class="icon_left"></i>
+           </li>
+            {{ } }}
+        </ul>
+      </div>
+    {{?}}
+  {{ } }}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+
+<script type="text/javascript">
+var toast = new auiToast();
+  apiready = function () {
+      $api.fixStatusBar($api.dom('header'));
+      var info = $api.getStorage('data'),
+      user = JSON.parse(info).data.user;
+      token = JSON.parse(info).data.access_token;
+      getGroupList(token)
+  }
+  function getGroupList(token) {
+    var headers = {
+        "Authorization": "Bearer " + token
+    };
+    $http.fnReuestData(UrlRouter.getGroupList,headers,'get','',function (ret,err) {
+      if (ret && ret.code === 0) {
+        if (ret.data.banner == '#') {
+          $api.css($api.dom('#bannerOr'), 'display:none');
+        }else {
+          $api.css($api.dom('#bannerOr'), 'display:block');
+          document.getElementById('bannerOr').style.background = 'url('+ret.data.banner+')';
+          document.getElementById('bannerOr').style.backgroundSize = '100% 100%';
+        }
+        $apis.append(organization_content,'#template_organzation',ret.data.group);
+        toast.hide()
+      }else {
+        toast.hide()
+        api.toast({
+            msg: '网络错误',
+            duration: 2000,
+            location: 'bottom'
+        });
+      }
+    })
+  }
+  function openPersonalList(ids,title) {
+    var pageParam ={
+      id:ids
+    }
+    $event.openTabLayout('mailList_frm','mailList_frm',title,pageParam)
+  }
+  // 点击人员列表看详情
+  function openDetails(name,phone,img,del) {
+    api.openFrame({
+        name: 'modul',
+        bounces: false,
+        url: 'modul.html',
+        bgColor:'rgba(0,0,0,.6)',
+        rect: {
+            x: 0,
+            y: 0,
+            w: api.winWidth,
+            h: 'auto',
+        },
+        pageParam: {
+            username: name,
+            mobile:phone,
+            avatar:img,
+            delp:del
+        }
+    });
+    // $event.openFrame('modul','','','','');
+  }
+</script>

+ 318 - 0
html/mail/personalInfo.html

@@ -0,0 +1,318 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+          html,body{
+          background: transparent;
+          -webkit-touch-callout: none;
+        }
+        .api_layout{
+          width: 100%;
+          position: fixed; margin: auto;
+          left: 0; right: 0; top: 90px; bottom: 0;
+          border-radius: 10px;
+          overflow: hidden;
+        }
+        #scroll{
+          width: 100%;
+          height: 100%;
+          overflow-y: scroll;
+          -webkit-overflow-scrolling: touch;
+          border-radius: 10px;
+          border-bottom-left-radius: 10px;
+          border-bottom-right-radius: 10px;
+        }
+        .api_lists{
+          border-bottom-left-radius: 10px;
+          border-bottom-right-radius: 10px;
+        }
+        .aui-toast{
+          width: 125px;
+        }
+        .close_frm{
+          display: block;
+          background: url(../../image/close.png) no-repeat;
+          background-size: cover;
+          width: 31px;
+          height: 30px;
+          margin-right: 10px;
+        }
+        .aui-list .aui-list-item{
+          padding: 0 0.75rem;
+          background-image: linear-gradient(90deg,#dddddd,#dddddd 0%,transparent 0%)!important;
+          background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 0%,transparent 0%)!mportant;
+        }
+        .aui-list .aui-list-item-inner{
+          padding-right: 0;
+        }
+        .aui-list-item span{
+          color: #000;
+          font-weight: bold;
+        }
+        .close_box{
+          background:#fff;
+          display:flex;
+          justify-content:flex-end;
+          border-top-left-radius: 10px;
+          border-top-right-radius: 10px;
+          padding-top:5px;
+        }
+        .api_layout .header_img1{
+          width: 50px;
+          height: 50px;
+          border-radius: 50%;
+          text-align: center;
+          line-height: 50px;
+          color: #fff;
+          font-size: 14px;
+        }
+    </style>
+</head>
+<body>
+    <div class="api_layout" id="api_layout">
+      <div id="scroll">
+        <p class="close_box"><i class="close_frm" onclick="api.closeFrame()"></i></p>
+        <ul class="aui-list api_lists">
+          <li class="aui-list-item" style="height:70px;">
+              <div class="aui-list-item-inner after-border" style="height:70px;">
+                  <div class="aui-list-item-title">个人照片</div>
+                  <span class="header_img1" id="head_img">为</span>
+              </div>
+          </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title" >绑定手机号</div>
+                    <span class="api_bind_phone"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">姓名</div>
+                    <span class="api_name"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">员工编码</div>
+                    <span class="api_num"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">部门</div>
+                    <span class="api_del"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">岗位分类</div>
+                    <span class="api_type"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">岗位</div>
+                    <span class="api_post"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">职级(职务码)</div>
+                    <span class="api_rank"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">性别</div>
+                    <span class="api_sex"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">员工组</div>
+                    <span class="api_contract"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">员工子组</div>
+                    <span class="api_staff"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">籍贯</div>
+                    <span class="api_city"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">宗教信仰</div>
+                    <span class="api_religion"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">户口性质</div>
+                    <span class="api_residence"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">民族</div>
+                    <span class="api_nation"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">出生日期</div>
+                    <span class="api_rirth"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">身份证号</div>
+                    <span class="api_id"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">参加工作时间</div>
+                    <span class="api_job_time"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">进入神华系统时间</div>
+                    <span class="api_time1"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">进入子分公司时间</div>
+                    <span class="api_time2"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">进入本单位时间</div>
+                    <span class="api_time3"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">政治面貌</div>
+                    <span class="api_face"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner after-border">
+                    <div class="aui-list-item-title">参加党派时间</div>
+                    <span class="api_time4"></span>
+                </div>
+            </li>
+        </ul>
+      </div>
+    </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+  var token;
+  apiready = function () {
+      document.getElementById('api_layout').style.width = api.winWidth - 60 +'px'
+      document.getElementById('api_layout').style.height = api.winHeight - 50 +'px'
+      // $api.css($api.dom('.api_layout'), 'height:200px;width:200px');
+      $api.fixStatusBar($api.dom('header'));
+      var info = $api.getStorage('data'),
+      token = JSON.parse(info).data.access_token;
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      // 个人信息
+      $http.fnReuestDataNologing(UrlRouter.userInfoApi,headers,'post',{staff_num:api.pageParam.id},personalCenterInfo);
+  };
+  // 个人信息
+  function personalCenterInfo(ret,err){
+      if (ret) {
+        if (ret.code === 0) {
+          var ret = ret.data;
+          var phone =  $api.dom(".api_bind_phone"),
+              name =   $api.dom(".api_name"),
+              api_num =   $api.dom(".api_num"),
+              api_del =   $api.dom(".api_del"),
+              api_type =   $api.dom(".api_type"),
+              api_post =   $api.dom(".api_post"),
+              api_rank =   $api.dom(".api_rank"),
+              api_sex =   $api.dom(".api_sex"),
+              api_contract =   $api.dom(".api_contract"),
+              api_staff =   $api.dom(".api_staff"),
+              api_city =   $api.dom(".api_city"),
+              api_religion =   $api.dom(".api_religion"),
+              api_residence =   $api.dom(".api_residence"),
+              api_nation =   $api.dom(".api_nation"),
+              api_rirth =   $api.dom(".api_rirth"),
+              api_id =   $api.dom(".api_id"),
+              api_job_time =   $api.dom(".api_job_time"),
+              api_time1 =   $api.dom(".api_time1"),
+              api_time2 =   $api.dom(".api_time2"),
+              api_time3 =   $api.dom(".api_time3"),
+              api_face =   $api.dom(".api_face"),
+              api_time4 =   $api.dom(".api_time4"),
+              image = 'http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png',
+              head_img = $api.byId('head_img');
+              if (ret.avatar == null) {
+                $api.addCls(head_img, 'header_img1');
+                $api.removeCls(head_img, 'header_img');
+                $api.html(head_img, ret.name.substr(ret.name.length-1,1));
+                $api.css($api.dom('.header_img1'), 'background:#'+Math.floor(Math.random()*0xffffff).toString(16)+'');
+                // document.getElementsByClassName('header_img1').style.background = Math.floor(Math.random()*0xffffff).toString(16)
+              }else {
+                $api.addCls(head_img, 'header_img');
+                $api.removeCls(head_img, 'header_img1');
+                $api.html(head_img, '');
+                head_img.style.backgroundImage = 'url('+urlphp+''+ret.avatar+')';
+              }
+              $api.html(phone, ret.mobile == null?'无':ret.mobile);
+              $api.html(name, ret.name);
+              $api.html(api_num, ret.staff_num);
+              $api.html(api_del, ret.section_fullname);
+              $api.html(api_type, ret.job_classify);
+              $api.html(api_post, ret.job);
+              $api.html(api_rank, ret.duty_num);
+              $api.html(api_sex, ret.sex);
+              $api.html(api_contract, ret.group);
+              $api.html(api_staff, ret.group_sub);
+              $api.html(api_city, ret.native);
+              $api.html(api_religion, ret.faith);
+              $api.html(api_residence, ret.registered);
+              $api.html(api_nation, ret.nation);
+              $api.html(api_rirth, ret.birthday);
+              $api.html(api_id, ret.identity_card);
+              $api.html(api_job_time, ret.working_date);
+              $api.html(api_time1, ret.system_date);
+              $api.html(api_time2, ret.system_sub_date);
+              $api.html(api_time3, ret.section_date);
+              $api.html(api_face, ret.politics);
+              // $api.html(api_id, ret.staff_num);
+              $api.html(api_time4, ret.politics_date);
+           }
+       }else {
+         api.toast({
+             msg: '网络错误',
+             duration: 2000,
+             location: 'bottom'
+         });
+    }
+  }
+</script>

+ 71 - 0
html/main.html

@@ -0,0 +1,71 @@
+<!DOCTYPE HTML>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0, minimum-scale=1.0, user-scalable=0, initial-scale=1.0, width=device-width" />
+    <meta name="format-detection" content="telephone=no, email=no, date=no, address=no">
+    <title>Hello APP</title>
+    <link rel="stylesheet" type="text/css" href="../css/api.css" />
+    <style>
+        label {
+            margin: 10px;
+            font-size: 24px;
+        }
+
+        ul {
+            margin-bottom: 10px;
+        }
+
+        ul li {
+            margin: 5px 10px;
+            padding: 5px;
+            color: #000;
+            word-wrap: break-word;
+        }
+    </style>
+</head>
+
+<body>
+    <label>Hello APP</label>
+    <div id='sys-info'></div>
+</body>
+<script type="text/javascript" src="../script/api.js"></script>
+<script type="text/javascript">
+    apiready = function() {
+        var ver = api.version;
+        var sType = api.systemType;
+        var sVer = api.systemVersion;
+        var id = api.deviceId;
+        var model = api.deviceModel;
+        var name = api.deviceName;
+        var cType = api.connectionType;
+        var winName = api.winName;
+        var winWidth = api.winWidth;
+        var winHeight = api.winHeight;
+        var frameName = api.frameName || '';
+        var frameWidth = api.frameWidth || '';
+        var frameHeight = api.frameHeight || '';
+
+        var str = '<ul>';
+        str += '<li>引擎版本信息: ' + ver + '</li>';
+        str += '<li>系统类型: ' + sType + '</li>';
+        str += '<li>系统版本: ' + sVer + '</li>';
+        str += '<li>设备标识: ' + id + '</li>';
+        str += '<li>设备型号: ' + model + '</li>';
+        str += '<li>设备名称: ' + name + '</li>';
+        str += '<li>网络状态: ' + cType + '</li>';
+        str += '<li>主窗口名字: ' + winName + '</li>';
+        str += '<li>主窗口宽度: ' + winWidth + '</li>';
+        str += '<li>主窗口高度: ' + winHeight + '</li>';
+        str += '<li>子窗口名字: ' + frameName + '</li>';
+        str += '<li>子窗口宽度: ' + frameWidth + '</li>';
+        str += '<li>子窗口高度: ' + frameHeight + '</li>';
+        str += '</ul>';
+
+        $api.byId('sys-info').innerHTML = str;
+
+    };
+</script>
+
+</html>

+ 100 - 0
html/news/getNewsDetaile.html

@@ -0,0 +1,100 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text">巡检详情</p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var info = $api.getStorage('data'),
+        name = JSON.parse(info).data.user.name,
+        uuid = JSON.parse(info).data.user.staff_num;
+        // departmentID = JSON.parse(info).data.user.section_id;
+        detaile(api.pageParam.URL,name, uuid);
+        keybackFun();
+    };
+    // 详情
+    function detaile(url,name, uuid) {
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: url+"&uname="+name+"&uuid="+uuid,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              var api_text = $api.dom('.api_text');
+              $api.html(api_text, ret.title);
+                  break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      });
+    }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+        browser.historyBack(
+            function(ret, err) {
+                if (!ret.status) {
+                    api.closeWin();
+                }
+            }
+        );
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          var browser = api.require('webBrowser');
+            browser.historyBack(
+                function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                }
+            );
+
+      });
+    }
+</script>

+ 389 - 0
html/news/news_frm.html

@@ -0,0 +1,389 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/apiToast.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        html,body{
+            background: #f1f1f1;
+        }
+        .api_layout{
+            width: 100%;
+            position: relative;
+            padding: 10px 15px;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+
+        .colmun{
+            border: 0.5px solid #bdc3c7;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            background: #fff;
+            padding: 10px 15px;
+            margin-bottom: 10px;
+        }
+        .title_text{
+            font-weight: bold;
+            width: 86%;
+        }
+        .date{
+            color: #717478;
+            font-size: 14px;
+            margin: 5px 0;
+        }
+        .content{
+            padding-bottom: 8px;
+            overflow-x: scroll;
+        }
+        .content p{
+            color: #000;
+            font-size: 15px;
+            line-height: 1.7;
+        }
+        .seach_more{
+            font-size: 16px;
+            color: #2a81b7;
+            font-weight: bold;
+            display: inline-block;
+            margin-top: 8px;
+        }
+        .status_text{
+            position: absolute;
+            top: -3px;
+            right: -6px;
+            color: #fff;
+            font-size: 14px;
+            padding: 3px 7px;
+            font-style: normal;
+            background: #fc685c;
+            line-height: normal;
+        }
+        .contents p{
+          color:#717478
+        }
+        table tr th{
+          text-align: center;
+        }
+        table tr td{
+          text-align: center;
+        }
+        img{
+          width: 100%;
+        }
+        .overflow_api{
+          overflow: hidden;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <ul class="news_list" id="news_list">
+
+    </ul>
+</div>
+</body>
+</html>
+<script type="text/template" id="template">
+  {{~it:value}}
+    {{? value.read == 0}}
+      <li class="colmun">
+          <div class="title relative">
+              <h3 class="title_text">{{=value.title}}</h3>
+              <i class="status_text">未读</i>
+          </div>
+          <span class="date">{{=value.created_at}}</span>
+          <div class="content relative after-border">
+              <p class="overflow_api">{{=value.content}}</p>
+          </div>
+
+          <span class="seach_more" onclick="wordOrderDe('{{=value.type}}','{{=value.relation_id}}','{{=value.id}}','{{=value.url}}','{{=value.status}}')">详情 > ></span>
+      </li>
+    {{?? value.read == 1}}
+      <li class="colmun">
+          <div class="title relative">
+              <h3 class="title_text" style="color:#6c6f74">{{=value.title}}</h3>
+              <i class="status_text" style="background:#bdc3c7">已读</i>
+          </div>
+          <span class="date">{{=value.created_at}}</span>
+          <div class="content relative after-border">
+              <p class="contents overflow_api">{{=value.content}}</p>
+          </div>
+
+          <span class="seach_more" onclick="wordOrderDe('{{=value.type}}','{{=value.relation_id}}','{{=value.id}}','{{=value.url}}','{{=value.status}}')">详情 > ></span>
+      </li>
+    {{?}}
+{{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var apiToast = new apiToast(),headers,typeSeacrh,skipS = 1,skipW = 1,skipY = 1,skipSeacrh = 1;
+    var isLoadding = false;
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var info = $api.getStorage('data'),
+        token = JSON.parse(info).data.access_token,
+        departmentID = JSON.parse(info).data.user.section_id;
+        headers = {
+            "Authorization": "Bearer " + token
+        };
+        getNewsListFun('');
+        api.addEventListener({
+  				name : 'scrolltobottom',
+  				extra : {
+  					threshold : 0 //设置距离底部多少距离时触发,默认值为0,数字类型
+  				}
+  			}, function(ret, err) {
+  				if (!isLoadding) {
+  					isLoadding = true;
+  					getNewsListFun(typeSeacrh,false);
+  				}
+  			});
+    };
+    function getNewsListFun(types,flat) {
+      typeSeacrh = types;
+      if (types == 'read') {
+        $http.fnReuestDataNologing(UrlRouter.getRead,headers,'post','',function (ret,err) {
+          if (ret.code === 0) {
+            api.execScript({
+                name: 'newsList',
+                script: 'newsNum();'
+            });
+          }
+        })
+          if (flat) {
+            skipY = 1
+          }
+          var data = {
+            type:types,
+            page:skipY,
+            page_size:10
+          }
+          $http.fnReuestDataNoW(UrlRouter.getNewsList,headers,'get',data,function (ret,err) {
+            isLoadding = false;
+            apiToast.hide();
+            $event.removeTips('tips')
+            $event.deletNotContent('NotcontentID');
+            if (ret.data.data.length == 0 && skipY == 1) {
+                $event.NotContent('body','NotcontentID','../../image/NOnews.png');
+                $apis.html(news_list,'#template',ret.data.data);
+                isLoadding = true;
+                return false;
+            }else {
+                $event.deletNotContent('NotcontentID');
+            }
+            if (ret.code === 0) {
+              if (flat) {
+                skipY += 1;
+                $event.removeTips('tips');
+                $event.deletNotContent('NotcontentID');
+                $apis.html(news_list,'#template',ret.data.data);
+                for (var i = 0; i < $api.domAll('table').length; i++) {
+                  $api.attr($api.domAll('table')[i], 'border', '1');
+                }
+              }else if (ret.data.data.length>0) {
+                skipY += 1;
+                $event.removeTips('tips');
+                $apis.append(news_list,'#template',ret.data.data);
+                $event.deletNotContent('NotcontentID');
+                for (var i = 0; i < $api.domAll('table').length; i++) {
+                  $api.attr($api.domAll('table')[i], 'border', '1');
+                }
+              }else {
+                isLoadding = true;
+                api.toast({
+                    msg: '没有更多数据',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+              }
+          }else {
+              $event.tips('body','网络错误,请链接网络!');
+          }
+        })
+      }else if (types === 'unread') {
+        if (flat) {
+          skipW = 1
+        }
+        var data = {
+          type:types,
+          page:skipW,
+          page_size:10
+        }
+        $http.fnReuestDataNoW(UrlRouter.getNewsList,headers,'get',data,function (ret,err) {
+          isLoadding = false;
+          apiToast.hide();
+          $event.removeTips('tips')
+          $event.deletNotContent('NotcontentID');
+          if (ret.data.data.length == 0 && skipW == 1) {
+              $event.NotContent('body','NotcontentID','../../image/NOnews.png');
+              $apis.html(news_list,'#template',ret.data.data);
+              isLoadding = true;
+              return false;
+          }else {
+              $event.deletNotContent('NotcontentID');
+          }
+          if (ret.code === 0) {
+            if (flat) {
+              skipW += 1;
+              $event.removeTips('tips');
+              $event.deletNotContent('NotcontentID');
+              $apis.html(news_list,'#template',ret.data.data);
+              for (var i = 0; i < $api.domAll('table').length; i++) {
+                $api.attr($api.domAll('table')[i], 'border', '1');
+              }
+            }else if (ret.data.data.length>0) {
+              skipW += 1;
+              $event.removeTips('tips');
+              $apis.append(news_list,'#template',ret.data.data);
+              $event.deletNotContent('NotcontentID');
+              for (var i = 0; i < $api.domAll('table').length; i++) {
+                $api.attr($api.domAll('table')[i], 'border', '1');
+              }
+            }else {
+              isLoadding = true;
+              api.toast({
+                  msg: '没有更多数据',
+                  duration: 2000,
+                  location: 'bottom'
+              });
+            }
+          }else {
+              $event.tips('body','网络错误,请链接网络!');
+          }
+        })
+      }else {
+        if (flat) {
+          skipS = 1
+        }
+        var data = {
+          type:types,
+          page:skipS,
+          page_size:10
+        }
+        $http.fnReuestDataNoW(UrlRouter.getNewsList,headers,'get',data,function (ret,err) {
+          isLoadding = false;
+          apiToast.hide();
+          $event.removeTips('tips')
+          $event.deletNotContent('NotcontentID');
+          if (ret.data.data.length == 0 && skipS == 1) {
+              $event.NotContent('body','NotcontentID','../../image/NOnews.png');
+              $apis.html(news_list,'#template',ret.data.data);
+              isLoadding = true;
+              return false;
+          }else {
+              $event.deletNotContent('NotcontentID');
+          }
+          if (ret.code === 0) {
+            if (flat) {
+              skipS += 1;
+              $event.removeTips('tips');
+              $event.deletNotContent('NotcontentID');
+              $apis.html(news_list,'#template',ret.data.data);
+              for (var i = 0; i < $api.domAll('table').length; i++) {
+                $api.attr($api.domAll('table')[i], 'border', '1');
+              }
+            }else if (ret.data.data.length>0) {
+              skipS += 1;
+              $event.removeTips('tips');
+              $apis.append(news_list,'#template',ret.data.data);
+              $event.deletNotContent('NotcontentID');
+              for (var i = 0; i < $api.domAll('table').length; i++) {
+                $api.attr($api.domAll('table')[i], 'border', '1');
+              }
+            }else {
+              isLoadding = true;
+              api.toast({
+                  msg: '没有更多数据',
+                  duration: 2000,
+                  location: 'bottom'
+              });
+            }
+          }else {
+              $event.tips('body','网络错误,请链接网络!');
+          }
+        })
+      }
+    }
+    // 搜索
+    function getSearchData(name){
+      var data = {
+        type:typeSeacrh,
+        search:name,
+        page_size:'all'
+      }
+      $http.fnReuestDataNoW(UrlRouter.getNewsList,headers,'get',data,function (ret,err) {
+        apiToast.hide();
+        $event.removeTips('tips');
+        $event.deletNotContent('NotcontentID');
+        if (ret.code === 0) {
+          if (ret.data.data.length>0) {
+            $event.removeTips('tips')
+            $apis.html(news_list,'#template',ret.data.data);
+            $event.deletNotContent('NotcontentID');
+            for (var i = 0; i < $api.domAll('table').length; i++) {
+              $api.attr($api.domAll('table')[i], 'border', '1');
+            }
+          }else {
+            $event.removeTips('tips')
+            $apis.html(news_list,'#template',ret.data.data);
+            $event.NotContent('body','NotcontentID','../../image/NOnews.png');
+          }
+        }else {
+            $event.tips('body','网络错误,请链接网络!');
+        }
+      })
+    }
+    // 我的审核工单详情,工单完结详情
+    function wordOrderDe(type,relation_id,id,url,status) {
+      // console.log(JSON.stringify(type));
+      // console.log(JSON.stringify(status));
+      let realtionId = {
+        ID: relation_id,
+        type: type
+      }
+      var name,value,info =[];
+        var str = url;
+        var num=str.indexOf("?");
+        str=str.substr(num+1);
+        var arr=str.split("&");
+        for(var i=0;i < arr.length;i++){
+            num=arr[i].indexOf("=");
+            if(num>0){
+                name=arr[i].substring(0,num);
+                value=arr[i].substr(num+1);
+                this[name]=value;
+                info.push(value)
+            }
+        }
+      // 工单审核状态判断
+      if (type === '工单审核') {
+        $event.openWin('examineMy_win','../wordorder/examineMy_win','','');
+      } else if(type === '工单完结'){
+        $event.openWin('myWordOrderDe_win','../wordorder/myWordOrderDe_win',realtionId,type)
+        // "electric_order":"停送电申请","electric_check":"停送电审核"
+      } else if (type === '停送电申请') {
+        $event.openWin('powerApplyList','../powerOff/powerApplyList','','')
+      } else if (type === '停送电审核') {
+        $event.openWin('powerOffExamine','../powerOff/powerOffExamine','','')
+      }else {
+        $event.openTabLayout('recodeDetails','../browseQrcode/recodeDetails','记录详情',{recordParentId:info[0]});
+      }
+      $http.fnReuestDataNologing(UrlRouter.getRead,headers,'post',{id: id},function(ret,err) {
+        if (ret.code === 0) {
+          api.execScript({
+              name: 'newsList',
+              script: 'newsNum();'
+          });
+          getNewsListFun('');
+        }
+      })
+    }
+</script>

+ 301 - 0
html/news/news_win.html

@@ -0,0 +1,301 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" href="../../css/style.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+        body,html{
+            margin: 0;
+            background: #fff;
+        }
+        .api_layout{
+            height: 100%;
+        }
+        .aui-searchbar{
+            width: 100%;
+            height: 50px;
+            background-color: #efeff4;
+            position: relative;
+        }
+        .aui-searchbar:after{
+          content: "";
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          width: 100%;
+          height: 1px;
+          background: #e7e8eb;
+        }
+        .aui-searchbar .aui-searchbar-btn{
+            color: #fff;
+        }
+        .aui-searchbar-input{
+            background: #fff;
+        }
+        .aui-searchbar-input input{
+            color: #000;
+        }
+        #search-input::placeholder{
+            color: #ccc;
+            font-size: 14px;
+        }
+        .search_ico{
+            width: 16px;
+            height: 16px;
+            display: block;
+            position: absolute;
+            background: url("../../image/search.png") no-repeat;
+            background-size: cover;
+            top: 8px;
+            left: 17px;
+        }
+        .backBtn{
+            margin-left: 5px;
+        }
+        #search-input{
+            font-size: 14px;
+            height: 28px;
+        }
+        .aui-searchbar-input{
+            margin-right: 80px;
+        }
+        .search_btn{
+            position: absolute;
+            bottom: 9px;
+            right: 10px;
+            width: 54px;
+            height: 31px;
+            line-height: 31px;
+            -webkit-border-radius: 50px;
+            -moz-border-radius: 50px;
+            border-radius: 50px;
+            color: #000;
+            background: #fff;
+            font-size: 13px;
+            text-align: center;
+        }
+        .footer_ul{
+            text-align: center;
+            padding: 15px 0;
+            font-size: 16px;
+            font-weight: bold;
+        }
+        .footer{
+            width: 100%;
+        }
+        .footer:after{
+            top: 0;
+        }
+        .footer_ul li:after{
+            content: '';
+            position: absolute;
+            top: 0;
+            right: 0;
+            height: 100%;
+            width: 1px;
+            background: #ebeef3;
+        }
+        .footer_ul li:last-child:after{
+            width:0;
+        }
+        .news_num{
+            width: 20px;
+            height: 20px;
+            line-height: 20px;
+            background-color: #e74e42;
+            color: #fff;
+            position: absolute;
+            top: -8px;
+            left: 7px;
+            text-align: center;
+            -webkit-border-radius: 50%;
+            border-radius: 50%;
+            font-size: 11px;
+            font-style: normal;
+            z-index: 10;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout flex-wrap flex-vertical">
+  <header class="header-login">
+     <img class="backBtn" src="../../image/btn_back.png" alt="" tapmode onclick="backIndex()">
+     <p class="api_text">消息</p>
+  </header>
+  <div class="aui-searchbar" id="search">
+      <div class="aui-searchbar-input aui-border-radius">
+          <i class="search_ico"></i>
+          <form>
+              <input type="search" placeholder="" id="search-input">
+          </form>
+      </div>
+      <span class="search_btn" onclick="searchNews(inputValue)">搜索</span>
+  </div>
+  <div class="main flex-con">
+
+  </div>
+  <footer class="after-border relative footer">
+      <ul class="flex-wrap footer_ul">
+          <li class="flex-con relative" onclick="clickNews('')">
+              所有消息
+          </li>
+          <li class="flex-con relative" onclick="clickNews('unread')">
+              <i class="news_num" style="display:none"></i>
+              未读消息
+          </li>
+          <li class="flex-con relative" onclick="clickNews('read')">
+              全部标已读
+          </li>
+      </ul>
+  </footer>
+</div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script type="text/javascript" src="../../script/config.js"></script>
+<script type="text/javascript">
+var inputValue = '',headers;
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var info = $api.getStorage('data'),
+            token = JSON.parse(info).data.access_token;
+            headers = {
+                "Authorization": "Bearer " + token
+            };
+        newsNum();
+        fnInitUIInput();
+        openFrameNewsList();
+        keybackFun()
+    };
+    function openFrameNewsList(){
+        api.openFrame({
+            name: 'news_frm',
+            url: 'news_frm.html',
+            rect: {
+                x: 0,
+                y: $api.dom('header').offsetHeight+$api.dom('.aui-searchbar').offsetHeight,
+                w: api.winWidth,
+                h: $api.dom('.main').offsetHeight
+            },
+            pageParam: {
+                name: 'test'
+            },
+            bounces: true,
+            bgColor: '#f1f1f1',
+            vScrollBarEnabled: true,
+            hScrollBarEnabled: true
+        });
+    }
+    function backIndex() {
+        api.closeWin();
+        api.sendEvent({
+            name: 'myNews',
+            extra: {
+                key1: 'value1',
+                key2: 'value2'
+            }
+        });
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+      		name: 'keyback'
+      	}, function(ret, err){
+          api.sendEvent({
+              name: 'myNews',
+              extra: {
+                  key1: 'value1',
+                  key2: 'value2'
+              }
+          });
+          api.closeWin();
+      });
+    }
+    // input
+    function fnInitUIInput() {
+      var searchText = $api.byId('search-input');
+      var rect = $api.offset(searchText);
+      var UIInput = api.require('UIInput');
+      UIInput.open({
+          rect: {
+              x: rect.l,
+              y: rect.t+1,
+              w: rect.w,
+              h: rect.h+1
+          },
+          styles: {
+              bgColor: '#fff',
+              size: 14,
+              color: '#000',
+              placeholder: {
+                  color: '#ccc'
+              }
+          },
+          autoFocus: false,
+          maxRows: 1,
+          placeholder: '搜索',
+          keyboardType: 'default',
+          fixedOn: api.frameName
+      }, function(ret, err) {
+          if (ret) {
+              var uiInputId = ret.id;
+              if (ret.eventType == "change") {
+                  UIInput.value({
+                      id: uiInputId
+                  }, function(ret, err) {
+                      if (ret) {
+                          if (ret.status) {
+                            inputValue = ret.msg;
+                            searchNews(ret.msg);
+                          }
+                      }
+                  });
+              }
+          }
+      });
+    }
+    // 所有消息
+    // 未读消息
+   // 全部标记已读
+   function clickNews(type) {
+     api.execScript({
+         name: 'newsList',
+         frameName: 'news_frm',
+         script: 'getNewsListFun("'+type+'","'+true+'");'
+     });
+     newsNum();
+   }
+    // 搜索
+   function searchNews(name) {
+    //  $api.setStorage('flatSeacrh', true);
+     api.execScript({
+         name: 'newsList',
+         frameName: 'news_frm',
+         script: 'getSearchData("'+name+'");'
+     });
+  }
+  // 消息总数
+  function newsNum() {
+    $http.fnReuestDataNologing(UrlRouter.getNewsNum,headers,'get','',function (ret,err) {
+        if (ret.code === 0) {
+          if (ret.data.unread_num === 0) {
+             $api.css($api.dom('.news_num'), 'display:none');
+             $api.html($api.dom('.news_num'), '');
+          }else if(ret.data.unread_num > 99 || ret.data.unread_num == 99){
+            $api.css($api.dom('.news_num'), 'display:block');
+            $api.html($api.dom('.news_num'), 99);
+          }else {
+            $api.css($api.dom('.news_num'), 'display:block');
+            $api.html($api.dom('.news_num'), ret.data.unread_num);
+          }
+        }
+    })
+  }
+</script>

+ 155 - 0
html/page/addPosonal.html

@@ -0,0 +1,155 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+          .aui-list{
+            background-image:none!important;
+          }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+          background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+          background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+          height: 60px;
+          line-height: normal;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+          height: 60px;
+          line-height: normal;
+        }
+        .aui-list-item-arrow:before{
+          border: 1px solid #939393;
+          border-top: none;
+          border-right: none;
+        }
+        .col_ p{
+            font-size: 15px;
+            color: #121212;
+            width: 85%;
+            display: -webkit-box;	display: -webkit-flex;	display: flex;
+            -webkit-box-orient: vertical;-webkit-flex-flow: column;flex-flow: column;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .col_ p span:last-child{
+            font-size: 14px;
+            color: #a7a5bb;
+            margin-top: 3px;
+        }
+        .personal_centerInfo img{
+            width: 50px;
+            height: 50px;
+            margin-right: 10px;
+            border: 1px solid #f2f2f2;
+            border-radius: 50%;
+        }
+        .personal_center span{
+            display: block;
+        }
+        .personal_center span:first-child{
+            font-size: 16px;
+        }
+        .personal_center span:last-child{
+            font-size: 15px;
+            color: #a7a5bb;
+        }
+        .personal_centerInfo{
+            padding: 10px 0 10px 0.75rem ;
+            background: #fff;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <!-- <div>
+        <div class="personal_centerInfo flex-start">
+            <img src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" alt="">
+            <div class="personal_center">
+                <span>张三</span>
+                <span>李四</span>
+            </div>
+        </div>
+        <ul class="aui-list aui-list-in">
+            <li class="aui-list-item col_">
+                <div class="aui-list-item-inner aui-list-item-arrow">
+                    <p>
+                        <span>页面未测试数据,正式数据为接入</span>
+                        <span>2019-06-11</span>
+                    </p>
+                </div>
+            </li>
+            <li class="aui-list-item col_">
+                <div class="aui-list-item-inner aui-list-item-arrow">
+                  <p>
+                      <span>页面未测试数据,正式数据为接入</span>
+                      <span>2019-06-11</span>
+                  </p>
+                </div>
+            </li>
+            <li class="aui-list-item col_">
+                <div class="aui-list-item-inner aui-list-item-arrow">
+                  <p>
+                      <span>页面未测试数据,正式数据为接入</span>
+                      <span>2019-06-11</span>
+                  </p>
+                </div>
+            </li>
+        </ul>
+    </div> -->
+</div>
+<div class="noText">
+  <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+  {{~it:value}}
+  <li class="aui-list-item col_" onclick="QRcodeDetaile('{{=value.id}}','{{=value.title}}')">
+      <div class="aui-list-item-inner aui-list-item-arrow">
+          <p>{{=value.title}}</p>
+      </div>
+  </li>
+  {{~}}
+  </script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        //token
+        var info = $api.getStorage('data'),
+            token = JSON.parse(info).data.access_token;
+    };
+    function seachQrcodeFun1(value) {
+        // var data = {
+        //     title:value,
+        //     departmentId:'',
+        //     pageNumber:0,
+        //     pageSize:0
+        // };
+        // $http.fnReuestData(UrlRouter.seachQrcode,'','get',data,function (ret,err) {
+        //   toast.hide();
+        //   if (ret && ret.code == 200) {
+        //     $apis.html(Qrcode_itme,'#templateQrcode',ret.data)
+        //   }
+        // })
+    }
+    function QRcodeDetaile(pageid,text) {
+      $event.openWin('QrcodeDetaile','../Qrcode/QrcodeDetaile',{pageId:pageid,id:'',departmentId:'',flag:false,title:text},'');
+    }
+</script>

+ 47 - 0
html/page/clearCache.html

@@ -0,0 +1,47 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" tapmode onclick="backIndex()">
+       <p class="api_text">清除缓存</p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var browser = api.require('webBrowser');
+        browser.openView({
+            url: 'http://debugtbs.qq.com',
+            rect: {
+                x: 0,
+                x: 0,
+                y: $api.dom('header').offsetHeight,
+                w: api.winWidth,
+                h: $api.winHeight
+            }
+        })
+    }
+    function backIndex() {
+      api.closeWin();
+    }
+</script>

+ 484 - 0
html/page/frame0.html

@@ -0,0 +1,484 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.css">
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body{
+            /*background: #fff;*/
+            background: url("../../image/top.png") no-repeat;
+            background-size: 100%;
+            /*padding-top: 40px;*/
+        }
+        .aui-grid-label{
+            font-size: 14px !important;
+            width: 90%;
+            margin: auto;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .swiper-slide{
+            height: 200px
+        }
+        .swiper-slide img{
+            -webkit-border-radius: 10px;
+            -moz-border-radius: 10px;
+            border-radius: 10px;
+            width: 100%;
+            height: 200px;
+            object-fit: cover;
+        }
+        .api_swiper_wrap .swiper-pagination-fraction{
+            bottom:1px;
+        }
+        .api_page_text{
+            bottom:0;
+        }
+        .api_grids{
+            padding: 0 20px 0 10px;
+        }
+        .api_grids .aui-col-xs-3{
+            font-size: 12px;
+            display: inline-block;
+            height: 42px;
+            line-height: 42px;
+            text-align: center;
+            color: #009fe8;
+            border: 1px solid #009fe8;
+            border-radius: 10px;
+            width: auto;
+            padding: 0;
+            margin-bottom:20px;
+        }
+        .api_grids .aui-grid-label{
+            margin-top: 0;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .height_duty{
+            height: 45px;
+            overflow: hidden;
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .aui-grid [class*=aui-col-]{
+            padding: 0
+        }
+        .api_intelligence{
+            margin-top: 20px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <div>
+        <div class="duty">
+            <p class="duty_title"><span id="duty_title"></span> <i class="duty_icon icon"></i></p>
+            <div class="height_duty" id="box">
+                <p class="duty_content" id="ul1"></p>
+                <p class="duty_content" id="ul2"></p>
+            </div>
+        </div>
+        <!--banner-->
+        <div class="api_swiper_wrap">
+            <div class="swiper-container">
+                <div class="swiper-wrapper" id="age_list">
+
+                </div>
+                <div class="swiper-pagination swiper-pagination-fraction" id="api_page"></div>
+            </div>
+        </div>
+        <!--新闻-->
+        <div class="api_news" id="api_newsList"></div>
+        <!--智慧-->
+        <div class="api_intelligence">
+            <section class="aui-grid" id="api_grid">
+                <div class="aui-row" style="padding:0 10px;" id="imgNav">
+
+                </div>
+            </section>
+        </div>
+        <div class="api_line"></div>
+        <!-- 基层区队 -->
+        <div id="DistrictTeam">
+          <div class="api_office">
+              <h1 class="api_title" style="margin-bottom: 13px">
+                  机关科室
+                  <img src="{{=i%2 == 0?'../../image/icon01.png':'../../image/edit.png'}}" alt="">
+              </h1>
+              <section class="aui-grid api_grids">
+                  <div class="aui-row">
+                      <div class="aui-col-xs-3 api_col" onclick="openURl('{{=it[i].children[j].link}}','{{=it[i].children[j].title}}');">
+                          <div class="aui-grid-label">机关科室</div>
+                      </div>
+                      <div class="aui-col-xs-3 api_col" onclick="openURl('{{=it[i].children[j].link}}','{{=it[i].children[j].title}}');">
+                          <div class="aui-grid-label">机关科室</div>
+                      </div>
+                      <div class="aui-col-xs-3 api_col" onclick="openURl('{{=it[i].children[j].link}}','{{=it[i].children[j].title}}');">
+                          <div class="aui-grid-label">机关科室</div>
+                      </div>
+                      <div class="aui-col-xs-3 api_col" onclick="openURl('{{=it[i].children[j].link}}','{{=it[i].children[j].title}}');">
+                          <div class="aui-grid-label">机关科室</div>
+                      </div>
+                      <div class="aui-col-xs-3 api_col" onclick="openURl('{{=it[i].children[j].link}}','{{=it[i].children[j].title}}');">
+                          <div class="aui-grid-label">机关科室</div>
+                      </div>
+                  </div>
+              </section>
+          </div>
+        </div>
+    </div>
+</div>
+</body>
+</html>
+<!-- 轮播 -->
+<script type="text/template" id="template">
+    {{~it:value}}
+    <div class="swiper-slide" onclick="openUrlBanner('{{=value.jumpURL}}')">
+        <a href="javascript:;" >
+            <img src="{{=value.imgURL}}" alt="">
+        </a>
+        <div class="api_page_text">
+            <p class="api_banner_info">{{=value.title}}</p>
+        </div>
+    </div>
+    {{~}}
+</script>
+<!-- 新闻 -->
+<script type="text/template" id="templateNews">
+  <h1 class="api_title">
+      新闻动态
+      <i class="icon News_icon"></i>
+      <span class="api_more" onclick="openNewsList('')">更多</span>
+  </h1>
+  <ul class="api_newsList">
+    {{~it:value}}
+    <li onclick="openURl('{{=value.detail_url}}','{{=value.title}}')">
+        <img src="{{=value.main_img}}" alt="">
+        <p>{{=value.title}}</p>
+    </li>
+    {{~}}
+  </ul>
+  <div class="api_line"></div>
+</script>
+<!-- 智慧枣泉煤矿 -->
+<!-- 3 -->
+<script type="text/template" id="templateNav">
+    {{~it:value}}
+    <div class="aui-col-xs-4 item" onclick="openURl('{{=value.link}}','{{=value.title}}');">
+        <img src="{{=value.icon}}" alt="">
+        <div class="aui-grid-label">{{=value.title}}</div>
+    </div>
+    {{~}}
+</script>
+<!-- 4 -->
+<script type="text/template" id="templateNav_Four">
+    {{~it:value}}
+    <div class="aui-col-xs-3 item" onclick="openURl('{{=value.link}}','{{=value.title}}');">
+        <img src="{{=value.icon}}" alt="">
+        <div class="aui-grid-label">{{=value.title}}</div>
+    </div>
+    {{~}}
+</script>
+<!-- 区队 -->
+<script type="text/template" id="templateDistrict">
+    {{ for (var i = 0;i<it.length;i++) { }}
+    <div class="api_office">
+        <h1 class="api_title" style="margin-bottom: 13px">
+            {{=it[i].title}}
+            <img src="{{=i%2 == 0?'../../image/icon01.png':'../../image/edit.png'}}" alt="">
+        </h1>
+        <section class="aui-grid api_grids">
+            <div class="aui-row">
+                {{ for (var j =0 ;j<it[i].children.length;j++) { }}
+                <div class="aui-col-xs-3 api_col" onclick="openURl('{{=it[i].children[j].link}}','{{=it[i].children[j].title}}');">
+                    <div class="aui-grid-label">{{=it[i].children[j].title}}</div>
+                </div>
+                {{ } }}
+            </div>
+        </section>
+    </div>
+    {{ } }}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast(),isFlat = true;
+    $apis.swiper('.swiper-container',true,'fraction');
+    apiready = function () {
+        api.closeFrame({
+            name: 'frame3'
+        });
+        // 监听app从后台返回前台刷新
+        api.addEventListener({
+            name:'resume'
+        }, function(ret, err){
+            getBannerData()
+            getNewsData()
+            getNoticeData()
+            getImgNavData()
+            getDistrictteamData()
+        });
+        // 每次打开app刷新一次
+        if(isFlat){
+            getBannerData()
+            getNewsData()
+            getNoticeData()
+            getImgNavData()
+            getDistrictteamData()
+            isFlat =false;
+        }
+        // banner
+        getBannerCache();
+        // 公告
+        getNoticeDataCache();
+        //news
+        getNewsDataCache();
+        //图片nav
+        getImgNavDataCache();
+        //区队
+        getDistrictteamDataCache();
+        // 下拉刷新
+        setCustomRefreshHeader();
+    };
+    // 下拉刷新
+    function setCustomRefreshHeader() {
+        api.setRefreshHeaderInfo({
+            bgColor: '#f2f2f2',
+            textColor: '#000',
+            textDown: '下拉刷新...',
+            textUp: '松开刷新...'
+        }, function(ret, err) {
+            getBannerData()
+            getNewsData()
+            getNoticeData()
+            getImgNavData()
+            getDistrictteamData()
+        });
+    }
+    function flexWidth(){
+        var cols=document.getElementsByClassName('api_col');
+        for (var i = 0; i < cols.length; i++) {
+            cols[i].style.width = (api.frameWidth / 4 -19) + 'px';
+            cols[i].style.marginLeft = 10 + 'px'
+        }
+    }
+    // openUrlBanner
+    function openUrlBanner(urls,titles){
+        $event.openWin('openURlId1','openUrlBanner',{url:urls,title:titles},'');
+    }
+    // openURl
+    function openURl(urls,titles){
+      var appU = urls.split('//');
+      if (appU && appU[1] == 'app:') {
+        $event.openWin('organization_win',appU[2],'','');
+      }else {
+        var name,value,info =[],Qrurl= urls;
+          var str = Qrurl;
+          var num=str.indexOf("?");
+          str=str.substr(num+1);
+          var arr=str.split("&");
+          for(var i=0;i < arr.length;i++){
+              num=arr[i].indexOf("=");
+              if(num>0){
+                  name=arr[i].substring(0,num);
+                  value=arr[i].substr(num+1);
+                  this[name]=value;
+                  info.push(value)
+              }
+          }
+        if (info[2] != "" && info[2]) {
+           $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:info[2],title:titles},'');
+        }else {
+           $event.openWin('openURlId','openUrl',{url:urls,title:titles},'');
+        }
+      }
+    }
+    // banner
+    function getBannerData() {
+      $http.requestData(UrlRouter.bannerApi,'get','')
+      .then(ret=>{
+        if (ret.code === 0) {
+            $apis.html(age_list,'#template',ret.data.data);
+            $apis.writeFile($apis.CACHE_DIR('banner'),ret.data.data);
+            mySwiper.destroy(true,true);
+            $apis.swiper('.swiper-container',true,'fraction');
+            mySwiper.init();
+        }else if (ret.code === 401) {
+            api.alert({
+                title: '提示',
+                msg: '登录过期,重新登录',
+            }, function(ret, err) {
+                var index = ret.buttonIndex;
+                if (index == 1) {
+                    $api.clearStorage ();
+                    api.setStatusBarStyle({
+                        color: 'rgba(0,0,0,0)',
+                        style: 'light'
+                    });
+                    api.closeWin({
+                        name:'index'
+                    });
+                }
+            });
+        }
+      })
+      .catch(err=>{})
+    }
+    function getBannerCache() {
+        $apis.readFile($apis.CACHE_DIR('banner'),function (ret,err) {
+            if( ret.status ){
+                $apis.html(age_list,'#template',JSON.parse(ret.data));
+                mySwiper.destroy(true,true);
+                $apis.swiper('.swiper-container',true,'fraction');
+                mySwiper.init();
+            }else{
+              getBannerData(headers)
+            }
+        });
+    }
+    // 新闻
+    function getNewsDataCache() {
+        $apis.readFile($apis.CACHE_DIR('news'),function (ret,err) {
+            if( ret.status ){
+                $apis.html(api_newsList,'#templateNews',JSON.parse(ret.data));
+            }else{
+                getNwesData(headers)
+            }
+        })
+    }
+    function getNewsData() {
+       $http.requestData(UrlRouter.nwesApi,'get','')
+       .then(ret=>{
+         if (ret.code === 0) {
+            api.refreshHeaderLoadDone();
+            $apis.html(api_newsList,'#templateNews',ret.data.data);
+            $apis.writeFile($apis.CACHE_DIR('news'),ret.data.data);
+         }
+       })
+       .catch(err=>{})
+    }
+    //公告
+    function getNoticeDataCache() {
+        $apis.readFile($apis.CACHE_DIR('Notice'),function (ret,err) {
+            if( ret.status ){
+                if (JSON.parse(ret.data).message == "暂无公告") {
+                    $api.html($api.byId('duty_title'),JSON.parse(ret.data).title);
+                    $api.html($api.dom('#ul1'), JSON.parse(ret.data).message);
+                }else {
+                    $api.html($api.byId('duty_title'),JSON.parse(ret.data).title );
+                    $api.html($api.dom('#ul1'), JSON.parse(ret.data).content);
+                    textRoll(200);
+                }
+            }else{
+                getNoticeData()
+            }
+        })
+    }
+    function getNoticeData() {
+      $http.requestData(UrlRouter.NoticeApi,'get','')
+      .then(ret=>{
+        if (ret.code === 0) {
+            if (ret.data.message == "暂无公告") {
+                $api.html($api.byId('duty_title'),ret.data.title );
+                api.refreshHeaderLoadDone();
+                $api.html($api.dom('#ul1'), ret.data.message);
+                $apis.writeFile($apis.CACHE_DIR('Notice'),ret.data)
+            }else {
+                $api.html($api.byId('duty_title'),ret.data.title );
+                $api.html($api.dom('#ul1'), ret.data.content);
+                $apis.writeFile($apis.CACHE_DIR('Notice'),ret.data)
+            }
+        }
+      })
+      .catch(err=>{})
+    }
+    textRoll(200);
+    // 图片导航
+    function getImgNavDataCache() {
+        $apis.readFile($apis.CACHE_DIR('ImgNav'),function (ret,err) {
+            if (ret.status) {
+                if (JSON.parse(ret.data).index_link_num  == 3 ) {
+                    $apis.html(imgNav,'#templateNav',JSON.parse(ret.data).data);
+                }else {
+                    $apis.html(imgNav,'#templateNav_Four',JSON.parse(ret.data).data);
+                }
+            }else {
+                getImgNavData()
+            }
+        })
+    }
+    function getImgNavData() {
+      $http.requestData(UrlRouter.ImgApi,'get','')
+      .then(ret=>{
+        if (ret.code === 0) {
+            api.refreshHeaderLoadDone();
+            if (ret.data.index_link_num == 3) {
+                $apis.html(imgNav,'#templateNav',ret.data.data);
+            } else {
+                $apis.html(imgNav,'#templateNav_Four',ret.data.data);
+            }
+            $apis.writeFile($apis.CACHE_DIR('ImgNav'),ret.data);
+        }
+      })
+      .catch(err=>{})
+    }
+    // 区队
+    function getDistrictteamDataCache() {
+        $apis.readFile($apis.CACHE_DIR('District'),function (ret,err) {
+            if (ret.status) {
+                $apis.html(DistrictTeam,'#templateDistrict',JSON.parse(ret.data));
+                flexWidth();
+            }else {
+                getDistrictteamData()
+            }
+        })
+    }
+    function getDistrictteamData() {
+      $http.requestData(UrlRouter.DistrictteamApi,'get','')
+      .then(ret=>{
+        if (ret.code === 0) {
+            api.refreshHeaderLoadDone();
+            $apis.html(DistrictTeam,'#templateDistrict',ret.data);
+            $apis.writeFile($apis.CACHE_DIR('District'),ret.data);
+            flexWidth();
+        }
+      })
+      .catch(err=>{})
+    }
+    // 文字无缝滚动
+    function textRoll(t) {
+        var ul1 = document.getElementById("ul1");
+        var ul2 = document.getElementById("ul2");
+        var box = document.getElementById("box");
+        var timer = '';
+        if (ul1.offsetHeight > box.offsetHeight) {
+            ul2.innerText = ul1.innerText;
+        }
+        box.scrollTop = 0;
+        timer = setInterval(rollStart, t);
+    }
+    function rollStart() {
+        if (document.getElementById("box").scrollTop > document.getElementById("ul1").scrollHeight) {
+            document.getElementById("box").scrollTop = 0;
+        } else {
+            document.getElementById("box").scrollTop++;
+        }
+    }
+    // open新文列表
+    function openNewsList(urls){
+        $event.openWin('openNews','openNews',{url:urls},'');
+    }
+</script>

+ 605 - 0
html/page/frame1.html

@@ -0,0 +1,605 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>消息</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" href="../../css/toast.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body,
+        html {
+            background: #fff;
+        }
+
+        .api_news_item .news_img {
+            background: none;
+            background-color: #009fe8;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            font-size: 12px;
+            line-height: 15px;
+            text-align: center;
+            padding: 8px 10px;
+            box-sizing: border-box;
+            color: #fff;
+        }
+
+        .api_layout {
+            padding-bottom: 30px;
+        }
+        /*tab*/
+
+        .tab-box {
+            padding: 16px;
+        }
+
+        .tab-item {
+            height: 105px;
+            display: flex;
+            justify-content: space-around;
+            align-items: center;
+        }
+
+        .tab-item li {
+            text-align: center;
+            color: #BDC3C7;
+            font-size: 16px;
+            cursor: pointer;
+            transition: .5s;
+            position: relative;
+        }
+
+        .tab-item li span {
+            font-size: 14px;
+            color: #BDC3C7;
+            transition: .5s;
+        }
+
+        .tab-item img {
+            width: 35px;
+            height: 35px;
+            transition: .5s;
+        }
+
+        .tab-item .tab-avtive {
+            font-size: 18px;
+            color: #2C3E50;
+            transition: .5s;
+        }
+
+        .tab-item .tab-avtive img {
+            width: 45px;
+            height: 45px;
+            transition: .5s;
+        }
+
+        .tab-item .tab-avtive span {
+            font-size: 15px;
+            transition: .5s;
+        }
+        /*闭环管理*/
+
+        .close-loop {
+            display: none;
+        }
+
+        .close-loop-box {
+            padding: 8px 10px;
+            /*background: */
+        }
+
+        .close-loop-box li {
+            display: flex;
+            justify-content: flex-start;
+            align-items: center;
+            height: 84px;
+            box-shadow: 0 2px 4px 0 #a6a6a6;
+            border-radius: 5px;
+            margin-bottom: 10px;
+            flex-wrap: nowrap;
+            position: relative;
+        }
+
+        .time-name {
+            background: #50A1FF;
+            height: 100%;
+            flex: 0 0 84px;
+            border-radius: 5px;
+            padding: 5px 10px;
+            box-sizing: border-box;
+            width: 84px;
+        }
+
+        .time-name span {
+            color: #fff;
+            font-weight: bold;
+        }
+
+        .time-name .lt {
+            display: block;
+            font-size: 20px;
+        }
+
+        .time-name .rt {
+            font-size: 16px;
+            text-align: right;
+            display: block;
+        }
+
+        .time-name p {
+            width: 100%;
+            color: #fff;
+            font-size: 17px;
+            overflow: hidden;
+            text-overflow: clip;
+            white-space: nowrap;
+            text-align: center;
+        }
+
+        .info {
+            padding: 5px 10px;
+            font-size: 14px;
+            color: #2C3E50;
+            width: 100%;
+            overflow: hidden;
+        }
+
+        .info p {
+            width: 100%;
+            padding-bottom: 5px;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            display: flex;
+            align-items: center;
+        }
+
+        .info span {
+            display: inline-block;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            width: 40%;
+        }
+
+        .loop-ico {
+            width: 19px;
+            height: 25px;
+            background: url(../../icon/loop_ico.png) center no-repeat;
+            background-size: contain;
+            position: absolute;
+            top: 0;
+            right: 13px;
+        }
+        /*自定义加载*/
+
+        .loadings {
+            width: 100%;
+            height: 100%;
+            position: fixed;
+            top: 30%;
+            left: 0;
+            z-index: 9999;
+            background: rgba(255, 255, 255, 0.1);
+        }
+
+        .loadings img {
+            z-index: 9999;
+            width: 40px;
+            height: 40px;
+            position: absolute;
+            top: -50%;
+            left: 0;
+            bottom: 0;
+            right: 0;
+            margin: auto;
+        }
+        /*徽章*/
+
+        .badge,
+        .loop-Badge {
+            position: absolute;
+            top: -10px;
+            right: 15px;
+            width: 20px;
+            height: 20px;
+            line-height: 20px;
+            border-radius: 50%;
+            text-align: center;
+            background: #E74C3C;
+            color: #fff;
+            font-size: 11px;
+            font-style: normal;
+        }
+    </style>
+</head>
+
+<body>
+    <div class="api_layout">
+        <div class="tab-box">
+            <ul class="tab-item">
+                <li class="only-li tab-avtive">
+                    <img src="../../icon/bihuan.png" alt="">
+                    <p>闭环管理</p>
+                    <span>PDCA循环管控</span>
+                    <i class="loop-Badge hide"></i>
+                </li>
+                <li>
+                    <img src="../../icon/recodeJ.png" alt="">
+                    <p>记录合集</p>
+                    <span>全部消息一览</span>
+                    <i class="badge hide"></i>
+                </li>
+                <li>
+                    <img src="../../icon/myrecode.png" alt="">
+                    <p>我的记录</p>
+                    <span>记录日志一览</span>
+                </li>
+            </ul>
+        </div>
+        <!-- 闭环管理 -->
+        <div class="close-loop close-loop-admin">
+            <p class="api_title_text" style="height:15px"></p>
+            <ul class="close-loop-box" id="close_loop"></ul>
+        </div>
+        <!-- 我的记录 -->
+        <div class="close-loop my-close-loop">
+            <p class="api_title_text" style="height:15px"></p>
+            <ul class="close-loop-box" id="my_close_loop"></ul>
+        </div>
+        <!-- 记录合集 -->
+        <div id="depList"></div>
+    </div>
+    <div class="noText hide">
+        <img src="../../image/noText.png" alt="">
+    </div>
+    <!-- 自定义加载效果 -->
+    <div class="loadings hide">
+        <img src="../../icon/loading.gif" alt="">
+    </div>
+</body>
+
+</html>
+<!-- 记录合集列表 -->
+<script type="text/template" id="templatePublic">
+    <div class="api_news_items api_news_public">
+        <p class="api_title_text">公共:</p>
+        <ul class="api_news_item">
+            {{~it:value:index}} {{?value.departmentId == 'root'}}
+            <li onclick="openQRcodeInfo('{{=value.departmentId}}','{{=value.departmentName}}')">
+                <span class="news_img">{{=value.departmentName.substring(0,4)}}</span>
+                <div class="api_titles">
+                    <span class="api_news_title">{{=value.departmentName}}</span>
+                    <p>
+                        <i class="api_ico"></i> {{=value.desc}}
+                    </p>
+                </div>
+                <span class="api_date">{{=value.time}}</span> {{?value.messageCount != 0}}
+                <span class="api_news_num">{{=value.messageCount}}</span> {{?}}
+                <span class="api_ceil"></span>
+            </li>
+            {{?}} {{~}}
+        </ul>
+    </div>
+    <div class="api_news_items api_news_office">
+        <p class="api_title_text">机关部室:</p>
+        <ul class="api_news_item">
+            {{~it:value:index}} {{?value.departmentId != 'root'}}
+            <li onclick="openQRcodeInfo('{{=value.departmentId}}','{{=value.departmentName}}')">
+                <span class="news_img">{{=value.departmentName.substring(0,4)}}</span>
+                <div class="api_titles">
+                    <span class="api_news_title">{{=value.departmentName}}</span>
+                    <p>
+                        <i class="api_ico"></i> {{=value.desc}}
+                    </p>
+                </div>
+                <span class="api_date">{{=value.time}}</span> {{?value.messageCount != 0}}
+                <span class="api_news_num">{{=value.messageCount}}</span> {{?}}
+                <span class="api_ceil"></span>
+            </li>
+            {{?}} {{~}}
+        </ul>
+    </div>
+
+</script>
+<!-- 闭环管理 -->
+<script type="text/template" id="templateCloseLoop">
+    {{~it:value:index}}
+    <li onclick="openRecordDe('{{=value.recordParentId}}')" style="{{=value.colorStatus?'border:1px solid #E74C3C':''}}">
+        <div class="time-name" style="background:{{=value.colorStatus?'#E74C3C':'#50A1FF'}}">
+            <span class="lt">{{=value.createDate.substring(5,7)}}月</span>
+            <span class="rt">{{=value.createDate.substring(8,10)}}</span>
+            <p class="name">{{=value.createName}}</p>
+        </div>
+        <div class="info">
+            <p class="templateName">名称:{{=value.templateName}}</p>
+            {{?value.recordStatusInstanceList !== ''}} {{ for(var i= 0;i
+            <value.recordStatusInstanceList.length;i++) { }} {{?i<2}} <p> {{=value.recordStatusInstanceList[i].statusName}}:
+                <span style="color:#E74C3C">{{=value.recordStatusInstanceList[i].recordStatusInstanceValue}}</span>
+                </p>
+                {{?}} {{ } }} {{?}}
+        </div>
+        <i class="loop-ico"></i>
+    </li>
+    {{~}}
+</script>
+<!-- 我的记录 -->
+<script type="text/template" id="templateMyCloseLoop">
+    {{~it:value:index}}
+    <li onclick="openRecordDe('{{=value.recordParentId}}')">
+        <div class="time-name">
+            <span class="lt">{{=value.createDate.substring(8,10)}}</span>
+            <span class="rt">{{=value.createDate.substring(5,7)}}月</span>
+            <p class="name">{{=value.createName}}</p>
+        </div>
+        <div class="info">
+            <p class="templateName">名称:{{=value.templateName}}</p>
+            {{?value.recordStatusInstanceList !== ''}} {{ for(var i= 0;i
+            <value.recordStatusInstanceList.length;i++) { }} {{?i<2}} <p>{{=value.recordStatusInstanceList[i].statusName}}:<span style="color:#E74C3C">{{=value.recordStatusInstanceList[i].recordStatusInstanceValue}}</span></p>
+                {{?}} {{ } }} {{?}}
+        </div>
+        <i class="loop-ico"></i>
+    </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script type="text/javascript" src="../../script/zepto.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var skip = 1,
+        jobNum = "",
+        isLoadding = false,
+        isLoaddingMy = false,
+        closeLoopNumber = 0;
+        departmentId = ''
+    var skipCloseLoop = 1
+    apiready = function() {
+            var info = $api.getStorage('data');
+            jobNum = JSON.parse(info).data.user.staff_num;
+            departmentId = JSON.parse(info).data.user.section_id
+            // console.log(JSON.stringify(JSON.parse(info).data.user));
+            getCloseLoop()
+            newsBadge(jobNum)
+            // 闭环管理的UI列表渲染
+            $('.close-loop-admin').show()
+            api.addEventListener({
+                name: 'myEvent'
+            }, function(ret, err) {
+                // console.log(JSON.stringify(ret));
+                isLoadding = true
+                isLoaddingMy = true
+                // $('.only-li').addClass('tab-avtive').siblings().removeClass('tab-avtive')
+                // $api.addCls($api.dom('.noText'), 'hide');
+                // $('.close-loop-admin').show()
+                // $('.my-close-loop').hide()
+                // $('#depList').hide()
+                getNewsDatas()
+                newsBadge(jobNum)
+            });
+            api.addEventListener({
+                name: 'scrolltobottom',
+                extra: {
+                    threshold: 0 //设置距离底部多少距离时触发,默认值为0,数字类型
+                }
+            }, function(ret, err) {
+                if (!isLoadding) {
+                    getCloseLoop(true);
+                }
+                if (!isLoaddingMy) {
+                    getMyCloseLoop()
+                }
+            })
+        }
+        // 记录合集列表
+    function getNewsDatas() {
+        $api.removeCls($api.dom('.loadings'), 'hide');
+        $http.requestData(UrlRouter.findMessageApi + jobNum, 'get', '')
+            .then(ret => {
+                api.refreshHeaderLoadDone();
+                $api.addCls($api.dom('.noText'), 'hide');
+                if (ret.code === '200') {
+                    // getChangMessageList(); //已读二维码和记录
+                    $apis.html(depList, '#templatePublic', ret.data);
+                    $api.addCls($api.dom('.noText'), 'hide');
+                } else {
+                    $api.removeCls($api.dom('.noText'), 'hide');
+                }
+                $api.addCls($api.dom('.loadings'), 'hide');
+            })
+            .catch(err => {
+                $api.addCls($api.dom('.loadings'), 'hide');
+                // $api.addCls($api.dom('.noText'), 'hide');
+            })
+    }
+
+    // 不同部门消息数量变化
+    function differentMsgCount(departmentId) {
+      $http.requestData(UrlRouter.getChangMessageDepartmentIdList+`?userId=${jobNum}&departmentId=${departmentId}`, 'get', '')
+          .then(ret => {
+            // console.log(JSON.stringify(ret));
+          })
+          .catch(err => {
+
+          })
+    }
+
+    // 详情
+    function openQRcodeInfo(id, title) {
+        differentMsgCount(id);
+        newsBadge(jobNum)
+        api.openWin({
+            slidBackEnabled: 'false',
+            reload: true,
+            name: 'QrcodeRecodeList',
+            url: '../Qrcode/QrcodeRecodeList.html',
+            pageParam: {
+                depID: id,
+                title: title
+            },
+            animation: {
+                type: 'fade',
+                duration: 450
+            }
+        });
+    }
+    // 已读消息 二维码
+    function getChangMessageList() {
+        $http.requestData(UrlRouter.getChangMessageList + jobNum, 'get', '')
+            .then(ret => {})
+            .catch(err => {})
+    }
+    // 点击tab切换
+    $('.tab-item').on('click', 'li', function() {
+            $(this).addClass('tab-avtive').siblings().removeClass('tab-avtive')
+            if ($(this).index() === 0) {
+                isLoaddingMy = true
+                isLoadding = false
+                $api.addCls($api.dom('.noText'), 'hide');
+                $('.close-loop-admin').show()
+                $('#depList').hide()
+                $('.my-close-loop').hide()
+                skipCloseLoop = 1
+                    // 闭环管理
+                getCloseLoop()
+            } else if ($(this).index() === 1) {
+                isLoadding = true
+                isLoaddingMy = true
+                $api.addCls($api.dom('.noText'), 'hide');
+                $('.close-loop-admin').hide()
+                $('.my-close-loop').hide()
+                $('#depList').show()
+                    // 记录合集
+                // $("#close_loop li").remove()
+                // getCloseLoop()
+                // 解决append 方法由于数据过慢 或者渲染慢 造成的重复渲染
+                getNewsDatas()
+            } else {
+                isLoadding = true
+                isLoaddingMy = false
+                $api.addCls($api.dom('.noText'), 'hide');
+                $('.close-loop-admin').hide()
+                $('#depList').hide()
+                $('.my-close-loop').show()
+                skip = 1
+                    // 我的记录
+                // $("#close_loop li").remove()
+                // getCloseLoop()
+                getMyCloseLoop()
+            }
+        })
+        // 闭环记录列表
+    function getCloseLoop() {
+        $api.removeCls($api.dom('.loadings'), 'hide');
+        var param = {
+            pageNumber: skipCloseLoop,
+            pageSize: 20
+        }
+        $http.requestData(UrlRouter.getPageRecordInstaneClosedLoop, 'get', param)
+            .then(ret => {
+                $api.addCls($api.dom('.loadings'), 'hide');
+                if (ret.data.length == 0 && skipCloseLoop == 1) {
+                    // $api.removeCls($api.dom('.noText'), 'hide');
+                    return false;
+                } else {
+                    // $api.addCls($api.dom('.noText'), 'hide');
+                }
+                if (ret.data.length > 0) {
+                    skipCloseLoop += 1;
+                    $apis.html(close_loop, '#templateCloseLoop', ret.data);
+                    $api.addCls($api.dom('.noText'), 'hide');
+                    // 闭环列表的消息总数
+                    closeLoopNumber = ret.count
+                    closeLoopBadge()
+                } else {
+                    isLoadding = true;
+                    api.toast({
+                        msg: '没有更多数据',
+                        duration: 2000,
+                        location: 'bottom'
+                    });
+                }
+            })
+            .catch(err => {
+                $api.addCls($api.dom('.loadings'), 'hide');
+                $api.removeCls($api.dom('.noText'), 'hide');
+            })
+    }
+    // 我的记录列表
+    function getMyCloseLoop() {
+        $api.removeCls($api.dom('.loadings'), 'hide');
+        var param = {
+            pageNumber: skip,
+            pageSize: 20,
+            createBy: jobNum
+        }
+        $http.requestData(UrlRouter.getPageRecordInstanCreateBy, 'get', param)
+            .then(ret => {
+                $api.addCls($api.dom('.loadings'), 'hide');
+                if (ret.data.length == 0 && skip == 1) {
+                    $api.removeCls($api.dom('.noText'), 'hide');
+                    return false;
+                } else {
+                    $api.addCls($api.dom('.noText'), 'hide');
+                }
+                if (ret.data.length > 0) {
+                    skip += 1;
+                    $apis.append(my_close_loop, '#templateMyCloseLoop', ret.data);
+                } else {
+                    isLoaddingMy = true;
+                    api.toast({
+                        msg: '没有更多数据',
+                        duration: 2000,
+                        location: 'bottom'
+                    });
+                }
+            })
+            .catch(err => {
+                $api.addCls($api.dom('.loadings'), 'hide');
+                $api.removeCls($api.dom('.noText'), 'hide');
+            })
+    }
+    // 记录详情
+    function openRecordDe(id) {
+        $event.openTabLayout('recodeDetails' + Math.random(), '../browseQrcode/recodeDetails', '记录详情', {
+            recordParentId: id
+        });
+    }
+    // 消息徽章
+    function newsBadge(id) {
+        var NVTabBar = api.require('NVTabBar');
+        $http.fnReuestDataNologing(UrlRouter.findMessageCount + id, '', 'get', '', function(ret, err) {
+            if (ret.data && ret.data > 99) {
+                $('.badge').show()
+                $('.badge').html(ret.data > 99 ? '99' : ret.data)
+            }
+            if (ret.data && ret.data < 99 && ret.data != 0) {
+                $('.badge').show()
+                $('.badge').html(ret.data)
+            }
+            if (ret.data === 0) {
+                $('.badge').hide()
+            }
+        })
+    }
+    // 闭环管理消息徽章
+    function closeLoopBadge() {
+        if (closeLoopNumber && closeLoopNumber > 99) {
+            $('.loop-Badge').show()
+            $('.loop-Badge').html(closeLoopNumber > 99 ? '99' : closeLoopNumber)
+        }
+        if (closeLoopNumber && closeLoopNumber < 99 && closeLoopNumber != 0) {
+            $('.loop-Badge').show()
+            $('.loop-Badge').html(closeLoopNumber)
+        }
+        if (closeLoopNumber === 0) {
+            $('.loop-Badge').hide()
+        }
+    }
+</script>

+ 431 - 0
html/page/frame2.html

@@ -0,0 +1,431 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>工作台</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" href="../../css/animate.css">
+    <link rel="stylesheet" href="../../css/style.css">
+    <style>
+        body,
+        html {
+            background: rgba(243, 243, 243, 1)
+        }
+
+        .banner img {
+            width: 100%;
+        }
+        /*天气*/
+        /*.weather-wrap{
+            padding: 21px 0;
+        }*/
+        /*nav*/
+
+        .nav-itme {
+            padding: 15px 20px 15px 15px;
+            background: #fff;
+            margin-bottom: 2px;
+            position: relative;
+        }
+
+        .nav-itme:active {
+            background: rgba(243, 243, 243, .9);
+        }
+
+        .nav-itme:last-child {
+            margin-bottom: 0;
+        }
+
+        .title-wrap {
+            color: #232627;
+            font-size: 14px;
+        }
+
+        .title-wrap p {
+            color: #7D7C7C;
+            font-size: 12px;
+        }
+
+        /*.header-ico {
+            width: 39px;
+            height: 39px;
+            display: block;
+            background: url("../../icon/tzgg.png") center no-repeat;
+            background-size: contain;
+            margin-right: 15px;
+        }*/
+
+        .header-ico {
+          width: 39px;
+          height: 39px;
+          display: block;
+          margin-right: 15px;
+        }
+
+        /*.nav-itme:nth-child(2) .header-ico {
+            background: url("../../icon/dbgz.png") center no-repeat;
+            background-size: contain;
+        }
+
+        .nav-itme:nth-child(3) .header-ico {
+            background: url("../../icon/zbxx.png") center no-repeat;
+            background-size: contain;
+        }
+
+        .nav-itme:nth-child(4) .header-ico {
+            background: url("../../icon/hyap.png") center no-repeat;
+            background-size: contain;
+        }
+
+        .nav-itme:nth-child(5) .header-ico {
+            background: url("../../icon/txl.png") center no-repeat;
+            background-size: contain;
+        }*/
+
+        .more {
+            width: 16px;
+            height: 16px;
+            display: block;
+            background: url("../../image/more.png") center no-repeat;
+            background-size: contain;
+        }
+        /*矿区服务*/
+
+        .mine-service {
+            margin: 5px 0;
+            background: rgba(243, 243, 243, 1)
+        }
+
+        .mine-title {
+            font-size: 16px;
+        }
+
+        .mine-titleIco {
+            width: 25px;
+            height: 25px;
+            display: block;
+            margin-right: 10px;
+        }
+
+        .mine-items {
+            margin-top: 10px;
+            flex-wrap: wrap;
+        }
+
+        .mine-item {
+            width: 50%;
+            margin: 12px 0;
+            box-sizing: border-box;
+        }
+
+        .mine-item:nth-child(even) {
+            padding-left: 20px;
+            position: relative;
+        }
+
+        .mine-item:nth-child(even):after {
+            content: '';
+            position: absolute;
+            top: 0;
+            left: 0;
+            width: 1px;
+            height: 100%;
+            background: #E8E8E8;
+        }
+
+
+        /*生活服务*/
+
+        .life-service {
+            margin: 0;
+            margin-bottom: 20px;
+        }
+
+        /*工资密码*/
+
+        .wages-layout {
+            width: 100%;
+            height: 100%;
+            position: fixed;
+            top: 0;
+            left: 0;
+            background: rgba(0, 0, 0, 0.5);
+        }
+
+        .wages {
+            position: absolute;
+            top: 0;
+            left: 0;
+            right: 0;
+            bottom: 0;
+            width: 300px;
+            height: 200px;
+            margin: auto;
+            background: #fff;
+            border-radius: 5px;
+            padding: 10px;
+        }
+
+        .wages-title {
+            text-align: center;
+            font-size: 18px;
+        }
+
+        .wages-wrap {
+            padding: 15px 10px 0 10px;
+            box-sizing: border-box;
+        }
+
+        .wages-wrap input {
+            width: 100%;
+            height: 35px;
+            border: 1px solid #E8E8E8;
+            border-radius: 5px;
+            padding-left: 10px;
+            box-sizing: border-box;
+        }
+
+        .btn-term {
+            text-align: center;
+            margin-top: 20px;
+            position: absolute;
+            bottom: 10px;
+            left: 0;
+            width: 100%;
+            padding: 0 10px;
+            box-sizing: border-box;
+        }
+
+        .btn-term button {
+            width: 49%;
+            padding: 10px 0;
+            text-align: center;
+            border-radius: 3px;
+        }
+
+        .btn-close {
+            border: 1px solid #E8E8E8;
+        }
+
+        .btn-close:active {
+            background: #E8E8E8;
+        }
+
+        .btn-confirm:active {
+            background: rgba(0, 159, 232, .7);
+            border: 1px solid rgba(0, 159, 232, .7);
+        }
+
+        .btn-confirm {
+            margin-top: 10px;
+            border: 1px solid #009fe8;
+            background: #009fe8;
+            color: #fff;
+        }
+
+        .Tips {
+            color: #6C6F74;
+            font-size: 12px;
+            padding: 0 10px;
+            margin-top: 20px;
+        }
+    </style>
+</head>
+
+<body>
+    <div class="api_layout">
+        <!--banner-->
+        <!-- <div class="banner">
+            <img src="../../icon/workBanner.jpeg" alt="">
+        </div> -->
+        <div id="worderbenList"></div>
+        <div id="worderbenListNav"></div>
+        <!-- 天气-->
+        <div class="weather-wrap">
+
+        </div>
+    </div>
+    <!--    工资密码-->
+    <div class="wages-layout" id="wages-layout" style="display: none;">
+        <div class="wages">
+            <h3 class="wages-title">工资权限验证</h3>
+            <div class="wages-wrap">
+                <input type="password" placeholder="请输入登陆密码" class="password">
+                <p class="Tips-p" style="color:red;font-size:12px;margin-top:5px;"></p>
+            </div>
+            <div class="Tips">
+                <span>友情提示:该密码为用户登陆密码。</span>
+            </div>
+            <div class="btn-term">
+                <button type="button" name="button" class="btn-close" onclick="closeWages()">取消</button>
+                <button type="button" name="button" class="btn-confirm" onclick="wagesJurisdiction()">确认</button>
+            </div>
+        </div>
+    </div>
+</body>
+
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/zepto.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script type="text/template" id="templateWorkbench">
+  <div class="banner">
+      <img src="{{=it.header}}" alt="">
+  </div>
+  <div class="nav-wrap">
+      <ul class="nav-itmes">
+      {{ for(var i = 0; i < it.nav.length; i++ ) { }}
+        <li class="flex-space nav-itme" onclick="openNewsList('{{=it.nav[i].title}}')">
+          <div class="flex-start">
+            <!-- <span class="header-ico"></span> -->
+            <img class="header-ico" src="{{=it.nav[i].icon}}" alt="">
+            <div class="title-wrap">
+              <label>{{=it.nav[i].title}}</label>
+              <p>{{=it.nav[i].sub_title}}</p>
+            </div>
+          </div>
+          <i class="more"></i>
+        </li>
+      {{ } }}
+     </ul>
+ </div>
+ <div class="mine-service life-service">
+   {{ for(var k = 0; k < it.module.length; k++ ) { }}
+     <div style="background: #fff; margin-top: 5px;padding: 10px 15px 0 15px">
+       <div class="mine-title flex-start">
+           <img class="mine-titleIco" src="{{=it.module[k].icon}}" alt="">
+           <label>{{=it.module[k].title}}</label>
+       </div>
+         <ul class="flex-space mine-items">
+           {{ for(var j = 0; j < it.module[k].children.length; j++ ) { }}
+             <li class="mine-item life-item" onclick="openmineServiceItem('{{=it.module[k].children[j].title}}')">
+                 <div class="flex-start">
+                     <img class="header-ico" src="{{=it.module[k].children[j].icon}}" alt="">
+                     <div class="title-wrap">
+                         <label>{{=it.module[k].children[j].title}}</label>
+                         <p>{{=it.module[k].children[j].sub_title}}</p>
+                     </div>
+                 </div>
+             </li>
+           {{ } }}
+         </ul>
+     </div>
+   {{ } }}
+ </div>
+</script>
+<script type="text/javascript">
+    var jobID = "";
+    apiready = function() {
+            var info = $api.getStorage('data');
+            jobID = JSON.parse(info).data.user.staff_num;
+            getWorkbenchList()
+        }
+        // 工资密码
+    function openWages() {
+        $('.password').val('');
+        $('.Tips-p').html('');
+        $('.wages-layout').show();
+        $('.wages').addClass('animated bounceInDown');
+        setTimeout(function() {
+            $('.wages').removeClass('animated bounceInDown')
+        }, 1000);
+    }
+    window.onclick = function(event) {
+        if (event.target == document.getElementById('wages-layout')) {
+            $('.wages-layout').hide();
+        }
+    }
+
+    function closeWages() {
+        $('.wages-layout').hide();
+    };
+    // 工资权限验证
+    function wagesJurisdiction() {
+        var param = {
+            staff_num: jobID,
+            password: $('.password').val()
+        }
+        $http.fnReuestDataNologing(UrlRouter.getPassword, '', 'post', param, function(ret, err) {
+            if (ret.code === 0) {
+                $('.wages-layout').hide();
+                $('.Tips-p').html('');
+                wages('工资查询');
+
+            } else if (ret.code === 1) {
+                $('.Tips-p').html(ret.message)
+            }
+        })
+    }
+
+    function getWorkbenchList() {
+        $http.fnReuestDataNologing(UrlRouter.getWorkbenchList, '', 'get', '', function(ret, err) {
+            $apis.html(worderbenList, '#templateWorkbench', ret.data);
+        })
+    }
+    // 第三方链接跳转
+    function Jump(url, title) {
+        $event.openWin('jumpURL', '../workBench/jumpURL', {
+            url: url,
+            title: title
+        }, '');
+    }
+    //发票
+    function Invaice(title) {
+        $event.openTabLayout('invoice', '../workBench/invoice', title, '');
+    }
+    //值班
+    function Duty(title) {
+        $event.openWin('getDuty', '../workBench/getDuty', '', '');
+    }
+    //通讯录
+    function organization(title) {
+        $event.openWin('organization', '../mail/organization', '', '');
+    }
+    //工资
+    function wages(title) {
+        $event.openTabLayout('wages', '../workBench/wages', title, '');
+    }
+    // //消息列表
+    function openNewsList(value) {
+       if(value == '通知公告') {
+         $event.openWin('newsList', '../news/news_win', '', '');
+       } else if (value == '待办工作' || value == '通知公告' || value =='会议安排') {
+         api.alert({
+             title: '提示',
+             msg: '此功能暂未上线,敬请期待',
+         });
+       } else if (value =='值班信息') {
+         $event.openWin('getDuty', '../workBench/getDuty', '', '');
+       }
+    }
+    function openmineServiceItem(value) {
+      if(value == '工资查询') {
+        $('.password').val('');
+        $('.Tips-p').html('');
+        $('.wages-layout').show();
+        $('.wages').addClass('animated bounceInDown');
+        setTimeout(function() {
+            $('.wages').removeClass('animated bounceInDown')
+        }, 1000);
+      } else if (value == '发票助手') {
+         $event.openTabLayout('invoice', '../workBench/invoice', '发票助手', '');
+      } else if (value == '劳保发放' || value == '生活圈' || value == '小助手') {
+        api.alert({
+            title: '提示',
+            msg: '此功能暂未上线,敬请期待',
+        });
+      } else if(value == '公积金查询'){
+        Jump('http://gjj.yinchuan.gov.cn/list_gjjcx.jsp?urltype=tree.TreeTempUrl&wbtreeid=1044','公积金查询')
+      } else if (value == '飞机火车票') {
+         Jump('http://m.ctrip.com/html5/?sid=155952&allianceid=4897&ouid=index','飞机火车票')
+      } else if (value == '美团外卖') {
+        Jump('https://h5.waimai.meituan.com/waimai/mindex/home','美团外卖')
+      } else if (value == '周边服务') {
+        Jump('http://i.meituan.com/?city=yinchuan','周边服务')
+      }
+    }
+</script>

+ 293 - 0
html/page/frame22.html

@@ -0,0 +1,293 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>工作台</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body,html{
+            background: #fff;
+        }
+        .aui-card-list{
+            margin-bottom: 0;
+        }
+        .personal_info{
+            display: flex;
+            justify-content: flex-start;
+            flex-wrap: nowrap;
+            display: -webkit-flex;
+            -webkit-justify-content: flex-start;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            position: relative;
+        }
+        .personal_info span{
+            display: block;
+            font-size: 15px;
+            color: #000;
+        }
+        .personal_info span:first-child{
+            font-weight: bold;
+        }
+        .personal_info span:last-child{
+            color: #69707f;
+        }
+        .api_layout .record_header{
+            width: 52px;
+            height: 52px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            margin-right: 7px;
+            border: 1px solid #ECF0F1;
+        }
+        .aui-card-list-header{
+            border-bottom: 1px solid #ecf0f1;
+        }
+        .aui-card-list-content-padded{
+            border-bottom: 1px solid #ecf0f1;
+        }
+        .itme{
+            margin: 10px 0 0 0;
+        }
+        .itme_title_{
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+            background: #fafafa;
+            padding: 7px 0 7px 10px;
+        }
+        .itme_title_ span{
+            display: inline-block;
+            font-size: 16px;
+            color: #000;
+        }
+        .itme_title_ span:first-child{
+            width: 39%;
+        }
+        .itme_title_ span:last-child{
+            width: 59%;
+        }
+        .itme_ul li{
+            padding: 7px 0 7px 10px;
+            font-size: 15px;
+            position: relative;
+        }
+        .itme_ul li span:first-child{
+            width: 39%;
+        }
+        .itme_ul li span:last-child{
+            width: 59%;
+        }
+        .scene_img_title{
+            padding: 7px 0 7px 10px;
+            font-size: 16px;
+            color: #000;
+        }
+        .font_bold{
+            font-weight: bold;
+        }
+        .aui-collapse-header.aui-active{
+            background:none;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <!-- <div class="aui-card-list">
+        <div class="aui-card-list-header aui-collapse-header">
+            <div class="font_bold">水泵建设</div>
+            <i class="aui-iconfont aui-icon-down aui-collapse-arrow"></i>
+        </div>
+        <div class="aui-card-list-content-padded aui-collapse-content">
+          <div class="task_info">
+            <div class="personal_info">
+                <img src="{{=urlphp}}storage/avatar/avatar_{{=it[i].createId}}.png" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="record_header">
+                <p>
+                  <span>张三</span>
+                  <span>信息科</span>
+                </p>
+            </div>
+            <div class="itme">
+               <p class="itme_title_">
+                   <span>项目</span>
+                   <span>内容</span>
+               </p>
+                <ul class="itme_ul">
+                    <li class="flex-start after-border">
+                        <span>完成进度</span>
+                        <span>10%~20%</span>
+                    </li>
+                    <li class="flex-start after-border">
+                        <span>完成进度</span>
+                        <span>10%~20%</span>
+                    </li>
+                    <li class="flex-start after-border">
+                        <span>完成进度</span>
+                        <span>10%~20%</span>
+                    </li>
+                    <li class="flex-start after-border">
+                        <span>完成进度</span>
+                        <span>10%~20%</span>
+                    </li>
+                </ul>
+            </div>
+            <div class="img_scene">
+                <p class="scene_img_title">现场照片</p>
+                <div class="aui-row aui-row-padded">
+                    <div class="aui-col-xs-4">
+                        <img src="../../image/demo.png" />
+                    </div>
+                    <div class="aui-col-xs-4">
+                        <img src="../../image/demo.png" />
+                    </div>
+                    <div class="aui-col-xs-4">
+                        <img src="../../image/demo.png" />
+                    </div>
+                </div>
+            </div>
+          </div>
+          <div class="task_info">
+            <div class="personal_info">
+                <img src="{{=urlphp}}storage/avatar/avatar_{{=it[i].createId}}.png" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="record_header">
+                <p>
+                  <span>张三</span>
+                  <span>信息科</span>
+                </p>
+            </div>
+            <div class="itme">
+               <p class="itme_title_">
+                   <span>项目</span>
+                   <span>内容</span>
+               </p>
+                <ul class="itme_ul">
+                    <li class="flex-start after-border">
+                        <span>完成进度</span>
+                        <span>10%~20%</span>
+                    </li>
+                    <li class="flex-start after-border">
+                        <span>完成进度</span>
+                        <span>10%~20%</span>
+                    </li>
+                    <li class="flex-start after-border">
+                        <span>完成进度</span>
+                        <span>10%~20%</span>
+                    </li>
+                    <li class="flex-start after-border">
+                        <span>完成进度</span>
+                        <span>10%~20%</span>
+                    </li>
+                </ul>
+            </div>
+            <div class="img_scene">
+                <p class="scene_img_title">现场照片</p>
+                <div class="aui-row aui-row-padded">
+                    <div class="aui-col-xs-4">
+                        <img src="../../image/demo.png" />
+                    </div>
+                    <div class="aui-col-xs-4">
+                        <img src="../../image/demo.png" />
+                    </div>
+                    <div class="aui-col-xs-4">
+                        <img src="../../image/demo.png" />
+                    </div>
+                </div>
+            </div>
+          </div>
+        </div>
+    </div>
+    <div class="aui-card-list">
+           <div class="aui-card-list-header aui-collapse-header">
+               <div class="font_bold">联建楼办公区域进户门更换</div>
+               <i class="aui-iconfont aui-icon-down aui-collapse-arrow"></i>
+           </div>
+           <div class="aui-card-list-content-padded aui-collapse-content">
+               <div class="personal_info">
+                   <img src="{{=urlphp}}storage/avatar/avatar_{{=it[i].createId}}.png" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="record_header">
+                   <p>
+                       <span>张三</span>
+                       <span>信息科</span>
+                   </p>
+               </div>
+               <div class="itme">
+                   <p class="itme_title_">
+                       <span>项目</span>
+                       <span>内容</span>
+                   </p>
+                   <ul class="itme_ul">
+                       <li class="flex-start after-border">
+                           <span>完成进度</span>
+                           <span>10%~20%</span>
+                       </li>
+                       <li class="flex-start after-border">
+                           <span>完成进度</span>
+                           <span>10%~20%</span>
+                       </li>
+                       <li class="flex-start after-border">
+                           <span>完成进度</span>
+                           <span>10%~20%</span>
+                       </li>
+                       <li class="flex-start after-border">
+                           <span>完成进度</span>
+                           <span>10%~20%</span>
+                       </li>
+                   </ul>
+               </div>
+               <div class="img_scene">
+                   <p class="scene_img_title">现场照片</p>
+                   <div class="aui-row aui-row-padded">
+                       <div class="aui-col-xs-4">
+                           <img src="../../image/demo.png" />
+                       </div>
+                       <div class="aui-col-xs-4">
+                           <img src="../../image/demo.png" />
+                       </div>
+                       <div class="aui-col-xs-4">
+                           <img src="../../image/demo.png" />
+                       </div>
+                   </div>
+               </div>
+           </div>
+       </div> -->
+</div>
+</body>
+</html>
+<script type="text/template" id="templatePublic">
+    {{~it:value:index}} {{?value.departmentId == 'root'}}
+    <li onclick="openQRcodeInfo('{{=value.departmentId}}','{{=value.messageFlag}}')">
+        <span class="news_img">{{=value.departmentName.substring(0,4)}}</span>
+        <div class="api_titles">
+            <span class="api_news_title">{{=value.departmentName}}</span>
+            <p>
+                <i class="api_ico"></i>
+                {{=value.desc}}
+            </p>
+        </div>
+        <span class="api_date">{{=value.time}}</span>
+        {{?value.messageCount != 0}}
+        <span class="api_news_num">{{=value.messageCount}}</span>
+        {{?}}
+        <span class="api_ceil"></span>
+    </li>
+    {{?}} {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var skip = 0;
+    var toast = new auiToast();
+    apiready = function () {
+
+    }
+    var collapse = new auiCollapse({
+        autoHide:true //是否自动隐藏已经展开的容器
+    });
+</script>

+ 187 - 0
html/page/frame3.html

@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>map</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        .api_layout {
+            height: 100%;
+        }
+
+        #canvas {
+            display: block;
+            width: 100%;
+            height: 100%;
+            background: url(../../image/map.png) no-repeat;
+            background-position: center;
+            background-size: 100% 100%;
+        }
+
+        .frame_bg {
+            display: none;
+            width: 100%;
+        }
+    </style>
+</head>
+
+<body>
+    <div class="api_layout">
+        <canvas id="canvas"></canvas>
+        <div class="frame_bg">
+            <img src="../../image/producrData.png" alt="">
+        </div>
+    </div>
+</body>
+
+</html>
+
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script src="../../script/zepto.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    var testtimer = "";
+    apiready = function() {
+        // canvas();
+        api.addEventListener({
+            name: 'eventCanvas'
+        }, function(ret, err) {
+            canvas();
+        });
+        api.addEventListener({
+            name: 'clearCanvas'
+        }, function(ret, err) {
+            clearSetInterval();
+        });
+
+        api.addEventListener({
+            name: 'scrolltobottom',
+            extra: {
+                threshold: 0 //设置距离底部多少距离时触发,默认值为0,数字类型
+            }
+        }, function(ret, err) {
+          $event.openTabLayoutTransition('frame3_1','frame3_1','', '')
+        });
+    }
+
+
+
+    function canvas() {
+        var radius = 0;
+        var c = document.getElementById("canvas");
+        c.width = document.body.clientWidth * 2;
+        c.height = document.body.clientHeight * 2;
+        var ctx = c.getContext("2d");
+        //  canvas.rect(params1,params2,params3,params4) 参数分别为 矩形左上角的x轴坐标 矩形左上角的y轴坐标 矩形的宽度 矩形的高度
+        // 灵新煤矿
+        const path1 = new Path2D();
+        path1.rect($event.yhW(28), $event.yhW(68), 200, $event.yhW(60));
+        // 红柳煤矿
+        const path2 = new Path2D();
+        path2.rect($event.yhW(28), $event.yhW(141), 200, $event.yhW(60));
+        // 枣圈煤矿
+        const path3 = new Path2D();
+        path3.rect($event.yhW(28), $event.yhW(209), 200, $event.yhW(60));
+        // 请水营煤矿
+        const path4 = new Path2D();
+        path4.rect($event.yhW(28), $event.yhW(300), 230, $event.yhW(60));
+        // 石槽村煤矿
+        const path5 = new Path2D();
+        path5.rect($event.yhW(28), $event.yhW(369), 230, $event.yhW(60));
+        // 梅花井煤矿
+        const path6 = new Path2D();
+        path6.rect($event.yhW(28), $event.yhW(443), 230, $event.yhW(60));
+        // 信息中心
+        const path7 = new Path2D();
+        path7.rect($event.yhW(552), $event.yhW(68), 230, $event.yhW(60));
+        // 双马煤矿
+        const path8 = new Path2D();
+        path8.rect($event.yhW(533), $event.yhW(750), 230, $event.yhW(60));
+        // 金凤煤矿
+        const path9 = new Path2D();
+        path9.rect($event.yhW(520), $event.yhW(812), 230, $event.yhW(60));
+        // 羊场湾煤矿
+        const path10 = new Path2D();
+        path10.rect($event.yhW(505), $event.yhW(893), 230, $event.yhW(60));
+        ctx.stroke()
+        c.addEventListener('click', function(e) {
+            var lx = ctx.isPointInPath(path1, e.clientX * 2, e.clientY * 2);
+            var hl = ctx.isPointInPath(path2, e.clientX * 2, e.clientY * 2);
+            var zq = ctx.isPointInPath(path3, e.clientX * 2, e.clientY * 2);
+            var qsy = ctx.isPointInPath(path4, e.clientX * 2, e.clientY * 2);
+            var mhj = ctx.isPointInPath(path5, e.clientX * 2, e.clientY * 2);
+            var scc = ctx.isPointInPath(path6, e.clientX * 2, e.clientY * 2);
+            var sm = ctx.isPointInPath(path7, e.clientX * 2, e.clientY * 2);
+            var jf = ctx.isPointInPath(path8, e.clientX * 2, e.clientY * 2);
+            var ycw = ctx.isPointInPath(path9, e.clientX * 2, e.clientY * 2);
+            var ycw2 = ctx.isPointInPath(path10, e.clientX * 2, e.clientY * 2);
+            if (lx === true) {
+                //  return $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'102512a8a2d54725bc7c7e6f6ab89fc5',title:'灵新煤矿'},'');
+            } else if (hl == true) {
+                //  return $event.openWin('browseQrcode_win'+Math.random(),'../browseQrcode/browseQrcode_win',{pageId:'2b855ddda4984ad9b0353ab3ca0f81e3',title:'红柳煤矿'},'');
+            } else if (zq == true) {
+                return $event.openTabLayout('zaoquanCoalMine' + Math.random(), '../producationDataItem/zaoquanCoalMine', '枣泉煤矿', {
+                    pageId: '',
+                    title: '枣泉煤矿'
+                });
+            } else if (qsy == true) {
+                //  return $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'7663c485d6004f1b9592d8e5000c7419',title:'清⽔营煤矿'},'');
+            } else if (mhj == true) {
+                //  return $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'4b4405fc17f14fe186d0583fd274e0a2',title:'⽯槽村煤矿'},'');
+            } else if (scc == true) {
+                //  return $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'b7696b92fa994931857e3385765e02bc',title:'梅花井煤矿'},'');
+            } else if (sm == true) {
+                return $event.openTabLayout('informationCenter' + Math.random(), '../producationDataItem/informationCenter', '信息中心', {
+                    pageId: '信息中心',
+                    title: '信息中心'
+                });
+            } else if (jf == true) {
+                //  return $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'2d9916d6f827470fa35440456f1f2d6f',title:'双马煤矿'},'');
+            } else if (ycw == true) {
+                return $event.openTabLayout('jinfengCoalMine' + Math.random(), '../producationDataItem/jinfengCoalMine', '金凤煤矿', {
+                    pageId: '金凤煤矿',
+                    title: '金凤煤矿'
+                });
+            } else if (ycw2 == true) {
+                //  return $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'d39b9800339840f18520a9eb338f15c0',title:'羊场湾煤矿'},'');
+            }
+        }, false)
+
+        function drawCircle() {
+            ctx.beginPath();
+            ctx.arc($event.yhW(480), $event.yhW(550), radius, 0, Math.PI * 2);
+            ctx.closePath();
+            ctx.lineWidth = 2;
+            ctx.strokeStyle = 'rgba(122,228,238,1)';
+            ctx.stroke();
+            radius += 1;
+            if (radius > 120) {
+                radius = 0;
+            }
+        }
+
+        function render() {
+            var prev = ctx.globalCompositeOperation;
+            ctx.globalCompositeOperation = 'destination-in';
+            ctx.globalAlpha = 0.95;
+            ctx.fillRect(0, 0, document.body.clientWidth * 2, document.body.clientHeight * 2);
+            ctx.globalCompositeOperation = prev;
+            drawCircle();
+        };
+        testtimer = setInterval(function() {
+            render();
+        }, 30);
+    }
+    // 点击其他tab关闭定时任务
+    function clearSetInterval() {
+        clearInterval(testtimer);
+    }
+</script>

+ 55 - 0
html/page/frame3_1.html

@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>map</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        .api_layout {
+            width: 100%;
+        }
+
+        .frame_bg {
+            display: block;
+            width: 100%;
+        }
+    </style>
+</head>
+
+<body>
+    <div class="api_layout">
+        <div class="frame_bg">
+            <img src="../../image/producrData.png" alt="">
+        </div>
+    </div>
+</body>
+
+</html>
+
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script src="../../script/zepto.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function() {
+        $(window).scroll(function() {
+            sTop = document.body.scrollTop;
+            if (sTop == 0) {
+                api.historyBack({
+                    frameName: 'frame3'
+                }, function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                });
+            }      
+        });
+    }
+</script>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1011 - 0
html/page/frame3_2.html


+ 570 - 0
html/page/frame4.html

@@ -0,0 +1,570 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>个人中心</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css" />
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        .personal_header_color {
+            width: 100%;
+            height: 57.5px;
+            background: #009FE8;
+        }
+
+        .personal_details_message {
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            margin: -34px 14px 0 14px;
+            background: rgba(255, 255, 255, 1);
+            box-shadow: 0px 0px 3px 3px rgba(0, 0, 0, 0.05);
+            border-radius: 2px;
+            padding: 6px 6px 9px 8px;
+        }
+
+        .left_avatar_personal_info {
+            display: flex;
+            align-items: center;
+        }
+
+        .avatar_container img {
+            width: 55px;
+            height: 55px;
+            border-radius: 100%;
+            box-shadow: 0px 0px 4px 4px rgba(0, 0, 0, 0.1);
+        }
+
+        .details_info {
+            margin-left: 12px;
+        }
+
+        .details_info .info_header {
+            display: flex;
+            align-items: center;
+        }
+
+        .info_header_name {
+            font-size: 17px;
+            font-weight: 700;
+        }
+
+        .info_section_footer {
+            font-size: 13px;
+        }
+
+        .info_header .name {
+            color: #232627;
+            font-size: 18px;
+            font-weight: 500;
+        }
+
+        .info_header .qrcode_img img {
+            width: 18px;
+            height: 18px;
+            margin-left: 5px;
+        }
+
+        .right_handle_arrow img {
+            width: 14px;
+            height: 14px
+        }
+
+        .icon_items {
+            margin: 0 16px 23px 16px;
+        }
+
+        .icon_items ul {
+            display: flex;
+            flex-wrap: wrap;
+        }
+
+        .icon_items ul li {
+            width: 33%;
+            text-align: center;
+        }
+
+        .icon_items ul li {
+            display: flex;
+            flex-flow: column;
+            justify-content: center;
+            align-items: center;
+            padding-top: 23px;
+            color: #232627;
+            font-size: 14px;
+        }
+
+        .icon_items ul li div:last-child {
+            margin-top: 6px;
+        }
+        /*.icon_items ul li:last-child {
+            padding-top: 6px;
+        }*/
+
+        .icon_items ul li img {
+            width: 43px;
+            height: 43px;
+        }
+
+        .line {
+            height: 4px;
+            background: rgba(0, 159, 232, 1);
+            margin: 0 14px;
+        }
+
+        .handle_list_item {
+            margin: 0 15px 0 23px;
+        }
+
+        .handle_list_item ul li {
+            height: 45px;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            border-bottom: solid 1px #F5F5F5
+        }
+
+        .handle_list_item ul li:last-child {
+            border-bottom: none
+        }
+
+        .handle_list_item ul li div:first-child {
+            display: flex;
+            align-items: center;
+        }
+
+        .handle_list_item ul li div:first-child span {
+            display: block;
+            margin-left: 6px;
+        }
+
+        .handle_list_item ul li div:first-child img {
+            width: 18px;
+            height: 18px;
+        }
+
+        .filter_gray_img {
+            -webkit-filter: grayscale(100%);
+            -moz-filter: grayscale(100%);
+            -ms-filter: grayscale(100%);
+            -o-filter: grayscale(100%);
+            filter: grayscale(100%);
+            filter: gray;
+        }
+    </style>
+</head>
+
+<body style="background-color:#fff;">
+    <div class="api_layout">
+        <div class="personal_header_color"></div>
+        <div class="personal_details_message" onclick="handleOpenPersonalQrCode()">
+            <div class="left_avatar_personal_info">
+                <!-- http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png -->
+                <div class="avatar_container" onclick="openPersonal()"><img id="avatar_img" src="" alt=""></div>
+                <div class="details_info">
+                    <div class="info_header">
+                        <div class="info_header_name"></div>
+                        <div class="qrcode_img" onclick="handleOpenPersonQrCode()"><img src="../../image/qrCodeImg.png" alt=""></div>
+                    </div>
+                    <div class="info_section_footer"></div>
+                </div>
+            </div>
+            <div class="right_handle_arrow"><img src="../../image/more.png" alt=""></div>
+        </div>
+        <div class="icon_items">
+            <ul>
+                <li class="message_alert" onclick="openNewsList()">
+                    <div><img src="../../icon/messagealert.png" alt=""></div>
+                    <div>消息提醒</div>
+                </li>
+                <li>
+                    <div><img style="filter: grayscale(100%);filter: gray;" src="../../icon/Collection.png" alt=""></div>
+                    <div>收藏</div>
+                </li>
+                <li onclick="openExamine()">
+                    <div><img src="../../icon/Workorderapproval.png" alt=""></div>
+                    <div>工单审核</div>
+                </li>
+                <li>
+                    <div><img class="filter_gray_img" src="../../icon/Learningintegra.png" alt=""></div>
+                    <div>学习积分</div>
+                </li>
+                <li>
+                    <div><img class="filter_gray_img" src="../../icon/Integralmall.png" alt=""></div>
+                    <div>积分商城</div>
+                </li>
+                <li>
+                    <div><img class="filter_gray_img" src="../../icon/LearningReport.png" alt=""></div>
+                    <div>学习报表</div>
+                </li>
+                <li>
+                    <div><img class="filter_gray_img" src="../../icon/Personalcloudisk.png" alt=""></div>
+                    <div>个人云盘</div>
+                </li>
+                <li onclick="handleUserExplain()">
+                    <div><img src="../../icon/Usermanual.png" alt=""></div>
+                    <div>使用手册</div>
+                </li>
+                <li onclick="handleServicePhone()">
+                    <div><img src="../../icon/Servicephone.png" alt=""></div>
+                    <div>服务电话</div>
+                </li>
+                <li onclick="handleFeedback()">
+                    <div><img src="../../icon/Suggestionfeedback.png" alt=""></div>
+                    <div>建议反馈</div>
+                </li>
+                <li onclick="handleDownQrcode()">
+                    <div><img src="../../icon/downQrcode.png" alt=""></div>
+                    <div>下载二维码</div>
+                </li>
+            </ul>
+        </div>
+        <div class="line"></div>
+        <div class="handle_list_item">
+            <ul>
+                <li onclick="openForget()">
+                    <div>
+                        <img src="../../icon/ChangePassword.png" alt="">
+                        <span>修改密码</span>
+                    </div>
+                    <div class="right_handle_arrow">
+                        <img src="../../image/more.png" alt="">
+                    </div>
+                </li>
+                <li>
+                    <div>
+                        <img src="../../icon/Signout.png" alt="">
+                        <span>退出登录</span>
+                    </div>
+                    <div class="right_handle_arrow">
+                        <img src="../../image/more.png" alt="">
+                    </div>
+                </li>
+                <li onclick="handleUpdateTitle()">
+                    <div>
+                        <img src="../../icon/Updatelog.png" alt="">
+                        <span>更新日志</span>
+                    </div>
+                    <div class="right_handle_arrow">
+                        <img src="../../image/more.png" alt="">
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+</body>
+
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var token, uuid, headers, personalName = '',
+        staff_num = '';
+    var toast = new auiToast();
+    apiready = function() {
+        var info = $api.getStorage('data'),
+            user = JSON.parse(info).data.user;
+        token = JSON.parse(info).data.access_token;
+        uuid = JSON.parse(info).data.user.staff_num;
+        headers = {
+            "Authorization": "Bearer " + token
+        };
+        newsNum()
+            // 个人信息
+        $http.fnReuestData(UrlRouter.userInfoApi, headers, 'post', '', personalCenterInfo);
+        api.addEventListener({
+            name: 'userInfo'
+        }, function(ret, err) {
+            $http.fnReuestData(UrlRouter.userInfoApi, headers, 'post', '', personalCenterInfo);
+        });
+        api.addEventListener({
+            name: 'myNews'
+        }, function(ret, err) {
+            newsNum()
+        });
+    };
+    // 个人信息展示
+    function personalCenterInfo(ret, err) {
+        if (ret) {
+            toast.hide();
+            if (ret.code === 0) {
+                var ret = ret.data;
+                var image = 'http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png';
+                // var bindPhone = $api.dom('.api_phoneBind_wrap');
+                var head_img = $api.byId('avatar_img'),
+                    name = $api.dom('.info_header_name'),
+                    api_dep = $api.dom('.info_section_footer');
+                personalName = ret.name;
+                staff_num = ret.staff_num;
+                ret.name == null ? $api.html(name, '无') : $api.html(name, ret.name);
+                ret.section_fullname == null ? $api.html(api_dep, '无') : $api.html(api_dep, ret.section_fullname);
+                ret.avatar == null ? head_img.src = image : head_img.src = ret.avatar;
+            } else if (ret.code === 401) {
+                api.alert({
+                    title: '提示',
+                    msg: '登录过期,重新登录',
+                }, function(ret, err) {
+                    var index = ret.buttonIndex;
+                    if (index == 1) {
+                        api.setStatusBarStyle({
+                            color: 'rgba(0,0,0,0)',
+                            style: 'light'
+                        });
+                        api.closeWin({
+                            name: 'index'
+                        });
+                    }
+                });
+            }
+        } else {
+            toast.hide();
+            api.toast({
+                msg: '网络错误',
+                duration: 2000,
+                location: 'bottom'
+            });
+        }
+    }
+    // 打开个人中心二维码
+    function handleOpenPersonQrCode() {
+
+    }
+
+    // 打开二维码页面详情
+    function handleOpenPersonalQrCode() {
+        let title = `${staff_num}-${personalName}`;
+        $http.requestData(`${UrlRouter.getPagebyNOAndName}?title=${title}`, 'get', '')
+            .then(ret => {
+                if (ret.data.id) {
+                    $event.openWin('browseQrcode_win', '../browseQrcode/browseQrcode_win', {
+                        pageId: ret.data.id,
+                        title: '人员详情'
+                    }, '');
+                }
+            })
+            .catch(err => {
+                // console.log(JSON.stringify(err));
+            })
+    }
+
+    function handleUpdateTitle() {
+      $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'cd7591c847134956b5b2307f4f52e6a8',title:'更新日志'},'');
+    }
+    // 修改密码
+    function openForget() {
+        $event.openTabLayout('forget', '../forgetBind/forgetPass', '修改密码', '');
+    }
+    // 绑定手机号
+    function openBind() {
+        $event.openTabLayout('bindPhone', '../forgetBind/bindPhone', '绑定手机号', '');
+    }
+    // 下载二维码
+    function handleDownQrcode() {
+        $event.openTabLayout('qrcodeShare', '../browseQrcode/qrcodeShare', '二维码下载', '');
+    }
+    // 我的审核
+    function openExamine() {
+        $event.openWin('examineMy_win','../wordorder/examineMy_win','','');
+        //$event.openWin('wordorder_win','../wordorder/wordorder_win','','')
+        //$event.openTabLayout('wordorderDetails', '../wordorder/wordorderDetails', '工单审核', '');
+    }
+    // 服务电话
+    function handleServicePhone() {
+        api.call({
+            type: 'tel_prompt',
+            number: '18152480670'
+        });
+    }
+    // 使用说明
+    function handleUserExplain() {
+      $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'156c601a10be43bc8f32e83f0664821b',title:'使用说明'},'');
+    }
+
+    function handleFeedback() {
+      $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:'eeeaada3989343f39decda742082909b',title:'意见反馈'},'');
+    }
+    // // 我的审核openExamineDetails
+    // function openExamineDetails() {
+    //   $event.openTabLayout('wordorderDetails','../wordorder/wordorderDetails','我的审核','');
+    // }
+    // //我的工单
+    // function openMyWordOder() {
+    //   $event.openWin('myWordeOrder_win','../wordorder/myWordeOrder_win','','');
+    // }
+    // //我的流程
+    // function openMyWordOderList() {
+    //   $event.openTabLayout('wordorderProcess','../wordorder/wordOrderProcess','工单流程','');
+    // }
+    // // 打开详情
+    function openPersonal() {
+        $event.openWin('personal', '../personalData/personal', '', '');
+    }
+    // //消息列表
+    function openNewsList() {
+        $event.openWin('newsList', '../news/news_win', '', '');
+    }
+    // 清除缓存
+    // function clearCache() {
+    //     $event.openWin('clearCache','clearCache','','');
+    // }
+    // 上传头像
+    var headImg;
+
+    function actionSheetFun() {
+        api.actionSheet({
+            title: '选择',
+            cancelTitle: '取消',
+            buttons: ['相机', '相册']
+        }, function(ret, err) {
+            if (ret.buttonIndex != 3) {
+                var type = 'camera';
+                if (ret.buttonIndex == 1) {
+                    type = 'camera';
+                } else {
+                    type = 'album';
+                }
+                api.getPicture({
+                    sourceType: type
+                }, function(ret, err) {
+                    if (ret) {
+                        photoTailoring(ret.data);
+                        headImg = ret.data;
+                    }
+                });
+            }
+        });
+    }
+
+    function uploadUrl(imgUrl) {
+        var upload_avater = $api.byId('head_img');
+        upload_avater.style.backgroundImage = 'url(' + imgUrl + ')';
+    }
+
+    function uploadHead(imgUrl) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: urlphp + 'api/user/avatar/upload',
+            method: 'post',
+            headers: {
+                "Authorization": "Bearer " + token,
+            },
+            data: {
+                files: {
+                    avatar: imgUrl
+                }
+            }
+        }, function(ret, err) {
+            if (ret) {
+                toast.hide();
+                if (ret.code === 0) {
+                    api.toast({
+                        msg: '上传成功',
+                        duration: 2000,
+                        location: 'top'
+                    });
+                } else {
+                    api.toast({
+                        msg: '上传失败',
+                        duration: 2000,
+                        location: 'top'
+                    });
+                }
+            } else {
+                toast.hide();
+                api.toast({
+                    msg: '网络错误',
+                    duration: 2000,
+                    location: 'top'
+                });
+            }
+        });
+
+    }
+    // 退出
+    function signOut() {
+        api.confirm({
+            title: '提示',
+            msg: '退出登录?',
+            buttons: ['确定', '取消']
+        }, function(ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                api.setStatusBarStyle({
+                    color: 'rgba(0,0,0,0)',
+                    style: 'light'
+                });
+                $api.clearStorage();
+                api.closeWin({
+                    name: 'index'
+                });
+            }
+        });
+    }
+    // 照片裁剪
+    function photoTailoring(imgPath) {
+        var systemType = api.systemType;
+        if (systemType == 'ios') {
+            api.openFrame({
+                name: 'tailoring',
+                url: 'tailoring.html',
+                rect: {
+                    x: 0,
+                    y: 0,
+                    w: api.winWidth,
+                    h: api.winHeight
+                },
+                pageParam: {
+                    tailoring: imgPath
+                },
+                bounces: false,
+                bgColor: 'rgba(0,0,0,0)',
+                vScrollBarEnabled: false,
+                hScrollBarEnabled: false,
+            });
+        } else if (systemType == 'android') {
+            var imageCrop = api.require('imageCrop');
+            imageCrop.clipPhoto({
+                imgPath: imgPath,
+                height: api.winHeight,
+                width: api.winWidth
+            }, function(ret, err) {
+                if (ret) {
+                    uploadUrl(ret.imgPath);
+                    uploadHead(ret.imgPath);
+                }
+            });
+        }
+    }
+    //工单
+    function openWordOrder() {
+        // $event.openWin('wordorder_win','../wordorder/wordorder_win','','')
+        // $event.openTabLayout('wordOrder','wordorder_frame','工单列表','')
+    }
+    // 消息总数
+    function newsNum() {
+        $http.fnReuestDataNologing(UrlRouter.getNewsNum, headers, 'get', '', function(ret, err) {
+            if (ret.code === 0) {
+                if (ret.data.unread_num === 0) {
+                    $api.css($api.dom('.news_num'), 'display:none');
+                    $api.html($api.dom('.news_num'), '');
+                } else if (ret.data.unread_num > 99 || ret.data.unread_num == 99) {
+                    $api.css($api.dom('.news_num'), 'display:block');
+                    $api.html($api.dom('.news_num'), 99);
+                } else {
+                    $api.css($api.dom('.news_num'), 'display:block');
+                    $api.html($api.dom('.news_num'), ret.data.unread_num);
+                }
+            }
+        })
+    }
+</script>

+ 94 - 0
html/page/openNews.html

@@ -0,0 +1,94 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text">新闻列表</p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js"></script> -->
+<script src="../../script/config.js"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var url = api.pageParam.url,title = api.pageParam.title;
+        var info = $api.getStorage('data'),
+        token = JSON.parse(info).data.access_token;
+        openFrameUrl(url,token);
+        keybackFun()
+    }
+    function openFrameUrl(url,token_) {
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: urlphp+"admin/article/newsList?URl="+token_,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      })
+    }
+      function keybackFun() {
+        api.addEventListener({
+        		name: 'keyback'
+        	}, function(ret, err){
+            var browser = api.require('webBrowser');
+              browser.historyBack(
+                  function(ret, err) {
+                      if (!ret.status) {
+                          api.closeWin();
+                      }
+                  }
+              );
+
+        });
+      }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+      browser.historyBack(
+          function(ret, err) {
+              if (!ret.status) {
+                  api.closeWin();
+              }
+          }
+      );
+    }
+</script>

+ 118 - 0
html/page/openUrl.html

@@ -0,0 +1,118 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js"></script> -->
+<script src="../../script/config.js"></script>
+<script type="text/javascript">
+var token;
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var url = api.pageParam.url,title = api.pageParam.title;
+        var info = $api.getStorage('data'),
+        name = JSON.parse(info).data.user.name,
+        uuid = JSON.parse(info).data.user.staff_num,
+        departmentID = JSON.parse(info).data.user.section_id;
+        token = JSON.parse(info).data.access_token;
+        openFrameUrl(url,title,name,uuid,departmentID);
+        keybackFun()
+    }
+    function openFrameUrl(url,title,uname,uuid,departmentID) {
+      var name,value,info =[],Qrurl= url;
+        var str = Qrurl;
+        var num=str.indexOf("?");
+        str=str.substr(num+1);
+        var arr=str.split("&");
+        for(var i=0;i < arr.length;i++){
+            num=arr[i].indexOf("=");
+            if(num>0){
+                name=arr[i].substring(0,num);
+                value=arr[i].substr(num+1);
+                this[name]=value;
+                info.push(value)
+            }
+        }
+      if (info[2] != "" && info[2]) {
+         Qrurl = urlphp+"assets/html/QRcoddetails/index.html?name="+uname+"&uuid="+uuid+"&pageId="+info[2]+"&departmentID="+departmentID
+      }else {
+         Qrurl=  Qrurl+'&token='+token
+      }
+      $api.html($api.dom('.api_text'), title);
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: Qrurl,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      })
+    }
+      function keybackFun() {
+        api.addEventListener({
+        		name: 'keyback'
+        	}, function(ret, err){
+            var browser = api.require('webBrowser');
+              browser.historyBack(
+                  function(ret, err) {
+                      if (!ret.status) {
+                          api.closeWin();
+                      }
+                  }
+              );
+
+        });
+      }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+      browser.historyBack(
+          function(ret, err) {
+              if (!ret.status) {
+                  api.closeWin();
+              }
+          }
+      );
+    }
+</script>

+ 114 - 0
html/page/openUrlBanner.html

@@ -0,0 +1,114 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js"></script> -->
+<script src="../../script/config.js"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var url = api.pageParam.url,title = api.pageParam.title;
+        var info = $api.getStorage('data'),
+        name = JSON.parse(info).data.user.name,
+        uuid = JSON.parse(info).data.user.staff_num,
+        departmentID = JSON.parse(info).data.user.section_id;
+        openFrameUrl(url,title,name,uuid,departmentID);
+        keybackFun()
+    }
+    function openFrameUrl(url,title,uname,uuid,departmentID) {
+      var name,value,info =[],Qrurl= url;
+        var str = url;
+        var num=str.indexOf("?");
+        str=str.substr(num+1);
+        var arr=str.split("&");
+        for(var i=0;i < arr.length;i++){
+            num=arr[i].indexOf("=");
+            if(num>0){
+                name=arr[i].substring(0,num);
+                value=arr[i].substr(num+1);
+                this[name]=value;
+                info.push(value)
+            }
+        }
+      if (info[2] != "" && info[2]) {
+         Qrurl = urlphp+"assets/html/QRcoddetails/index.html?name="+uname+"&uuid="+uuid+"&pageId="+info[2]+"&departmentID="+departmentID
+      }
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: Qrurl,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+              $api.html($api.dom('.api_text'), ret.title);
+              break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      })
+    }
+      function keybackFun() {
+        api.addEventListener({
+        		name: 'keyback'
+        	}, function(ret, err){
+            var browser = api.require('webBrowser');
+              browser.historyBack(
+                  function(ret, err) {
+                      if (!ret.status) {
+                          api.closeWin();
+                      }
+                  }
+              );
+
+        });
+      }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+      browser.historyBack(
+          function(ret, err) {
+              if (!ret.status) {
+                  api.closeWin();
+              }
+          }
+      );
+    }
+</script>

+ 197 - 0
html/page/search2_frameDetails1.html

@@ -0,0 +1,197 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: auto;
+            line-height: normal;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: auto;
+            line-height: normal;
+            padding-top: 10px;
+            padding-bottom: 10px;
+            display: block;
+        }
+        .aui-list-item-arrow:before{
+            border: none;
+        }
+        .aui-list-item-inner.aui-list-item-arrow{
+            padding-right: 0.75rem;
+        }
+        .col_ p{
+            font-size: 15px;
+            color: #121212;
+            width: 100%;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            margin-bottom: 10px;
+        }
+        .col_ p span:last-child{
+            font-size: 14px;
+            color: #6C6F74;
+        }
+        .col_ p span:first-child{
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .personal_centerInfo img{
+            width: 50px;
+            height: 50px;
+            margin-right: 10px;
+            border: 1px solid #f2f2f2;
+            border-radius: 50%;
+        }
+        .personal_center span{
+            display: block;
+        }
+        .personal_center span:first-child{
+            font-size: 16px;
+        }
+        .personal_center span:last-child{
+            font-size: 15px;
+            color: #a7a5bb;
+        }
+        .personal_centerInfo{
+            padding: 10px 0 10px 0.75rem ;
+            background: #fff;
+        }
+        .spanInfo{
+            display: block;
+            font-size: 14px;
+            color: #6C6F74;
+            margin-bottom: 5px;
+        }
+        .spanInfo:last-child{
+            margin-bottom: 0;
+        }
+        .title_{
+            background: #fff;
+            padding: 5px 0.75rem;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            background-size: 92% 1px;
+            background-repeat: no-repeat;
+            background-position: 0.75rem bottom;
+            background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);
+            background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);
+        }
+        .title_ p{
+            font-size: 17px;
+            color: #000;
+        }
+        .title_ span{
+            width: 4px;
+            height: 40px;
+            background: #009fe8;
+            margin-right: 10px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <div>
+        <div class="title_">
+            <span></span>
+            <p id="titles_"></p>
+        </div>
+        <ul class="aui-list aui-list-in" id="dataContent"></ul>
+    </div>
+</div>
+<div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+        <li class="aui-list-item col_" onclick="openDetails2('{{=value.eName}}','{{=value.did}}')">
+            <div class="aui-list-item-inner aui-list-item-arrow">
+                <p>
+                    <span>{{=value.eName}}</span>
+                    <span>数量:{{=value.eNum}}</span>
+                </p>
+                <span class="spanInfo">类型:{{=value.dName}}</span>
+            </div>
+        </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+      detaileFun($api.getStorage('titleKey'))
+    };
+    function detaileFun(values) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: "http://nxjiewei.com/colliery-system/api/page/v1/caByDidPage.html?title="+values+"&pageNumber=0&pageSize=20",
+            method: 'get',
+        },function(ret, err){
+            toast.hide();
+            if (ret && ret.code == 200) {
+                document.getElementById('titles_').innerHTML = values;
+                if (ret.content.data != "") {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide');
+                }else {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data);
+                    $api.removeCls($api.dom('.noText'), 'hide');
+                }
+            }else {
+                api.toast({
+                    msg: '加载超时,请检查网络',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        });
+    }
+    function openDetails2(t,id) {
+        var objs = {title:t,oid:id};
+        $api.setStorage('monitorValue',JSON.stringify(objs));
+        $event.openTabLayout('search2_frameDetails2','search2_frameDetails2','智慧矿山');
+    }
+</script>

+ 199 - 0
html/page/search2_frameDetails2.html

@@ -0,0 +1,199 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: auto;
+            line-height: normal;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: auto;
+            line-height: normal;
+            padding-top: 10px;
+            padding-bottom: 10px;
+            display: block;
+        }
+        .aui-list-item-arrow:before{
+            border: none;
+        }
+        .aui-list-item-inner.aui-list-item-arrow{
+            padding-right: 0.75rem;
+        }
+        .col_ p{
+            font-size: 15px;
+            color: #121212;
+            width: 100%;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            margin-bottom: 10px;
+        }
+        .col_ p span:last-child{
+            font-size: 14px;
+            color: #6C6F74;
+        }
+        .col_ p span:first-child{
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .personal_centerInfo img{
+            width: 50px;
+            height: 50px;
+            margin-right: 10px;
+            border: 1px solid #f2f2f2;
+            border-radius: 50%;
+        }
+        .personal_center span{
+            display: block;
+        }
+        .personal_center span:first-child{
+            font-size: 16px;
+        }
+        .personal_center span:last-child{
+            font-size: 15px;
+            color: #a7a5bb;
+        }
+        .personal_centerInfo{
+            padding: 10px 0 10px 0.75rem ;
+            background: #fff;
+        }
+        .spanInfo{
+            display: block;
+            font-size: 14px;
+            color: #6C6F74;
+            margin-bottom: 5px;
+        }
+        .spanInfo:last-child{
+            margin-bottom: 0;
+        }
+        .title_{
+            background: #fff;
+            padding: 5px 0.75rem;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            background-size: 92% 1px;
+            background-repeat: no-repeat;
+            background-position: 0.75rem bottom;
+            background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);
+            background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);
+        }
+        .title_ p{
+            font-size: 17px;
+            color: #000;
+        }
+        .title_ span{
+            width: 4px;
+            height: 40px;
+            background: #009fe8;
+            margin-right: 10px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <div>
+        <div class="title_">
+            <span></span>
+            <p id="titles_"></p>
+        </div>
+        <ul class="aui-list aui-list-in" id="dataContent"></ul>
+    </div>
+</div>
+<div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+        <li class="aui-list-item col_" onclick="openDetails2('{{=value.eName}}','{{=value.oid}}','{{=value.oName}}','{{=value.did}}')">
+            <div class="aui-list-item-inner aui-list-item-arrow">
+                <p>
+                    <span>{{=value.eName}}</span>
+                    <span>数量:{{=value.eNum}}</span>
+                </p>
+                <span class="spanInfo">单位:{{=value.units}}</span>
+                <span class="spanInfo">领用单位:{{=value.oName}}</span>
+            </div>
+        </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+      detaileFun($api.getStorage('monitorValue'))
+    };
+    function detaileFun(monitorValue) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+             url:"http://nxjiewei.com/colliery-system/api/page/v1/caByOrgPage.html?title="+JSON.parse(monitorValue).title+"&did="+JSON.parse(monitorValue).oid+"&pageNumber=0&pageSize=20",
+            method: 'get',
+        },function(ret, err){
+            toast.hide();
+            if (ret && ret.code == 200) {
+                document.getElementById('titles_').innerHTML = JSON.parse(monitorValue).title
+                if (ret.content.data != "") {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide')
+                }else {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data)
+                    $api.removeCls($api.dom('.noText'), 'hide')
+
+                }
+            }else {
+                api.toast({
+                    msg: '加载超时,请检查网络',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        });
+    }
+    function openDetails2(t,id,deps,ids) {
+        var objs = {title:t,oid:id,dep:deps,did:ids};
+        $api.setStorage('monitorValue3',JSON.stringify(objs));
+        $event.openTabLayout('search2_frameDetails3','search2_frameDetails3','智慧矿山')
+    }
+</script>

+ 200 - 0
html/page/search2_frameDetails3.html

@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: auto;
+            line-height: normal;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: auto;
+            line-height: normal;
+            padding-top: 10px;
+            padding-bottom: 10px;
+            display: block;
+        }
+        .aui-list-item-arrow:before{
+            border: none;
+        }
+        .aui-list-item-inner.aui-list-item-arrow{
+            padding-right: 0.75rem;
+        }
+        .col_ p{
+            font-size: 15px;
+            color: #121212;
+            width: 100%;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            margin-bottom: 10px;
+        }
+        .col_ p span:last-child{
+            font-size: 14px;
+            color: #6C6F74;
+        }
+        .col_ p span:first-child{
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .personal_centerInfo img{
+            width: 50px;
+            height: 50px;
+            margin-right: 10px;
+            border: 1px solid #f2f2f2;
+            border-radius: 50%;
+        }
+        .personal_center span{
+            display: block;
+        }
+        .personal_center span:first-child{
+            font-size: 16px;
+        }
+        .personal_center span:last-child{
+            font-size: 15px;
+            color: #a7a5bb;
+        }
+        .personal_centerInfo{
+            padding: 10px 0 10px 0.75rem ;
+            background: #fff;
+        }
+        .spanInfo{
+            display: block;
+            font-size: 14px;
+            color: #6C6F74;
+            margin-bottom: 5px;
+        }
+        .spanInfo:last-child{
+            margin-bottom: 0;
+        }
+        .title_{
+            background: #fff;
+            padding: 5px 0.75rem;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            background-size: 92% 1px;
+            background-repeat: no-repeat;
+            background-position: 0.75rem bottom;
+            background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);
+            background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);
+        }
+        .title_ p{
+            font-size: 17px;
+            color: #000;
+        }
+        .title_ span{
+            width: 4px;
+            height: 40px;
+            background: #009fe8;
+            margin-right: 10px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <div>
+        <div class="title_">
+            <span></span>
+            <p id="titles_"></p>
+        </div>
+        <ul class="aui-list aui-list-in" id="dataContent"></ul>
+    </div>
+</div>
+<div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+    <li class="aui-list-item col_" onclick="openDetails3('{{=value.eName}}','{{=value.oid}}','{{=value.oName}}','','{{=value.eSite}}','{{=value.did}}')">
+        <div class="aui-list-item-inner aui-list-item-arrow">
+            <p>
+                <span>{{=value.eName}}</span>
+                <span>数量:{{=value.eNum}}</span>
+            </p>
+            <span class="spanInfo">单位:{{=value.units}}</span>
+            <span class="spanInfo">型号:{{=value.types}}</span>
+            <span class="spanInfo">使用地点:{{=value.eSite}}</span>
+        </div>
+    </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        detaileFun($api.getStorage('monitorValue3'))
+    };
+    function detaileFun(monitorValue) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: "http://nxjiewei.com/colliery-system/api/page/v1/caBySiteList.html?title="+JSON.parse(monitorValue).title+"&types="+JSON.parse(monitorValue).types+"&oid="+JSON.parse(monitorValue).oid+"&did="+JSON.parse(monitorValue).did+"&pageNumber=0&pageSize=20",
+            method: 'get',
+        },function(ret, err){
+            toast.hide();
+            if (ret && ret.code == 200) {
+                document.getElementById('titles_').innerHTML = JSON.parse(monitorValue).title +">"+ JSON.parse(monitorValue).dep
+                if (ret.content.data != "") {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide')
+                }else {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data)
+                    $api.removeCls($api.dom('.noText'), 'hide')
+
+                }
+            }else {
+                api.toast({
+                    msg: '加载超时,请检查网络',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        });
+    }
+    function openDetails3(t,id,deps,type,Site,ids) {
+        var objs = {title:t,oid:id,dep:deps,types:type,useSite:Site,did:ids};
+        $api.setStorage('monitorValue4',JSON.stringify(objs));
+        $event.openTabLayout('search2_frameDetails4','search2_frameDetails4','智慧矿山')
+    }
+</script>

+ 200 - 0
html/page/search2_frameDetails4.html

@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: auto;
+            line-height: normal;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: auto;
+            line-height: normal;
+            padding-top: 10px;
+            padding-bottom: 10px;
+            display: block;
+        }
+        .aui-list-item-arrow:before{
+            border: none;
+        }
+        .aui-list-item-inner.aui-list-item-arrow{
+            padding-right: 0.75rem;
+        }
+        .col_ p{
+            font-size: 15px;
+            color: #121212;
+            width: 100%;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            margin-bottom: 10px;
+        }
+        .col_ p span:last-child{
+            font-size: 14px;
+            color: #6C6F74;
+        }
+        .col_ p span:first-child{
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .personal_centerInfo img{
+            width: 50px;
+            height: 50px;
+            margin-right: 10px;
+            border: 1px solid #f2f2f2;
+            border-radius: 50%;
+        }
+        .personal_center span{
+            display: block;
+        }
+        .personal_center span:first-child{
+            font-size: 16px;
+        }
+        .personal_center span:last-child{
+            font-size: 15px;
+            color: #a7a5bb;
+        }
+        .personal_centerInfo{
+            padding: 10px 0 10px 0.75rem ;
+            background: #fff;
+        }
+        .spanInfo{
+            display: block;
+            font-size: 14px;
+            color: #6C6F74;
+            margin-bottom: 5px;
+        }
+        .spanInfo:last-child{
+            margin-bottom: 0;
+        }
+        .title_{
+            background: #fff;
+            padding: 5px 0.75rem;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            background-size: 92% 1px;
+            background-repeat: no-repeat;
+            background-position: 0.75rem bottom;
+            background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);
+            background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);
+        }
+        .title_ p{
+            font-size: 17px;
+            color: #000;
+        }
+        .title_ span{
+            width: 4px;
+            height: 40px;
+            background: #009fe8;
+            margin-right: 10px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <div>
+        <div class="title_">
+            <span></span>
+            <p id="titles_"></p>
+        </div>
+        <ul class="aui-list aui-list-in" id="dataContent"></ul>
+    </div>
+</div>
+<div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+    <li class="aui-list-item col_" onclick="openDetails2('{{=value.url}}')">
+        <div class="aui-list-item-inner aui-list-item-arrow">
+            <p>
+                <span>{{=value.eName}}</span>
+            </p>
+            <span class="spanInfo">型号:{{=value.types}}</span>
+            <span class="spanInfo">规格:{{=value.technical}}</span>
+            <span class="spanInfo">领用单位:{{=value.oName}}</span>
+            <span class="spanInfo">单位:{{=value.units}}</span>
+            <span class="spanInfo">数量:{{=value.eNum}}</span>
+        </div>
+    </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        detaileFun($api.getStorage('monitorValue4'))
+    };
+    function detaileFun(monitorValue) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: "http://nxjiewei.com/colliery-system/api/page/v1/caByFromList.html?title="+JSON.parse(monitorValue).title+"&types="+JSON.parse(monitorValue).types+"&oid="+JSON.parse(monitorValue).oid+"&useSite="+JSON.parse(monitorValue).useSite+"&did="+JSON.parse(monitorValue).did+"&pageNumber=0&pageSize=20",
+            method: 'get',
+        },function(ret, err){
+            toast.hide();
+            if (ret && ret.code == 200) {
+                document.getElementById('titles_').innerHTML = JSON.parse(monitorValue).title +">"+ JSON.parse(monitorValue).dep+">"+JSON.parse(monitorValue).useSite;
+                if (ret.content.data != "") {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide')
+                }else {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data)
+                    $api.removeCls($api.dom('.noText'), 'hide')
+
+                }
+            }else {
+                api.toast({
+                    msg: '加载超时,请检查网络',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        });
+    }
+    function openDetails2(url) {
+        $api.setStorage('monitorUrl',url);
+        $event.openTabLayout('search_frameDetails4','search_frameDetails4','智慧矿山')
+    }
+</script>

+ 98 - 0
html/page/search_frame0.html

@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+          .aui-list{
+            background-image:none!important;
+          }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+          background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+          background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+          height: 55px;
+          line-height: 55px;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+          height: 55px;
+          line-height: 55px;
+        }
+        .aui-list-item-arrow:before{
+          border: 1px solid #939393;
+          border-top: none;
+          border-right: none;
+        }
+        .col_ p{
+            font-size: 16px;
+            color: #121212;
+            width: 85%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <ul class="aui-list aui-list-in" id="Qrcode_itme">
+
+    </ul>
+</div>
+<div class="noText hide">
+  <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+  {{~it:value}}
+  <li class="aui-list-item col_" onclick="QRcodeDetaile('{{=value.id}}','{{=value.title}}')">
+      <div class="aui-list-item-inner aui-list-item-arrow">
+          <p>{{=value.title}}</p>
+      </div>
+  </li>
+  {{~}}
+  </script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    apiready = function () {
+
+    };
+    function seachQrcodeFun0(value) {
+        var data = {
+            title:value,
+            departmentId:'',
+            pageNumber:0,
+            pageSize:0
+        };
+
+        $http.requestDataLoging(UrlRouter.seachQrcode,'get',data)
+        .then(ret=>{
+          if (ret && ret.code == 200) {
+            if (ret.data != "") {
+              $apis.html(Qrcode_itme,'#templateQrcode',ret.data);
+              $api.addCls($api.dom('.noText'), 'hide');
+            }else {
+              $apis.html(Qrcode_itme,'#templateQrcode',ret.data);
+              $api.removeCls($api.dom('.noText'), 'hide');
+            }
+          }
+        })
+    }
+    function QRcodeDetaile(pageid,text) {
+      $event.openWin('browseQrcode_win','../browseQrcode/browseQrcode_win',{pageId:pageid,title:text},'');
+      // $event.openWin('QrcodeDetaile','../Qrcode/QrcodeDetaile',{pageId:pageid,id:'',departmentId:'',flag:false,title:text},'');
+    }
+</script>

+ 113 - 0
html/page/search_frame1.html

@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: 55px;
+            line-height: 55px;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: 55px;
+            line-height: 56px;
+        }
+        .aui-list-item-arrow:before{
+            border: 1px solid #939393;
+            border-top: none;
+            border-right: none;
+        }
+        .col_ p{
+            font-size: 16px;
+            color: #121212;
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .col_ span{
+            font-size: 16px;
+            color: #6C6F74;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <ul class="aui-list aui-list-in" id="Qrcode_itme">
+
+    </ul>
+</div>
+<div class="noText hide">
+  <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+    <li class="aui-list-item col_" onclick="openDetails('{{=value.eName}}')">
+        <div class="aui-list-item-inner aui-list-item-arrow">
+            <p>{{=value.eName}}</p>
+            <span>数量:{{=value.eNum}}</span>
+        </div>
+    </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+
+    };
+    function seachQrcodeFun1(value) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: "http://nxjiewei.com/colliery-system/api/page/v1/eqByNameList.html?title="+value+"&eType=1&pageNumber=0&pageSize=999",
+            method: 'get',
+        },function(ret, err){
+          toast.hide();
+            if (ret && ret.code == 200) {
+                if (ret.content.data != "") {
+                    $apis.html(Qrcode_itme,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide')
+                }else {
+                    $apis.html(Qrcode_itme,'#templateQrcode',ret.data)
+                    $api.removeCls($api.dom('.noText'), 'hide')
+
+                }
+              }else {
+               api.toast({
+                   msg: '加载超时,请检查网络',
+                   duration: 2000,
+                   location: 'bottom'
+               });
+            }
+        });
+    }
+    function openDetails(title) {
+        $api.setStorage('titleKey',title);
+        $event.openTabLayout('search_frameDetails1','search_frameDetails1','智慧矿山')
+    }
+</script>

+ 113 - 0
html/page/search_frame2.html

@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: 55px;
+            line-height: 55px;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: 55px;
+            line-height: 56px;
+        }
+        .aui-list-item-arrow:before{
+            border: 1px solid #939393;
+            border-top: none;
+            border-right: none;
+        }
+        .col_ p{
+            font-size: 16px;
+            color: #121212;
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .col_ span{
+            font-size: 16px;
+            color: #6C6F74;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <ul class="aui-list aui-list-in" id="Qrcode_itme">
+
+    </ul>
+</div>
+<div class="noText hide">
+  <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+    <li class="aui-list-item col_" onclick="openDetails('{{=value.eName}}')">
+        <div class="aui-list-item-inner aui-list-item-arrow">
+            <p>{{=value.eName}}</p>
+            <span>数量:{{=value.eNum}}</span>
+        </div>
+    </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+
+    };
+    function seachQrcodeFun2(value) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: "http://nxjiewei.com/colliery-system/api/page/v1/caByNameList.html?title="+value+"&eType=2&pageNumber=0&pageSize=999",
+            method: 'get',
+        },function(ret, err){
+          toast.hide();
+            if (ret && ret.code == 200) {
+                if (ret.content.data != "") {
+                    $apis.html(Qrcode_itme,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide')
+                }else {
+                    $apis.html(Qrcode_itme,'#templateQrcode',ret.data)
+                    $api.removeCls($api.dom('.noText'), 'hide')
+
+                }
+              }else {
+               api.toast({
+                   msg: '加载超时,请检查网络',
+                   duration: 2000,
+                   location: 'bottom'
+               });
+            }
+        });
+    }
+    function openDetails(title) {
+        $api.setStorage('titleKey',title);
+        $event.openTabLayout('search2_frameDetails1','search2_frameDetails1','智慧矿山')
+    }
+</script>

+ 202 - 0
html/page/search_frameDetails1.html

@@ -0,0 +1,202 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: auto;
+            line-height: normal;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: auto;
+            line-height: normal;
+            padding-top: 10px;
+            padding-bottom: 10px;
+            display: block;
+        }
+        .aui-list-item-arrow:before{
+            border: none;
+        }
+        .aui-list-item-inner.aui-list-item-arrow{
+            padding-right: 0.75rem;
+        }
+        .col_ p{
+            font-size: 15px;
+            color: #121212;
+            width: 100%;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            margin-bottom: 10px;
+        }
+        .col_ p span:last-child{
+            font-size: 14px;
+            color: #6C6F74;
+        }
+        .col_ p span:first-child{
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .personal_centerInfo img{
+            width: 50px;
+            height: 50px;
+            margin-right: 10px;
+            border: 1px solid #f2f2f2;
+            border-radius: 50%;
+        }
+        .personal_center span{
+            display: block;
+        }
+        .personal_center span:first-child{
+            font-size: 16px;
+        }
+        .personal_center span:last-child{
+            font-size: 15px;
+            color: #a7a5bb;
+        }
+        .personal_centerInfo{
+            padding: 10px 0 10px 0.75rem ;
+            background: #fff;
+        }
+        .spanInfo{
+            display: block;
+            font-size: 14px;
+            color: #6C6F74;
+            margin-bottom: 5px;
+        }
+        .spanInfo:last-child{
+            margin-bottom: 0;
+        }
+        .title_{
+            background: #fff;
+            padding: 5px 0.75rem;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            background-size: 92% 1px;
+            background-repeat: no-repeat;
+            background-position: 0.75rem bottom;
+            background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);
+            background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);
+        }
+        .title_ p{
+            font-size: 17px;
+            color: #000;
+        }
+        .title_ span{
+            width: 4px;
+            height: 40px;
+            background: #009fe8;
+            margin-right: 10px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <div>
+        <div class="title_">
+            <span></span>
+            <p id="titles_"></p>
+        </div>
+        <ul class="aui-list aui-list-in" id="dataContent"></ul>
+    </div>
+</div>
+<div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+        <li class="aui-list-item col_" onclick="openDetails2('{{=value.eName}}','{{=value.oid}}','{{=value.oName}}')">
+            <div class="aui-list-item-inner aui-list-item-arrow">
+                <p>
+                    <span>{{=value.eName}}</span>
+                    <span>数量:{{=value.eNum}}</span>
+                </p>
+                <span class="spanInfo">单位:{{=value.units}}</span>
+                <!-- <span class="spanInfo">规格型号:{{=value.types}}</span> -->
+                <span class="spanInfo">使用地点:{{=value.oName}}</span>
+            </div>
+        </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+      detaileFun($api.getStorage('titleKey'))
+    };
+    function detaileFun(values) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: "http://nxjiewei.com/colliery-system/api/page/v1/eqByOrgPage.html?title="+values+"&pageNumber=0&pageSize=20",
+            method: 'get',
+            dataType:'json',
+        },function(ret, err){
+            toast.hide();
+            if (ret && ret.code == 200) {
+                document.getElementById('titles_').innerHTML = values;
+                if (ret.content.data != "") {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide')
+                }else {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data)
+                    $api.removeCls($api.dom('.noText'), 'hide')
+
+                }
+            }else {
+                api.toast({
+                    msg: '加载超时,请检查网络',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        });
+    }
+    // 详情
+    function openDetails2(t,id,deps) {
+        var objs = {title:t,oid:id,dep:deps};
+        $api.setStorage('monitorValue',JSON.stringify(objs));
+        $event.openTabLayout('search_frameDetails2','search_frameDetails2','智慧矿山')
+    }
+</script>

+ 200 - 0
html/page/search_frameDetails2.html

@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: auto;
+            line-height: normal;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: auto;
+            line-height: normal;
+            padding-top: 10px;
+            padding-bottom: 10px;
+            display: block;
+        }
+        .aui-list-item-arrow:before{
+            border: none;
+        }
+        .aui-list-item-inner.aui-list-item-arrow{
+            padding-right: 0.75rem;
+        }
+        .col_ p{
+            font-size: 15px;
+            color: #121212;
+            width: 100%;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            margin-bottom: 10px;
+        }
+        .col_ p span:last-child{
+            font-size: 14px;
+            color: #6C6F74;
+        }
+        .col_ p span:first-child{
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .personal_centerInfo img{
+            width: 50px;
+            height: 50px;
+            margin-right: 10px;
+            border: 1px solid #f2f2f2;
+            border-radius: 50%;
+        }
+        .personal_center span{
+            display: block;
+        }
+        .personal_center span:first-child{
+            font-size: 16px;
+        }
+        .personal_center span:last-child{
+            font-size: 15px;
+            color: #a7a5bb;
+        }
+        .personal_centerInfo{
+            padding: 10px 0 10px 0.75rem ;
+            background: #fff;
+        }
+        .spanInfo{
+            display: block;
+            font-size: 14px;
+            color: #6C6F74;
+            margin-bottom: 5px;
+        }
+        .spanInfo:last-child{
+            margin-bottom: 0;
+        }
+        .title_{
+            background: #fff;
+            padding: 5px 0.75rem;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            background-size: 92% 1px;
+            background-repeat: no-repeat;
+            background-position: 0.75rem bottom;
+            background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);
+            background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);
+        }
+        .title_ p{
+            font-size: 17px;
+            color: #000;
+        }
+        .title_ span{
+            width: 4px;
+            height: 40px;
+            background: #009fe8;
+            margin-right: 10px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <div>
+        <div class="title_">
+            <span></span>
+            <p id="titles_"></p>
+        </div>
+        <ul class="aui-list aui-list-in" id="dataContent"></ul>
+    </div>
+</div>
+<div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+    <li class="aui-list-item col_" onclick="openDetails2('{{=value.eName}}','{{=value.oid}}','{{=value.oName}}','{{=value.types}}','{{=value.eSite}}')">
+        <div class="aui-list-item-inner aui-list-item-arrow">
+            <p>
+                <span>{{=value.eName}}</span>
+                <span>数量:{{=value.eNum}}</span>
+            </p>
+            <span class="spanInfo">单位:{{=value.units}}</span>
+             <span class="spanInfo">规格型号:{{=value.types}}</span>
+            <span class="spanInfo">使用地点:{{=value.oName}}</span>
+        </div>
+    </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        detaileFun($api.getStorage('monitorValue'))
+    };
+    function detaileFun(monitorValue) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: "http://nxjiewei.com/colliery-system/api/page/v1/eqBySiteList.html?title="+JSON.parse(monitorValue).title+"&oid="+JSON.parse(monitorValue).oid+"&pageNumber=0&pageSize=20",
+            method: 'get',
+        },function(ret, err){
+            toast.hide();
+            if (ret && ret.code == 200) {
+                document.getElementById('titles_').innerHTML = JSON.parse(monitorValue).title +">"+ JSON.parse(monitorValue).dep;
+                if (ret.content.data != "") {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide')
+                }else {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data)
+                    $api.removeCls($api.dom('.noText'), 'hide')
+
+                }
+            }else {
+                api.toast({
+                    msg: '加载超时,请检查网络',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        });
+    }
+    function openDetails2(t,id,deps,type,Site) {
+        var objs = {title:t,oid:id,dep:deps,types:type,useSite:Site};
+        $api.setStorage('monitorValue3',JSON.stringify(objs));
+        $event.openTabLayout('search_frameDetails3','search_frameDetails3','智慧矿山')
+    }
+</script>

+ 204 - 0
html/page/search_frameDetails3.html

@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        @media screen and (-webkit-min-device-pixel-ratio:1.5) {
+            .aui-list{
+                background-image:none!important;
+            }
+        }
+        .aui-list.aui-list-in .aui-list-item{
+            background-size:93% 1px;
+        }
+        .aui-list.aui-list-in .aui-list-item:last-child{
+            background-position:0.75rem bottom;
+        }
+        .api_layout .aui-list .aui-list-item{
+            height: auto;
+            line-height: normal;
+        }
+        .api_layout .aui-list .aui-list-item-inner{
+            height: auto;
+            line-height: normal;
+            padding-top: 10px;
+            padding-bottom: 10px;
+            display: block;
+        }
+        .aui-list-item-arrow:before{
+            border: none;
+        }
+        .aui-list-item-inner.aui-list-item-arrow{
+            padding-right: 0.75rem;
+        }
+        .col_ p{
+            font-size: 15px;
+            color: #121212;
+            width: 100%;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            margin-bottom: 10px;
+        }
+        .col_ p span:last-child{
+            font-size: 14px;
+            color: #6C6F74;
+        }
+        .col_ p span:first-child{
+            width: 72%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .personal_centerInfo img{
+            width: 50px;
+            height: 50px;
+            margin-right: 10px;
+            border: 1px solid #f2f2f2;
+            border-radius: 50%;
+        }
+        .personal_center span{
+            display: block;
+        }
+        .personal_center span:first-child{
+            font-size: 16px;
+        }
+        .personal_center span:last-child{
+            font-size: 15px;
+            color: #a7a5bb;
+        }
+        .personal_centerInfo{
+            padding: 10px 0 10px 0.75rem ;
+            background: #fff;
+        }
+        .spanInfo{
+            display: block;
+            font-size: 14px;
+            color: #6C6F74;
+            margin-bottom: 5px;
+        }
+        .spanInfo:last-child{
+            margin-bottom: 0;
+        }
+        .title_{
+            background: #fff;
+            padding: 5px 0.75rem;
+            display: -webkit-flex;
+            display: flex;
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            flex-wrap: nowrap;
+            -webkit-flex-wrap: nowrap;
+            align-items: center;
+            -webkit-align-items: center;
+            background-size: 92% 1px;
+            background-repeat: no-repeat;
+            background-position: 0.75rem bottom;
+            background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);
+            background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);
+        }
+        .title_ p{
+            font-size: 17px;
+            color: #000;
+        }
+        .title_ span{
+            width: 4px;
+            height: 40px;
+            background: #009fe8;
+            margin-right: 10px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout" id="api_layout">
+    <div>
+        <div class="title_">
+            <span></span>
+            <p id="titles_"></p>
+        </div>
+        <ul class="aui-list aui-list-in" id="dataContent"></ul>
+    </div>
+</div>
+<div class="noText hide">
+    <img src="../../image/noText.png" alt="">
+</div>
+</body>
+</html>
+<script type="text/template" id="templateQrcode">
+    {{~it:value}}
+    <li class="aui-list-item col_" onclick="openDetails2('{{=value.url}}')">
+        <div class="aui-list-item-inner aui-list-item-arrow">
+            <p>
+                <span>{{=value.eName}}</span>
+            </p>
+            <span class="spanInfo">规格型号:{{=value.types}}</span>
+            <span class="spanInfo">主要技术参数:{{=value.technical}}</span>
+            <span class="spanInfo">生产厂家:{{=value.manufacturer}}</span>
+            <span class="spanInfo">出厂日期:{{=value.fDate}}</span>
+            <span class="spanInfo">出厂编号:{{=value.fNum}}</span>
+            <span class="spanInfo">单位:{{=value.units}}</span>
+            <span class="spanInfo">数量:{{=value.eNum}}</span>
+            <span class="spanInfo">矿编号:{{=value.cNum}}</span>
+            <span class="spanInfo">备注:{{=value.remark}}</span>
+        </div>
+    </li>
+    {{~}}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js" charset="utf-8"></script>
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+    var toast = new auiToast();
+    apiready = function () {
+        detaileFun($api.getStorage('monitorValue3'))
+    };
+    function detaileFun(monitorValue) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: "http://nxjiewei.com/colliery-system/api/page/v1/eqByFromList.html?title="+JSON.parse(monitorValue).title+"&types="+JSON.parse(monitorValue).types+"&oid="+JSON.parse(monitorValue).oid+"&useSite="+JSON.parse(monitorValue).useSite+"&pageNumber=0&pageSize=20",
+            method: 'get',
+        },function(ret, err){
+            toast.hide();
+            if (ret && ret.code == 200) {
+                document.getElementById('titles_').innerHTML = JSON.parse(monitorValue).title +">"+ JSON.parse(monitorValue).dep+">"+JSON.parse(monitorValue).useSite;
+                if (ret.content.data != "") {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data);
+                    $api.addCls($api.dom('.noText'), 'hide')
+                }else {
+                    $apis.html(dataContent,'#templateQrcode',ret.content.data)
+                    $api.removeCls($api.dom('.noText'), 'hide')
+
+                }
+            }else {
+                api.toast({
+                    msg: '加载超时,请检查网络',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        });
+    }
+    function openDetails2(url) {
+        $api.setStorage('monitorUrl',url);
+        $event.openTabLayout('search_frameDetails4','search_frameDetails4','智慧矿山')
+    }
+</script>

+ 59 - 0
html/page/search_frameDetails4.html

@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+        body,html{
+            margin: 0;
+            background: #fff;
+        }
+    </style>
+</head>
+<body>
+
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/config.js"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        detaile($api.getStorage('monitorUrl'))
+    }
+    // 详情
+    function detaile(url) {
+        var browser = api.require('webBrowser');
+        browser.openView({
+            url: url,
+            rect: {
+                x: 0,
+                y: 70,
+                w: api.winWidth,
+                h: $api.winHeight
+            }
+        }, function(ret, err) {
+            switch (ret.state) {
+                case 0:
+                    break;
+                case 1:
+                    break;
+                case 2:
+                    break;
+                case 3:
+                    break;
+                case 4:
+                    break;
+                default:
+                    break;
+            }
+        });
+    }
+</script>

+ 267 - 0
html/page/search_win.html

@@ -0,0 +1,267 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+        body,html{
+            margin: 0;
+            background: #fff;
+        }
+        .aui-searchbar{
+            width: 86%;
+            height: 50px;
+            margin-left: 40px;
+            background-color: transparent;
+        }
+        .aui-searchbar .aui-searchbar-btn{
+            color: #fff;
+        }
+        .aui-searchbar-input{
+            background: #fff;
+        }
+        .aui-searchbar-input input{
+            color: #000;
+        }
+        #search-input::placeholder{
+            color: #ccc;
+            font-size: 14px;
+        }
+        .search_ico{
+            width: 16px;
+            height: 16px;
+            display: block;
+            position: absolute;
+            background: url("../../image/search.png") no-repeat;
+            background-size: cover;
+            top: 8px;
+            left: 17px;
+        }
+        .backBtn{
+            margin-left: 5px;
+        }
+        #search-input{
+            font-size: 14px;
+            height: 28px;
+        }
+        .aui-searchbar-input{
+            margin-right: 60px;
+        }
+        .search_btn{
+            position: absolute;
+            bottom: 9px;
+            right: 10px;
+            width: 54px;
+            height: 31px;
+            line-height: 31px;
+            -webkit-border-radius: 50px;
+            -moz-border-radius: 50px;
+            border-radius: 50px;
+            color: #000;
+            background: #fff;
+            font-size: 13px;
+        }
+        nav{
+            background: #009fe8;
+            position: relative;
+        }
+        .row{
+            padding: 0 30px 24px 30px;
+        }
+        .row li{
+            padding: 5px;
+            color: #72e5ff;
+            font-size: 16px;
+            position: relative;
+        }
+        .row li.selectIndex{
+            color: #fff;
+        }
+        .row li.selectIndex:after{
+            content: '';
+            position: absolute;
+            bottom: 0;
+            left: 0;
+            width: 100%;
+            height: 2px;
+            background: #fff;
+        }
+        .radius_top{
+            width: 100%;
+            height: 10px;
+            background: #fff;
+            border-top-left-radius: 10px;
+            border-top-right-radius: 10px;
+            -webkit-border-top-left-radius: 10px;
+            -webkit-border-top-right-radius: 10px;
+            position: absolute;
+            bottom: 0;
+            left: 0;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <header class="header-login">
+        <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+        <div class="aui-searchbar" id="search">
+            <div class="aui-searchbar-input aui-border-radius">
+                <i class="search_ico"></i>
+                <form>
+                    <input type="text" placeholder="搜索" id="search-input">
+                </form>
+            </div>
+            <span class="search_btn" onclick="seacrhWinFun(inputValue)">搜索</span>
+        </div>
+    </header>
+    <nav>
+        <ul class="row flex-space">
+            <li class="selectIndex" onclick="randomSwitchBtn(this)">二维码</li>
+            <!-- <li onclick="randomSwitchBtn(this)">设备物资</li> -->
+            <!-- <li onclick="randomSwitchBtn(this)">固定电缆</li> -->
+            <!-- <li onclick="randomSwitchBtn(this)">添加人</li> -->
+        </ul>
+        <div class="radius_top"></div>
+    </nav>
+</div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script type="text/javascript" src="../../script/config.js"></script>
+<script type="text/javascript">
+var inputValue = ''
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        // api.parseTapmode();
+        // var info = $api.getStorage('data'),
+        //     token = JSON.parse(info).data.access_token;
+        fnInitUIInput();
+        funIniGroup();
+    };
+    var eHeaderLis,index = 0;
+    function funIniGroup(){
+        eHeaderLis = $api.domAll('.row li'),
+            frames = [];
+        for (var i = 0,len = eHeaderLis.length; i < len; i++) {
+            frames.push( {
+                name: 'search_frame'+i,
+                url: 'search_frame'+i+'.html',
+                bgColor : '#fff',
+                bounces:true
+            } )
+        }
+        api.openFrameGroup({
+            name: 'group',
+            scrollEnabled: true,
+            rect: {
+                x: 0,
+                y: $api.dom('header').offsetHeight+$api.dom('nav').offsetHeight-2,
+                w: api.winWidth,
+                h: $api.winHeight
+            },
+            index: 0,
+            frames: frames
+        }, function (ret, err) {
+            index = ret.index;
+            menuSelected(ret.index);
+
+        });
+    };
+    function menuSelected(index) {
+        for (var i = 0; i < eHeaderLis.length; i++) {
+            if(index == i ){
+                $api.addCls(eHeaderLis[i], 'selectIndex');
+            }else {
+                $api.removeCls(eHeaderLis[i], 'selectIndex');
+            }
+        }
+    }
+    function randomSwitchBtn( tag ) {
+        if( tag == $api.dom('.row li.selectIndex') )return;
+        var eFootLis = $api.domAll('.row li');
+        index = 0;
+        for (var i = 0,len = eFootLis.length; i < len; i++) {
+            if( tag == eFootLis[i] ){
+                index = i;
+            }else{
+                $api.removeCls(eFootLis[i], 'selectIndex');
+            }
+        }
+        $api.addCls( eFootLis[index], 'selectIndex');
+        api.setFrameGroupIndex({
+            name: 'group',
+            index: index
+        });
+    }
+    function backIndex() {
+        api.sendEvent({
+            name: 'userInfo',
+            extra: {
+                key1: 'value1',
+                key2: 'value2'
+            }
+        });
+        api.closeWin();
+    }
+    // input
+    function fnInitUIInput() {
+      var searchText = $api.byId('search-input');
+      var rect = $api.offset(searchText);
+      var UIInput = api.require('UIInput');
+      UIInput.open({
+          rect: {
+              x: rect.l,
+              y: rect.t+1,
+              w: rect.w,
+              h: rect.h-1
+          },
+          styles: {
+              bgColor: '#fff',
+              size: 14,
+              color: '#000',
+              placeholder: {
+                  color: '#ccc'
+              }
+          },
+          autoFocus: false,
+          maxRows: 1,
+          placeholder: '搜索',
+          keyboardType: 'default',
+          fixedOn: api.frameName
+      }, function(ret, err) {
+          if (ret) {
+              var uiInputId = ret.id;
+              if (ret && ret.eventType == "show") {
+                  setTimeout(function() {
+                      UIInput.popupKeyboard({id: uiInputId});
+                  }, 300)
+              } else if (ret.eventType == "change") {
+                  UIInput.value({
+                      id: uiInputId
+                  }, function(ret, err) {
+                      if (ret) {
+                          if (ret.status) {
+                            inputValue = ret.msg;
+                            seacrhWinFun(ret.msg);
+                          }
+                      }
+                  });
+              }
+          }
+      });
+    }
+    // 查询
+  function seacrhWinFun(text) {
+      api.execScript({
+          name: 'search_win',
+          frameName: 'search_frame'+index,
+          script: 'seachQrcodeFun'+index+'("'+text+'");'
+      });
+    }
+</script>

+ 114 - 0
html/page/tailoring.html

@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      .btn{
+           position: absolute;;
+           left: 0;
+           bottom: 0;
+           width: 100%;
+           color: #fff;
+           display: flex;
+           justify-content: space-around;
+           height: 50px;
+           line-height: 50px;
+           background: #000;
+      }
+      .btn span{
+        display: block;
+        padding: 0 20px;
+      }
+    </style>
+</head>
+<body style="background-color:#fff;">
+  <div class="btn">
+      <span tapmode="hover" onclick="fnClose()">取消</span>
+      <span tapmode="hover" onclick="reset()">重置</span>
+      <span tapmode="hover" onclick="saveFun()">确认</span>
+    </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript">
+  apiready=function () {
+    var imgPath = api.pageParam.tailoring;
+    openTailor(imgPath)
+  };
+  function openTailor(url) {
+    var FNImageClip = api.require('FNImageClip');
+    FNImageClip.open({
+        rect: {
+            x: 0,
+            y: 0,
+            w: api.frameWidth,
+            h: api.frameHeight - 50 +'px'
+        },
+        highDefinition:true,
+        srcPath: url,
+        style: {
+            mask: 'rgba(0,0,0,0.6)',
+            clip: {
+                w: 300,
+                h: 300,
+                x: 50,
+                y: 50,
+                borderColor: '#000',
+                borderWidth: 1,
+                appearance: 'rectangle'
+            }
+        },
+        fixedOn: api.frameName,
+        }, function(ret, err) {
+            if (ret) {
+
+            } else {
+
+            }
+        });
+  }
+// 取消
+   function fnClose() {
+     var FNImageClip = api.require('FNImageClip');
+    FNImageClip.close();
+    api.closeFrame({
+    });
+   }
+// 保存
+function saveFun() {
+  var FNImageClip = api.require('FNImageClip');
+  var timestamp = new Date().getTime();
+     FNImageClip.save({
+         destPath: 'fs://image/' + timestamp + '.jpg',
+         copyToAlbum: true,
+         quality: 1
+     }, function(ret, err) {
+         if (ret) {
+          //  console.log(JSON.stringify(ret));
+           api.execScript({
+                frameName: 'frame4',
+                script:  'uploadUrl("'+ ret.destPath +'");'
+            });
+            api.execScript({
+                 frameName: 'frame4',
+                 script:  'uploadHead("'+ ret.destPath +'");'
+             });
+            fnClose();
+         } else {
+
+         }
+     });
+ }
+ // 重置
+ function reset() {
+   var FNImageClip = api.require('FNImageClip');
+   FNImageClip.reset();
+ }
+</script>

+ 127 - 0
html/personalData/personal.html

@@ -0,0 +1,127 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" tapmode onclick="backIndex()">
+       <p class="api_text">个人资料</p>
+    </header>
+    <div class="api_nav">
+      <div class="header-nav scroller nav-haohuo" id="navScroll">
+          <ul class="header-nav-items flex-wrap">
+              <li class="active flex-con" tapmode="active" onclick="randomSwitchBtn(this)">
+                  基本信息
+              </li>
+              <li class="flex-con" tapmode="active" onclick="randomSwitchBtn(this)">
+                  初始学历
+              </li>
+              <li class="flex-con" tapmode="active" onclick="randomSwitchBtn(this)">
+                  最高学历
+              </li>
+          </ul>
+      </div>
+    </div>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        api.parseTapmode();
+        var info = $api.getStorage('data'),
+        token = JSON.parse(info).data.access_token;
+        funIniGroup(token);
+        keybackFun();
+    }
+    var eHeaderLis;
+    function funIniGroup(token){
+            eHeaderLis = $api.domAll('.header-nav-items li'),
+            frames = [];
+        for (var i = 0,len = eHeaderLis.length; i < len; i++) {
+            frames.push( {
+                name: 'personal_frame'+i,
+                url: 'personal_frame'+i+'.html',
+                bgColor : '#f2f2f2',
+                bounces:true,
+                pageParam:{
+                  data:token
+                },
+            } )
+        }
+        api.openFrameGroup({
+            name: 'group',
+            scrollEnabled: true,
+            rect: {
+                x: 0,
+                y: $api.dom('header').offsetHeight+$api.dom('.api_nav').offsetHeight,
+                w: api.winWidth,
+                h: $api.winHeight
+            },
+            preload:0,
+            index: 0,
+            frames: frames
+        }, function (ret, err) {
+            menuSelected(ret.index);
+        });
+    };
+    function menuSelected(index) {
+        for (var i = 0; i < eHeaderLis.length; i++) {
+          if(index == i ){
+            $api.addCls(eHeaderLis[i], 'active');
+          }else {
+            $api.removeCls(eHeaderLis[i], 'active');
+          }
+        }
+    }
+    function randomSwitchBtn( tag ) {
+        if( tag == $api.dom('.header-nav-items li.active') )return;
+        var eFootLis = $api.domAll('.header-nav-items li');
+            index = 0;
+        for (var i = 0,len = eFootLis.length; i < len; i++) {
+            if( tag == eFootLis[i] ){
+                index = i;
+            }else{
+                $api.removeCls(eFootLis[i], 'active');
+            }
+        }
+        $api.addCls( eFootLis[index], 'active');
+        api.setFrameGroupIndex({
+            name: 'group',
+            index: index
+        });
+    }
+    function backIndex() {
+      api.sendEvent({
+        name: 'userInfo'
+      });
+      api.closeWin();
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+          name: 'keyback'
+        }, function(ret, err){
+          api.sendEvent({
+            name: 'userInfo'
+          });
+          api.closeWin();
+      });
+    }
+</script>

+ 343 - 0
html/personalData/personal_frame0.html

@@ -0,0 +1,343 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        .api_layout{
+          width: 100%;
+          position: relative;
+        }
+        .aui-list .aui-list-item{
+          border-bottom: 1px  #ddd;
+        }
+        .aui-toast{
+          width: 125px;
+        }
+        .api-toast{
+          background: rgba(255,255,255,0);
+        }
+    </style>
+</head>
+<body>
+    <div class="api_layout">
+        <ul class="aui-list api_lists">
+          <li class="aui-list-item" style="height:70px;">
+              <div class="aui-list-item-inner" style="height:70px;">
+                  <div class="aui-list-item-title">个人照片</div>
+                  <span class="header_img" id="head_img" onclick="actionSheetFun()"></span>
+              </div>
+          </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner" style="padding-right:35px">
+                    <div class="aui-list-item-title" >绑定手机号</div>
+                    <span class="api_bind_phone">无</span>
+                    <i class="api_bind_img" onclick="openBind()"></i>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">姓名</div>
+                    <span class="api_name"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">员工编码</div>
+                    <span class="api_num"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">部门</div>
+                    <span class="api_del"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">岗位分类</div>
+                    <span class="api_type"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">岗位</div>
+                    <span class="api_post"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">职级(职务码)</div>
+                    <span class="api_rank"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">性别</div>
+                    <span class="api_sex"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">员工组</div>
+                    <span class="api_contract"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">员工子组</div>
+                    <span class="api_staff"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">籍贯</div>
+                    <span class="api_city"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">宗教信仰</div>
+                    <span class="api_religion"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">户口性质</div>
+                    <span class="api_residence"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">民族</div>
+                    <span class="api_nation"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">出生日期</div>
+                    <span class="api_rirth"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">身份证号</div>
+                    <span class="api_id"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">参加工作时间</div>
+                    <span class="api_job_time"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">进入神华系统时间</div>
+                    <span class="api_time1"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">进入子分公司时间</div>
+                    <span class="api_time2"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">进入本单位时间</div>
+                    <span class="api_time3"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">政治面貌</div>
+                    <span class="api_face"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">参加党派时间</div>
+                    <span class="api_time4"></span>
+                </div>
+            </li>
+        </ul>
+        <div class="api_bottom">
+          —— 到底了 ——
+        </div>
+    </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+  apiready = function () {
+      $api.fixStatusBar($api.dom('header'));
+      // 个人信息
+      personalCenterInfo()
+  };
+  function openBind() {
+    $event.openTabLayout('bindPhone','../forgetBind/bindPhone','绑定手机号','');
+  }
+  // 个人头像
+  var headImg;
+  function actionSheetFun() {
+    api.actionSheet({
+      title: '选择',
+      cancelTitle: '取消',
+      buttons: ['相机','相册']
+    }, function(ret, err) {
+      if (ret.buttonIndex !=3) {
+        var type = 'camera';
+        if(ret.buttonIndex == 1){
+          type = 'camera';
+        }else {
+          type = 'album';
+        }
+        api.getPicture({
+            sourceType: type,
+        }, function(ret, err){
+            if(ret){
+              photoTailoring(ret.data);
+              headImg = ret.data;
+            }
+        });
+      }
+    });
+  }
+  function uploadUrl(imgUrl) {
+    var upload_avater = $api.byId('head_img');
+    upload_avater.style.backgroundImage = 'url('+imgUrl+')';
+  }
+  function uploadHead(imgUrl){
+      $http.fileUploadRequest(urlphp+'api/user/avatar/upload','post',{avatar:imgUrl})
+      .then(ret=>{
+        if(ret.code === 0){
+            api.toast({
+                msg: '上传成功',
+                duration: 2000,
+                location: 'top'
+            });
+        }else {
+            api.toast({
+                msg: '上传失败',
+                duration: 2000,
+                location: 'top'
+            });
+        }
+      })
+      .catch(err=>{
+        api.toast({
+            msg: '网络错误',
+            duration: 2000,
+            location: 'top'
+        });
+      })
+  }
+  // 照片裁剪
+  function photoTailoring(imgPath) {
+    var systemType = api.systemType;
+    if (systemType == 'ios') {
+      api.openFrame({
+          name: 'tailoring01',
+          url: 'tailoring01.html',
+          rect: {
+              x: 0,
+              y: 0,
+              w: api.winWidth,
+              h: api.winHeight
+          },
+          pageParam: {
+              tailoring: imgPath
+          },
+          bounces: false,
+          bgColor: 'rgba(0,0,0,0)',
+          vScrollBarEnabled: false,
+          hScrollBarEnabled: false,
+      });
+    }else if (systemType == 'android') {
+      var imageCrop = api.require('imageCrop');
+        imageCrop.clipPhoto({
+            imgPath: imgPath,
+            height: api.winHeight,
+            width: api.winWidth
+        }, function(ret, err) {
+            if (ret) {
+                uploadUrl(ret.imgPath);
+                uploadHead(ret.imgPath);
+            }
+        });
+    }
+  }
+  // 个人信息
+  function personalCenterInfo(){
+    $http.requestDataLoging(UrlRouter.userInfoApi,'post','')
+    .then(ret=>{
+      if (ret.code === 0) {
+        var ret = ret.data;
+        var phone =  $api.dom(".api_bind_phone"),
+            name =   $api.dom(".api_name"),
+            api_num =   $api.dom(".api_num"),
+            api_del =   $api.dom(".api_del"),
+            api_type =   $api.dom(".api_type"),
+            api_post =   $api.dom(".api_post"),
+            api_rank =   $api.dom(".api_rank"),
+            api_sex =   $api.dom(".api_sex"),
+            api_contract =   $api.dom(".api_contract"),
+            api_staff =   $api.dom(".api_staff"),
+            api_city =   $api.dom(".api_city"),
+            api_religion =   $api.dom(".api_religion"),
+            api_residence =   $api.dom(".api_residence"),
+            api_nation =   $api.dom(".api_nation"),
+            api_rirth =   $api.dom(".api_rirth"),
+            api_id =   $api.dom(".api_id"),
+            api_job_time =   $api.dom(".api_job_time"),
+            api_time1 =   $api.dom(".api_time1"),
+            api_time2 =   $api.dom(".api_time2"),
+            api_time3 =   $api.dom(".api_time3"),
+            api_face =   $api.dom(".api_face"),
+            api_time4 =   $api.dom(".api_time4"),
+            image = 'http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png',
+            head_img = $api.byId('head_img');
+            ret.avatar == null? head_img.style.backgroundImage = 'url('+image+')' : head_img.style.backgroundImage = 'url('+ret.avatar+')';
+            $api.html(phone, ret.mobile);
+            $api.html(name, ret.name);
+            $api.html(api_num, ret.staff_num);
+            $api.html(api_del, ret.section_fullname);
+            $api.html(api_type, ret.job_classify);
+            $api.html(api_post, ret.job);
+            $api.html(api_rank, ret.duty_num);
+            $api.html(api_sex, ret.sex);
+            $api.html(api_contract, ret.group);
+            $api.html(api_staff, ret.group_sub);
+            $api.html(api_city, ret.native);
+            $api.html(api_religion, ret.faith);
+            $api.html(api_residence, ret.registered);
+            $api.html(api_nation, ret.nation);
+            $api.html(api_rirth, ret.birthday);
+            $api.html(api_id, ret.identity_card);
+            $api.html(api_job_time, ret.working_date);
+            $api.html(api_time1, ret.system_date);
+            $api.html(api_time2, ret.system_sub_date);
+            $api.html(api_time3, ret.section_date);
+            $api.html(api_face, ret.politics);
+            // $api.html(api_id, ret.staff_num);
+            $api.html(api_time4, ret.politics_date);
+         }
+    })
+    .catch(err=>{
+      api.toast({
+          msg: '网络错误',
+          duration: 2000,
+          location: 'bottom'
+      });
+    })
+  }
+</script>

+ 86 - 0
html/personalData/personal_frame1.html

@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        html,body{
+          background: #f2f2f2;
+        }
+        .api_layout{
+          width: 100%;
+          position: relative;
+        }
+        .aui-list .aui-list-item{
+          border-bottom: 1px  #ddd;
+        }
+    </style>
+</head>
+<body>
+    <div class="api_layout">
+        <ul class="aui-list api_lists" style="background:#fff">
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">初始学历</div>
+                    <span class="education"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">初始学历-毕业学校</div>
+                    <span class="School"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">初始学历-专业</div>
+                    <span class="major"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">初始学历-毕业时间</div>
+                    <span class="graduation_time"></span>
+                </div>
+            </li>
+        </ul>
+        <div class="api_bottom">
+          —— 到底了 ——
+        </div>
+    </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+  apiready = function () {
+      $api.fixStatusBar($api.dom('header'));
+      // 个人信息
+    educationInfo()
+  };
+  function educationInfo() {
+    $http.requestDataLoging(UrlRouter.userInfoApi,'post','')
+    .then(ret=>{
+      if (ret.code === 0) {
+            var ret = ret.data;
+            var education =  $api.dom(".education"),
+                School =   $api.dom(".School"),
+                major =   $api.dom(".major"),
+                graduation_time =   $api.dom(".graduation_time");
+            $api.html(education, ret.start_education);
+            $api.html(School, ret.start_education_school);
+            $api.html(major, ret.start_education_major);
+            $api.html(graduation_time, ret.start_education_date);
+      }
+    })
+    .catch(err=>{})
+  }
+</script>

+ 86 - 0
html/personalData/personal_frame2.html

@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        html,body{
+          background: #f2f2f2;
+        }
+        .api_layout{
+          width: 100%;
+          position: relative;
+        }
+        .aui-list .aui-list-item{
+          border-bottom: 1px  #ddd;
+        }
+    </style>
+</head>
+<body>
+    <div class="api_layout">
+        <ul class="aui-list api_lists" style="background:#fff">
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">最高学历</div>
+                    <span class="education"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">最高学历-毕业学校</div>
+                    <span class="School"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">最高学历-专业</div>
+                    <span class="major"></span>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">最高学历-毕业时间</div>
+                    <span class="graduation_time"></span>
+                </div>
+            </li>
+        </ul>
+        <div class="api_bottom">
+          —— 到底了 ——
+        </div>
+    </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<!-- <script src="../../script/fastclick.min.js" charset="utf-8"></script> -->
+<script src="../../script/config.js" charset="utf-8"></script>
+<script type="text/javascript">
+  apiready = function () {
+      $api.fixStatusBar($api.dom('header'));
+      // 个人信息
+    educationInfo1()
+  };
+  function educationInfo1() {
+    $http.requestDataLoging(UrlRouter.userInfoApi,'post','')
+    .then(ret=>{
+      if (ret.code === 0) {
+        var ret = ret.data;
+        var education1 =  $api.dom(".education"),
+            School1 =   $api.dom(".School"),
+            major1 =   $api.dom(".major"),
+            graduation_time1 =   $api.dom(".graduation_time");
+        $api.html(education1, ret.start_education);
+        $api.html(School1, ret.start_education_school);
+        $api.html(major1, ret.start_education_major);
+        $api.html(graduation_time1, ret.start_education_date);
+      }
+    })
+    .catch(err=>{})
+  }
+</script>

+ 113 - 0
html/personalData/tailoring01.html

@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      .btn{
+           position: absolute;;
+           left: 0;
+           bottom: 0;
+           width: 100%;
+           color: #fff;
+           display: flex;
+           justify-content: space-around;
+           height: 50px;
+           line-height: 50px;
+           background: #000;
+      }
+      .btn span{
+        display: block;
+        padding: 0 20px;
+      }
+    </style>
+</head>
+<body style="background-color:#fff;">
+  <div class="btn">
+      <span tapmode="hover" onclick="fnClose()">取消</span>
+      <span tapmode="hover" onclick="reset()">重置</span>
+      <span tapmode="hover" onclick="saveFun()">确认</span>
+    </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript">
+  apiready=function () {
+    var imgPath = api.pageParam.tailoring;
+    openTailor(imgPath)
+  };
+  function openTailor(url) {
+    var FNImageClip = api.require('FNImageClip');
+    FNImageClip.open({
+        rect: {
+            x: 0,
+            y: 0,
+            w: api.frameWidth,
+            h: api.frameHeight - 50 +'px'
+        },
+        highDefinition:true,
+        srcPath: url,
+        style: {
+            mask: 'rgba(0,0,0,0.6)',
+            clip: {
+                w: 300,
+                h: 300,
+                x: 50,
+                y: 50,
+                borderColor: '#000',
+                borderWidth: 1,
+                appearance: 'rectangle'
+            }
+        },
+        fixedOn: api.frameName,
+        }, function(ret, err) {
+            if (ret) {
+
+            } else {
+
+            }
+        });
+  }
+// 取消
+   function fnClose() {
+     var FNImageClip = api.require('FNImageClip');
+    FNImageClip.close();
+    api.closeFrame({
+    });
+   }
+// 保存
+function saveFun() {
+  var FNImageClip = api.require('FNImageClip');
+  var timestamp = new Date().getTime();
+     FNImageClip.save({
+         destPath: 'fs://image/' + timestamp + '.jpg',
+         copyToAlbum: true,
+         quality: 1
+     }, function(ret, err) {
+         if (ret) {
+           api.execScript({
+                frameName: 'personal_frame0',
+                script:  'uploadUrl("'+ ret.destPath +'");'
+            });
+            api.execScript({
+                 frameName: 'personal_frame0',
+                 script:  'uploadHead("'+ ret.destPath +'");'
+             });
+            fnClose();
+         } else {
+
+         }
+     });
+ }
+ // 重置
+ function reset() {
+   var FNImageClip = api.require('FNImageClip');
+   FNImageClip.reset();
+ }
+</script>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1207 - 0
html/producationDataItem/informationCenter.html


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1089 - 0
html/producationDataItem/jinfengCoalMine.html


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1179 - 0
html/producationDataItem/zaoquanCoalMine.html


+ 541 - 0
html/productionData/efficiencyFrm.html

@@ -0,0 +1,541 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>生产数据</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <!--<link rel="stylesheet" type="text/css" href="../../css/aui.css"/>-->
+    <link rel="stylesheet" type="text/css" href="../../css/popoPicker.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body,html{
+            background: #F3F3F3;
+        }
+        .api_layout{
+            /*border-top: 1px solid #37b0e9;*/
+            padding: 13px 10px;
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .navs_item{
+          padding:0;
+        }
+        .nav_title{
+            padding: 0 5px;
+            background: #F3F6FA;
+        }
+        .nav_title li{
+            text-align: center;
+            font-size: 14px;
+            padding: 9px 0 ;
+            color: #232627;
+        }
+        .li-box{
+            height: 39px;
+            line-height: 39px;
+            font-size: 14px;
+            color: #232627;
+        }
+        .selectData{
+          margin-left: 10px;
+        }
+        #coalCuttings .li-box{
+          height: auto;
+          line-height: normal;
+          padding: 11px 0;
+          font-size: 12px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+      <!-- 时间 -->
+      <div class="Notice borderRa Stitle">
+        <span class="time-box"></span>
+      </div>
+      <!--今日产量-->
+     <div class="Notice borderRa beforS">
+         <p class="Stitle centertT">今日产量</p>
+         <div class="" style="width:100%">
+             <canvas id="downWell" style="width: 100%;margin-top:10px;height:210px"></canvas>
+         </div>
+     </div>
+     <!-- 一周产量 -->
+     <div class="Notice borderRa">
+         <div class="Chart">
+             <div class="flex-start">
+                 <div class="relative Sharebox screen">
+                     <input id="button-value" class="js-picker" value="周产量趋势">
+                     <i class="lower"></i>
+                 </div>
+                 <div class=" selectTime hide">
+                     <input class="button-value startYear" value="">
+                 </div>
+                 <div class="selectTime1 hide">
+                     <input class="button-value startTime" value="">
+                 </div>
+             </div>
+             <div class="" style="width:100%">
+               <canvas id="weekYield" style="width: 100%;margin-top:10px;height:210px"></canvas>
+             </div>
+         </div>
+         <!--列表-->
+         <nav>
+             <ul class="nav_title flex-wrap">
+                 <li class="flex-con">日期</li>
+                 <li class="flex-con">晚班</li>
+                 <li class="flex-con">早班</li>
+                 <li class="flex-con">中班</li>
+                 <li class="flex-con">日产量</li>
+             </ul>
+         </nav>
+         <ul class="downWellPersonnal" id="downWellPersonnal">
+
+         </ul>
+     </div>
+    <!-- 皮带秤 产量 -->
+    <div class="Notice borderRa beforS">
+      <p class="Stitle centertT">皮带秤小时产量</p>
+      <div class="" style="width:100%">
+        <canvas id="Belt" style="width: 100%;margin-top:10px;height:210px"></canvas>
+      </div>
+    </div>
+    <!-- 周割煤刀数 -->
+    <div class="Notice borderRa">
+        <div class="Chart">
+            <div class="flex-start">
+                <div class="relative Sharebox screen">
+                    <input id="button-value" class="js-coalCutting" readonly value="日割煤刀数">
+                    <i class="lower"></i>
+                </div>
+                <div class=" selectData hide">
+                    <input class="button-value startData" value="">
+                </div>
+            </div>
+            <div class="" style="width:100%">
+              <canvas id="coalCutting" style="width: 100%;margin-top:10px;height:210px"></canvas>
+            </div>
+        </div>
+        <!--列表-->
+        <nav>
+            <ul class="nav_title flex-wrap">
+                <li class="flex-con">工作面名称</li>
+                <li class="flex-con">区队名称</li>
+                <li class="flex-con">实际刀数</li>
+                <li class="flex-con">计划刀数</li>
+            </ul>
+        </nav>
+        <ul class="downWellPersonnal" id="coalCuttings">
+
+        </ul>
+    </div>
+</div>
+<script type="text/template" id="downWellTemplate">
+    {{~it:value}}
+    <li class="flex-wrap li-box centertT relative after-border">
+        <span class="flex-con">{{=value.CurDT}}</span>
+        <span class="flex-con">{{=getInteger(value.BanTotal1)}}吨</span>
+        <span class="flex-con">{{=getInteger(value.BanTotal2)}}吨</span>
+        <span class="flex-con">{{=getInteger(value.BanTotal3)}}吨</span>
+        <span class="flex-con">{{=getInteger(value.BanTotal2) + getInteger(value.BanTotal3) + getInteger(value.BanTotal1)}}吨</span>
+    </li>
+    {{~}}
+</script>
+<script type="text/template" id="coalCuttingsTemplate">
+    {{~it:value}}
+    <li class="flex-wrap li-box centertT relative after-border">
+        <span class="flex-con">{{=value.work}}</span>
+        <span class="flex-con">{{=value.team}}</span>
+        <span class="flex-con">{{=value.value}}刀</span>
+        <span class="flex-con">{{=value.plan_value}}刀</span>
+    </li>
+    {{~}}
+</script>
+<script src="../../script/api.js"></script>
+<script src="../../script/popoPicker.js"></script>
+<script src="../../script/doT.min.js"></script>
+ <script src="../../script/f2.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+    var headers;
+    var apiToast = new apiToast();
+    apiready = function () {
+        var info = $api.getStorage('data'),
+        user = JSON.parse(info).data.user;
+        token = JSON.parse(info).data.access_token;
+        $api.html($api.dom('.time-box'),  getNowFormatDate());
+        setInterval(function () {
+          $api.html($api.dom('.time-box'),  getNowFormatDate());
+        }, 1000)
+        headers = {
+            "Authorization": "Bearer " + token
+        };
+        openSharebox();//选择器
+        // 图表权限
+        chartsJurisdiction();
+        // 监听切换tab标签,刷新页面
+        api.addEventListener({
+            name: 'refreshProduction'
+        }, function(ret, err) {
+            // 图表
+            chartsJurisdiction();
+        });
+    };
+    // 图表
+    function chartsJurisdiction() {
+      $api.val($api.dom('#button-value'), '周产量趋势');
+      $api.addCls($api.dom('.selectTime1'), 'hide');
+      $api.addCls($api.dom('.selectTime'), 'hide');
+      getThreeyield();
+      // 今日产量
+      downWell()
+      //一周的产量
+      weekYield(false,210);
+      // 皮带称
+      getBeltData();
+      // 割煤刀数
+      coalCutting('day',false,210,'');
+      // 割煤刀数工作面列表
+      coalcutList();
+    }
+    // 今日产量
+   function downWell() {
+        $http.fnReuestDataNologing(UrlRouter.getBanNowDayAllTotal,'','get','',function (ret,err) {
+          if (ret.status === 20000) {
+            var data = ret.data;
+            var map = {};
+            data.map(function(obj) {
+                map[obj.devName] = getInteger(obj.total) + '吨';
+            });
+            var chart = new F2.Chart({
+                id: 'downWell',
+                pixelRatio: window.devicePixelRatio,
+                padding: [20, 'auto']
+            });
+            chart.source(data, {
+                percent: {
+                    formatter: function formatter(val) {
+                        return val + '吨';
+                    }
+                }
+            });
+            chart.tooltip(false);
+            chart.legend({
+                position: 'right',
+                itemFormatter: function itemFormatter(val) {
+                    return val + '    ' + map[val];
+                }
+            });
+            chart.coord('polar', {
+                transposed: true,
+                innerRadius: 0.7,
+                radius: 0.85
+            });
+            chart.axis(false);
+            chart.interval().position('conts*total').color('devName', ['#1890FF', '#13C2C2', '#2FC25B', '#FACC14', '#F04864', '#8543E0', '#3436C7', '#223273']).adjust('stack');
+
+            chart.guide().html({
+                position: ['50%', '45%'],
+                html: '<div style="width: 250px;height: 40px;text-align: center;">' + '<div style="font-size: 16px">总产量</div>' + '<div style="font-size: 18px">'+getInteger(ret.data[0].count)+' 吨</div>' + '</div>'
+            });
+            chart.render();
+          }
+        })
+    }
+   //一周的产量
+   function weekYield(transposed,height,type,startTime,endTime) {
+     if(type != '年产量趋势'){
+       var data = {
+         dateTime:startTime,
+         endTime:endTime
+       };
+       $http.fnReuestDataNologing(UrlRouter.getBanDayList,'','get',data,function(ret,err){
+         if (ret && ret.status === 20000) {
+           var data = ret.data;
+           var chart = new F2.Chart({
+               id: 'weekYield',
+               height: height,
+               pixelRatio: window.devicePixelRatio
+             });
+             chart.source(data, {
+               'banTotal2': {
+                 tickCount: 5
+               }
+           });
+           chart.coord({
+              transposed: transposed
+           });
+           chart.tooltip({
+             custom: false, // 自定义 tooltip 内容框
+           });
+           chart.interval().position('curDT*total').color('devName').adjust('stack');
+           chart.render();
+         }
+       });
+     }else {
+       $http.fnReuestDataNologing(UrlRouter.getMonthSumByYear,'','get',{year:startTime},function(ret,err){
+         if (ret && ret.status === 20000) {
+           var data = ret.data;
+           var chart = new F2.Chart({
+               id: 'weekYield',
+               height: height,
+               pixelRatio: window.devicePixelRatio
+             });
+             chart.source(data, {
+               'banTotal2': {
+                 tickCount: 5
+               }
+           });
+           chart.coord({
+              transposed: transposed
+           });
+           chart.axis('total', {
+              line: null,
+              grid: F2.Global._defaultAxis.grid,
+              label: function label(text, index, total) {
+                var textCfg = {
+                  text: text / 10000 + '万吨'
+                };
+                if (index === 0) {
+                  textCfg.textAlign = 'right';
+                } else if (index === total - 1) {
+                  textCfg.textAlign = 'right';
+                }else {
+                  textCfg.textAlign = 'right';
+                }
+                return textCfg;
+              }
+            });
+           chart.interval().position('month*total').color('devName').adjust('stack');
+           chart.render();
+         }
+       });
+     }
+   }
+    // 选择时间
+   function openSharebox() {
+    var myDate = new Date();
+    var tYear = myDate.getFullYear();
+    var  tmonth = myDate.getMonth()+1
+    $api.val($api.dom('.startYear'), tYear+'年');
+    $api.val($api.dom('.startTime'), tYear+'-'+ (tmonth<10? 0+""+tmonth:tmonth));
+    $api.val($api.dom('.startData'), tYear+'-'+ (tmonth<10? 0+""+tmonth:tmonth));
+      new popoPicker('.js-picker',{
+          container:'.screen',
+          wheels: [{
+              infinite: false,
+              //selected: 3,
+              data:[
+                  {value:0,display:'周产量趋势'},
+                  {value:1,display:'月产量趋势'},
+                  {value:2,display:'年产量趋势'}
+              ]
+          }],
+          background:'light',
+          save:function (data) {
+            switch (data.result[0].display) {
+              case '周产量趋势':
+                $api.addCls($api.dom('.selectTime1'), 'hide');
+                $api.addCls($api.dom('.selectTime'), 'hide');
+                weekYield(false,210);
+                break;
+              case '月产量趋势':
+                $api.removeCls($api.dom('.selectTime1'), 'hide');
+                $api.addCls($api.dom('.selectTime'), 'hide');
+                weekYield(true,700,'',tYear+'-'+ (tmonth<10? 0+""+tmonth+'-'+0+""+1:tmonth),tYear+'-'+ (tmonth<10? 0+""+tmonth+'-'+31:tmonth),'');
+                break;
+              case '年产量趋势':
+                $api.addCls($api.dom('.selectTime1'), 'hide');
+                $api.removeCls($api.dom('.selectTime'), 'hide');
+                weekYield(false,300,data.result[0].display,tYear)
+                break;
+              default:
+            }
+          }
+      });
+      new popoDate('.startTime',{
+          container:'.selectTime1',
+          background:'light',
+          save:function (data) {
+            weekYield(true,700,'',data+'-'+0+""+1,data+'-'+31);
+          }
+      });
+      new popoYear('.startYear',{
+          container:'.selectTime',
+          background:'light',
+          save:function (data) {
+            $api.val($api.dom('.startYear'), data+'年');
+            weekYield(false,300,'年产量趋势',data)
+          }
+      });
+      new popoPicker('.js-coalCutting',{
+          container:'.screen',
+          wheels: [{
+              infinite: false,
+              //selected: 3,
+              data:[
+                  {value:'day',display:'日割煤刀数'},
+                  {value:'week',display:'周割煤刀数'},
+                  {value:'month',display:'月割煤刀数'}
+              ]
+          }],
+          background:'light',
+          save:function (data) {
+            switch (data.result[0].display) {
+              case '日割煤刀数':
+                $api.addCls($api.dom('.selectData'), 'hide');
+                coalCutting(data.result[0].value,false,210,'');
+                break;
+              case '周割煤刀数':
+                $api.addCls($api.dom('.selectData'), 'hide');
+                coalCutting(data.result[0].value,false,210,'');
+                break;
+              case '月割煤刀数':
+                $api.removeCls($api.dom('.selectData'), 'hide');
+                coalCutting('month',false,210,'');
+                break;
+              default:
+            }
+          }
+      });
+      new popoDate('.startData',{
+          container:'.selectData',
+          background:'light',
+          save:function (data) {
+           coalCutting('month',false,210,data);
+          }
+      });
+
+  }
+   // 皮带称数据
+   function getBeltData() {
+      $http.fnReuestDataNologing(UrlRouter.getDayHourTotal,'','get','',function (ret,err) {
+        if (ret.status === 20000) {
+          var data = ret.data;
+          var chart = new F2.Chart({
+                id: 'Belt',
+                pixelRatio: window.devicePixelRatio
+              });
+
+              chart.source(data, {
+                time: {
+                  type: 'timeCat',
+                  mask: 'hh:mm',
+                  tickCount: 5,
+                  range: [0, 1]
+                }
+              });
+              chart.tooltip({
+                showCrosshairs: true,
+                showItemMarker: false,
+                onShow: function onShow(ev) {
+                  var items = ev.items;
+                  items[0].name = null;
+                  items[0].value = items[0].value +'吨';
+                }
+              });
+              chart.axis('day', {
+                label: function label(text, index, total) {
+                  var textCfg = {};
+                  if (index === 0) {
+                    textCfg.textAlign = 'left';
+                  } else if (index === total - 1) {
+                    textCfg.textAlign = 'right';
+                  }
+                  return textCfg;
+                }
+              });
+              if (ret.data.length != 0) {
+                chart.legend({
+                  custom: true,
+                  itemWidth: null,
+                  nameStyle: {
+                    textAlign: 'middle',
+                    fontSize: '14',
+                    textBaseline: 'middle'
+                  },
+                  items: [{
+                    name: '皮带秤',
+                    marker: {
+                      symbol:'circle',
+                      radius: 5,
+                      fill: ret.data[ret.data.length-1].runState === 'Stop'? '#E74C3C':'#2ECC71'
+                    }
+                  }]
+                });
+              }
+              chart.line().position('time*total').shape('smooth');
+              chart.point().position('time*total').shape('smooth').style({
+                stroke: '#fff',
+                lineWidth: 1
+              });
+              chart.render();
+          }
+      })
+   }
+  // 周割煤刀数
+  function coalCutting(type,transposed,height,date) {
+    var param = {
+      type:type,
+      date:date
+    }
+   $http.fnReuestDataNologing(UrlRouter.getEfficacyCut,'','post',param,function (ret,err) {
+     if (ret.code === 0) {
+       var data = ret.data;
+       var chart = new F2.Chart({
+         id: 'coalCutting',
+         height: height,
+         pixelRatio: window.devicePixelRatio
+       });
+       chart.source(data);
+       chart.coord({
+          transposed: transposed
+       });
+       chart.interval().position('label*value').color('type').adjust({
+         type: 'dodge',
+         marginRatio: 0.05 // 设置分组间柱子的间距
+       });
+     chart.render();
+     }
+   })
+  }
+  //割煤刀数工作面列表
+  function coalcutList() {
+    var param = {
+      type:'',
+      date:''
+    }
+    $http.fnReuestDataNologing(UrlRouter.getEfficacyInfo,'','post',param,function (ret,err) {
+      if (ret.code === 0) {
+        $apis.html(coalCuttings,'#coalCuttingsTemplate',ret.data);
+      }
+    })
+  }
+  // 前三天的产量
+  function getThreeyield() {
+    var curTime = new Date().getTime();
+    var endDate = curTime - (3 * 3600 * 24 * 1000);
+    var dateTime = curTime - (1 * 3600 * 24 * 1000);
+    var data = {
+      dateTime:formatDateTime(endDate),
+      endTime:formatDateTime(dateTime)
+    };
+    $http.fnReuestDataNologing(UrlRouter.getBanDayThree,'','get',data,function(ret,err){
+        if (ret.status === 20000) {
+          $apis.html(downWellPersonnal,'#downWellTemplate',ret.data);
+        }
+    });
+  }
+  // 取整数
+  function getInteger(data) {
+    return Math.floor(data/1)
+  }
+
+</script>
+</body>
+</html>

+ 71 - 0
html/productionData/efficiencyWin.html

@@ -0,0 +1,71 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" tapmode onclick="backIndex()">
+       <p class="api_text">生产统计</p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/config.js"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        api.parseTapmode();
+        var info = $api.getStorage('data'),
+        token = JSON.parse(info).data.access_token;
+        openEffciency()
+    }
+    function openEffciency() {
+      api.openFrame({
+          name: 'efficiencyFrm',
+          url: 'efficiencyFrm.html',
+          rect: {
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: 'auto',
+              h: 'auto'
+          },
+          pageParam: {
+              name: 'test'
+          },
+          bounces: false,
+          bgColor: 'rgba(0,0,0,0)',
+          vScrollBarEnabled: false,
+          hScrollBarEnabled: false,
+          progress:{
+              type:'page'
+          }
+      });
+
+    }
+    function backIndex() {
+      api.sendEvent({
+        name: 'userInfo',
+        extra: {
+            key1: 'value1',
+            key2: 'value2'
+        }
+      });
+      api.closeWin();
+    }
+</script>

+ 491 - 0
html/productionData/equipmentMonitoring.html

@@ -0,0 +1,491 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection" content="telephone=no">
+    <title>设备监控</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" href="../../css/projeck.css">
+</head>
+<style>
+    body,
+    html {
+        background: #009FE8;
+    }
+
+    .api_layout {
+        padding: 0 10px 10px 10px;
+        -webkit-box-sizing: border-box;
+        -moz-box-sizing: border-box;
+        box-sizing: border-box;
+    }
+
+    .top {
+        width: 100%;
+        position: relative;
+    }
+
+    .top_img {
+        display: block;
+        width: 100%;
+        height: 100%;
+        border-radius: 10px;
+    }
+
+
+    .top p {
+        position: absolute;
+        top: 130px;
+        right: 8px;
+        font-weight: bold;
+        font-size: 15px;
+    }
+
+    .content {
+        padding: 15px;
+        background: white;
+        -webkit-box-sizing: border-box;
+        -moz-box-sizing: border-box;
+        box-sizing: border-box;
+        width: 100%;
+        /* margin-bottom: 13px; */
+        margin-top: 6px;
+        position: relative;
+        padding-top: 13px;
+        box-shadow: 0 3px 29px 0 rgba(59, 74, 116, 0.14);
+    }
+    /*.borderRa {
+        -webkit-border-radius: 10px;
+        -moz-border-radius: 10px;
+        border-radius: 10px;
+    }*/
+
+    .con_two {
+        display: inline-block;
+        height: 100%;
+    }
+
+    .content .title {
+        text-align: center;
+        font-size: 15px;
+        color: #222627;
+        font-weight: bold;
+    }
+
+    .borderRa:after {
+        content: "";
+        position: absolute;
+        top: 50px;
+        left: 0;
+        width: 100%;
+        height: 1px;
+        background: #F3F3F3;
+    }
+
+    .content .condition {
+        display: inline-block;
+        width: 100%;
+        height: 140px;
+        background: white;
+        position: relative;
+        padding-top: 30px;
+    }
+
+    .condition .draught {
+        width: 14px;
+        height: 14px;
+        border-radius: 50%;
+        background: #ff3d27;
+    }
+
+    .circular-name {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+    }
+
+    .circular-name span {
+        font-size: 15px;
+        margin-left: 5px;
+    }
+
+    .content .condition .statistical {
+        display: inline-block;
+        width: 100%;
+    }
+
+    .content .condition .statistical img {
+        width: 100%;
+        height: 100%;
+    }
+
+    .con {
+        display: inline-block;
+        width: 100%;
+        height: 100%;
+        padding: 0;
+    }
+
+    #tab_bar {
+        width: 100%;
+        height: 30px;
+    }
+
+    #tab_bar ul {
+        padding: 0px;
+        margin: 0px;
+        height: 30px;
+        text-align: center;
+        border-bottom: 1px solid #f8f8fb;
+    }
+
+    #tab_bar li {
+        list-style-type: none;
+        float: left;
+        width: 90px;
+        height: 30px;
+        line-height: 24px;
+        color: #222627;
+    }
+
+    .tab_css {
+        width: 100%;
+        display: none;
+        margin-top: 10px;
+    }
+
+    .tab_css .head {
+        width: 100%;
+        height: 40px;
+        background: #F3F6FA;
+        border-radius: 2px;
+        color: #222627;
+        display: flex;
+        justify-content: space-between;
+    }
+
+    .head li {
+        list-style: none;
+        line-height: 40px;
+        width: 25%;
+        color: #222627;
+        font-size: 13px;
+        text-align: center;
+    }
+
+    .head li:first-child {
+        width: 50%;
+    }
+
+    .items {
+        padding: 0;
+        margin: 0;
+        width: 100%;
+        border-radius: 2px;
+        color: #222627;
+    }
+
+    .items .list {
+        padding: 10px 0;
+        text-align: center;
+        display: flex;
+        justify-content: space-between;
+        position: relative;
+        align-items: center;
+    }
+
+    .items .list span {
+        width: 25%;
+        color: #222627;
+        font-size: 13px;
+    }
+
+    .list span:first-child {
+        width: 50%;
+        padding: 0 5px;
+        box-sizing: border-box;
+    }
+
+    .list::after {
+        content: '';
+        position: absolute;
+        bottom: 0;
+        left: 0;
+        width: 100%;
+        height: 1px;
+        background: #E8E9EA;
+    }
+
+    .list span:nth-child(2) {
+        background: #64dcff;
+        height: 20px;
+        line-height: 20px;
+    }
+
+    #contents {
+        margin-top: 23px;
+    }
+</style>
+
+<body>
+    <div class="api_layout">
+        <div class="top">
+            <img class="top_img" src="../../image/Equipmentmonito.png" alt="">
+            <p class="time-box"></p>
+        </div>
+        <div class="content borderRa con_two">
+            <p class="title">实时参数</p>
+            <pseudo:after></pseudo:after>
+            <div id="contents" class="con">
+                <div id="tab_bar">
+                    <ul>
+                        <li id="tab1" onclick="myclick(1)" style="color: #3498DB;border-bottom: 2px solid #009FE8;font-weight: bold;">
+                            1#设备
+                        </li>
+                        <li id="tab2" onclick="myclick(2)">
+                            2#设备
+                        </li>
+                    </ul>
+                </div>
+                <div class="tab_css" id="tab1_content" style="display: block">
+
+                </div>
+                <div class="tab_css" id="tab2_content">
+
+                </div>
+            </div>
+        </div>
+
+
+        <div id="template_item_one">
+        </div>
+        <!-- 设备1# -->
+        <div class="equipment_one_items tab_css" id="equipment_one" style="display: block">
+            <div id="equipment_I_temperature" class="content borderRa con_two" style="padding: 15px 5px;">
+
+            </div>
+            <div id="equipment_I_vibration" class="content borderRa con_two" style="padding: 15px 5px;">
+
+            </div>
+        </div>
+        <!-- 设备2# -->
+        <div class="equipment_two_items tab_css" id="equipment_two" style="display: none">
+            <div id="equipment_II_temperature" class="content borderRa con_two" style="padding: 15px 5px;">
+
+            </div>
+            <div id="equipment_II_vibration" class="content borderRa con_two" style="padding: 15px 5px;">
+
+            </div>
+        </div>
+    </div>
+</body>
+
+
+<script type="text/template" id="fanTemplate">
+    <ul class="head">
+        <li>参数名称</li>
+        <li>数值</li>
+        <li>单位</li>
+    </ul>
+    <ul class="items">
+        {{ for (var i = 0;i
+        <it.length;i++) { }} <li class="list">
+            <span>{{=it[i].title}}</span>
+            <span>{{=it[i].val}}</span>
+            <span>{{=it[i].unit}}</span>
+            </li>
+            {{ } }}
+    </ul>
+</script>
+<script type="text/template" id="fan2Template">
+    <ul class="head">
+        <li>参数名称</li>
+        <li>数值</li>
+        <li>单位</li>
+    </ul>
+    <ul class="items">
+        {{ for (var i = 0;i
+        <it.length;i++) { }} <li class="list">
+            <span>{{=it[i].title}}</span>
+            <span>{{=it[i].val}}</span>
+            <span>{{=it[i].unit}}</span>
+            </li>
+            {{ } }}
+    </ul>
+</script>
+
+<script type="text/template" id="equipmentTemperature">
+    <p class="title">设备温度趋势</p>
+    <canvas id="equipmentTemperatureOne" style="width: 100%;height: 230px"></canvas>
+</script>
+
+<script type="text/template" id="equipmentVibration">
+    <p class="title">设备震动趋势</p>
+    <canvas id="equipmentVibrationOne" style="width: 100%;height: 230px"></canvas>
+</script>
+
+
+<script type="text/template" id="equipmentTemperatureSecond">
+    <p class="title">设备温度趋势</p>
+    <canvas id="equipmentTemperatureTwo" style="width: 100%;height: 230px"></canvas>
+</script>
+
+<script type="text/template" id="equipmentVibrationSecond">
+    <p class="title">设备震动趋势</p>
+    <canvas id="equipmentVibrationTwo" style="width: 100%;height: 230px"></canvas>
+</script>
+
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/f2.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script type="text/javascript" src="../../script/config.js"></script>
+<script type="text/javascript" src="../../script/f2.js"></script>
+<script type="text/javascript">
+    var header = ''
+        // var toast = new auiToast()
+    apiready = function() {
+        setInterval(function() {
+            $api.html($api.dom('.time-box'), getNowFormatDate());
+        }, 1000)
+        var info = $api.getStorage('data'),
+            token = JSON.parse(info).data.access_token;
+        headers = {
+            "Authorization": "Bearer " + token
+        };
+        fanData(1)
+    };
+
+    // 参数依次为 容器的id名(containerId)  script的模版id名(templateId)后台的返回数据(queryData)
+    //canvas容器的id名() axisName是后台返回字段time (axisName)  最后一个参数是单位名称 (iValueName)例如 mm/s ...
+    function f2ChartItem(containerId, templateId, queryData, canvasId, data, axisName, iValueName) {
+        $apis.html(containerId, templateId, queryData);
+        const chart = new F2.Chart({
+            id: canvasId,
+            pixelRatio: window.devicePixelRatio
+        });
+        chart.source(data, {
+            time: {
+                tickCount: 5
+            },
+            value: {
+                tickCount: 8,
+                min: 30,
+                max: 100,
+                formatter: function formatter(val) {
+                    // console.log(JSON.stringify(val));
+                    return val + iValueName;
+                }
+            }
+        });
+
+        chart.axis('value', {
+            label: function label(text, index, total) {
+                const textCfg = {};
+                if (index === 0) {
+                    textCfg.textBaseline = 'bottom';
+                } else if (index === total - 1) {
+                    textCfg.textBaseline = 'top';
+                }
+                return textCfg;
+            }
+        });
+
+        chart.axis(axisName, {
+            line: null,
+            tickLine: {
+                top: false
+            },
+            label: {
+                offset: [-10, 10]
+            }
+        });
+
+        chart.legend({
+            position: 'top',
+            offsetY: 15
+        });
+
+        chart.line()
+            .position('time*value')
+            .color('type')
+            .shape('type', function(type) {
+                if (type != '') {
+                    return 'line';
+                }
+            });
+        chart.render();
+
+    }
+    // 1# 2#设备
+    function fanData(type) {
+        //
+        $http.fnReuestDataNologing(UrlRouter.realList, header, 'get', '', function(ret, err) {
+            // console.log(JSON.stringify(ret));
+            // console.log(JSON.stringify(err));
+            if (ret.code === 0) {
+                // toast.hide();
+                if (type == 1) {
+                    $apis.html(tab1_content, '#fanTemplate', ret.data.real['1#设备'].data);
+
+                    $api.css($api.dom('#equipment_one'), 'display: block');
+                    $api.css($api.dom('#equipment_two'), 'display: none');
+
+                    let temperatureData = ret.data.temperature['1#设备'].data;
+                    let equipmentVibrationData = ret.data.shock['1#设备'].data;
+                    console.log(JSON.stringify(temperatureData));
+                    // 设备1#温度趋势
+                    f2ChartItem(equipment_I_temperature, '#equipmentTemperature', temperatureData, 'equipmentTemperatureOne', temperatureData, 'time', '℃');
+                    // 设备1#震动趋势
+                    f2ChartItem(equipment_I_vibration, '#equipmentVibration', equipmentVibrationData, 'equipmentVibrationOne', equipmentVibrationData, 'time', 'mm/s');
+
+                } else {
+
+                    $api.css($api.dom('#equipment_one'), 'display: none');
+                    $api.css($api.dom('#equipment_two'), 'display: block');
+
+                    $apis.html(tab2_content, '#fan2Template', ret.data.real['2#设备'].data);
+                    let temperatureDataTwo = ret.data.temperature['2#设备'].data;
+                    let equipmentVibrationDataTwo = ret.data.shock['2#设备'].data;
+
+                    //设备2#温度趋势
+                    f2ChartItem(equipment_II_temperature, '#equipmentTemperatureSecond', temperatureDataTwo, 'equipmentTemperatureTwo', temperatureDataTwo, 'time', '℃');
+                    f2ChartItem(equipment_II_vibration, '#equipmentVibrationSecond', equipmentVibrationDataTwo, 'equipmentVibrationTwo', equipmentVibrationDataTwo, 'time', 'mm/s');
+
+                }
+            }
+        })
+    }
+    // tab切换
+    var myclick = function(v) {
+        var llis = document.getElementsByTagName("li");
+        for (var i = 0; i < llis.length; i++) {
+            var lli = llis[i];
+            if (lli == document.getElementById("tab" + v)) {
+                lli.style['border-bottom'] = '2px solid #009FE8';
+                lli.style.color = "#3498DB";
+                lli.style.fontWeight = "bold";
+            } else {
+                lli.style['border-bottom'] = "none";
+                lli.style.color = "#273438";
+                lli.style.fontWeight = "normal";
+            }
+        }
+        var divs = document.getElementsByClassName("tab_css");
+        for (var i = 0; i < divs.length; i++) {
+            var divv = divs[i];
+            if (divv == document.getElementById("tab" + v + "_content")) {
+                divv.style.display = "block";
+                fanData(v)
+            } else {
+                fanData(v)
+                divv.style.display = "none";
+            }
+        }
+    }
+</script>
+
+</html>

+ 217 - 0
html/productionData/monitor0.html

@@ -0,0 +1,217 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css">
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <!-- <script src="http://at.alicdn.com/t/font_1226884_f65dqkm6tpn.js" charset="utf-8"></script> -->
+    <style>
+        /*.icon {*/
+           /*width: 20px; height: 20px;*/
+           /*vertical-align: -0.15em;*/
+           /*fill: currentColor;*/
+            /*overflow: hidden;*/
+            /*color: #000;*/
+        /*}*/
+        body{
+            background: #fff;
+        }
+        .status_itme{
+            padding: 25px;
+        }
+        .status_itme li{
+            text-align: center;
+            width: 62px;
+            height: 62px;
+            padding: 10px 5px;
+            color: #ffffff;
+            font-size: 14px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .status_itme li p{
+            color: #ffffff;
+            font-size: 16px;
+        }
+        .status_itme li:nth-child(1){
+            background: #2c3e50;
+        }
+        .status_itme li:nth-child(2){
+            background: #e74c3c;
+        }
+        .status_itme li:nth-child(3){
+            background: #27ae60;
+        }
+        .status_itme li:nth-child(4){
+            background: #2873ff;
+        }
+        .content_item li{
+            padding: 15px;
+        }
+        .status_title{
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            color: #284572;
+            padding-bottom: 10px;
+            border-bottom: 1px solid #ebeef3;
+        }
+        .status_title i{
+            display: block;
+            width: 40px;
+            height: 40px;
+            margin-right: 15px;
+        }
+        .status_text span{
+            display: block;
+            color: #97a3b4;
+            font-size: 14px;
+        }
+        .status_text .col{
+            text-align: center;
+            padding-top: 14px;
+        }
+        .status_text .col:nth-child(1) span:last-child{
+            color: #2c3e50;
+        }
+        .status_text .col:nth-child(2) span:last-child{
+            color: #e74c3c;
+        }
+        .status_text .col:nth-child(3) span:last-child{
+            color: #27ae60;
+        }
+        .status_text .col:nth-child(4) span:last-child{
+            color: #2873ff;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <div class="status_itmes">
+        <ul class="status_itme flex-space" id="status_itme">
+            
+        </ul>
+    </div>
+    <div class="api_line" style="height: 2px;"></div>
+    <div class="content_items">
+         <ul class="content_item" id="content_item">
+             <!-- <li class="relative after-border" onclick="monitorDetaile('一氧化碳')">
+                 <div class="status_title flex-space">
+                    <i style="background: url(../../image/an.png) no-repeat;background-size: cover"></i>
+                     <span>一氧化碳</span>
+                 </div>
+                 <div class="status_text flex-wrap">
+                      <div class="col flex-con">
+                          <span>正常</span>
+                          <span>400个</span>
+                      </div>
+                     <div class="col flex-con">
+                         <span>正常</span>
+                         <span>400个</span>
+                     </div>
+                     <div class="col flex-con">
+                         <span>正常</span>
+                         <span>400个</span>
+                     </div>
+                     <div class="col flex-con">
+                         <span>正常</span>
+                         <span>400个</span>
+                     </div>
+                 </div>
+             </li> -->
+         </ul>
+    </div>
+</div>
+<script type="text/template" id="templateStatus">
+  {{for(var i = 0;i<it.length;i++) { }}
+    <li onclick="statusFun('{{=it[i].name}}','{{=it[i].type}}')">
+        <p>{{=it[i].name}}</p>
+        <span>{{=it[i].count}}个</span>
+    </li>
+  {{ } }}
+</script>
+<script type="text/template" id="templateMonitor">
+    {{~it:value}}
+      <li class="relative after-border">
+          <div class="status_title flex-space" onclick="monitorDetaile('{{=value.typeCodeDesc}}','')">
+             <i style="background: url('http://jiewei-icon.oss-cn-beijing.aliyuncs.com/safe-system/{{=value.typeCode}}.png') no-repeat;background-size: cover"></i>
+              <span>{{=value.typeCodeDesc}}</span>
+          </div>
+          <div class="status_text flex-wrap">
+            {{ for(var i = 0;i<value.normalCount.length;i++) { }}
+              <div class="col flex-con" onclick="sonTrmeSeacrh('{{=value.typeCodeDesc}}','{{=value.normalCount[i].type}}')">
+                  <span>{{=value.normalCount[i].name}}</span>
+                  <span>{{=value.normalCount[i].count}}个</span>
+              </div>
+            {{ } }}
+          </div>
+      </li>
+    {{~}}
+</script>
+<script src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+    var toast = new auiToast();
+    apiready = function () {
+      monitorListFun();
+      // simulationTotal();
+    };
+    // 模拟量
+    function simulationTotal() {
+      $http.fnReuestData(UrlRouter.simulationTotal,'','post','',function(ret,err){
+        if (ret && ret.code === 0) {
+          toast.hide();
+          $apis.html(status_itme,'#templateStatus',ret.data);
+        }
+      })
+    }
+
+    function monitorListFun (){
+      $http.fnReuestData(UrlRouter.simulationTotal,'','post','',function(ret,err){
+        toast.hide();
+        if (ret && ret.code === 0) {
+          $apis.html(status_itme,'#templateStatus',ret.total);
+          $apis.html(content_item,'#templateMonitor',ret.data);
+          $api.removeCls($api.dom('.api_line'), 'show');
+        }else if (ret.code == 1) {
+          $api.addCls($api.dom('.api_line'), 'hide');
+          api.toast({
+              msg: '网络请求超时,请稍后重试',
+              duration: 2000,
+              location: 'bottom'
+          });
+        }
+      })
+    }
+    // 详情
+    function monitorDetaile(t,sType) {
+      var pageParam ={title:t,statusType:sType}
+      // $event.openTabLayout('monitorDetaile','monitorDetaile',title,pageParam);
+      $event.openWin('monitorDetaileWin','monitorDetaileWin',pageParam,'');
+    }
+    //子项状态查询
+    function sonTrmeSeacrh(t,sType) {
+      var pageParam ={title:t,statusType:sType}
+      $event.openWin('monitorDetaileWin','monitorDetaileWin',pageParam,'');
+      // $event.openTabLayout('monitorDetaile','monitorDetaile',title,pageParam);
+    }
+    // 状态
+    function statusFun(t,sType) {
+        var pageParam ={title:t,statusType:sType,type:'simulation'}
+        $event.openWin('statusListWin','statusListWin',pageParam,'');
+        // $event.openTabLayout('statusList','statusList',title,pageParam);
+    }
+</script>
+</body>
+</html>

+ 200 - 0
html/productionData/monitor1.html

@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css">
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <!-- <script src="http://at.alicdn.com/t/font_1226884_f65dqkm6tpn.js" charset="utf-8"></script> -->
+    <style>
+        /*.icon {*/
+           /*width: 20px; height: 20px;*/
+           /*vertical-align: -0.15em;*/
+           /*fill: currentColor;*/
+            /*overflow: hidden;*/
+            /*color: #000;*/
+        /*}*/
+        body{
+            background: #fff;
+        }
+        .status_itme{
+            padding: 25px;
+        }
+        .status_itme li{
+            text-align: center;
+            width: 62px;
+            height: 62px;
+            padding: 10px 5px;
+            color: #ffffff;
+            font-size: 14px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .status_itme li p{
+            color: #ffffff;
+            font-size: 16px;
+        }
+        .content_item li{
+            padding: 15px;
+        }
+        .status_title{
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            color: #284572;
+            padding-bottom: 10px;
+            border-bottom: 1px solid #ebeef3;
+        }
+        .status_title i{
+            display: block;
+            width: 40px;
+            height: 40px;
+            margin-right: 15px;
+        }
+        .status_text span:first-child{
+            color: #97a3b4;
+        }
+        .status_text span{
+            display: block;
+            font-size: 14px;
+        }
+        .status_text .col{
+            text-align: center;
+            padding-top: 14px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <div class="status_itmes">
+        <ul class="status_itme flex-space" id="status_itme">
+            <!-- <li onclick="statusFun('正常','')">
+                <p>正常</p>
+                <span>400个</span>
+            </li>
+            <li onclick="statusFun('报警','')">
+                <p>报警</p>
+                <span>400</span>
+            </li>
+            <li onclick="statusFun('标校','')">
+                <p>标校</p>
+                <span>400</span>
+            </li>
+            <li onclick="statusFun('故障','')">
+                <p>故障</p>
+                <span>400</span>
+            </li> -->
+        </ul>
+    </div>
+    <div class="api_line" style="height: 3px;"></div>
+    <div class="content_items">
+         <ul class="content_item" id="content_item">
+             <!-- <li class="relative after-border" onclick="monitorDetaile('一氧化碳')">
+                 <div class="status_title flex-space">
+                    <i style="background: url(../../image/an.png) no-repeat;background-size: cover"></i>
+                     <span>一氧化碳</span>
+                 </div>
+                 <div class="status_text flex-wrap">
+                      <div class="col flex-con">
+                          <span>正常</span>
+                          <span>400个</span>
+                      </div>
+                     <div class="col flex-con">
+                         <span>正常</span>
+                         <span>400个</span>
+                     </div>
+                     <div class="col flex-con">
+                         <span>正常</span>
+                         <span>400个</span>
+                     </div>
+                     <div class="col flex-con">
+                         <span>正常</span>
+                         <span>400个</span>
+                     </div>
+                 </div>
+             </li> -->
+         </ul>
+    </div>
+</div>
+<script type="text/template" id="templateStatus">
+  {{for(var i = 0;i<it.length;i++) { }}
+    <li onclick="statusFun('{{=it[i].name}}','{{=it[i].type}}')" class="{{=it[i].type}}Bg">
+        <p>{{=it[i].name}}</p>
+        <span>{{=it[i].count}}个</span>
+    </li>
+  {{ } }}
+</script>
+<script type="text/template" id="templateMonitor">
+    {{~it:value}}
+      <li class="relative after-border">
+          <div class="status_title flex-space" onclick="monitorDetaile('{{=value.typeCodeDesc}}','')">
+             <i style="background: url('http://jiewei-icon.oss-cn-beijing.aliyuncs.com/safe-system/{{=value.typeCode}}.png') no-repeat;background-size: cover"></i>
+              <span>{{=value.typeCodeDesc}}</span>
+          </div>
+          <div class="status_text flex-wrap">
+            {{ for(var i = 0;i<value.normalCount.length;i++) { }}
+              <div class="col flex-con" onclick="sonTrmeSeacrh('{{=value.typeCodeDesc}}','{{=value.normalCount[i].type}}')">
+                  <span>{{=value.normalCount[i].name}}</span>
+                  <span class="{{=value.normalCount[i].type}}">{{=value.normalCount[i].count}}个</span>
+              </div>
+            {{ } }}
+          </div>
+      </li>
+    {{~}}
+</script>
+<script src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<!-- <script src="../../script/aui-toast.js" charset="utf-8"></script> -->
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+    var toast = new auiToast();
+    apiready = function () {
+      monitorListFun()
+    };
+    function monitorListFun (){
+      $http.fnReuestData(UrlRouter.sluicetTotal,'','post','',function(ret,err){
+        toast.hide();
+        if (ret && ret.code == 0) {
+          $apis.html(status_itme,'#templateStatus',ret.total);
+          $apis.html(content_item,'#templateMonitor',ret.data);
+          $api.removeCls($api.dom('.api_line'), 'show');
+
+        }else {
+          $api.addCls($api.dom('.api_line'), 'hide');
+          api.toast({
+              msg: '网络请求超时,请稍后重试',
+              duration: 2000,
+              location: 'bottom'
+          });
+        }
+      })
+    }
+    // 详情
+    function monitorDetaile(t,sType) {
+      var pageParam ={title:t,statusType:sType}
+      // $event.openTabLayout('monitorDetaile','monitorDetaile',title,pageParam);
+      $event.openWin('monitorDetaileWin','monitorDetaileWin',pageParam,'');
+    }
+    //子项状态查询
+    function sonTrmeSeacrh(t,sType) {
+      var pageParam ={title:t,statusType:sType}
+      $event.openWin('monitorDetaileWin','monitorDetaileWin',pageParam,'');
+      // $event.openTabLayout('monitorDetaile','monitorDetaile',title,pageParam);
+    }
+    // 状态
+    function statusFun(t,sType) {
+        var pageParam ={title:t,statusType:sType,type:'sluice'}
+        $event.openWin('statusListWin','statusListWin',pageParam,'');
+        // $event.openTabLayout('statusList','statusList',title,pageParam);
+    }
+</script>
+</body>
+</html>

+ 10 - 0
html/productionData/monitor2.html

@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<body>
+
+</body>
+</html>

+ 10 - 0
html/productionData/monitor3.html

@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<body>
+
+</body>
+</html>

+ 108 - 0
html/productionData/monitorDetaile.html

@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css">
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body{
+            background: #fff;
+        }
+        .row_content{
+            padding: 0 5px;
+        }
+        .row_content li{
+            text-align: center;
+            font-size: 13px;
+            padding: 12px 0;
+            align-items: center;
+        }
+        .row_content li span:nth-child(1){
+            width: 20%;
+        }
+        .row_content li span:nth-child(2){
+            width: 60%;
+        }
+        .row_content li span:nth-child(3){
+            width: 20%;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <div class="row_contents">
+        <ul class="row_content" id="row_content">
+
+        </ul>
+    </div>
+</div>
+<div class="noText hide" id="nocode">
+  <img src="../../image/noText.png" alt="">
+</div>
+<script type="text/template" id="templateMonitor">
+    {{~it:value}}
+      <li class="flex-space after-border relative {{=value.status}}">
+          <span>{{=value.id}}</span>
+          <span>{{=value.position}}</span>
+          <span>{{=value.value}}{{=value.unit}}</span>
+      </li>
+    {{~}}
+</script>
+<script src="../../script/api.js"></script>
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+    var toast = new auiToast(),title,statusType;
+    apiready = function () {
+      title = api.pageParam.title;
+      statusType = api.pageParam.statusType;
+      monitorDataFun(api.pageParam.title,api.pageParam.statusType);
+      // 监听返回按钮
+      api.addEventListener({
+        name: 'navbackbtn'
+      }, function(ret, err) {
+          api.closeWin();
+      });
+    };
+    function monitorDataFun(title,sType) {
+      var data = {
+        name:title,
+        status:sType,
+      }
+      toast.loading({
+          title: "加载中",
+          duration: 2000
+      });
+      $http.fnReuestDataNologing(UrlRouter.safetyDetaile,'','post',data,function(ret,err){
+        toast.hide();
+        if (ret && ret.code === 0) {
+            var totals = JSON.stringify(ret.total);
+            $api.setStorage('totals',totals);
+            api.execScript({
+              name: 'monitorDetaileWin',
+              script : 'monitorDatas();'
+            })
+            if (ret.data.length > 0) {
+              $apis.html(row_content,'#templateMonitor',ret.data);
+              $api.addCls($api.dom('.noText'), 'hide')
+            }else {
+               $api.removeCls($api.dom('.noText'), 'hide')
+              $apis.html(row_content,'#templateMonitor',ret.data);
+            }
+        }else{
+          api.toast({
+              msg: '网络请求超时,请稍后重试',
+              duration: 2000,
+              location: 'bottom'
+          });
+        }
+      })
+    }
+</script>
+</body>
+</html>

+ 162 - 0
html/productionData/monitorDetaileWin.html

@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+        body{
+            background: #fff;
+        }
+        .status_itme{
+            padding: 25px;
+        }
+        .status_itme li{
+            text-align: center;
+            width: 62px;
+            height: 62px;
+            padding: 10px 5px;
+            color: #ffffff;
+            font-size: 14px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            box-sizing: border-box;
+        }
+        .status_itme li p{
+            color: #ffffff;
+            font-size: 16px;
+        }
+        .content_item li{
+            padding: 15px;
+        }
+        .status_title{
+            justify-content: flex-start;
+            -webkit-justify-content: flex-start;
+            color: #284572;
+            padding-bottom: 10px;
+            border-bottom: 1px solid #ebeef3;
+        }
+        .status_title i{
+            display: block;
+            width: 40px;
+            height: 40px;
+            margin-right: 15px;
+        }
+        .nav_title{
+            padding: 0 5px;
+            background: #f3f6fa;
+        }
+        .nav_title li{
+            text-align: center;
+            font-size: 14px;
+            padding: 12px 0 ;
+        }
+        .nav_title li:nth-child(1){
+            width: 20%;
+        }
+        .nav_title li:nth-child(2){
+            width: 60%;
+        }
+        .nav_title li:nth-child(3){
+            width: 20%;
+        }
+    </style>
+</head>
+<body>
+  <div class="api_layout" id="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+    <div class="status_itmes">
+        <ul class="status_itme flex-space" id="status_itme">
+
+        </ul>
+    </div>
+    <nav>
+        <ul class="nav_title flex-space">
+            <li>序号</li>
+            <li>安装地点</li>
+            <li>数值/状态</li>
+        </ul>
+    </nav>
+  </div>
+</body>
+</html>
+<script type="text/template" id="templateStatus">
+  {{for(var i = 0;i<it.length;i++) { }}
+    <li onclick="monitorDataSearch('{{=it[i].type}}')" class="{{=it[i].type}}Bg">
+        <p>{{=it[i].name}}</p>
+        <span id="alarmCount">{{=it[i].count}}个</span>
+    </li>
+  {{ } }}
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/config.js"></script>
+<script type="text/javascript">
+    var title = ""
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        $api.html($api.dom('.api_text'), api.pageParam.title);
+        title = api.pageParam.title;
+        var statusType = api.pageParam.statusType;
+        openFrame(statusType)
+    }
+    // 详情
+    function openFrame(type) {
+      api.openFrame({
+          name: 'monitorDetaile',
+          url: 'monitorDetaile.html',
+          rect: {
+              x: 0,
+              y: $api.dom('header').offsetHeight+  $api.dom('nav').offsetHeight+112,
+              w: 'auto',
+              h: 'auto'
+          },
+          pageParam: {
+              title: title,
+              statusType:type
+          },
+          bounces: true,
+          bgColor: '#fff',
+          vScrollBarEnabled: true,
+          hScrollBarEnabled: true
+      });
+
+    }
+    // 状态数
+    function monitorDatas() {
+        $apis.html(status_itme,'#templateStatus',JSON.parse($api.getStorage('totals')));
+    }
+    // 查询
+    function monitorDataSearch(sType) {
+      api.execScript({
+        name: 'monitorDetaileWin',
+        frameName:'monitorDetaile',
+        script : 'monitorDataFun("'+title+'","'+sType+'");'
+      })
+    }
+    function backIndex() {
+        $api.rmStorage('totals');
+        api.closeWin();
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+          name: 'keyback'
+        }, function(ret, err){
+          $api.rmStorage('totals');
+          api.closeWin();
+      });
+    }
+</script>

+ 93 - 0
html/productionData/monitorVideo.html

@@ -0,0 +1,93 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <meta name="format-detection"content="telephone=no">
+    <title>index</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style media="screen">
+      body,html{
+        margin: 0;
+        background: #fff;
+      }
+    </style>
+</head>
+<body>
+  <div class="api_layout">
+    <header class="header-login">
+       <img class="backBtn" src="../../image/btn_back.png" alt="" tapmode onclick="backIndex()">
+       <p class="api_text"></p>
+    </header>
+  </div>
+</body>
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/config.js"></script>
+<script type="text/javascript">
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var videoUrl = api.pageParam.videoUrl,title = api.pageParam.title;
+        detaile(videoUrl,title)
+    }
+    // 详情
+    function detaile(videoUrl,title) {
+      $api.html($api.dom('.api_text'), title);
+      var browser = api.require('webBrowser');
+      browser.openView({
+          url: videoUrls+videoUrl,
+          rect: {
+              x: 0,
+              x: 0,
+              y: $api.dom('header').offsetHeight,
+              w: api.winWidth,
+              h: $api.winHeight
+          }
+      }, function(ret, err) {
+          switch (ret.state) {
+              case 0:
+                  break;
+              case 1:
+                  break;
+              case 2:
+                  break;
+              case 3:
+                  break;
+              case 4:
+                  break;
+              default:
+                  break;
+          }
+      });
+    }
+    function backIndex() {
+      var browser = api.require('webBrowser');
+        browser.historyBack(
+            function(ret, err) {
+                if (!ret.status) {
+                    api.closeWin();
+                }
+            }
+        );
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+          name: 'keyback'
+        }, function(ret, err){
+          var browser = api.require('webBrowser');
+            browser.historyBack(
+                function(ret, err) {
+                    if (!ret.status) {
+                        api.closeWin();
+                    }
+                }
+            );
+
+      });
+    }
+</script>

+ 0 - 0
html/productionData/persnoalLocation.html


Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott