Explorar el Código

初始化洗煤厂

jifuning hace 5 años
commit
5127ccc6d4
Se han modificado 100 ficheros con 23714 adiciones y 0 borrados
  1. 82 0
      widget/css/api.css
  2. 159 0
      widget/css/apiToast.css
  3. BIN
      widget/css/aui-iconfont.ttf
  4. 2718 0
      widget/css/aui.css
  5. 411 0
      widget/css/popoPicker.css
  6. 881 0
      widget/css/projeck.css
  7. 916 0
      widget/css/projeck.less
  8. 314 0
      widget/css/style.css
  9. 15 0
      widget/css/swiper.css
  10. 167 0
      widget/css/toast.css
  11. 259 0
      widget/html/Qrcode/11.html
  12. 224 0
      widget/html/Qrcode/QRcode0.html
  13. 570 0
      widget/html/Qrcode/QRcode1.html
  14. 188 0
      widget/html/Qrcode/QRcodeList.html
  15. 110 0
      widget/html/Qrcode/QrcodeDetaile.html
  16. 119 0
      widget/html/Qrcode/Sweepcode.html
  17. 110 0
      widget/html/Qrcode/recordDetaile.html
  18. 230 0
      widget/html/forgetBind/bindPhone.html
  19. 230 0
      widget/html/forgetBind/forgetPass.html
  20. 43 0
      widget/html/mail/mailList.html
  21. 156 0
      widget/html/mail/mailList_frm.html
  22. 114 0
      widget/html/mail/modul.html
  23. 203 0
      widget/html/mail/organization.html
  24. 195 0
      widget/html/mail/organization_frame.html
  25. 318 0
      widget/html/mail/personalInfo.html
  26. 341 0
      widget/html/news/news_frm.html
  27. 301 0
      widget/html/news/news_win.html
  28. 155 0
      widget/html/page/addPosonal.html
  29. 47 0
      widget/html/page/clearCache.html
  30. 428 0
      widget/html/page/frame0.html
  31. 152 0
      widget/html/page/frame1.html
  32. 293 0
      widget/html/page/frame2.html
  33. 876 0
      widget/html/page/frame3.html
  34. 380 0
      widget/html/page/frame4.html
  35. 94 0
      widget/html/page/openNews.html
  36. 118 0
      widget/html/page/openUrl.html
  37. 114 0
      widget/html/page/openUrlBanner.html
  38. 197 0
      widget/html/page/search2_frameDetails1.html
  39. 199 0
      widget/html/page/search2_frameDetails2.html
  40. 200 0
      widget/html/page/search2_frameDetails3.html
  41. 200 0
      widget/html/page/search2_frameDetails4.html
  42. 101 0
      widget/html/page/search_frame0.html
  43. 113 0
      widget/html/page/search_frame1.html
  44. 113 0
      widget/html/page/search_frame2.html
  45. 202 0
      widget/html/page/search_frameDetails1.html
  46. 200 0
      widget/html/page/search_frameDetails2.html
  47. 204 0
      widget/html/page/search_frameDetails3.html
  48. 59 0
      widget/html/page/search_frameDetails4.html
  49. 267 0
      widget/html/page/search_win.html
  50. 114 0
      widget/html/page/tailoring.html
  51. 119 0
      widget/html/personalData/personal.html
  52. 369 0
      widget/html/personalData/personal_frame0.html
  53. 90 0
      widget/html/personalData/personal_frame1.html
  54. 90 0
      widget/html/personalData/personal_frame2.html
  55. 113 0
      widget/html/personalData/tailoring01.html
  56. 541 0
      widget/html/productionData/efficiencyFrm.html
  57. 71 0
      widget/html/productionData/efficiencyWin.html
  58. 232 0
      widget/html/productionData/monitor0.html
  59. 200 0
      widget/html/productionData/monitor1.html
  60. 10 0
      widget/html/productionData/monitor2.html
  61. 10 0
      widget/html/productionData/monitor3.html
  62. 108 0
      widget/html/productionData/monitorDetaile.html
  63. 162 0
      widget/html/productionData/monitorDetaileWin.html
  64. 93 0
      widget/html/productionData/monitorVideo.html
  65. 189 0
      widget/html/productionData/persnoalLocation.html
  66. 112 0
      widget/html/productionData/personalInfo.html
  67. 102 0
      widget/html/productionData/personnalDeFrm.html
  68. 95 0
      widget/html/productionData/personnalDeWin.html
  69. 948 0
      widget/html/productionData/personnelList.html
  70. 104 0
      widget/html/productionData/personnelLocationDetails.html
  71. 145 0
      widget/html/productionData/personnelLocationDetailsFrm.html
  72. 172 0
      widget/html/productionData/search.html
  73. 144 0
      widget/html/productionData/searchFrame.html
  74. 203 0
      widget/html/productionData/searchWin.html
  75. 178 0
      widget/html/productionData/securityMonitor.html
  76. 105 0
      widget/html/productionData/statusList.html
  77. 93 0
      widget/html/productionData/statusListWin.html
  78. 165 0
      widget/html/productionData/video.html
  79. 666 0
      widget/html/wordorder/12.html
  80. 97 0
      widget/html/wordorder/adopt.html
  81. 251 0
      widget/html/wordorder/alreadyExamine_frm.html
  82. 314 0
      widget/html/wordorder/approvalPersonal.html
  83. 649 0
      widget/html/wordorder/changefillword.html
  84. 130 0
      widget/html/wordorder/examineMy_win.html
  85. 108 0
      widget/html/wordorder/examine_frm.html
  86. 306 0
      widget/html/wordorder/myWord_frm0.html
  87. 254 0
      widget/html/wordorder/myWord_frm1.html
  88. 258 0
      widget/html/wordorder/myWord_frm2.html
  89. 251 0
      widget/html/wordorder/myWord_frm3.html
  90. 130 0
      widget/html/wordorder/myWordeOrder_win.html
  91. 97 0
      widget/html/wordorder/reject.html
  92. 257 0
      widget/html/wordorder/stayExamine_frm.html
  93. 172 0
      widget/html/wordorder/wordOrderProcess.html
  94. 293 0
      widget/html/wordorder/wordorderDetails.html
  95. 168 0
      widget/html/wordorder/wordorder_frm.html
  96. 150 0
      widget/html/wordorder/wordorder_win.html
  97. BIN
      widget/icon/a.png
  98. BIN
      widget/icon/d.png
  99. BIN
      widget/icon/g.png
  100. 0 0
      widget/icon/icon150x150.png

+ 82 - 0
widget/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
widget/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
widget/css/aui-iconfont.ttf


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2718 - 0
widget/css/aui.css


+ 411 - 0
widget/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: 9;
+}
+.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
widget/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
widget/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;
+}

+ 314 - 0
widget/css/style.css

@@ -0,0 +1,314 @@
+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: 15px;
+    color: #3d3c42;
+    font-size: 14px;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+}
+.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;
+}
+.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;
+}

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 15 - 0
widget/css/swiper.css


+ 167 - 0
widget/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"; }

+ 259 - 0
widget/html/Qrcode/11.html

@@ -0,0 +1,259 @@
+<!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;
+            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;
+        }
+        .file-list{
+            padding-left: 10px;
+        }
+        .file-list li{
+            padding: 10px 0;
+        }
+        .content_img{
+            text-indent: 30px;
+        }
+        .file-ico{
+            width: 45px;
+            height: 45px;
+            margin-right: 10px;
+            display: block;
+        }
+        .file-info span{
+            display: block;
+        }
+        .file-title{
+            font-size: 14px;
+            color: #333;
+            font-weight: bold;
+        }
+        .file-KB{
+            font-size: 12px;
+            color: #ccc;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <ul class="news_list" id="news_list">
+        <li class="colmun">
+            <div class="title relative">
+                <h3 class="title_text">二维码二维码二维码二维码二维码二维码二维码二维码二维码</h3>
+                <i class="status_text">未读</i>
+            </div>
+            <span class="date">2019-09-29</span>
+            <div class="content relative after-border">
+                <!--<p class="overflow_api">扫就哦啊手机吉大是激动啊手机哦你飒飒就哦啊是激动啊</p>-->
+                <p class="overflow_api">
+                    <img src="../../image/demo.png" alt="">
+                    <span class="content_img">扫就哦啊手机吉大是激动啊手机哦你飒飒就哦啊是激动啊</span>
+                </p>
+            </div>
+            <span class="seach_more">详情 > ></span>
+        </li>
+        <li class="colmun">
+            <div class="title relative">
+                <h3 class="title_text">二维码二维码二维码二维码二维码二维码二维码二维码二维码</h3>
+                <i class="status_text">未读</i>
+            </div>
+            <span class="date">2019-09-29</span>
+            <div class="content relative after-border">
+                <ul class="overflow_api file-list">
+                    <li class="flex-start relative after-border">
+                        <img src="../../image/demo.png" alt="" class="file-ico">
+                        <div class="file-info">
+                            <span class="file-title">6月01日智慧班前会</span>
+                            <span class="file-KB">19KB</span>
+                        </div>
+                    </li>
+                    <li class="flex-start relative after-border">
+                        <img src="../../image/demo.png" alt="" class="file-ico">
+                        <div class="file-info">
+                            <span class="file-title">6月01日智慧班前会</span>
+                            <span class="file-KB">19KB</span>
+                        </div>
+                    </li>
+                    <li class="flex-start relative after-border">
+                        <img src="../../image/demo.png" alt="" class="file-ico">
+                        <div class="file-info">
+                            <span class="file-title">6月01日智慧班前会</span>
+                            <span class="file-KB">19KB</span>
+                        </div>
+                    </li>
+                </ul>
+            </div>
+            <span class="seach_more">详情 > ></span>
+        </li>
+    </ul>
+</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}}')">查看详情</button>
+            <button class="btn bord" onclick="QRcodeDetaile('{{=value.pageId}},{{=value.id}},{{=value.departmentId}}')">查看详情</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) {
+        var pageidA = pageid.split(',');
+        $event.openWin('QrcodeDetaile','QrcodeDetaile',{pageId:pageidA[0],id:pageidA[1],departmentId:pageidA[2],flag:true},'');
+    }
+</script>

+ 224 - 0
widget/html/Qrcode/QRcode0.html

@@ -0,0 +1,224 @@
+<!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}}')">查看详情</button>
+          <button class="btn bord" onclick="QRcodeDetaile('{{=value.pageId}},{{=value.id}},{{=value.departmentId}}')">查看详情</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) {
+      var pageidA = pageid.split(',');
+      $event.openWin('QrcodeDetaile','QrcodeDetaile',{pageId:pageidA[0],id:pageidA[1],departmentId:pageidA[2],flag:true},'');
+    }
+</script>

+ 570 - 0
widget/html/Qrcode/QRcode1.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" 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}},{{=it[i].departmentId}},{{=it[i].id}}')">
+            <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) {
+      var idArray = recordId.split(',');
+      $event.openWin('recordDetaile','recordDetaile',{recordParentId:idArray[0],departmentIds:idArray[1],id:idArray[2]},'');
+    }
+    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>

+ 188 - 0
widget/html/Qrcode/QRcodeList.html

@@ -0,0 +1,188 @@
+<!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',
+            extra: {
+                key1: 'value1',
+                key2: 'value2'
+            }
+          });
+          api.sendEvent({
+            name: 'newsBroadcast',
+            extra: {
+                key1: 'value1',
+                key2: 'value2'
+            }
+          });
+          api.closeWin({
+            name:'QRcodeLisr'
+          });
+      });
+    }
+</script>

+ 110 - 0
widget/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>

+ 119 - 0
widget/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
widget/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>

+ 230 - 0
widget/html/forgetBind/bindPhone.html

@@ -0,0 +1,230 @@
+<!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">
+    var token;
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        api.setStatusBarStyle({
+            style: 'light',
+            color: 'rgba(0,159,232,0.5)'
+        });
+        var info = $api.getStorage('data');
+        token = JSON.parse(info).data.access_token;
+    }
+
+    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(token);
+      	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(token) {
+      var phone = $api.dom('.api_phone_bind');
+      var phoneValue = $api.val(phone);
+      api.ajax({
+          url: UrlRouter.vcodeApi,
+          method: 'post',
+          headers : {
+            "Authorization":"Bearer "+ token
+          },
+          data: {
+              values: {
+                mobile: phoneValue
+              }
+          }
+      },function(ret, err){
+          if (ret) {
+            if (ret.code === 3001) {
+              api.toast({
+                  msg: '电话号码错误',
+                  duration: 2000,
+                  location: 'top'
+              });
+            }else if (ret.code === 0) {
+              api.toast({
+                  msg: '发送成功',
+                  duration: 2000,
+                  location: 'top'
+              });
+            }
+          } else if (ret.code === 3002) {
+            api.toast({
+                msg: '发送失败',
+                duration: 2000,
+                location: 'top'
+            })
+         }else {
+            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 !=''){
+            toast.loading({
+                title: "加载中",
+                duration: 2000
+            });
+            api.ajax({
+                url: UrlRouter.setApi,
+                method: 'post',
+                headers : {
+                  "Authorization":"Bearer "+ token
+                },
+                data: {
+                    values: {
+                      mobile: phone,
+                      vcode: vcode
+                    }
+                }
+            },
+            function(ret, err){
+                if (ret) {
+                  if (ret.code === 0) {
+                    api.toast({
+                        msg: '绑定成功',
+                        duration: 2000,
+                        location: 'top'
+                    });
+                    api.sendEvent({
+                      name: 'myEvent',
+                      extra: {
+                          key1: 'value1',
+                          key2: 'value2'
+                      }
+                    });
+                    toast.hide();
+                    api.closeWin();
+                  }else if (ret.code === 4002) {
+                    api.toast({
+                        msg: '验证码超时或者错误',
+                        duration: 2000,
+                        location: 'top'
+                    });
+                    toast.hide();
+                  }else if (ret.code === 4001) {
+                    api.toast({
+                        msg: '缺少必要参数',
+                        duration: 2000,
+                        location: 'top'
+                    });
+                  }
+                  toast.hide();
+                } else {
+                  api.toast({
+                      msg: '网络超时',
+                      duration: 2000,
+                      location: 'top'
+                  });
+                }
+                toast.hide();push
+            });
+          }else {
+            api.toast({
+                msg: '手机号或验证码不能为空',
+                duration: 2000,
+                location: 'top'
+            });
+          }
+    }
+</script>

+ 230 - 0
widget/html/forgetBind/forgetPass.html

@@ -0,0 +1,230 @@
+<!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 token,uuid;
+    var toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var info = $api.getStorage('data');
+        token = JSON.parse(info).data.access_token;
+        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(token);
+      	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(token) {
+      var phone = $api.dom('.api_phone_bind');
+      var phoneValue = $api.val(phone);
+      api.ajax({
+          url: UrlRouter.vcodeApi,
+          method: 'post',
+          headers : {
+            "Authorization":"Bearer "+ token
+          },
+          data: {
+              values: {
+                mobile: phoneValue
+              }
+          }
+      },function(ret, err){
+        if (ret) {
+            if (ret.code === 3001) {
+              api.toast({
+                  msg: '电话号码错误',
+                  duration: 2000,
+                  location: 'top'
+              });
+            }else if (ret.code === 0) {
+              api.toast({
+                  msg: '发送成功',
+                  duration: 2000,
+                  location: 'top'
+              });
+            }else if (ret.code === 3002) {
+              api.toast({
+                  msg: '发送失败',
+                  duration: 2000,
+                  location: 'top'
+              });
+            }
+          } else {
+            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 phone = $api.dom('.api_phone_bind').value,
+          vcode = $api.dom('.api_vali').value,
+          api_new_pass = $api.dom('.api_new_pass').value;
+      if (phone != '' && vcode != '' && api_new_pass != '' && passVerification()) {
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        api.ajax({
+            url: UrlRouter.repasswordApi,
+            method: 'post',
+            headers : {
+              "Authorization": "Bearer " + token
+            },
+            data: {
+                values: {
+                  mobile:phone,
+                  vcode:vcode,
+                  password:api_new_pass
+                }
+            }
+        },
+        function(ret, err){
+            if (ret) {
+              toast.hide();
+              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'
+                });
+              }
+            } else {
+              toast.hide();
+              api.toast({
+                  msg: '网络错误',
+                  duration: 2000,
+                  location: 'top'
+              });
+            }
+        });
+      }else {
+        api.toast({
+            msg: '手机号,验证码,密码不能为空',
+            duration: 2000,
+            location: 'top'
+        })
+      }
+    }
+</script>

+ 43 - 0
widget/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
widget/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
widget/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
widget/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
widget/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
widget/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>

+ 341 - 0
widget/html/news/news_frm.html

@@ -0,0 +1,341 @@
+<!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">详情 > ></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">详情 > ></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;
+        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','网络错误,请链接网络!');
+        }
+      })
+    }
+</script>

+ 301 - 0
widget/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
widget/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
widget/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>

+ 428 - 0
widget/html/page/frame0.html

@@ -0,0 +1,428 @@
+<!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">
+            <h1 class="api_title">
+                新闻动态
+                <i class="icon News_icon"></i>
+                <span class="api_more" onclick="openNewsList('')">更多</span>
+            </h1>
+            <ul class="api_newsList" id="api_newsList"></ul>
+        </div>
+        <div class="api_line"></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>
+    </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">
+    {{~it:value}}
+    <li onclick="openURl('{{=value.detail_url}}','{{=value.title}}')">
+        <img src="{{=value.main_img}}" alt="">
+        <p>{{=value.title}}</p>
+    </li>
+    {{~}}
+</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/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(),isFlat = true;
+    $apis.swiper('.swiper-container',true,'fraction');
+    apiready = function () {
+        api.closeFrame({
+            name: 'frame3'
+        });
+        //token
+        var info = $api.getStorage('data'),
+            token = JSON.parse(info).data.access_token;
+        var headers = {
+            "Authorization": "Bearer " + token
+        };
+        // 监听app从后台返回前台刷新
+        api.addEventListener({
+            name:'resume'
+        }, function(ret, err){
+            $http.fnReuestDataNologing(UrlRouter.bannerApi,headers,'get','',bannerData);
+            $http.fnReuestDataNologing(UrlRouter.nwesApi,headers,'get','',nwesData);
+            $http.fnReuestDataNologing(UrlRouter.NoticeApi,headers,'get','',NoticeData);
+            $http.fnReuestDataNologing(UrlRouter.ImgApi,headers,'get','',ImgNavData);
+            $http.fnReuestDataNologing(UrlRouter.DistrictteamApi,headers,'get','',DistrictteamData);
+        });
+        // 每次打开app刷新一次
+        if(isFlat){
+            $http.fnReuestDataNologing(UrlRouter.bannerApi,headers,'get','',bannerData);
+            $http.fnReuestDataNologing(UrlRouter.nwesApi,headers,'get','',nwesData);
+            $http.fnReuestDataNologing(UrlRouter.NoticeApi,headers,'get','',NoticeData);
+            $http.fnReuestDataNologing(UrlRouter.ImgApi,headers,'get','',ImgNavData);
+            $http.fnReuestDataNologing(UrlRouter.DistrictteamApi,headers,'get','',DistrictteamData);
+            isFlat =false;
+        }
+        // banner
+        bannerCache(headers);
+        // 公告
+        NoticeDataCache(headers);
+        //news
+        newsDataCache(headers);
+        //图片nav
+        ImgNavDataCache(headers);
+        //区队
+        DistrictteamDataCache(headers);
+        // 下拉刷新
+        setCustomRefreshHeader(headers);
+    };
+    // 下拉刷新
+    function setCustomRefreshHeader(headers) {
+        api.setRefreshHeaderInfo({
+            bgColor: '#f2f2f2',
+            textColor: '#000',
+            textDown: '下拉刷新...',
+            textUp: '松开刷新...'
+        }, function(ret, err) {
+            $http.fnReuestDataNologing(UrlRouter.bannerApi,headers,'get','',bannerData);
+            $http.fnReuestDataNologing(UrlRouter.nwesApi,headers,'get','',nwesData);
+            $http.fnReuestDataNologing(UrlRouter.NoticeApi,headers,'get','',NoticeData);
+            $http.fnReuestDataNologing(UrlRouter.ImgApi,headers,'get','',ImgNavData);
+            $http.fnReuestDataNologing(UrlRouter.DistrictteamApi,headers,'get','',DistrictteamData);
+        });
+    }
+    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 {
+        $event.openWin('openURlId','openUrl',{url:urls,title:titles},'');
+      }
+    }
+    // banner
+    function bannerCache(headers) {
+        $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{
+                $http.fnReuestDataNologing(UrlRouter.bannerApi,headers,'get','',bannerData);
+            }
+        });
+    }
+    function bannerData(ret,err) {
+        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'
+                    });
+                }
+            });
+        }
+    }
+    // 新闻
+    function newsDataCache(headers) {
+        $apis.readFile($apis.CACHE_DIR('news'),function (ret,err) {
+            if( ret.status ){
+                $apis.html(api_newsList,'#templateNews',JSON.parse(ret.data));
+            }else{
+                $http.fnReuestDataNologing(UrlRouter.nwesApi,headers,'get','',nwesData);
+            }
+        })
+    }
+    function nwesData(ret,err) {
+        if (ret.code === 0) {
+            api.refreshHeaderLoadDone();
+            $apis.html(api_newsList,'#templateNews',ret.data.data);
+            $apis.writeFile($apis.CACHE_DIR('news'),ret.data.data);
+        }
+    }
+    //公告
+    function NoticeDataCache(headers) {
+        $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{
+                $http.fnReuestDataNologing(UrlRouter.NoticeApi,headers,'get','',NoticeData);
+            }
+        })
+    }
+    function NoticeData(ret,err) {
+        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)
+            }
+        }
+    }
+    textRoll(200);
+    // 图片导航
+    function ImgNavDataCache(headers) {
+        $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 {
+                $http.fnReuestDataNologing(UrlRouter.ImgApi,headers,'get','',ImgNavData);
+            }
+        })
+    }
+    function ImgNavData(ret,err) {
+        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);
+        }
+    }
+    // 区队
+    function DistrictteamDataCache(headers) {
+        $apis.readFile($apis.CACHE_DIR('District'),function (ret,err) {
+            if (ret.status) {
+                $apis.html(DistrictTeam,'#templateDistrict',JSON.parse(ret.data));
+                flexWidth();
+            }else {
+                $http.fnReuestDataNologing(UrlRouter.DistrictteamApi,headers,'get','',DistrictteamData);
+            }
+        })
+    }
+    function DistrictteamData(ret,err) {
+        if (ret.code === 0) {
+            api.refreshHeaderLoadDone();
+            $apis.html(DistrictTeam,'#templateDistrict',ret.data);
+            $apis.writeFile($apis.CACHE_DIR('District'),ret.data);
+            flexWidth();
+        }
+    }
+    // 文字无缝滚动
+    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>

+ 152 - 0
widget/html/page/frame1.html

@@ -0,0 +1,152 @@
+<!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;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <div class="api_news_items api_news_public">
+        <p class="api_title_text">公共:</p>
+        <ul class="api_news_item" id="pulicList">
+
+        </ul>
+    </div>
+    <div class="api_news_items api_news_office">
+        <p class="api_title_text">机关部室:</p>
+        <ul class="api_news_item" id="depList">
+
+        </ul>
+    </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/template" id="templateDep">
+    {{~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,jobNum = "";
+    var toast = new auiToast();
+    apiready = function () {
+        var info = $api.getStorage('data');
+            jobNum = JSON.parse(info).data.user.staff_num;
+        $http.fnReuestData(UrlRouter.findMessageApi+jobNum,'','get','',newsDatas);
+        setCustomRefreshHeader(jobNum);
+        api.addEventListener({
+            name: 'myEvent'
+        }, function(ret, err) {
+            $http.fnReuestData(UrlRouter.findMessageApi+jobNum,'','get','',newsDatas);
+        });
+    }
+    function setCustomRefreshHeader(jobNum) {
+        api.setRefreshHeaderInfo({
+            bgColor: '#f2f2f2',
+            textColor: '#000',
+            textDown: '下拉刷新...',
+            textUp: '松开刷新...'
+        }, function(ret, err) {
+            $http.fnReuestData(UrlRouter.findMessageApi+jobNum,'','get','',newsDatas);
+            api.sendEvent({
+                name: 'newsBroadcast'
+            });
+        });
+    }
+    function newsDatas(ret,err){
+        if (ret) {
+          if (ret.code === '200') {
+              getChangMessageList();//已读二维码和记录
+              $apis.html(pulicList,'#templatePublic',ret.data);
+              $apis.html(depList,'#templateDep',ret.data);
+              api.refreshHeaderLoadDone();
+              $event.removeTips('tips');
+              toast.hide();
+          }else {
+              toast.hide();
+              api.toast({
+                  msg: '获取信息失败',
+                  duration: 2000,
+                  location: 'top'
+              });
+          }
+        } else {
+            toast.hide();
+            $event.tips('body','加载失败,请假差网络!');
+        }
+    }
+    // 详情
+    function openQRcodeInfo(id,Flag) {
+        $event.openWin('QRcodeLisr','../Qrcode/QRcodeList',{depID:id,messageFlag:Flag},'');
+    }
+
+    // 已读消息 二维码
+    function getChangMessageList() {
+      $http.fnReuestData(UrlRouter.getChangMessageList+jobNum,'','get','');
+    }
+</script>

+ 293 - 0
widget/html/page/frame2.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>

+ 876 - 0
widget/html/page/frame3.html

@@ -0,0 +1,876 @@
+
+<!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" href="../../css/apiToast.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;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <!-- 公告 -->
+    <div class="Notice1 borderRa">
+        <p class="Stitle">公告:</p>
+        <p class="Scontent Stitle"></p>
+    </div>
+    <!-- 导航 -->
+    <div class="navs Notice borderRa">
+        <ul class="navs_item flex-space">
+            <li onclick="videoMonitor()">
+                <div class="icon_p">
+                    <i class="icon"></i>
+                </div>
+                <span>视频监控</span>
+            </li>
+            <li onclick="personalLocationJu()">
+                <div class="icon_p">
+                    <i class="icon"></i>
+                </div>
+                <span>人员定位</span>
+            </li>
+            <li onclick="securityMonitor()">
+                <div class="icon_p">
+                    <i class="icon"></i>
+                </div>
+                <span>安全监测</span>
+            </li>
+            <li onclick="effectControl()">
+                <div class="icon_p">
+                    <i class="icon"></i>
+                </div>
+                <span>生产统计</span>
+            </li>
+        </ul>
+    </div>
+    <!-- 报警 -->
+    <div class="Notice navs borderRa police beforS hide">
+      <p class="Stitle centertT" style="padding-bottom:5px">安全监测报警</p>
+      <ul class="navs_item flex-space">
+          <li>
+              <span>二级报警</span>
+              <div class="circular alarmNum1" onclick="securityMonitor()">0个</div>
+          </li>
+          <li>
+              <span>三级报警</span>
+              <div class="circular alarmNum2" onclick="securityMonitor()">0个</div>
+          </li>
+          <li>
+              <span>四级报警</span>
+              <div class="circular alarmNum3" onclick="securityMonitor()">0个</div>
+          </li>
+      </ul>
+    </div>
+    <!-- 瓦斯报警异常 -->
+    <div class="Notice borderRa beforS hide">
+        <p class="Stitle centertT">瓦斯异常情况</p>
+        <ul class="items flex-space centertT">
+            <li class="item" onclick="securityMonitor()">
+                <span>报警</span>
+                <p class="num Gasalarm">0个</p>
+                <i class="imgIco"></i>
+            </li>
+            <li class="item" onclick="securityMonitor()">
+                <span>断电</span>
+                <p class="num duanDian">0个</p>
+                <i class="imgIco"></i>
+            </li>
+            <li class="item" onclick="securityMonitor()">
+                <span>故障</span>
+                <p class="num guZhang">0个</p>
+                <i class="imgIco"></i>
+            </li>
+        </ul>
+    </div>
+    <!-- 产量  进尺 -->
+    <div class="Notice borderRa beforS hide">
+        <p class="Stitle centertT">产量  进尺</p>
+        <div class="Chart flex-space">
+            <div style="width:50%" class="canvasParent centertT">
+              <canvas id="yield" style="width: 100%;height:140px"></canvas>
+              <span class="canvasTitle">今日产量</span>
+            </div>
+
+            <div class="centertT" style="width:50%">
+              <canvas id="Footage" style="width: 100%;height:140px"></canvas>
+              <span class="canvasTitle">今日掘进进尺</span>
+            </div>
+        </div>
+    </div>
+    <!-- 皮带秤 产量 -->
+    <div class="Notice borderRa beforS hide">
+      <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 beforS hide">
+        <p class="Stitle centertT">销量 能耗</p>
+        <div class="Chart flex-space">
+            <div style="width:50%" class="canvasParent centertT">
+              <canvas id="sales" style="width: 100%;height:140px"></canvas>
+              <span class="canvasTitle">销量</span>
+            </div>
+
+            <div class="centertT" style="width:50%">
+              <canvas id="energy" style="width: 100%;height:140px"></canvas>
+              <span class="canvasTitle">能耗</span>
+            </div>
+        </div>
+    </div>
+    <!-- 隐患整治 三违 -->
+    <div class="Notice borderRa beforS hide">
+        <p class="Stitle centertT">隐患整治 三违</p>
+        <div class="Chart flex-space">
+            <div style="width:50%" class="canvasParent centertT">
+              <canvas id="danger" style="width: 100%;height:140px"></canvas>
+              <span class="canvasTitle">隐患整治</span>
+            </div>
+
+            <div class="centertT" style="width:50%">
+              <canvas id="violation" style="width: 100%;height:140px"></canvas>
+              <span class="canvasTitle">三违</span>
+            </div>
+        </div>
+    </div>
+    <!-- 一周产量 -->
+    <div class="Notice borderRa hide">
+        <!--<p class="Stitle flex-space">-->
+          <!--<span> 一周产量趋势</span>-->
+          <!--&lt;!&ndash; <span style="font-size:14px" class="currentNum">当前下井人数:</span> &ndash;&gt;-->
+        <!--</p>-->
+        <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>
+    </div>
+    <!-- 一周下井趋势 -->
+    <div class="Notice borderRa hide afterS">
+        <p class="Stitle flex-space">
+          <span> 一周下井趋势</span>
+          <span style="font-size:14px" class="currentNum"></span>
+        </p>
+        <div class="Chart">
+            <div class="" style="width:100%">
+              <canvas id="downWell" style="width: 100%;margin-top:10px;height:210px"></canvas>
+            </div>
+        </div>
+        <p class="centertT seachDetatle" onclick="personalLocationJu()">查看详情</p>
+    </div>
+</div>
+<script src="../../script/api.js"></script>
+<script src="../../script/popoPicker.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;
+        headers = {
+            "Authorization": "Bearer " + token
+        };
+        openSharebox();//选择器
+        //公告
+        noticeFun();
+        // 图表权限
+        chartsJurisdiction();
+        // 监听切换tab标签,刷新页面
+        api.addEventListener({
+            name: 'refreshProduction'
+        }, function(ret, err) {
+            //公告
+            noticeFun();
+            // 图表权限
+            chartsJurisdiction();
+        });
+    };
+    // 下拉刷新
+    function setCustomRefreshHeader() {
+        api.setRefreshHeaderInfo({
+            bgColor: '#f2f2f2',
+            textColor: '#000',
+            textDown: '下拉刷新...',
+            textUp: '松开刷新...'
+        }, function(ret, err) {
+          //公告
+          noticeFun();
+          // 图表权限
+          chartsJurisdiction();
+        });
+    }
+    // 打开视频
+    function videoMonitor() {
+        $http.fnReuestDataNoW(UrlRouter.regionApi,headers,'get','',regionFun)
+    }
+    function regionFun(ret,err) {
+      apiToast.hide();
+        if (ret.code === 0) {
+          var video = api.require('modulehikvision');
+          var param = {
+            name:'admin',
+            pwd:'admin123456+',
+            addr:'120.253.43.7:443'
+          }
+           video.start2HikVisionLogin(param);
+        }else if (ret.code === 1) {
+          api.alert({
+              title: '提示',
+              msg: '该用户没有此权限',
+          });
+        }
+    }
+    // 安全监测权限
+    function securityMonitor() {
+        // $event.openWin('securityMonitor','../productionData/securityMonitor','','');
+        $http.fnReuestDataNologing(UrlRouter.securityJurisdiction,headers,'post','',function (ret,err) {
+            if(ret.code === 0) {
+                $event.openWin('securityMonitor','../productionData/securityMonitor','','');
+            }else if (ret.code === 1) {
+                api.alert({
+                    title: '提示',
+                    msg: '该用户没有此权限',
+                });
+            }
+        })
+    }
+    // 人员定位权限
+    function personalLocationJu() {
+        $http.fnReuestDataNologing(UrlRouter.personalLocation,headers,'post','',function (ret,err) {
+            if(ret.code === 0) {
+               $event.openWin('persnoalLocation','../productionData/persnoalLocation','','');
+            }else if (ret.code === 1) {
+                api.alert({
+                    title: '提示',
+                    msg: '该用户没有此权限',
+                });
+            }
+        })
+    }
+    // 效能管控
+    function effectControl() {
+        $http.fnReuestDataNologing(UrlRouter.efficacyShow,headers,'post','',function (ret,err) {
+            if(ret.code === 0) {
+                $event.openWin('efficiencyWin','../productionData/efficiencyWin','','');
+            }else if (ret.code === 1) {
+                api.alert({
+                    title: '提示',
+                    msg: '该用户没有此权限',
+                });
+            }
+        })
+    }
+    // 生产图表权限
+    function chartsJurisdiction() {
+      $api.val($api.dom('#button-value'), '周产量趋势');
+      $api.addCls($api.dom('.selectTime1'), 'hide');
+      $api.addCls($api.dom('.selectTime'), 'hide');
+        $http.fnReuestDataNologing(UrlRouter.chartsJurisdiction,headers,'post','',function (ret,err) {
+            if (ret && ret.code === 0) {
+              // 今日产量
+              yieldFootage();footage();
+              //一周的产量
+              weekYield(false,210);
+              // 一周下井趋势
+              downWellFun();
+              // 报警
+              getAlarmData();
+              //瓦斯异常
+              getGas();
+              // 皮带称
+              getBeltData()
+              // 下拉刷新
+              setCustomRefreshHeader();
+              var Notice = $api.domAll('.Notice');
+              for (var i = 0; i < Notice.length; i++) {
+                $api.removeCls(Notice[i], 'hide');
+              }
+            }else if (ret && ret.code === 1) {
+              api.alert({
+                  title: '提示',
+                  msg: '该用户没有此权限',
+              });
+            }
+        })
+    }
+    // 产量  进尺
+    function yieldFootage() {
+        $http.fnReuestDataNologing(UrlRouter.getBanNowDayTotal,'','get','',function(ret,err){
+            if (ret && ret.status === 20000 && ret.data.length > 0) {
+              api.refreshHeaderLoadDone();
+              var data = [{
+                  x: '1',
+                  y: 75
+              }];
+              var chart = new F2.Chart({
+                  id: 'yield',
+                  pixelRatio: window.devicePixelRatio
+              });
+              chart.source(data, {
+                  y: {
+                      max: 100,
+                      min: 0
+                  }
+              });
+              chart.axis(false);
+              chart.tooltip(false);
+              chart.coord('polar', {
+                  transposed: true,
+                  innerRadius: 0.92,
+                  radius: 0.99,
+              });
+              chart.guide().arc({
+                  start: [0, 0],
+                  end: [1, 99.98],
+                  top: false,
+                  style: {
+                      lineWidth: 8,
+                      stroke: '#ccc'
+                  }
+              });
+              chart.guide().text({
+                  position: ['50%', '50%'],
+                  content: Math.floor(ret.data[0].DayTotal/1)+'吨',
+                  style: {
+                      fontSize: 16,
+                      fill: '#3d3c42'
+                  }
+              });
+              chart.interval().position('x*y').size(8).animate({
+                  appear: {
+                      duration: 1200,
+                      easing: 'cubicIn'
+                  }
+              }).color('#6C6F74');
+              chart.render();
+            }
+        });
+    }
+    function footage() {
+      $http.fnReuestDataNologing(UrlRouter.getSchedule,'','post','',function(ret,err){
+        if (ret.code === 0 && ret) {
+          // 进尺
+          var data = [{
+              x: '1',
+              y: ret.data['tunnel'].reality
+          }];
+          var chart = new F2.Chart({
+              id: 'Footage',
+              pixelRatio: window.devicePixelRatio
+          });
+          chart.source(data, {
+              y: {
+                  max: ret.data['tunnel'].plan,
+                  min: 0
+              }
+          });
+          chart.axis(false);
+          chart.tooltip(false);
+          chart.coord('polar', {
+              transposed: true,
+              innerRadius: 0.92,
+              radius: 0.99,
+          });
+          chart.guide().arc({
+              start: [0, 0],
+              end: [1, ret.data['tunnel'].plan - 0.1],
+              top: false,
+              style: {
+                  lineWidth: 8,
+                  stroke: '#ccc'
+              }
+          });
+          chart.guide().text({
+              position: ['50%', '50%'],
+              content: ret.data['tunnel'].today+'米',
+              style: {
+                  fontSize: 16,
+                  fill: '#3d3c42'
+              }
+          });
+          chart.interval().position('x*y').size(8).animate({
+              appear: {
+                  duration: 1200,
+                  easing: 'cubicIn'
+              }
+          }).color('#14D2B8');
+          chart.render();
+          // 销量
+          var data1 = [{
+              x: '1',
+              y: ret.data['sales'].reality
+          }];
+          var chartSales = new F2.Chart({
+              id: 'sales',
+              pixelRatio: window.devicePixelRatio
+          });
+          chartSales.source(data1, {
+              y: {
+                  max: ret.data['sales'].plan,
+                  min: 0
+              }
+          });
+          chartSales.axis(false);
+          chartSales.tooltip(false);
+          chartSales.coord('polar', {
+              transposed: true,
+              innerRadius: 0.92,
+              radius: 0.99,
+          });
+          chartSales.guide().arc({
+              start: [0, 0],
+              end: [1, ret.data['sales'].plan - 0.1],
+              top: false,
+              style: {
+                  lineWidth: 8,
+                  stroke: '#ccc'
+              }
+          });
+          chartSales.guide().text({
+              position: ['50%', '50%'],
+              content: ret.data['sales'].today+'吨',
+              style: {
+                  fontSize: 16,
+                  fill: '#3d3c42'
+              }
+          });
+          chartSales.interval().position('x*y').size(8).animate({
+              appear: {
+                  duration: 1200,
+                  easing: 'cubicIn'
+              }
+          }).color('#14D2B8');
+          chartSales.render();
+          // 能耗
+          var data2 = [{
+              x: '1',
+              y: ret.data['energy'].reality
+          }];
+          var chartEnergy = new F2.Chart({
+              id: 'energy',
+              pixelRatio: window.devicePixelRatio
+          });
+          chartEnergy.source(data2, {
+              y: {
+                  max: ret.data['energy'].plan,
+                  min: 0
+              }
+          });
+          chartEnergy.axis(false);
+          chartEnergy.tooltip(false);
+          chartEnergy.coord('polar', {
+              transposed: true,
+              innerRadius: 0.92,
+              radius: 0.99,
+          });
+          chartEnergy.guide().arc({
+              start: [0, 0],
+              end: [1, ret.data['energy'].plan - 0.1],
+              top: false,
+              style: {
+                  lineWidth: 8,
+                  stroke: '#ccc'
+              }
+          });
+          chartEnergy.guide().text({
+              position: ['50%', '50%'],
+              content: ret.data['energy'].today+'千瓦',
+              style: {
+                  fontSize: 16,
+                  fill: '#3d3c42'
+              }
+          });
+          chartEnergy.interval().position('x*y').size(8).animate({
+              appear: {
+                  duration: 1200,
+                  easing: 'cubicIn'
+              }
+          }).color('#FF8B8C');
+          chartEnergy.render();
+          // 隐患整治
+          var data3 = [{
+              x: '1',
+              y: ret.data['danger'].reality
+          }];
+          var chartDanger = new F2.Chart({
+              id: 'danger',
+              pixelRatio: window.devicePixelRatio
+          });
+          chartDanger.source(data3, {
+              y: {
+                  max: ret.data['danger'].plan,
+                  min: 0
+              }
+          });
+          chartDanger.axis(false);
+          chartDanger.tooltip(false);
+          chartDanger.coord('polar', {
+              transposed: true,
+              innerRadius: 0.92,
+              radius: 0.99,
+          });
+          chartDanger.guide().arc({
+              start: [0, 0],
+              end: [1, ret.data['danger'].plan - 0.1],
+              top: false,
+              style: {
+                  lineWidth: 8,
+                  stroke: '#ccc'
+              }
+          });
+          chartDanger.guide().text({
+              position: ['50%', '50%'],
+              content: ret.data['danger'].today+'个',
+              style: {
+                  fontSize: 16,
+                  fill: '#3d3c42'
+              }
+          });
+          chartDanger.interval().position('x*y').size(8).animate({
+              appear: {
+                  duration: 1200,
+                  easing: 'cubicIn'
+              }
+          }).color('#14D2B8');
+          chartDanger.render();
+          //三违
+          var data4 = [{
+              x: '1',
+              y: ret.data['violation'].reality
+          }];
+          var chartViolation = new F2.Chart({
+              id: 'violation',
+              pixelRatio: window.devicePixelRatio
+          });
+          chartViolation.source(data4, {
+              y: {
+                  max: ret.data['violation'].plan,
+                  min: 0
+              }
+          });
+          chartViolation.axis(false);
+          chartViolation.tooltip(false);
+          chartViolation.coord('polar', {
+              transposed: true,
+              innerRadius: 0.92,
+              radius: 0.99,
+          });
+          chartViolation.guide().arc({
+              start: [0, 0],
+              end: [1, ret.data['violation'].plan - 0.1],
+              top: false,
+              style: {
+                  lineWidth: 8,
+                  stroke: '#ccc'
+              }
+          });
+          chartViolation.guide().text({
+              position: ['50%', '50%'],
+              content: ret.data['violation'].today+'个',
+              style: {
+                  fontSize: 16,
+                  fill: '#3d3c42'
+              }
+          });
+          chartViolation.interval().position('x*y').size(8).animate({
+              appear: {
+                  duration: 1200,
+                  easing: 'cubicIn'
+              }
+          }).color('#FF8B8C');
+          chartViolation.render();
+        }
+      });
+    }
+    // 一周下井趋势
+    function downWellFun() {
+      $http.fnReuestDataNologing(UrlRouter.downWellTotal,'','post','',function(ret,err){
+        if (ret && ret.code === 0) {
+          api.refreshHeaderLoadDone();
+          var data = ret.data;
+          var chart = new F2.Chart({
+              id: 'downWell',
+              pixelRatio: window.devicePixelRatio
+            });
+            chart.source(data, {
+              'pepole_num': {
+                tickCount: 5
+              }
+          });
+          chart.tooltip({
+            custom: false, // 自定义 tooltip 内容框
+          });
+          chart.interval().position('dater*pepole_num').color('classes').adjust('stack');
+          chart.render();
+        }
+      });
+      //  当前人数
+      $http.fnReuestDataNologing(UrlRouter.currentPersonalNum,'','post','',function(ret,err){
+        if (ret && ret.code === 0 && ret.data.length > 0) {
+            $api.html($api.dom('.currentNum'), '当前下井人数:'+ret.data[0].pepole_num +'人');
+        }
+      });
+    }
+   //一周的产量
+   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) {
+           api.refreshHeaderLoadDone();
+           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) {
+           api.refreshHeaderLoadDone();
+           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 noticeFun() {
+    $http.fnReuestDataNologing(UrlRouter.getBulletin,'','post','',function (ret,err) {
+      if (ret && ret.code === 0) {
+           api.refreshHeaderLoadDone();
+           $api.html($api.dom('.Scontent'), ret.data.content ==""?'暂无公告':ret.data.content);
+      }
+    })
+  }
+  // 报警
+  function getAlarmData() {
+      $http.fnReuestDataNologing(UrlRouter.getAlarmData,'','post','',function (ret,err) {
+        if (ret && ret.code === 0) {
+          $api.html($api.dom('.alarmNum1'), ret.data.level2 +'个');
+          $api.html($api.dom('.alarmNum2'), ret.data.level3 +'个');
+          $api.html($api.dom('.alarmNum3'), ret.data.level4 +'个');
+        }
+      })
+  }
+  // 瓦斯异常情况
+  function getGas() {
+      $http.fnReuestDataNologing(UrlRouter.getGasData,'','post','',function (ret,err) {
+        if (ret && ret.code === 0) {
+          $api.html($api.dom('.Gasalarm'), ret.data[0].count +'个');
+          $api.html($api.dom('.duanDian'), ret.data[1].count +'个');
+          $api.html($api.dom('.guZhang'), ret.data[2].count +'个');
+        }
+      });
+  }
+    // 选择时间
+  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));
+      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 popoDateTime('.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)
+          }
+      });
+  }
+  // 皮带称数据
+  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();
+          }
+      })
+  }
+</script>
+</body>
+</html>

+ 380 - 0
widget/html/page/frame4.html

@@ -0,0 +1,380 @@
+<!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 media="screen">
+      .news_num{
+          width: 20px;
+          height: 20px;
+          line-height: 20px;
+          background-color: #e74e42;
+          color: #fff;
+          position: absolute;
+          top: 18px;
+          left: 68px;
+          text-align: center;
+          -webkit-border-radius: 50%;
+          border-radius: 50%;
+          font-size: 11px;
+          font-style: normal;
+          z-index: 1;
+      }
+      .api-toast{
+      	background: rgba(255,255,255,0);
+      }
+      .api_personal_header .api_header_img{
+          width: 100px;
+          height: 100px;
+          border-radius: 50%;
+          margin: auto;
+          background: none;
+      }
+    </style>
+</head>
+<body style="background-color:#fff;">
+<div class="api_layout">
+    <div class="api_personal_header">
+        <img src="" alt="" class="api_header_img" id="head_img" onclick="actionSheetFun()">
+        <!-- <span class="api_header_img"  onclick="actionSheetFun()"></span> -->
+        <p class="api_personal_name"></p>
+        <p class="api_dep"></p>
+        <button class="api_personal_more" onclick="openPersonal()">更多资料</button>
+    </div>
+    <div class="api_phoneBind_wrap">
+        <div class="api_line" style="margin:0;"></div>
+        <div class="api_phoneBind" onclick="openBind()">
+            <img src="../../image/phoneBind.png" alt="">
+            未绑定手机号,请立即绑定手机号。
+        </div>
+        <div class="api_line" style="margin:0;"></div>
+    </div>
+    <div class="api_function">
+        <section class="aui-grid">
+            <div class="aui-row">
+                <div class="aui-col-xs-4" onclick="openNewsList()">
+                    <i class="ico api_icon1"></i>
+                    <div class="aui-grid-label" style="font-size:14px">消息提醒</div>
+                    <i class="news_num" style="display:none"></i>
+                </div>
+                <div class="aui-col-xs-4">
+                    <i class="ico api_icon2"></i>
+                    <div class="aui-grid-label" style="font-size:14px">收藏</div>
+                </div>
+                <div class="aui-col-xs-4" onclick="openWordOrder()">
+                    <i class="ico api_icon3"></i>
+                    <div class="aui-grid-label" style="font-size:14px">工单列表</div>
+                </div>
+            </div>
+        </section>
+        <div class="api_line" style="margin:0;height:5px;"></div>
+    </div>
+    <div class="api_function2">
+        <ul class="api_function_items">
+            <li class="api_function_item" onclick="openForget()" style="height:60px;line-height:60px">
+                <img src="../../image/pass.png" alt="" class="api_pass_img">
+                修改密码
+                <img src="../../image/more.png" alt="" class="api_more_img">
+            </li>
+            <!-- <li class="api_function_item" onclick="clearCache()" style="height:60px;line-height:60px">
+                <img src="../../image/clear.png" alt="" class="api_pass_img">
+                清除缓存
+                <img src="../../image/more.png" alt="" class="api_more_img">
+            </li> -->
+            <!-- <li class="api_function_item" onclick="openExamine()" style="height:60px;line-height:60px">
+                <img src="../../image/pass.png" alt="" class="api_pass_img">
+                我的审核
+                <img src="../../image/more.png" alt="" class="api_more_img">
+            </li>
+            <li class="api_function_item" onclick="openExamineDetails()" style="height:60px;line-height:60px">
+                <img src="../../image/pass.png" alt="" class="api_pass_img">
+                我的审核
+                <img src="../../image/more.png" alt="" class="api_more_img">
+            </li>
+            <li class="api_function_item" onclick="openMyWordOder()" style="height:60px;line-height:60px">
+                <img src="../../image/pass.png" alt="" class="api_pass_img">
+                我的工单
+                <img src="../../image/more.png" alt="" class="api_more_img">
+            </li>
+            <li class="api_function_item" onclick="openMyWordOderList()" style="height:60px;line-height:60px">
+                <img src="../../image/pass.png" alt="" class="api_pass_img">
+                我的流程
+                <img src="../../image/more.png" alt="" class="api_more_img">
+            </li> -->
+            <li class="api_function_item" onclick="signOut()" style="height:60px;line-height:60px">
+                <img src="../../image/push.png" alt="" class="api_pass_img">
+                退出
+                <img src="../../image/more.png" alt="" class="api_more_img">
+            </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;
+    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('head_img'),
+                    name = $api.dom('.api_personal_name'),
+                    api_dep = $api.dom('.api_dep');
+                ret.name == null? $api.html(name,'无') : $api.html(name,ret.name);
+                ret.avatar == null? $api.attr(head_img,'src',image): $api.attr(head_img,'src',ret.avatar);
+                ret.section_fullname == null? $api.html(api_dep,'无') : $api.html(api_dep,ret.section_fullname);
+                if (ret.mobile == '' || ret.mobile == null) {
+                    $api.css(bindPhone,'display:block');
+                }else {
+                    $api.css(bindPhone,'display:none');
+                }
+            }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 openForget() {
+      $event.openTabLayout('forget','../forgetBind/forgetPass','修改密码','');
+    }
+    // 绑定手机号
+    function openBind() {
+      $event.openTabLayout('bindPhone','../forgetBind/bindPhone','绑定手机号','');
+    }
+    // 我的审核
+    // function openExamine() {
+    //   $event.openWin('examine','../wordorder/examineMy_win','','');
+    // }
+    // // 我的审核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');
+      $api.attr(upload_avater,'src',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
widget/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
widget/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
widget/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
widget/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
widget/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
widget/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
widget/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>

+ 101 - 0
widget/html/page/search_frame0.html

@@ -0,0 +1,101 @@
+<!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/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 seachQrcodeFun0(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) {
+            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('QrcodeDetaile','../Qrcode/QrcodeDetaile',{pageId:pageid,id:'',departmentId:'',flag:false,title:text},'');
+    }
+</script>

+ 113 - 0
widget/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
widget/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
widget/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
widget/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
widget/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
widget/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
widget/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="search" 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: 'search',
+          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 == "search") {
+                  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
widget/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>

+ 119 - 0
widget/html/personalData/personal.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="" 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);
+    }
+    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',
+        extra: {
+            key1: 'value1',
+            key2: 'value2'
+        }
+      });
+      api.closeWin();
+    }
+</script>

+ 369 - 0
widget/html/personalData/personal_frame0.html

@@ -0,0 +1,369 @@
+<!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">
+  var token;
+  var toast = new auiToast();
+  apiready = function () {
+      $api.fixStatusBar($api.dom('header'));
+      token = api.pageParam.data;
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      // 个人信息
+      $http.fnReuestData(UrlRouter.userInfoApi,headers,'post','',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){
+    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 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(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');
+              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);
+              toast.hide();
+           }else {
+            toast.hide();
+        }
+       }else {
+         toast.hide();
+         api.toast({
+             msg: '网络错误',
+             duration: 2000,
+             location: 'bottom'
+         });
+    }
+  }
+</script>

+ 90 - 0
widget/html/personalData/personal_frame1.html

@@ -0,0 +1,90 @@
+<!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">
+  var toast = new auiToast();
+  apiready = function () {
+      $api.fixStatusBar($api.dom('header'));
+      var token = api.pageParam.data;
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      // 个人信息
+      $http.fnReuestData(UrlRouter.userInfoApi,headers,'post','',educationInfo);
+  };
+  function educationInfo(ret,err) {
+    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);
+          toast.hide();
+      }else {
+          toast.hide();
+      }
+  }
+</script>

+ 90 - 0
widget/html/personalData/personal_frame2.html

@@ -0,0 +1,90 @@
+<!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">
+var toast = new auiToast();
+  apiready = function () {
+      $api.fixStatusBar($api.dom('header'));
+      var token = api.pageParam.data;
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      // 个人信息
+      $http.fnReuestData(UrlRouter.userInfoApi,headers,'post','',educationInfo1);
+  };
+  function educationInfo1(ret,err) {
+      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);
+          toast.hide();
+      }else {
+          toast.hide();
+      }
+  }
+</script>

+ 113 - 0
widget/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>

+ 541 - 0
widget/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.plan_value}}刀</span>
+        <span class="flex-con">{{=value.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 popoDateTime('.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 popoDateTime('.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
widget/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>

+ 232 - 0
widget/html/productionData/monitor0.html

@@ -0,0 +1,232 @@
+<!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">
+            <!-- <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: 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
widget/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
widget/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
widget/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
widget/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
widget/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
widget/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>

+ 189 - 0
widget/html/productionData/persnoalLocation.html

@@ -0,0 +1,189 @@
+<!DOCTYPE html>
+<html lang="en">
+<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 http-equiv="X-UA-Compatible" content="ie=edge">
+    <link rel="stylesheet" href="../../css/api.css">
+    <!--<link rel="stylesheet" href="../../css/aui.css">-->
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <title></title>
+    <style>
+        .aui-searchbar{
+            width: 86%;
+            height: 50px;
+            margin-left: 40px;
+            background-color: transparent;
+        }
+        .aui-searchbar .aui-searchbar-btn{
+            color: #fff;
+        }
+        #search-input::placeholder{
+            color: #fff;
+        }
+        .search_ico{
+            width: 16px;
+            height: 16px;
+            display: block;
+            position: absolute;
+            background: url("../../image/seacrh001.png") no-repeat;
+            background-size: cover;
+            top: 7px;
+            left: 17px;
+        }
+        .backBtn{
+            margin-left: 5px;
+        }
+        .aui-searchbar-btn{
+            font-size: 14px!important;
+        }
+        #search-input{
+          font-size: 14px;
+        }
+    </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" id="search-input" disabled>
+                    </form>
+                </div>
+            </div>
+        </header>
+    </div>
+    <script src="../../script/api.js"></script>
+    <!-- <script src="../../script/fastclick.min.js"></script> -->
+    <script src="../../script/config.js"></script>
+    <script>
+    var UIInputId;
+        apiready = function(){
+            $api.fixStatusBar( $api.dom('header'));
+            openFrameFun();
+            fnInitUIInput();
+            openSeachList();
+        };
+        function openFrameFun() {
+          api.openFrame({
+              name: 'personnelList',
+              url: 'personnelList.html',
+              rect: {
+                  x: 0,
+                  y: $api.dom('header').offsetHeight,
+                  w: 'auto',
+                  h: 'auto'
+              },
+              bounces: false,
+              bgColor: 'rgba(0,0,0,0)',
+              vScrollBarEnabled: true,
+              hScrollBarEnabled: false,
+              scrollEnabled:false,
+              progress:{
+                  type:'page'
+              },
+          });
+
+        };
+        function backIndex() {
+          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: 'rgba(255, 255, 255, 0)',
+                  size: 14,
+                  color: '#fff',
+                  placeholder: {
+                      color: '#fff'
+                  }
+              },
+              autoFocus: false,
+              maxRows: 1,
+              placeholder: '搜索井下人员',
+              keyboardType: 'search',
+              fixedOn: api.frameName
+          }, function(ret, err) {
+              if (ret) {
+                  var uiInputId = ret.id;
+                  if (ret.eventType == "search") {
+                      UIInput.value({
+                          id: uiInputId
+                      }, function(ret, err) {
+                          if (ret) {
+                            if (ret.status) {
+                              if (ret.msg == "") {
+                                var UIListSearch = api.require('UIListSearch');
+                                UIListSearch.hide();
+                              }else {
+                                selectPersonal(ret.msg);
+                                // functionName()
+                              }
+                            }
+                          }
+                      });
+                  }
+              }
+          });
+        }
+        // 查询
+        function openSeachList(){
+          var UIListSearch = api.require('UIListSearch');
+          UIListSearch.open({
+              rect: {
+                  x: 0,
+                  y: $api.dom('header').offsetHeight,
+                  w: api.winWidth,
+                  h: api.winHeigh
+              },
+              contacts:[],
+              fixedOn: api.frameName
+          }, function(ret, err) {
+              if (ret) {
+                  UIListSearch.hide();
+                  var UIInput = api.require('UIInput');
+                  UIInput.closeKeyboard({
+                      id:UIInputId
+                  });
+                  openDetails(ret.contact.people_id);
+              }
+           });
+           UIListSearch.hide();
+        };
+        // 查询
+        function selectPersonal(names) {
+           $http.fnReuestDataNologing(UrlRouter.searchPeople,'','post',{name:names},function (ret,err) {
+             if (ret.code === 0) {
+               functionName(JSON.stringify(ret.data))
+             }
+          })
+        }
+        // 数据更新
+        function functionName(arr) {
+          var UIListSearch = api.require('UIListSearch');
+            UIListSearch.show();
+            UIListSearch.reloadData({
+            contacts:JSON.parse(arr)
+            });
+        }
+        // 点击人员列表看详情
+        function openDetails(ids) {
+            $event.openPopup('auto','auto','personalInfo',{id: ids})
+        }
+    </script>
+</body>
+</html>

+ 112 - 0
widget/html/productionData/personalInfo.html

@@ -0,0 +1,112 @@
+<!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"/>
+    <link rel="stylesheet" href="../../css/projeck.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: 301px; height: 245px;
+            opacity: 0;
+            box-sizing: border-box;
+            -webkit-border-radius: 5px;
+            border-radius: 5px;
+        }
+        #dialog.in{
+            opacity: 1;
+        }
+
+        .close{
+            position: absolute;
+            top: 4px;
+            right: 9px;
+            width: 30px;
+            height: 30px;
+            background: url("../../image/close.png") no-repeat;
+            background-size: cover;
+            background-position: center;
+            border-radius: 50%;
+            z-index: 100;
+        }
+        .title_personnal{
+            height: 39px;
+            line-height: 39px;
+            font-size: 14px;
+            color: #232627;
+            position: relative;
+        }
+        .title_personnal:after{
+            content: "";
+            position: absolute;
+            bottom: 0;
+            left: 0;
+            width: 100%;
+            height: 1px;
+            background: #f3f3f3;
+        }
+          .title_personnal:last-child:after{
+            height: 0;
+          }
+        .itmes li{
+            padding: 0 13px;
+        }
+    </style>
+</head>
+<body>
+<div id="dialog">
+    <p class="title_personnal" style="padding: 0 13px">定位信息</p>
+    <ul class="itmes">
+      <li class="flex-space title_personnal">
+          <p>姓名:</p>
+          <p class="name"></p>
+      </li>
+      <li class="flex-space title_personnal">
+        <p>所属区队:</p>
+        <p class="dep"></p>
+      </li>
+        <li class="flex-space title_personnal">
+            <p>下井时间:</p>
+            <p class="time"></p>
+        </li>
+        <li class="flex-space title_personnal">
+            <p>当前位置:</p>
+            <p class="position"></p>
+        </li>
+        <li class="flex-space title_personnal">
+            <p>班次:</p>
+            <p class="Shifts"></p>
+        </li>
+    </ul>
+    <span class="close" 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(){
+        $http.fnReuestDataNologing(UrlRouter.peopleInfo,'','post',{people_id:api.pageParam.id},function (ret,err) {
+          if (ret && ret.code === 0) {
+            $api.html($api.dom('.name'), ret.data.name);
+            $api.html($api.dom('.dep'), ret.data.depart_name);
+            $api.html($api.dom('.time'), ret.data.down_time);
+            $api.html($api.dom('.position'), ret.data.station_name);
+            $api.html($api.dom('.Shifts'), ret.data.classes);
+          }
+        });
+    };
+
+</script>
+</html>

+ 102 - 0
widget/html/productionData/personnalDeFrm.html

@@ -0,0 +1,102 @@
+<!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">
+        <span class="flex-con">{{=value.name}}</span>
+        <span class="flex-con">{{=value.depart_name}}</span>
+        <span class="flex-con">{{=value.down_time}}</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 title = "";
+    var toast = new auiToast();
+    apiready = function () {
+        var id = api.pageParam.id;
+        monitorStatusFun(id);
+    }
+    // 全部数据详情
+    function monitorStatusFun(id) {
+        var data = {
+            station_id:id
+        }
+        toast.loading({
+            title: "加载中",
+            duration: 2000
+        });
+        $http.fnReuestDataNologing(UrlRouter.getPersonnalDe,'','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 {
+
+                }
+            }else {
+                api.toast({
+                    msg: '网络请求超时,请稍后重试',
+                    duration: 2000,
+                    location: 'bottom'
+                });
+            }
+        })
+    }
+</script>
+</body>
+</html>

+ 95 - 0
widget/html/productionData/personnalDeWin.html

@@ -0,0 +1,95 @@
+<!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;
+        }
+        .api_layout{
+          padding: 0;
+        }
+        .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>
+<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.id);
+    };
+    function openFrame(ids) {
+        api.openFrame({
+            name: 'personnalDeFrm',
+            url: 'personnalDeFrm.html',
+            rect: {
+                x: 0,
+                y: $api.dom('.api_layout').offsetHeight ,
+                w: 'auto',
+                h: 'auto'
+            },
+            pageParam: {
+                id:ids
+            },
+            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>

+ 948 - 0
widget/html/productionData/personnelList.html

@@ -0,0 +1,948 @@
+<!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/popoPicker.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: #F3F3F3;
+            overflow: hidden;
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+            position: relative;
+        }
+        .api_layout{
+          height: 100%;
+          overflow-y: scroll;
+          -webkit-overflow-scrolling: touch;
+        }
+        .contents{
+            padding: 7px;
+        }
+        .monitorList{
+            padding: 14px;
+        }
+        .monitorList li{
+            display: flex;
+            display: -webkit-flex;
+            justify-content: space-between;
+            -webkit-justify-content: space-between;
+            height: 56px;
+            line-height: 56px;
+            align-items: center;
+            color: #5a5a5a;
+            font-size: 14px;
+            position: relative;
+        }
+        .monitorList li:after{
+            content: '';
+            display: table;
+            position: absolute;
+            width: 100%;
+            height: 1px;
+            background: #e8e9ea;
+            bottom: 0;
+            left: 0;
+        }
+        .monitorList li img{
+            width: 42px;
+            height: 42px;
+            display: block;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            margin-right: 19px;
+        }
+        .right_side{
+            position: absolute;
+            top: 0;
+            right: -100%;
+            width: 100%;
+            height: 100%;
+            background: rgba(0,0,0,.6);
+            transition: .5ms;
+        }
+        .list{
+            position: absolute;
+            top: 0;
+            right: -75%;
+            width: 75%;
+            right:0;
+            height: 100%;
+            background: #fff;
+            transition: .3s;
+        }
+        .titles{
+            height: 38px;
+            line-height: 38px;
+            padding-left: 15px;
+            font-size: 15px;
+            color: #2c3e50;
+            position: relative;
+        }
+        .titles:after{
+            content: '';
+            display: table;
+            position: absolute;
+            bottom: 0;
+            left: 0;
+            width: 100%;
+            height: 1px;
+            background: #009fe8;
+        }
+        .titles i{
+            display: block;
+            width: 19px;
+            height: 19px;
+            line-height: 19px;
+            background: url("../../image/close.png") no-repeat;
+            background-size: cover;
+            text-align: center;
+            -webkit-box-sizing: border-box;
+            -moz-box-sizing: border-box;
+            box-sizing: border-box;
+            position: absolute;
+            top: 8px;
+            right: 10px;
+            color: #ced3d6;
+            font-size: 8px;
+        }
+        .api_lists{
+            padding: 0 14px;
+            height: 100%;
+            overflow-y: scroll;
+            padding-bottom: 38px;
+            -webkit-overflow-scrolling: touch;
+        }
+        .api_lists li{
+            display: flex;
+            display: -webkit-flex;
+            justify-content: space-between;
+            -webkit-justify-content:space-between;
+            height: 45px;
+            align-items: center;
+            position: relative;
+        }
+        .info p{
+          font-size: 15px;
+        }
+        .api_lists li:after{
+            content: '';
+            display: table;
+            position: absolute;
+            bottom: 0;
+            left: 0;
+            width: 100%;
+            height: 1px;
+            background: #e8e9ea;
+        }
+        .api_lists li p{
+            color: #2c3e50;
+            font-size: 13px;
+        }
+        .api_lists #contetnNo{
+          text-align: center;
+          font-size: 14px;
+          color: #bdc3c7;
+          height: 50px;
+          margin-top:20px;
+          /*justify-content: center;
+          -webkit-justify-content: center;*/
+          display: none;
+        }
+        .api_lists #contetnNo:after{
+          content: '';
+          display: table;
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          width: 100%;
+          height: 0;
+          background: #e8e9ea;
+        }
+        #noJurisdiction{
+            background: url('../../image/no.png') no-repeat;
+            background-size: contain;
+            position: absolute;
+            top: -50%;
+            left: 0;
+            bottom: 0;
+            right: 0;
+            margin: auto;
+            width: 125px;
+            height: 142px;
+            display: none;
+        }
+        .num{
+          color: #27AE60;
+          font-size: 14px;
+        }
+        .ico-more{
+            width: 13px;
+            height: 13px;
+            background: url("../../image/more.png") no-repeat;
+            background-size: cover;
+            background-position: center;
+            margin-left: 5px;
+        }
+        .loading{
+            position: absolute;
+            width: 100%;
+            height: 100%;
+            background: rgba(255,255,255,.3);
+            top: 0;
+            left: 0;
+        }
+        .Notice{
+            margin-bottom: 7px;
+        }
+        .ico-loading{
+            position: absolute;
+            top: 0;
+            left: 0;
+            bottom: 0;
+            right: 0;
+            margin: auto;
+            width: 35px;
+            height: 35px;
+            background: url("../../icon/loading.gif") no-repeat;
+            background-size: cover;
+            background-position: center;
+        }
+        .time-box{
+            position: absolute;
+            bottom: 7px;
+            right: 7px;
+            font-size: 16px;
+            color: #3B3B4D;
+            font-weight: bold;
+            line-height: initial;
+        }
+        .nav_title{
+            padding: 0 5px;
+            background: #F3F6FA;
+        }
+        .nav_title li{
+            text-align: center;
+            font-size: 14px;
+            padding: 9px 0 ;
+            color: #232627;
+        }
+        .nav_title li:nth-child(1),.nav_title li:nth-child(2){
+            width: 25%;
+        }
+        .nav_title li:nth-child(3){
+            width: 50%;
+            text-align: right;
+        }
+        .downWellPersonnal{
+            background: #fff;
+        }
+        .li-box{
+            height: 39px;
+            line-height: 39px;
+            font-size: 14px;
+            color: #232627;
+        }
+        .li-box span:nth-child(1),.li-box span:nth-child(2){
+            width: 25%;
+        }
+        .li-box span:nth-child(3){
+            width: 50%;
+            text-align: right;
+        }
+        .keyPostList{
+            margin-top: 30px;
+        }
+        .keyPostList p{
+            color: #3B4A74;
+            font-size: 14px;
+            width: 67px;
+            text-align: center;
+            margin-top: 10px;
+        }
+        .keyPostList span{
+            display: block;
+            width: 60px;
+            height: 60px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            line-height: 60px;
+            text-align: center;
+            color: #fff;
+            margin: auto;
+        }
+        .keyPostList li:nth-child(1) span:first-child{
+            background: #E74C3C;
+        }.keyPostList li:nth-child(2) span:first-child{
+            background: #2C3E50;
+        }.keyPostList li:nth-child(3) span:first-child{
+            background: #1ABC9C;
+        }.keyPostList li:nth-child(4) span:first-child{
+            background: #2873FF;
+        }
+        .depTitle{
+            margin-top: 20px;
+            color: #232627;
+            font-size: 16px;
+            margin-bottom: 10px;
+        }
+        #button-value{
+          width: 194px;
+          padding-left:24px;
+        }
+        .lower{
+          top: 13px;
+        }
+        .equipmentStatus{
+            margin-top: 30px;
+            text-align: center;
+        }
+        .hollowCircle{
+            display: block;
+            width: 60px;
+            height: 60px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            line-height: 55px;
+            text-align: center;
+            border: 4px solid #6C6F74;
+            margin-bottom: 10px;
+            color: #3B3B4D;
+            font-size: 14px;
+        }
+        .equipmentStatus li:nth-child(2) .hollowCircle{
+            border: 4px solid #14D2B8;
+        }
+        .equipmentStatus li:nth-child(3) .hollowCircle{
+            border: 4px solid #FF8B8C;
+        }
+        .circularR{
+            width: 85px;
+            height: 85px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            line-height: 78px;
+            text-align: center;
+            border: 4px solid #14D2B8;
+            margin: auto;
+            margin-bottom: 10px;
+            color: #3B3B4D;
+            font-size: 16px;
+        }
+        .Chart{
+            margin-top: 30px;
+        }
+        #equipmentStatusList{
+          padding: 0 15px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+  <!-- 图片展示 -->
+  <div class="banners relative">
+      <img src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/banner.png" alt="">
+      <!--时间-->
+     <div class="time-box"></div>
+  </div>
+  <div class="contents">
+    <!--当前井下人员-->
+   <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>
+       <!--列表-->
+       <nav>
+           <ul class="nav_title flex-start">
+               <li>姓名</li>
+               <li>下井时间</li>
+               <li>当前位置</li>
+           </ul>
+       </nav>
+       <ul class="downWellPersonnal" id="downWellPersonnal">
+
+       </ul>
+   </div>
+    <!--井下人员(区域分布)-->
+    <div class="Notice borderRa beforS">
+        <p class="Stitle centertT">井下人员(区域分布)</p>
+        <ul class="monitorList" id="monitorList">
+
+        </ul>
+    </div>
+    <!--人员告警信息-->
+    <div class="Notice borderRa beforS">
+        <p class="Stitle centertT">人员告警信息</p>
+        <div class="Chart flex-space">
+            <div style="width:50%" class="canvasParent centertT" onclick="giveAlarmDetails('giveAlarm','超时人数','姓名','部门','当前位置','下井时间',UrlRouter.getPersonnelTimeoutDetails,'')">
+                <div class="circularR sales">0人</div>
+                <span class="canvasTitle">超时人数</span>
+            </div>
+
+            <div class="centertT" style="width:50%" onclick="giveAlarmDetails('giveAlarm','求救人数','姓名','部门','当前位置','下井时间',UrlRouter.getPersonnelHelpDetails,'')">
+                <div class="circularR cryhelp" style="border: 4px solid #FF8B8C;">0人</div>
+                <span class="canvasTitle">求救人数</span>
+            </div>
+        </div>
+    </div>
+    <!--人员定位系统设备运行状态-->
+    <div class="Notice borderRa beforS">
+        <p class="Stitle centertT">人员定位系统设备运行状态</p>
+        <div class="equipmentStatus">
+            <ul class="flex-space" id="equipmentStatusList">
+
+            </ul>
+        </div>
+    </div>
+    <!--井下人员(部门分布)-->
+    <div class="Notice borderRa beforS">
+        <p class="Stitle centertT">井下人员(部门分布)</p>
+        <div style="width:100%" class="canvasParent centertT">
+            <p class="centertT depTitle" style="margin-top:30px">职能科室</p>
+            <canvas id="department" style="width: 100%;height:350px"></canvas>
+        </div>
+        <div class="centertT" style="width:100%">
+            <p class="centertT depTitle">基层区队</p>
+            <canvas id="districtTeam" style="width: 100%;height:350px;"></canvas>
+        </div>
+    </div>
+    <!--全矿周下井趋势-->
+    <div class="Notice borderRa beforS">
+        <p class="Stitle centertT">全矿周下井趋势</p>
+        <div class="Chart">
+            <div class="" style="width:100%">
+                <canvas id="moreDownWell" style="width: 100%;margin-top:10px;height:210px"></canvas>
+            </div>
+        </div>
+    </div>
+    <!--井下重点岗位人员分布-->
+    <div class="Notice borderRa beforS">
+        <p class="Stitle centertT">井下重点岗位人员分布</p>
+        <ul class="flex-space keyPostList" id="keyPostList">
+
+        </ul>
+    </div>
+    <!--当前各科室井下人数-->
+    <div class="Notice borderRa">
+        <div class="Chart" style="margin-top:0">
+            <div class="flex-start">
+                <div class="relative screen" style="margin:auto">
+                    <input id="button-value" class="js-picker" value="当前各科室下井人数">
+                    <i class="lower"></i>
+                </div>
+            </div>
+            <div class="" style="width:100%">
+              <canvas id="getDepartToday" style="width: 100%;"></canvas>
+            </div>
+        </div>
+    </div>
+   <div id="noJurisdiction"> </div>
+  </div>
+</div>
+<!--侧滑 遮罩层-->
+<div class="right_side" onclick="recoveryFun()"></div>
+<!--列表-->
+<div class="list">
+    <p class="titles">
+        <span></span>
+        <i onclick="recoveryFun()"></i>
+    </p>
+    <ul class="api_lists" id="api_lists">
+          <li id="contetnNo">-暂无内容-</li>
+    </ul>
+    <div class="loading">
+      <i class="ico-loading"></i>
+    </div>
+</div>
+
+
+<script type="text/template" id="template">
+  {{~it:value}}
+    <li onclick="seeMonitorList('{{=value.area_id}}','{{=value.area_name}}','')">
+      <div class="flex-start">
+        <img src="{{=value.thumb}}" alt="">
+        <span>{{=value.area_name}}</span>
+      </div>
+      <span class="num">{{=value.pepole_num}}人</span>
+    </li>
+  {{~}}
+</script>
+<script type="text/template" id="template01">
+  {{~it:value}}
+  <li onclick="personnelDeteila('{{=value.station_name}}','{{=value.station_id}}')">
+      <p>{{=value.station_name}}</p>
+      <div class="flex-start">
+          <p>{{=value.pepole_num}}人</p>
+          <i class="ico-more"></i>
+      </div>
+  </li>
+  {{~}}
+</script>
+<script type="text/template" id="downWellTemplate">
+  {{~it:value}}
+  <li class="flex-start li-box centertT relative after-border">
+      <span>{{=value.name}}</span>
+      <span>{{=value.down_time}}</span>
+      <span>{{=value.station_name}}</span>
+  </li>
+  {{~}}
+</script>
+<script type="text/template" id="keyPostListTemplate">
+  {{~it:value}}
+  <li onclick="giveAlarmDetails('Working','{{=value.name}}','姓名','部门','当前位置','下井时间',UrlRouter.getPersonnelWorkingDetails,'{{=value.name}}')">
+      <span>{{=value.pepole_num}}个</span>
+      <p style="width:{{=it.length<4?'100%':'67px'}}">{{=value.name}}</p>
+  </li>
+  {{~}}
+</script>
+<script type="text/template" id="facilityStatusTemplate">
+  {{~it:value:index}}
+    <li onclick="giveAlarmDetails('equipmentStatus','{{=value.name}}','分站','','状态时间','状态',UrlRouter.getPersonnelFacilityDetails,'{{=value.type}}')">
+        <span class="hollowCircle">{{=value.num}}台</span>
+        <p class="canvasTitle">{{=value.name}}</p>
+    </li>
+  {{~}}
+</script>
+<script src="../../script/api.js"></script>
+<script src="../../script/doT.min.js"></script>
+<script src="../../script/popoPicker.js"></script>
+<script src="../../script/f2.js"></script>
+<script src="../../script/config.js"></script>
+<script>
+  var toast = new auiToast(),headers;
+    apiready = function () {
+        var info = $api.getStorage('data'),
+            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
+           };
+            monitorListFun();
+            // 当前下井人数
+            downWell();
+            // 井下人员(部门分布)
+            getDepartment();
+            getDistrit();
+            // 工作面人数统计
+            getWorkingTotal();
+            // 全矿下井人数
+            downWellFun();
+            // 各个部门人数统计
+            getDepartToday('now');
+            clickGetDepartToday();
+            // 人员定位系统设备运行状态
+            equipmentStatus();
+            // 超时
+            giveAlarm();
+            // 求救
+            giveHelp();
+
+    };
+    function monitorListFun(names) {
+        $http.fnReuestDataNologing(UrlRouter.getPersonnalList,headers,'post','',regionFun)
+    }
+    function regionFun(ret,err) {
+        if (ret.code === 0) {
+          $apis.html(monitorList,'#template',ret.data);
+        }
+    }
+    function seeMonitorList(id,title,name) {
+        $api.removeCls($api.dom('.loading'), 'hide');
+        $api.html($api.dom('.titles>span'), title);
+        var list = document.querySelector('.list'),right_side = document.querySelector('.right_side');
+        list.style.right = '0';
+        right_side.style.right = '0';
+        var regionUuid ={
+            area_id:id,
+        };
+        $http.fnReuestDataNologing(UrlRouter.getPersonnalDistributionList,headers,'post',regionUuid,function (ret, err) {
+            if (ret.code === 0) {
+              if (ret.data.length>0) {
+                  $apis.html(api_lists,'#template01',ret.data);
+                  $api.addCls($api.dom('.loading'), 'hide');
+              }else {
+                  $api.addCls($api.dom('.loading'), 'hide');
+                  document.getElementById('contetnNo').style.display = 'block';
+              }
+
+            }
+        })
+    }
+    function recoveryFun() {
+        var list = document.querySelector('.list'),right_side = document.querySelector('.right_side');
+        list.style.right = '-75%';
+        right_side.style.right = '-100%';
+    }
+    // 人员详情
+    function personnelDeteila(name,ids) {
+      var pageParam = {
+        title:name,
+        id:ids
+      }
+      $event.openWin('personnalDeWin','personnalDeWin',pageParam,'');
+    };
+    // 当前下井人数
+    function downWell() {
+        $http.fnReuestDataNologing(UrlRouter.getPeopleNow,'','post','',function (ret,err) {
+          if (ret.code === 0) {
+            var data = ret.data.people_distribute;
+            $apis.html(downWellPersonnal,'#downWellTemplate',ret.data.people_list);
+            var map = {};
+            data.map(function(obj) {
+                map[obj.depart_name] = obj.pepole_num + '人';
+            });
+
+            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('const*pepole_num').color('depart_name', ['#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">'+ret.data.people_total+'人</div>' + '</div>'
+            });
+            chart.render();
+          }
+        })
+    }
+    // 井下人员(部门分布)
+    function getDepartment() {
+      // 职能科室
+      $http.fnReuestDataNologing(UrlRouter.getOfficeTotal,'','post','',function (ret,err) {
+        if (ret.code === 0) {
+          var data = ret.data;
+          var districtTeamChart = new F2.Chart({
+              id: 'department',
+              pixelRatio: window.devicePixelRatio
+          });
+
+          districtTeamChart.source(data);
+          districtTeamChart.coord('polar', {
+              transposed: true,
+              innerRadius: 0.6,
+              radius: 0.75
+          });
+          districtTeamChart.axis(false);
+          districtTeamChart.legend({
+              position: 'bottom',
+              align: 'center'
+          });
+          districtTeamChart.tooltip(false);
+          districtTeamChart.guide().html({
+              position: ['50%', '50%'],
+              html: '<div style="width: 100px;height: 20px;text-align: center;line-height: 20px;" id="textContent"></div>'
+          });
+          // 配置文本饼图
+          districtTeamChart.pieLabel({
+              sidePadding: 10,
+              anchorOffset:10,
+              activeShape: true,
+              label1: function label1(data) {
+                  return {
+                      text: data.depart_name,
+                      fill: '#808080'
+                  };
+              },
+              label2: function label2(data) {
+                  return {
+                      fill: '#000000',
+                      text: data.pepole_num +'人',
+                      fontWeight: 500,
+                      fontSize: 10
+                  };
+              },
+              onClick: function onClick(ev) {
+                var data = ev.data;
+                if (data) {
+                  $api.html($api.dom('.title'), data.depart_name);
+                  $api.html($api.dom('.personalNum'), data.pepole_num+'人');
+                  giveAlarmDetails('depart_id',data.depart_name,'姓名','部门','当前位置','下井时间',UrlRouter.getPersonneldepartDetails,data.depart_id)
+                }
+            }
+          });
+          districtTeamChart.interval().position('const*pepole_num').color('depart_name', ['#1890FF', '#13C2C2', '#2FC25B', '#FACC14', '#F04864', '#8543E0', '#3436C7', '#223273']).adjust('stack');
+          districtTeamChart.guide().html({
+              position: ['50%', '50%'],
+              html: '<div style="width: 250px;height: 40px;text-align: center;">' + '<div style="font-size: 17px" class="title">总人数</div>' + '<div style="font-size: 17px" class="personalNum">'+ret.people_total+'人</div>' + '</div>'
+          });
+          districtTeamChart.render();
+          districtTeamChart.get('canvas').draw();
+        }
+      })
+    }
+    // 基层区队
+    function getDistrit() {
+      $http.fnReuestDataNologing(UrlRouter.getBasicTotal,'','post','',function (ret,err) {
+      if (ret.code === 0) {
+        // 基层区队
+        var data = ret.data
+        var districtTeamChart = new F2.Chart({
+            id: 'districtTeam',
+            pixelRatio: window.devicePixelRatio
+        });
+
+        districtTeamChart.source(data);
+        districtTeamChart.coord('polar', {
+            transposed: true,
+            innerRadius: 0.6,
+            radius: 0.85
+        });
+        districtTeamChart.axis(false);
+        districtTeamChart.legend({
+            position: 'bottom',
+            align: 'center'
+        });
+        districtTeamChart.tooltip(false);
+        districtTeamChart.guide().html({
+            position: ['50%', '50%'],
+            html: '<div style="width: 100px;height: 20px;text-align: center;line-height: 20px;" id="textContent"></div>'
+        });
+        // 配置文本饼图
+        districtTeamChart.pieLabel({
+            sidePadding: 10,
+            activeShape: true,
+            label1: function label1(data) {
+                return {
+                    text: data.depart_name,
+                    fill: '#808080'
+                };
+            },
+            label2: function label2(data) {
+                return {
+                    fill: '#000000',
+                    text: data.pepole_num +'人',
+                    fontWeight: 500,
+                    fontSize: 10
+                };
+            },
+            onClick: function onClick(ev) {
+              var data = ev.data;
+              if (data) {
+                $api.html($api.dom('.title1'), data.depart_name);
+                $api.html($api.dom('.personalNum1'), data.pepole_num+'人');
+                giveAlarmDetails('depart_id',data.depart_name,'姓名','部门','当前位置','下井时间',UrlRouter.getPersonneldepartDetails,data.depart_id)
+              }
+          }
+        });
+        districtTeamChart.interval().position('const*pepole_num').color('depart_name', ['#1890FF', '#13C2C2', '#2FC25B', '#FACC14', '#F04864', '#8543E0', '#3436C7', '#223273']).adjust('stack');
+        districtTeamChart.guide().html({
+            position: ['50%', '50%'],
+            html: '<div style="width: 250px;height: 40px;text-align: center;">' + '<div style="font-size: 17px" class="title1">总人数</div>' + '<div style="font-size: 17px" class="personalNum1">'+ret.people_total+'人</div>'+'</div>'
+        });
+        districtTeamChart.render();
+        // 绘制内阴影
+        districtTeamChart.get('canvas').draw();
+      }
+    })
+   }
+  //  工作面数据
+   function getWorkingTotal() {
+       $http.fnReuestDataNologing(UrlRouter.getWorkingTotal,'','post','',function (ret,err) {
+         if (ret.code === 0) {
+            $apis.html(keyPostList,'#keyPostListTemplate',ret.data);
+         }
+       })
+   }
+   // 全矿一周周下井趋势
+   function downWellFun() {
+     $http.fnReuestDataNologing(UrlRouter.downWellTotal,'','post','',function(ret,err){
+       if (ret && ret.code === 0) {
+         api.refreshHeaderLoadDone();
+         var data = ret.data;
+         var chart = new F2.Chart({
+             id: 'moreDownWell',
+             pixelRatio: window.devicePixelRatio
+           });
+           chart.source(data, {
+             'pepole_num': {
+               tickCount: 5
+             }
+         });
+         chart.tooltip({
+           custom: false, // 自定义 tooltip 内容框
+         });
+         chart.interval().position('dater*pepole_num').color('classes').adjust('stack');
+         chart.render();
+       }
+     });
+     //  当前人数
+     $http.fnReuestDataNologing(UrlRouter.currentPersonalNum,'','post','',function(ret,err){
+       if (ret && ret.code === 0 && ret.data.length > 0) {
+           $api.html($api.dom('.currentNum'), '当前下井人数:'+ret.data[0].pepole_num +'人');
+       }
+     });
+   }
+  //  各个部门人数统计
+  var chart = ""
+  function getDepartToday(types) {
+     $http.fnReuestDataNologing(UrlRouter.getDepartToday,'','post',{type:types},function(ret,err){
+       if (ret.code === 0) {
+         var data = ret.data;
+         chart = new F2.Chart({
+           id: 'getDepartToday',
+           height:1500,
+           pixelRatio: window.devicePixelRatio
+         });
+         chart.source(data, {
+           pepole_num: {
+             tickCount: 5
+           }
+         });
+         chart.coord({
+           transposed: true
+         });
+         chart.axis('depart_name', {
+           line: null,
+           label: function label(text, index, total) {
+             var textCfg = {};
+             if (index === 0) {
+               textCfg.textAlign = 'end';
+             } else if (index === total - 1) {
+               textCfg.textAlign = 'end';
+             }
+             textCfg.fontSize = 12
+             return textCfg;
+           }
+         });
+          chart.tooltip(false);
+          data.map(function(obj) {
+            chart.guide().text({
+              position: [obj.depart_name, obj.pepole_num],
+              content: obj.pepole_num+'人',
+              style: {
+                textBaseline: 'bottom',
+                textAlign: 'center'
+              },
+              offsetY: 7,
+              offsetX:15
+            });
+          });
+         chart.interval().position('depart_name*pepole_num');
+         chart.render();
+         chart.interaction('interval-select', {
+          selectAxisStyle: {
+            fill: '#000',
+            fontWeight: 'bold'
+          },
+          startEvent:'tap',
+          mode: 'range',
+          onStart: function onEnd(ev) {
+            var data = ev.data,
+              selected = ev.selected;
+              if (data && data.pepole_num != 0) {
+                if (types === "now") {
+                  giveAlarmDetails('depart_id',data.depart_name,'姓名','部门','当前位置','下井时间',UrlRouter.getPersonneldepartDetails,data.depart_id)
+                }
+                if (types === "today") {
+                  giveAlarmDetails('today',data.depart_name,'姓名','部门','下井时间','上井时间',UrlRouter.getPersonneltodayDetails,data.depart_id)
+                }
+              }
+          }
+        });
+       }
+     })
+  }
+  // 点击切换各个部门人数统计
+  function clickGetDepartToday() {
+    new popoPicker('.js-picker',{
+        container:'.screen',
+        wheels: [{
+            infinite: false,
+            //selected: 3,
+            data:[
+                {value:'now',display:'当前各科室下井人数'},
+                {value:'today',display:'今日各科室下井人数'},
+            ]
+        }],
+        background:'light',
+        save:function (data) {
+          if (data.result[0].value === 'now') {
+           chart.destroy();
+            getDepartToday('now');
+          }else if (data.result[0].value === 'today') {
+           chart.destroy();
+            getDepartToday('today');
+          }
+        }
+      });
+  }
+  // 人员定位系统设备运行状态
+  function equipmentStatus() {
+    $http.fnReuestDataNologing(UrlRouter.getFacilityStatus,'','post','',function (ret,err) {
+      if (ret.code === 0) {
+          $apis.html(equipmentStatusList,'#facilityStatusTemplate',ret.data);
+      }
+    })
+  }
+  // 人员告警信息 超时
+  function giveAlarm() {
+      $http.fnReuestDataNologing(UrlRouter.getTimeout,'','post','',function (ret,err) {
+        if (ret.code === 0) {
+          $api.html($api.dom('.sales'), ret.data.timeout_num+'人');
+        }
+      })
+  }
+  // 人员告警信息 求救人数
+  function giveHelp() {
+      $http.fnReuestDataNologing(UrlRouter.getHelptotal,'','post','',function (ret,err) {
+        if (ret.code === 0) {
+          $api.html($api.dom('.cryhelp'), ret.data.pepole_num+'人');
+        }
+      })
+  }
+  // 详情
+  // 超时人数详情 // 求救人数详情 // 设备运行状态详情 // 井下重点岗位人员分布详情
+  function giveAlarmDetails(moduleType,title,name,dep,position,time,url,moduleParam) {
+    var params = {
+      moduleType:moduleType,
+      title:title,
+      name:name,
+      dep:dep,
+      position:position,
+      time:time,
+      url:url,
+      moduleParam:moduleParam
+    }
+    $event.openWin('personnelLocationDetails','personnelLocationDetails',params,'');
+  }
+</script>
+</body>
+</html>

+ 104 - 0
widget/html/productionData/personnelLocationDetails.html

@@ -0,0 +1,104 @@
+<!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 firstLi"></li>
+            <li class="flex-con onlyLi"></li>
+            <li class="flex-con onlyLi1"></li>
+            <li class="flex-con lastLi"></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') );
+      if (api.pageParam.moduleType === 'equipmentStatus') {
+        $api.addCls($api.dom('.onlyLi'), 'hide');
+      }
+      $api.html($api.dom('.api_text'), api.pageParam.title);
+      $api.html($api.dom('.firstLi'), api.pageParam.name);
+      $api.html($api.dom('.onlyLi'), api.pageParam.dep);
+      $api.html($api.dom('.onlyLi1'), api.pageParam.position);
+      $api.html($api.dom('.lastLi'), api.pageParam.time);
+      openFrame(api.pageParam.url,api.pageParam.moduleParam,api.pageParam.moduleType);
+    };
+    function openFrame(url,moduleParam,moduleType) {
+      api.openFrame({
+          name: 'personnelLocationDetailsFrm',
+          url: 'personnelLocationDetailsFrm.html',
+          rect: {
+              x: 0,
+              y: $api.dom('.api_layout').offsetHeight ,
+              w: 'auto',
+              h: 'auto'
+          },
+          pageParam: {
+            url:url,
+            moduleParam:moduleParam,
+            moduleType:moduleType
+          },
+          bounces: true,
+          bgColor: '#fff',
+          vScrollBarEnabled: true,
+          hScrollBarEnabled: true,
+          progress:{
+              type:'page'
+          }
+      });
+    }
+    function backIndex() {
+        api.closeWin();
+    }
+    // 监听物理返回键
+    function keybackFun() {
+      api.addEventListener({
+          name: 'keyback'
+        }, function(ret, err){
+          api.closeWin();
+      });
+    }
+</script>
+</body>
+</html>

+ 145 - 0
widget/html/productionData/personnelLocationDetailsFrm.html

@@ -0,0 +1,145 @@
+<!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.name}}</span>
+          <span class="flex-con">{{=value.depart_name}}</span>
+          <span class="flex-con">{{=value.station_name}}</span>
+          <span class="flex-con">{{=value.time}}</span>
+      </li>
+    {{~}}
+</script>
+<script type="text/template" id="facilityStatu">
+    {{~it:value}}
+      <li class="flex-wrap after-border relative {{=value.status}}">
+          <span class="flex-con">{{=value.station_name}}</span>
+          <span class="flex-con">{{=value.time}}</span>
+          <span class="flex-con">{{=value.type}}</span>
+      </li>
+    {{~}}
+</script>
+<script type="text/template" id="templateWorking">
+    {{~it:value}}
+      <li class="flex-wrap after-border relative {{=value.status}}">
+          <span class="flex-con">{{=value.name}}</span>
+          <span class="flex-con">{{=value.depart_name}}</span>
+          <span class="flex-con">{{=value.station_name}}</span>
+          <span class="flex-con">{{=value.down_time}}</span>
+      </li>
+    {{~}}
+</script>
+<script type="text/template" id="templateToday">
+    {{~it:value}}
+      <li class="flex-wrap after-border relative {{=value.status}}">
+          <span class="flex-con">{{=value.name}}</span>
+          <span class="flex-con">{{=value.depart_name}}</span>
+          <span class="flex-con">{{=value.time}}</span>
+          <span class="flex-con">{{=value.up_time}}</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.url,api.pageParam.moduleParam,api.pageParam.moduleType);
+  }
+  // 全部数据详情
+  function monitorStatusFun(url,moduleParam,moduleType) {
+    var data = ""
+    if (moduleType === 'equipmentStatus') {
+        data= {
+          type:moduleParam
+        }
+    }else if (moduleType === 'Working') {
+      data= {
+        work_name:moduleParam
+      }
+    }else if (moduleType === 'depart_id') {
+      data= {
+        depart_id:moduleParam
+      }
+    }else if (moduleType === 'today') {
+      data= {
+        depart_id:moduleParam
+      }
+    }
+    $http.fnReuestData(url,'','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 (moduleType === 'equipmentStatus') {
+          $apis.html(row_content,'#facilityStatu',ret.data);
+        } else if (moduleType === 'Working') {
+          $apis.html(row_content,'#templateWorking',ret.data);
+        }else if (moduleType === 'today') {
+            $apis.html(row_content,'#templateToday',ret.data);
+        }else {
+          $apis.html(row_content,'#templateStatu',ret.data);
+        }
+      }else {
+        api.toast({
+            msg: '网络请求超时,请稍后重试',
+            duration: 2000,
+            location: 'bottom'
+        });
+      }
+    })
+  }
+</script>
+</body>
+</html>

+ 172 - 0
widget/html/productionData/search.html

@@ -0,0 +1,172 @@
+<!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;
+        }
+        .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: #000;
+            font-size: 13px;
+        }
+        .search_ico{
+            width: 16px;
+            height: 16px;
+            display: block;
+            position: absolute;
+            background: url("../../image/seacrh001.png") no-repeat;
+            background-size: cover;
+            top: 7px;
+            left: 17px;
+        }
+        .backBtn{
+            margin-left: 5px;
+        }
+        #search-input{
+            font-size: 14px;
+        }
+        .aui-searchbar-input{
+            margin-right: 60px;
+        }
+        .search_btn{
+            position: absolute;
+            top: 10px;
+            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;
+        }
+        .row{
+            padding: 0 32px;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <header class="header-login">
+        <img class="backBtn" src="../../image/btn_back.png" alt="" tapmode onclick="backIndex()">
+        <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">搜索</span>
+        </div>
+    </header>
+    <nav>
+        <ul class="row">
+            <li>模拟量</li>
+            <li></li>
+        </ul>
+    </nav>
+</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);
+    }
+    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
+            },
+            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',
+            extra: {
+                key1: 'value1',
+                key2: 'value2'
+            }
+        });
+        api.closeWin();
+    }
+</script>

+ 144 - 0
widget/html/productionData/searchFrame.html

@@ -0,0 +1,144 @@
+<!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;
+        }
+        .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="content_items">
+       <ul class="content_item" id="content_item">
+
+       </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="relative after-border" onclick="statusFun('{{=value.typeCodeDesc}}','{{=value.typeCode}}','')">
+        <div class="status_title flex-space">
+            <span>{{=value.typeCodeDesc}}</span>
+        </div>
+        <div class="status_text flex-wrap">
+             <div class="col flex-con">
+                 <span>正常/开</span>
+                 <span>{{=value.value.normalCount}}个</span>
+             </div>
+            <div class="col flex-con">
+                <span>报警/停</span>
+                <span>{{=value.value.alarmCount}}个</span>
+            </div>
+            <div class="col flex-con">
+                <span>标校</span>
+                <span>{{=value.value.calibrateCount}}个</span>
+            </div>
+            <div class="col flex-con">
+                <span>故障</span>
+                <span>{{=value.value.exceptionCount}}个</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();
+    var isLoadding = true;
+		var skip = 1;
+    apiready = function () {
+      // 上啦加载
+      api.addEventListener({
+        name : 'scrolltobottom',
+        extra : {
+          threshold : 20 //设置距离底部多少距离时触发,默认值为0,数字类型
+        }
+      }, function(ret, err) {
+        if (!isLoadding) {
+          isLoadding = true;
+          searchData()
+        }
+      });
+    };
+   function searchData(userName) {
+      var data = {
+        name:userName,
+        type:'test',
+        pageNo:1,
+        pageSize:20
+      }
+     $http.fnReuestData(UrlRouter.getDeviceInfo,'','get',data,function (ret,err) {
+       toast.hide();
+       if (ret && ret.code == '200') {
+         if (ret.content!= "") {
+           $apis.html(content_item,'#templateMonitor',ret.content);
+           $api.addCls($api.dom('.noText'), 'hide')
+         }else {
+           $api.removeCls($api.dom('.noText'), 'hide');
+           $apis.html(content_item,'#templateMonitor',ret.content);
+         }
+       }
+     })
+   }
+  //  状态
+   function statusFun(t,typeC,sType) {
+       var pageParam ={title:t,typeCode:typeC,statusType:sType,test:'test'}
+       $event.openWin('statusListWin','statusListWin',pageParam,'');
+       // $event.openTabLayout('statusList','statusList',title,pageParam);
+   }
+</script>
+</body>
+</html>

+ 203 - 0
widget/html/productionData/searchWin.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" 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="search" placeholder="搜索" id="search-input">
+                </form>
+            </div>
+            <span class="search_btn" onclick="seacrhWinFun(inputValue)">搜索</span>
+        </div>
+    </header>
+</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(){
+      $event.openFrame('searchFrame','header','','','')
+    };
+
+
+    function backIndex() {
+        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) {
+    var pageNum = 1;
+      api.execScript({
+          name: 'searchWin',
+          frameName: 'searchFrame',
+          script: 'searchData("'+text+'","'+pageNum+'");'
+      });
+    }
+</script>

+ 178 - 0
widget/html/productionData/securityMonitor.html

@@ -0,0 +1,178 @@
+<!DOCTYPE html>
+<html lang="en">
+<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 http-equiv="X-UA-Compatible" content="ie=edge">
+    <link rel="stylesheet" href="../../css/api.css">
+    <!--<link rel="stylesheet" href="../../css/aui.css">-->
+    <link rel="stylesheet" href="../../css/style.css">
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <title></title>
+    <style>
+        .aui-searchbar{
+            width: 86%;
+            height: 50px;
+            margin-left: 40px;
+            background-color: transparent;
+        }
+        .aui-searchbar .aui-searchbar-btn{
+            color: #fff;
+        }
+        #search-input::placeholder{
+            color: #fff;
+            font-size: 13px;
+        }
+        .search_ico{
+            width: 16px;
+            height: 16px;
+            display: block;
+            position: absolute;
+            background: url("../../image/seacrh001.png") no-repeat;
+            background-size: cover;
+            top: 7px;
+            left: 17px;
+        }
+        .backBtn{
+            margin-left: 5px;
+        }
+        #search-input{
+            font-size: 14px;
+        }
+        header ul li { height: 50px; line-height: 50px; text-align: center; display: none; color: #fff; position: relative;font-size: 18px;  }
+        header ul li.active{ display: block; }
+        #footer{  background-color: #fff; }
+        #footer ul li{  padding-top: 39px; padding-bottom: 4px; background: url() no-repeat center 10px; background-size: auto 25px; text-align: center; font-size: 13px;color: #b3b3b3;}
+        #footer ul li.active{ color: #009fe8; }
+        #footer ul li:nth-child(1){ background-image: url(../../image/NVTabBar/ss1.png); }
+        #footer ul li:nth-child(2){ background-image: url(../../image/NVTabBar/k1.png); }
+        #footer ul li:nth-child(3){ background-image: url(../../image/NVTabBar/l1.png); }
+        #footer ul li:nth-child(4){ background-image: url(../../image/NVTabBar/g1.png); }
+        #footer ul li:nth-child(1).active{ background-image: url(../../image/NVTabBar/ss2.png); }
+        #footer ul li:nth-child(2).active{ background-image: url(../../image/NVTabBar/k2.png); }
+        #footer ul li:nth-child(3).active{ background-image: url(../../image/NVTabBar/l2.png); }
+        #footer ul li:nth-child(4).active{ background-image: url(../../image/NVTabBar/g2.png); }
+        .flex-con{
+            overflow: auto
+        }
+    </style>
+</head>
+<body>
+<div id="wrap" class="flex-wrap flex-vertical">
+    <header class="header-login">
+        <ul>
+            <li class="border-b active" >
+                <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" onclick="searchInfo()">
+                        <i class="search_ico"></i>
+                        <form>
+                            <input type="search" placeholder="搜索" id="search-input" readonly>
+                        </form>
+                    </div>
+                </div>
+            </li>
+            <li class="border-b" >
+              <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" onclick="searchInfo()">
+                      <i class="search_ico"></i>
+                      <form>
+                          <input type="search" placeholder="搜索" id="search-input" readonly>
+                      </form>
+                  </div>
+              </div>
+            </li>
+            <!-- <li class="border-b" >
+              <header class="header-login">
+                 <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+                 <p class="api_text">历史数据</p>
+              </header>
+            </li>
+            <li class="border-b" >
+              <header class="header-login">
+                 <img class="backBtn" src="../../image/btn_back.png" alt="" onclick="backIndex()">
+                 <p class="api_text">故障记录</p>
+              </header>
+            </li> -->
+        </ul>
+    </header>
+    <div id="main" class="flex-con">
+
+    </div>
+    <div id="footer" class="border-t">
+        <ul class="flex-wrap" >
+            <li  onclick="randomSwitchBtn( this );" class="icon iconfont flex-con active">模拟量</li>
+            <li  onclick="randomSwitchBtn( this );" class="icon iconfont flex-con icon iconfont" >开关量</li>
+            <!-- <li  onclick="randomSwitchBtn( this );" class="icon iconfont flex-con" >历史数据</li> -->
+            <!-- <li  onclick="randomSwitchBtn( this );" class="icon iconfont flex-con" >故障记录</li> -->
+        </ul>
+    </div>
+</div>
+<script src="../../script/api.js"></script>
+<!-- <script src="../../script/fastclick.min.js"></script> -->
+<script src="../../script/config.js"></script>
+<script>
+    apiready = function(){
+        $api.fixStatusBar( $api.dom('header'));
+        funIniGroup();
+    };
+    function funIniGroup(){
+        var eHeaderLis = $api.domAll('header li'),
+            frames = [];
+        for (var i = 0,len = eHeaderLis.length; i < len; i++) {
+            frames.push({
+                name: 'monitor'+i,
+                url: 'monitor'+i+'.html',
+                bgColor : '#f2f2f2',
+                bounces:true
+            })
+        }
+        api.openFrameGroup({
+            name: 'monitorGroup',
+            scrollEnabled: false,
+            rect: {
+                x: 0,
+                y: $api.dom('header').offsetHeight,
+                w: api.winWidth,
+                h: $api.dom('#main').offsetHeight
+            },
+            index: 0,
+            frames: frames,
+            preload : 0
+        }, function (ret, err) {
+
+        });
+    };
+    // 随意切换按钮
+    function randomSwitchBtn( tag ) {
+        if( tag == $api.dom('#footer li.active') )return;
+        var eFootLis = $api.domAll('#footer li'),
+            eHeaderLis = $api.domAll('header 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.removeCls(eHeaderLis[i], 'active');
+            }
+        }
+        $api.addCls( eFootLis[index], 'active');
+        $api.addCls( eHeaderLis[index], 'active');
+        api.setFrameGroupIndex({
+            name: 'monitorGroup',
+            index: index
+        });
+    }
+    function backIndex() {
+        api.closeWin();
+    }
+    // 搜索
+    function searchInfo() {
+        $event.openWin('searchWin','searchWin','','')
+    }
+</script>
+</body>
+</html>

+ 105 - 0
widget/html/productionData/statusList.html

@@ -0,0 +1,105 @@
+<!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 title = "";
+    var toast = new auiToast();
+    apiready = function () {
+      var statusType = api.pageParam.statusType;
+      var type = api.pageParam.type;
+        monitorStatusFun(statusType,type);
+  }
+  // 全部数据详情
+  function monitorStatusFun(sType,type) {
+    var data = {
+      name:'',
+      status:sType,
+      type:type
+    }
+    toast.loading({
+        title: "加载中",
+        duration: 2000
+    });
+    $http.fnReuestDataNologing(UrlRouter.safetyDetaile,'','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 {
+
+        }
+      }else {
+        api.toast({
+            msg: '网络请求超时,请稍后重试',
+            duration: 2000,
+            location: 'bottom'
+        });
+      }
+    })
+  }
+</script>
+</body>
+</html>

+ 93 - 0
widget/html/productionData/statusListWin.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">
+    <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.statusType,api.pageParam.title,api.pageParam.type);
+    };
+    function openFrame(type,name,types) {
+      api.openFrame({
+          name: 'statusList',
+          url: 'statusList.html',
+          rect: {
+              x: 0,
+              y: $api.dom('.api_layout').offsetHeight ,
+              w: 'auto',
+              h: 'auto'
+          },
+          pageParam: {
+              statusType:type,
+              title:name,
+              type:types
+          },
+          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>

+ 165 - 0
widget/html/productionData/video.html

@@ -0,0 +1,165 @@
+<!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/aui.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>
+  <!-- <div class="loading_">
+    <span></span>
+  </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 toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header') );
+        var urls = api.pageParam.videoUrl,title = api.pageParam.title;
+        openVideo(urls);
+    }
+    function openVideo(url) {
+      var neteasePlayer = api.require('neteasePlayer');
+      neteasePlayer.open({
+        title:'视频',
+        definition:["高清","标清","流畅"],
+        styles:{
+        head:{
+        bg: 'rgba(161,161,161,1)',
+        height: 44,
+        title:{
+        size:20,
+        color:'#fff',
+        width:100,
+        leftMargin:10
+        },
+        backSize: 44,
+        // backImg:'widget://image/back.png',
+        definition:{
+          bg:'#fff',
+          textSize:14,
+          textColor:"#FFF",
+          textWidth: 30,
+          marginRight:5
+                 },
+       },
+            playCenterBtn:{
+               size : 44,
+              //  playCenterImg:'fs://img/play.png',
+              //  pauseCenterImg:'fs://img/pause.png',
+           },
+        foot:{
+        bg: 'rgba(0,0,0,0.5)',
+        height: 44,
+        playBtn:{
+        size: 44,
+        // playImg:'widget://image/play.png',
+        // pauseImg:'widget://image/pause.png',
+        marginLeft:5
+        },
+        currentTimeLabel:{
+        textSize:10,
+        textColor:"#FFF",
+        textWidth: 50,
+        marginLeft:5
+        },
+        seekBar:{
+        // sliderImg:'widget://image/circle.png',
+        sliderW : 20,
+        sliderH : 20,
+        progressColor: '#696969',
+        progressSelected: '#76EE00',
+        marginLeft:10,
+        marginRight:10
+        },
+        totalTimeLabel:{
+        textSize:10,
+        textColor:"#FFF",
+        textWidth: 50,
+        marginRight:5
+        },
+        voiceBtn:{
+          size:44,
+          // muteImg:'widget://img/muteImg.png',
+          // disMuteImg:'widget://img/disMuteImg.png',
+                 },
+        fullscreenBtn:{
+        size:44,
+        // verticalImg:'widget://image/vertical.png',
+        // horizontalImg:'widget://image/horizontal.png',
+        }
+        } },
+         path:url,
+         autoPlay: true
+          },function(ret, err){
+              if(ret){
+                  alert(JSON.stringify(ret));
+              } else {
+                  alert(JSON.stringify(err));
+              }
+
+});
+
+      // var obj = api.require('UIPLPlayer');
+      // obj.openPlayer({
+      //     rect:
+      //     {   x: 0,
+      //         y: 70,
+      //         w: api.winWidth,
+      //         h: $api.winHeight
+      //     },
+      //     title: '返回',
+      //     videoUrlPath: url,
+      //     fixedOn: api.frameName,
+      // }, function(ret, err) {
+      //  if(ret){
+      //  console.log(ret);
+      //  }else{
+      //  alert(JSON.stringify(err));
+      //  }
+      // });
+
+
+
+    }
+    // function backIndex() {
+    //   api.closeWin();
+    //   var UIPLPlayer = api.require('UIPLPlayer');
+    //   UIPLPlayer.closePlayer();
+    // }
+    // // video
+    // function functionName(url) {
+    //   var mediaPlayer = api.require('aliyunLive');
+    //   mediaPlayer.prepareToPlay({
+    //       url:url
+    //   }, function(ret, err) {
+    //       if(ret && ret.status){
+    //           alert("MediaPlayer Prepare Ready");
+    //           var mediaPlayer = api.require('aliyunLive');
+    //           mediaPlayer.play();
+    //       }
+    //   });
+    // }
+</script>

+ 666 - 0
widget/html/wordorder/12.html

@@ -0,0 +1,666 @@
+<!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/aui.css" />
+	<style>
+        body{
+          background: #fff;
+        }
+        .api_layout{
+            padding: 15px;
+        }
+        .column{
+            margin-bottom: 10px;
+        }
+        .column-title{
+            display: block;
+            font-size: 15px;
+            color: #97a3b4;
+            margin-bottom: 10px;
+        }
+        input::placeholder{
+            font-size: 14px;
+            color: #333;
+        }
+        .api_layout .font-s{
+            font-size: 14px;
+        }
+        .api_layout .input-s{
+            height: 40px;
+            border: 1px solid #97a3b4;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            padding-left: 10px;
+        }
+        .aui-list-item-input1{
+            position: relative;
+        }
+        .aui-list-item-input1: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);
+        }
+        .column-textarea{
+            border: 1px solid #97a3b4;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            padding: 10px;
+            height: 160px;
+        }
+        .column-textarea::placeholder{
+            font-size: 14px;
+            color: #333;
+        }
+        .aui-row{
+            border: 1px dashed #c8d2de;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            padding: 10px;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            flex-wrap: wrap;
+        }
+        .col{
+            color: red;
+            font-size: 14px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: wrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .technologicals{
+          margin-bottom: 20px;
+        }
+        .aui-list-item-input label{
+          font-size: 14px;
+          height: 21px;
+          display: inline-block;
+          line-height: 22px;
+          margin-right: 5px;
+        }
+        .aui-list-item-input label:last-child{
+          margin-right: 0;
+        }
+        .imgParent img{
+          width: 104px;
+          height: 104px;
+          border-radius: 5px;
+        }
+        .api-toast{
+        	width: 100%;
+        	height: 100%;
+        	position: fixed;
+        	top: 0;
+        	left: 0;
+        	background: rgba(0,0,0,.5);
+        }
+	</style>
+</head>
+<body>
+  <div class="api_layout">
+      <div class="column-row" id="column_row">
+        <!-- <div class="column">
+            <label class="column-title">选择:</label>
+            <div class="aui-list-item-input1">
+                <select class="input-select font-s input-s" name="xuanze">
+                    <option value="">请选择</option>
+                    <option value="你好">你好</option>
+                </select>
+            </div>
+        </div>
+        <div class="column">
+            <label class="column-title">申请部门:</label>
+            <div class="aui-list-item-input1">
+                <select class="input-select font-s input-s" name="xuanze1">
+                    <option value="">请选择</option>
+                    <option value="你好1">你好1</option>
+                </select>
+            </div>
+        </div> -->
+        <div class="column">
+            <label class="column-title">上传文件:</label>
+            <div class="aui-row aui-row-padded">
+                <div class="aui-col-xs-4" id="upload">
+                    <img src="../../image/upload.png"/>
+                    <input type="file" name="" value="" onchange="uploadFile()">
+                </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="technologicals" id="technologicals">
+       <!-- <label class="column-title">固定审批流程:</label>
+       <div class="technological-process">
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+                   <span class="name">张三</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+       </div> -->
+    </div>
+    <div class="aui-btn aui-btn-info aui-btn-block" onclick="submitInfo()">
+      提交
+    </div>
+  </div>
+</body>
+<script type="text/template" id="template">
+{{ for (var i = 0;i<it.length;i++) { }}
+    {{? it[i].type == 'input'}}
+      <div class="column">
+         <label class="column-title">{{=it[i].label}}:</label>
+         <input type="text" name="{{=it[i].name}}" value="" placeholder="请输入{{=it[i].label}}" class="inputBox colimn-input input-s font-s">
+      </div>
+    {{?? it[i].type == 'radio'}}
+      <div class="column">
+        <label class="column-title">{{=it[i].label}}:</label>
+        <div class="aui-list-item-input radioName" name="{{=it[i].name}}" data-info>
+          {{ for(var j=0;j<it[i].select.length;j++) { }}
+              <label><input class="aui-radio" type="radio" name="{{=it[i].name}}" value="{{=it[i].select[j]}}" onchange="radioFun(this)">{{=it[i].select[j]}}</label>
+          {{ } }}
+        </div>
+      </div>
+    {{?? it[i].type == 'checkbox'}}
+      <div class="column">
+        <label class="column-title">{{=it[i].label}}:</label>
+        <div class="aui-list-item-input checkboxName" name={{=it[i].name}} data-info>
+          {{ for(var j=0;j<it[i].select.length;j++) { }}
+              <label><input class="aui-checkbox" type="checkbox" name="{{=it[i].name}}" value="{{=it[i].select[j]}}" onchange="checkboxFun(this)">{{=it[i].select[j]}}</label>
+          {{ } }}
+        </div>
+      </div>
+    {{?? it[i].type == 'textarea'}}
+      <div class="column">
+          <label class="column-title">{{=it[i].label}}:</label>
+          <textarea name="{{=it[i].name}}" rows="8" cols="80" class="column-textarea font-s column-textarea1" placeholder="请输入{{=it[i].label}}"></textarea>
+      </div>
+    {{?? it[i].type == 'select'}}
+      <div class="column">
+          <label class="column-title">选择:</label>
+          <div class="aui-list-item-input1">
+              <select class="input-select font-s input-s" name="{{=it[i].name}}">
+                  <option value="">请选择</option>
+                  {{ for(var j=0;j<it[i].select.length;j++) { }}
+                      <option value="{{=it[i].select[j]}}">{{=it[i].select[j]}}</option>
+                  {{ } }}
+              </select>
+          </div>
+      </div>
+    {{?? it[i].type == 'images'}}
+      <div class="column">
+          <label class="column-title">{{=it[i].label}}:</label>
+          <div class="aui-row aui-row-padded uploadImg" data-info name="{{=it[i].name}}">
+              <div class="aui-col-xs-4 imgParent" onclick="actionSheetFun(this)" data-url='{{=it[i].url}}'>
+                  <img src="../../image/upload.png"/>
+              </div>
+          </div>
+      </div>
+    {{?? it[i].type == 'files'}}
+      <div class="column">
+          <label class="column-title">{{=it[i].label}}:</label>
+          <div class="aui-row aui-row-padded uploadFile" data-info name="{{=it[i].name}}">
+              <div class="aui-col-xs-4" onclick="browseFile()" data-url='{{=it[i].url}}'>
+                  <img src="../../image/upload.png"/>
+              </div>
+          </div>
+      </div>
+    {{?}}
+{{ } }}
+</script>
+<script type="text/template" id="templateApply">
+    <label class="column-title">固定审批流程:</label>
+    <div class="technological-process">
+      {{ for(var prop in it) { }}
+          <div class="col">
+              <div class="name_list">
+                {{ for (var j = 0;j<it[prop].length;j++) { }}
+                  <span class="name">{{=it[prop][j].name}}</span>
+                {{ } }}
+              </div>
+              <i class="ico-j"></i>
+          </div>
+      {{ } }}
+    </div>
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script src="../../script/Hammer.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../script/config.js"></script>
+<script type="text/javascript">
+   var toast = new auiToast(),token;
+   var UIAlbumBrowser;
+   var i = 0;
+   var imgarr = [];
+   var id = ""
+    apiready = function(){
+      var info = $api.getStorage('data');
+      token = JSON.parse(info).data.access_token;
+      id = api.pageParam.id;
+      getApplyDe(api.pageParam.id,token);
+       UIAlbumBrowser = api.require('UIAlbumBrowser');
+    };
+    function getApplyDe(id,token) {
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      $http.fnReuestData(UrlRouter.getApplyD+id,headers,'get','',function (ret,err) {
+        toast.hide();
+        api.setTabLayoutAttr({
+            title: ret.data.title
+        });
+        console.log(JSON.stringify(ret));
+        $apis.append(column_row,'#template',ret.data.form);
+        $apis.append(technologicals,'#templateApply',ret.data.flow);
+      })
+    }
+    function approValPesonal() {
+      api.openFrame({
+          name: 'approvalPersonal',
+          bounces: false,
+          url: 'approvalPersonal.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
+          // }
+      });
+    }
+    // 上传图片
+    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){
+    //                     uploadHead(ret.data)
+    //                     headImg = ret.data;
+    //                 }
+    //             });
+    //         }
+    //     });
+    // }
+    function actionSheetFun(el) {
+        api.actionSheet({
+            title: '选择',
+            cancelTitle: '取消',
+            buttons: ['相机','相册']
+        }, function(ret, err) {
+            if (ret.buttonIndex !=3) {
+                var type = 'camera';
+                if(ret.buttonIndex == 1){
+                    type = 'camera';
+                    api.getPicture({
+                        sourceType: type
+                    }, function(ret, err){
+                        if(ret && ret.data!=""){
+                            uploadHead(el,ret.data);
+                        }
+                    });
+                }else {
+                    type = 'album';
+                    // 支持多图片上传,UIAlbumBrowser模块获取图片路径
+                    changeImageUrl(el)
+                }
+            }
+        });
+    }
+    // upload img
+    function uploadHead(el,imgUrl){
+        var uploadUrl = $api.attr(el, 'data-url');
+        toast.loading({
+            title: "上传中",
+            duration: 2000
+        });
+        console.log(imgarr,'imgarr1');
+        api.ajax({
+            url: urlphp+uploadUrl,
+            method: 'post',
+            headers : {
+                "Authorization": "Bearer " + token,
+            },
+            data: {
+                files: {
+                    image:imgUrl
+                }
+            }
+        },function(ret, err){
+            if (ret) {
+                toast.hide();
+                if(ret.code === 0){
+                  var data = JSON.stringify(ret.data)
+                  var html = `<div class="aui-col-xs-4 imgParent" data-imgData="${data}" onclick="delImg(this)">
+                               <img src="${ret.data.path}"/>
+                             </div>`;
+                   var getAttribute = el.parentNode.getAttribute('data-info');
+                   var dataInfo = getAttribute+',,'+JSON.stringify(ret.data)
+                   el.parentNode.setAttribute('data-info',dataInfo);
+                    $api.append(el.parentNode,html);
+                    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'
+                });
+            }
+        });
+
+    }
+    // radio
+    function radioFun(el) {
+        var value = el.value;
+        if(el.checked){
+            el.parentNode.parentNode.setAttribute('data-info',value);
+        }
+    }
+    // chexkbox
+    function checkboxFun(el) {
+      var value = el.value;
+      if(el.checked){
+          var getAttribute = el.parentNode.parentNode.getAttribute('data-info').split(',');
+          getAttribute.push(value);
+          el.parentNode.parentNode.setAttribute('data-info',getAttribute);
+      }else {
+          var getAttribute = el.parentNode.parentNode.getAttribute('data-info').split(',');
+          getAttribute.remove(value);
+        el.parentNode.parentNode.setAttribute('data-info',getAttribute);
+      }
+    }
+    // 选择图片库路径
+    function changeImageUrl(el) {
+      UIAlbumBrowser.imagePicker({
+        max: 9,
+        styles: {
+            bg: '#000000',
+            //cameraImg: 'widget://res/cameraImg.png',
+            mark: {
+                position: 'top_right',
+                size: 20
+            },
+            nav: {
+                bg: '#000000',
+                cancelColor: '#fff',
+                cancelSize: 16,
+                nextStepColor: '#7fff00',
+                nextStepSize: 16
+            },
+            thumbnail: { //(可选项)返回的缩略图配置,**建议本图片不要设置过大** 若已有缩略图,则使用已有的缩略图。若要重新生成缩略图,可先调用清除缓存接口api.clearCache()。
+                w: 100, //(可选项)数字类型;返回的缩略图的宽;默认:原图的宽度
+                h: 100 //(可选项)数字类型;返回的缩略图的宽;默认:原图的高度
+            }
+        },
+          animation: true,
+          }, function(ret) {
+              if (ret.eventType == 'nextStep') {
+                  if (ret.list && ret.list.length > 0) {
+                      imgarr = ret.list;
+                      UIAlbumBrowser_transPath(el);
+                  }
+                  UIAlbumBrowser.closePicker();
+              }
+              if (ret.originalPath && ret.originalPath.length > 0) {
+                  uploadHead(el,ret.originalPath)
+              }
+      });
+    }
+    // 转换缩略图路径 ios
+    function UIAlbumBrowser_transPath(el) {
+        UIAlbumBrowser.transPath({
+            path: imgarr[i].path
+        }, function(ret, err) {
+            if (ret) {
+                i++;
+                if (i < imgarr.length) {
+                    UIAlbumBrowser_transPath(el);
+                } else {
+                    i = 0;
+                }
+                uploadHead(el,ret.path)
+            }
+        });
+    }
+    // 长安删除图片或者文件
+    // var hammertime = new Hammer(document.getElementsByClassName('Longpress'));
+    // hammertime.on('press', function(ev) {
+    //     console.log(JSON.stringify(ev));
+    // });
+    // 上传文件
+   function uploadFile(el,fileUrl) {
+     var uploadUrl = $api.attr(el, 'data-url');
+     console.log(uploadUrl,'uploadUrl');
+     api.ajax({
+         url: urlphp+'api/worksheet/design/up_files',
+         method: 'post',
+         headers : {
+             "Authorization": "Bearer " + token,
+         },
+         data: {
+             files: {
+                 file:fileUrl
+             }
+         }
+     },function(ret, err){
+       console.log(JSON.stringify(ret));
+         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 browseFile(el) {
+      // var fileBrowser = api.require('fileBrowser');
+      // fileBrowser.skin({
+      //     skin:0,
+      // });
+      // fileBrowser.open(function(ret) {
+      //     if (ret) {
+      //         console.log(JSON.stringify(ret));
+      //         uploadFile(el,ret.url)
+      //         fileBrowser.close();
+      //     }
+      // });
+      var selectFile = api.require('selectFile');
+        selectFile.open(function(ret, err){
+            if(ret.status){
+              uploadFile(el,ret.path)
+                alert(JSON.stringify(ret.path));
+            }else{
+                alert('选择文件不存在');
+            }
+        });
+    }
+    // 提交工单信息
+    function submitInfo() {
+      var sss = {path:'../../image',nameImg:'soasjoa'};
+      var data = JSON.stringify(sss)
+      var html = `<div class="aui-col-xs-4 imgParent" data-imgData="${data}" onclick="delImg(this)">
+                   <img src="../../image/demo.png"/>
+                 </div>`;
+       document.getElementById('upload').parentNode.;
+
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      var inputBoxArray= [],inputBoxObject = {id:id,otherFlow:[]},inputBox = $api.domAll('.inputBox'),inputSelect = $api.domAll('.input-select'),
+      checkboxName = document.querySelectorAll('.checkboxName'),radioName = $api.domAll('.radioName'),uploadImg = $api.domAll('.uploadImg'),columnTextarea = $api.domAll('.column-textarea');
+      // 文本框
+        for (var i = 0; i < inputBox.length;i++){
+            var key = $api.attr(inputBox[i],'name'), value = $api.val(inputBox[i]);
+            inputBoxObject[key] = value
+            // console.log(JSON.stringify(inputBoxObject));
+        }
+        // 文本域
+        for (var i = 0; i < columnTextarea.length;i++){
+            var key = $api.attr(columnTextarea[i],'name'), value = $api.val(columnTextarea[i]);
+            inputBoxObject[key] = value
+            // console.log(JSON.stringify(inputBoxObject));
+        }
+        // 下拉选择
+        for (var j = 0; j < inputSelect.length; j++) {
+          var key = $api.attr(inputSelect[j],'name'), value = $api.val(inputSelect[j]);
+          inputBoxObject[key] = value;
+        }
+        // 单选
+        for (var k = 0; k < radioName.length; k++) {
+          var val = $api.attr(radioName[k],'data-info'),key = $api.attr(radioName[k],'name');
+          inputBoxObject[key] = val;
+        }
+        // 多选
+        for (var t = 0; t < checkboxName.length; t++) {
+          var value =checkboxName[t].getAttribute('data-info'),key = checkboxName[t].getAttribute('name');
+            console.log(value.split(',').slice(1).join(','),'value')
+            inputBoxObject[key] = value.split(',').slice(1).join(',');
+        }
+        // img
+        for (var i = 0; i < uploadImg.length; i++) {
+         var value = $api.attr(uploadImg[i],'data-info'),key = $api.attr(uploadImg[i],'name');
+         var imageArr = [];
+         for (var j = 0; j < value.split(',,').slice(1).length; j++) {
+             imageArr.push(JSON.parse(value.split(',,').slice(1)[j]))
+         }
+         console.log(imageArr)
+         inputBoxObject[key] = imageArr;
+       }
+        console.log(JSON.stringify(inputBoxObject));
+      // $http.fnReuestDataJSON(UrlRouter.submitApply,headers,'post',inputBoxObject,function (ret,err) {
+      //     toast.hide()
+      //     if (ret.code === 0) {
+      //       api.toast({
+      //           msg: '提交成功',
+      //           duration: 2000,
+      //           location: 'top'
+      //       });
+      //     }
+      //     console.log(JSON.stringify(ret));
+      //     console.log(JSON.stringify(err));
+      // })
+      $event.openWin('myWordeOrder_win','myWordeOrder_win','','');
+    };
+    // 删除图片
+    function delImg(el) {
+      var Imgdata = el.getAttribute('data-imgData');
+      console.log(JSON.stringify(Imgdata))
+    }
+    function uploadFile() {
+        
+    }
+</script>
+</html>

+ 97 - 0
widget/html/wordorder/adopt.html

@@ -0,0 +1,97 @@
+<!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" href="../../css/api.css">
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" type="text/css" href="../../css/projeck.css" />
+</head>
+<style type="text/css">
+    html,body{
+        background: transparent;
+        -webkit-touch-callout: none;
+        font-family: Tahoma, Geneva, sans-serif;
+        font-style: normal;
+        margin: 0;
+    }
+    .api_layout{
+        background-color: #fff;
+        position: absolute; margin: auto;
+        left: 0; right: 0; top: 0; bottom: 0;
+        width: 325px; height: 258px;
+        opacity: 1;
+        padding: 0 20px;
+        -webkit-box-sizing: border-box;
+        box-sizing: border-box;
+        -webkit-border-radius: 5px;
+        border-radius: 5px;
+        overflow: hidden;
+        padding-top: 106px;
+    }
+    .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;
+    }
+    .selectTitle{
+        padding: 15px 0;
+        margin-bottom: 15px;
+    }
+    .column-textarea{
+        border: 1px solid #97a3b4;
+        -webkit-border-radius: 5px;
+        -moz-border-radius: 5px;
+        border-radius: 5px;
+        padding: 10px;
+        height: 124px;
+        width: 100%;
+        -webkit-box-sizing: border-box;
+        box-sizing: border-box;
+    }
+    .column-textarea::placeholder{
+        font-size: 13px;
+        color: #97a3b4;
+    }
+    .examine-blue{
+        background: #3498db;
+    }
+    .h3{
+      font-size: 20px;
+    }
+    .api-icon-close{
+      position: absolute;
+      top: 13px;
+      right: -5px;
+      font-size: 24px;
+      font-weight: bold;
+    }
+</style>
+<body>
+<div class="api_layout">
+    <div class="api_box">
+        <div class="selectTitle after-border relative">
+            <h3 class="h3">通过</h3>
+            <i class="aui-iconfont aui-icon-close api-icon-close" onclick="api.closeFrame()"></i>
+        </div>
+        <div style="padding:0 10px;">
+           <textarea name="name" rows="8" cols="80" class="column-textarea font-s" placeholder="简述内容"></textarea>
+        </div>
+        <div style="text-align: right;margin-top: 15px;padding-right:10px;">
+             <div class="aui-btn aui-btn-info examine-blue">提交</div>
+        </div>
+    </div>
+</div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/config.js"></script>
+</html>

+ 251 - 0
widget/html/wordorder/alreadyExamine_frm.html

@@ -0,0 +1,251 @@
+<!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: #fff;
+        }
+        .api_layout{
+            width: 100%;
+            position: relative;
+            padding: 16px;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .column-list{
+            padding: 10px 13px;
+            border: 2px solid #f2f4fb;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            border-top:2px solid #00d983;
+            margin-bottom: 10px;
+        }
+        .column-list li:last-child{
+            margin-bottom: 0;
+        }
+        .header-img{
+            width: 50px;
+            height: 50px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            object-fit: cover;
+            margin-right: 10px;
+        }
+        .wordOrder-info span{
+            display: block;
+            font-size: 14px;
+            color: #002257;
+        }
+        .examine-status{
+            font-size: 12px;
+            font-style: normal;
+            color: #00d983;
+            position: absolute;
+            top: 5px;
+            right: 0;
+        }
+        .examine-process{
+            margin-top: 10px;
+        }
+        .column{
+            border: 1px solid #eaeff3;
+            background: #fff;
+            padding: 10px;
+            border-radius: 5px;
+        }
+        .small_title{
+            font-size:12px;
+            color: #74b9e7;
+            display: block;
+            font-style: normal;
+        }
+        .large_title{
+            margin: 10px 0;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            /* flex-wrap: wrap; */
+            white-space: nowrap;
+            overflow-x: scroll;
+            -webkit-overflow-scrolling: touch;
+        }
+        .col{
+            color: red;
+            font-size: 12px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: nowrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .examine-success{
+            background: #1abc9c;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <ul>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">已审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </li>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">已审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </li>
+    </ul>
+</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 toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var token = api.pageParam.data;
+        var headers = {
+            "Authorization": "Bearer " + token
+        };
+    };
+
+</script>

+ 314 - 0
widget/html/wordorder/approvalPersonal.html

@@ -0,0 +1,314 @@
+<!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" href="../../css/api.css">
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" type="text/css" href="../../css/projeck.css" />
+</head>
+<style type="text/css">
+    html,body{
+        background: transparent;
+        -webkit-touch-callout: none;
+        font-family: Tahoma, Geneva, sans-serif;
+        font-style: normal;
+        margin: 0;
+    }
+    .api_layout{
+        background-color: #fff;
+        position: absolute; margin: auto;
+        left: 0; right: 0; top: 0; bottom: 0;
+        width: 325px; height: 444px;
+        opacity: 1;
+        padding: 0 20px;
+        -webkit-box-sizing: border-box;
+        box-sizing: border-box;
+        -webkit-border-radius: 5px;
+        border-radius: 5px;
+        overflow: hidden;
+        padding-top: 106px;
+    }
+    .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;
+    }
+    .selectTitle{
+        padding: 15px 0;
+    }
+    .api_layout .font-s{
+        font-size: 14px;
+    }
+    .api_layout .input-s{
+        height: 40px;
+        border: 1px solid #97a3b4;
+        -webkit-border-radius: 5px;
+        -moz-border-radius: 5px;
+        border-radius: 5px;
+        padding-left: 10px;
+    }
+    .column{
+      height: 338px;
+      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;
+    }
+    .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;
+    }
+    .column li{
+        padding: 10px 0;
+    }
+    /*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-icon-close{
+      position: absolute;
+      top: 13px;
+      right: -5px;
+      font-size: 24px;
+      font-weight: bold;
+    }
+</style>
+<body>
+<div class="api_layout">
+  <div class="api_box">
+    <div class="selectTitle after-border relative">
+        <h3 class="h3">选择审批人</h3>
+        <i class="aui-iconfont aui-icon-close api-icon-close" onclick="api.closeFrame()"></i>
+    </div>
+    <div class="aui-list-item-input relative">
+        <select class="column-select input-s font-s">
+            <option>Option1</option>
+            <option>Option2</option>
+            <option>Option3</option>
+        </select>
+    </div>
+  </div>
+    <ul class="column">
+        <li class="after-border relative">
+            <label class="remember-me-label flex-space">
+                <div class="flex-start">
+                    <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="api_leader_head">
+                    <div>
+                        <p class="name font-s">张三</p>
+                        <p class="del font-s">信息监测中心</p>
+                    </div>
+                </div>
+                <div class="remember-password-container">
+                    <div class="remember-password-content">
+                        <input type="checkbox">
+                        <span></span>
+                    </div>
+                </div>
+            </label>
+        </li>
+        <li class="after-border relative">
+            <label class="remember-me-label flex-space">
+                <div class="flex-start">
+                    <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="api_leader_head">
+                    <div>
+                        <p class="name font-s">张三</p>
+                        <p class="del font-s">信息监测中心</p>
+                    </div>
+                </div>
+                <div class="remember-password-container">
+                    <div class="remember-password-content">
+                        <input type="checkbox">
+                        <span></span>
+                    </div>
+                </div>
+            </label>
+        </li>
+        <li class="after-border relative">
+            <label class="remember-me-label flex-space">
+                <div class="flex-start">
+                    <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="api_leader_head">
+                    <div>
+                        <p class="name font-s">张三</p>
+                        <p class="del font-s">信息监测中心</p>
+                    </div>
+                </div>
+                <div class="remember-password-container">
+                    <div class="remember-password-content">
+                        <input type="checkbox">
+                        <span></span>
+                    </div>
+                </div>
+            </label>
+        </li>
+        <li class="after-border relative">
+            <label class="remember-me-label flex-space">
+                <div class="flex-start">
+                    <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="api_leader_head">
+                    <div>
+                        <p class="name font-s">张三</p>
+                        <p class="del font-s">信息监测中心</p>
+                    </div>
+                </div>
+                <div class="remember-password-container">
+                    <div class="remember-password-content">
+                        <input type="checkbox">
+                        <span></span>
+                    </div>
+                </div>
+            </label>
+        </li>
+        <li class="after-border relative">
+            <label class="remember-me-label flex-space">
+                <div class="flex-start">
+                    <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="api_leader_head">
+                    <div>
+                        <p class="name font-s">张三</p>
+                        <p class="del font-s">信息监测中心</p>
+                    </div>
+                </div>
+                <div class="remember-password-container">
+                    <div class="remember-password-content">
+                        <input type="checkbox">
+                        <span></span>
+                    </div>
+                </div>
+            </label>
+        </li>
+        <li class="after-border relative">
+            <label class="remember-me-label flex-space">
+                <div class="flex-start">
+                    <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="api_leader_head">
+                    <div>
+                        <p class="name font-s">张三</p>
+                        <p class="del font-s">信息监测中心</p>
+                    </div>
+                </div>
+                <div class="remember-password-container">
+                    <div class="remember-password-content">
+                        <input type="checkbox">
+                        <span></span>
+                    </div>
+                </div>
+            </label>
+        </li>
+        <li class="after-border relative">
+            <label class="remember-me-label flex-space">
+                <div class="flex-start">
+                    <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="api_leader_head">
+                    <div>
+                        <p class="name font-s">张三</p>
+                        <p class="del font-s">信息监测中心</p>
+                    </div>
+                </div>
+                <div class="remember-password-container">
+                    <div class="remember-password-content">
+                        <input type="checkbox">
+                        <span></span>
+                    </div>
+                </div>
+            </label>
+        </li>
+        <li class="after-border relative">
+            <label class="remember-me-label flex-space">
+                <div class="flex-start">
+                    <img src="" onerror=javascript:this.src="http://jiewei-icon.oss-cn-beijing.aliyuncs.com/icon/default-avatar.png" class="api_leader_head">
+                    <div>
+                        <p class="name font-s">张三</p>
+                        <p class="del font-s">信息监测中心</p>
+                    </div>
+                </div>
+                <div class="remember-password-container">
+                    <div class="remember-password-content">
+                        <input type="checkbox">
+                        <span></span>
+                    </div>
+                </div>
+            </label>
+        </li>
+    </ul>
+</div>
+</body>
+<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/config.js"></script>
+</html>

+ 649 - 0
widget/html/wordorder/changefillword.html

@@ -0,0 +1,649 @@
+<!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/aui.css" />
+	<style>
+        body{
+          background: #fff;
+        }
+        .api_layout{
+            padding: 15px;
+        }
+        .column{
+            margin-bottom: 10px;
+        }
+        .column-title{
+            display: block;
+            font-size: 15px;
+            color: #97a3b4;
+            margin-bottom: 10px;
+        }
+        input::placeholder{
+            font-size: 14px;
+            color: #333;
+        }
+        .api_layout .font-s{
+            font-size: 14px;
+        }
+        .api_layout .input-s{
+            height: 40px;
+            border: 1px solid #97a3b4;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            padding-left: 10px;
+        }
+        .aui-list-item-input1{
+            position: relative;
+        }
+        .aui-list-item-input1: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);
+        }
+        .column-textarea{
+            border: 1px solid #97a3b4;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            padding: 10px;
+            height: 160px;
+        }
+        .column-textarea::placeholder{
+            font-size: 14px;
+            color: #333;
+        }
+        .aui-row{
+            border: 1px dashed #c8d2de;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            padding: 10px;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            flex-wrap: wrap;
+        }
+        .col{
+            color: red;
+            font-size: 14px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: wrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .technologicals{
+          margin-bottom: 20px;
+        }
+        .aui-list-item-input label{
+          font-size: 14px;
+          height: 21px;
+          display: inline-block;
+          line-height: 22px;
+          margin-right: 5px;
+        }
+        .aui-list-item-input label:last-child{
+          margin-right: 0;
+        }
+        .imgParent img{
+          width: 104px;
+          height: 104px;
+          border-radius: 5px;
+        }
+        .api-toast{
+        	width: 100%;
+        	height: 100%;
+        	position: fixed;
+        	top: 0;
+        	left: 0;
+        	background: rgba(0,0,0,.5);
+        }
+	</style>
+</head>
+<body>
+  <div class="api_layout">
+      <div class="column-row" id="column_row">
+        <!-- <div class="column">
+            <label class="column-title">选择:</label>
+            <div class="aui-list-item-input1">
+                <select class="input-select font-s input-s" name="xuanze">
+                    <option value="">请选择</option>
+                    <option value="你好">你好</option>
+                </select>
+            </div>
+        </div>
+        <div class="column">
+            <label class="column-title">申请部门:</label>
+            <div class="aui-list-item-input1">
+                <select class="input-select font-s input-s" name="xuanze1">
+                    <option value="">请选择</option>
+                    <option value="你好1">你好1</option>
+                </select>
+            </div>
+        </div> -->
+        <!-- <div class="column">
+            <label class="column-title">上传图片:</label>
+            <div class="aui-row aui-row-padded">
+                <div class="aui-col-xs-4" id="upload">
+                    <img src="../../image/upload.png"/>
+                    <input type="file" name="" value="">
+                </div>
+            </div>
+        </div> -->
+    </div>
+    <div class="technologicals" id="technologicals">
+       <!-- <label class="column-title">固定审批流程:</label>
+       <div class="technological-process">
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+                   <span class="name">张三</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+       </div> -->
+    </div>
+    <div class="aui-btn aui-btn-info aui-btn-block" onclick="submitInfo()">
+      提交
+    </div>
+  </div>
+</body>
+<script type="text/template" id="template">
+{{ for (var i = 0;i<it.length;i++) { }}
+    {{? it[i].type == 'input'}}
+      <div class="column">
+         <label class="column-title">{{=it[i].label}}:</label>
+         <input type="text" name="{{=it[i].name}}" value="" placeholder="请输入{{=it[i].label}}" class="inputBox colimn-input input-s font-s">
+      </div>
+    {{?? it[i].type == 'radio'}}
+      <div class="column">
+        <label class="column-title">{{=it[i].label}}:</label>
+        <div class="aui-list-item-input radioName" name="{{=it[i].name}}" data-info>
+          {{ for(var j=0;j<it[i].select.length;j++) { }}
+              <label><input class="aui-radio" type="radio" name="{{=it[i].name}}" value="{{=it[i].select[j]}}" onchange="radioFun(this)">{{=it[i].select[j]}}</label>
+          {{ } }}
+        </div>
+      </div>
+    {{?? it[i].type == 'checkbox'}}
+      <div class="column">
+        <label class="column-title">{{=it[i].label}}:</label>
+        <div class="aui-list-item-input checkboxName" name={{=it[i].name}} data-info>
+          {{ for(var j=0;j<it[i].select.length;j++) { }}
+              <label><input class="aui-checkbox" type="checkbox" name="{{=it[i].name}}" value="{{=it[i].select[j]}}" onchange="checkboxFun(this)">{{=it[i].select[j]}}</label>
+          {{ } }}
+        </div>
+      </div>
+    {{?? it[i].type == 'textarea'}}
+      <div class="column">
+          <label class="column-title">{{=it[i].label}}:</label>
+          <textarea name="{{=it[i].name}}" rows="8" cols="80" class="column-textarea font-s column-textarea1" placeholder="请输入{{=it[i].label}}"></textarea>
+      </div>
+    {{?? it[i].type == 'select'}}
+      <div class="column">
+          <label class="column-title">选择:</label>
+          <div class="aui-list-item-input1">
+              <select class="input-select font-s input-s" name="{{=it[i].name}}">
+                  <option value="">请选择</option>
+                  {{ for(var j=0;j<it[i].select.length;j++) { }}
+                      <option value="{{=it[i].select[j]}}">{{=it[i].select[j]}}</option>
+                  {{ } }}
+              </select>
+          </div>
+      </div>
+    {{?? it[i].type == 'images'}}
+      <div class="column">
+          <label class="column-title">{{=it[i].label}}:</label>
+          <div class="aui-row aui-row-padded uploadImg" data-info name="{{=it[i].name}}">
+              <div class="aui-col-xs-4 imgParent" onclick="actionSheetFun(this)" data-url='{{=it[i].url}}'>
+                  <img src="../../image/upload.png"/>
+              </div>
+          </div>
+      </div>
+    {{?? it[i].type == 'files'}}
+      <div class="column">
+          <label class="column-title">{{=it[i].label}}:</label>
+          <div class="aui-row aui-row-padded uploadFile" data-info name="{{=it[i].name}}">
+              <div class="aui-col-xs-4" onclick="browseFile()" data-url='{{=it[i].url}}'>
+                  <img src="../../image/upload.png"/>
+                  <input type="file">
+              </div>
+          </div>
+      </div>
+    {{?}}
+{{ } }}
+</script>
+<script type="text/template" id="templateApply">
+    <label class="column-title">固定审批流程:</label>
+    <div class="technological-process">
+      {{ for(var prop in it) { }}
+          <div class="col">
+              <div class="name_list">
+                {{ for (var j = 0;j<it[prop].length;j++) { }}
+                  <span class="name">{{=it[prop][j].name}}</span>
+                {{ } }}
+              </div>
+              <i class="ico-j"></i>
+          </div>
+      {{ } }}
+    </div>
+</script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/doT.min.js"></script>
+<script src="../../script/Hammer.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../script/config.js"></script>
+<script type="text/javascript">
+   var toast = new auiToast(),token;
+   var UIAlbumBrowser;
+   var i = 0;
+   var imgarr = [];
+   var id = ""
+    apiready = function(){
+      var info = $api.getStorage('data');
+      token = JSON.parse(info).data.access_token;
+      id = api.pageParam.id;
+      getApplyDe(api.pageParam.id,token);
+       UIAlbumBrowser = api.require('UIAlbumBrowser');
+    };
+    function getApplyDe(id,token) {
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      $http.fnReuestData(UrlRouter.getApplyD+id,headers,'get','',function (ret,err) {
+        toast.hide();
+        api.setTabLayoutAttr({
+            title: ret.data.title
+        });
+        console.log(JSON.stringify(ret));
+        $apis.append(column_row,'#template',ret.data.form);
+        $apis.append(technologicals,'#templateApply',ret.data.flow);
+      })
+    }
+    function approValPesonal() {
+      api.openFrame({
+          name: 'approvalPersonal',
+          bounces: false,
+          url: 'approvalPersonal.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
+          // }
+      });
+    }
+    // 上传图片
+    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){
+    //                     uploadHead(ret.data)
+    //                     headImg = ret.data;
+    //                 }
+    //             });
+    //         }
+    //     });
+    // }
+    function actionSheetFun(el) {
+        api.actionSheet({
+            title: '选择',
+            cancelTitle: '取消',
+            buttons: ['相机','相册']
+        }, function(ret, err) {
+            if (ret.buttonIndex !=3) {
+                var type = 'camera';
+                if(ret.buttonIndex == 1){
+                    type = 'camera';
+                    api.getPicture({
+                        sourceType: type
+                    }, function(ret, err){
+                        if(ret && ret.data!=""){
+                            uploadHead(el,ret.data);
+                        }
+                    });
+                }else {
+                    type = 'album';
+                    // 支持多图片上传,UIAlbumBrowser模块获取图片路径
+                    changeImageUrl(el)
+                }
+            }
+        });
+    }
+    // upload img
+    function uploadHead(el,imgUrl){
+        var uploadUrl = $api.attr(el, 'data-url');
+        toast.loading({
+            title: "上传中",
+            duration: 2000
+        });
+        console.log(imgarr,'imgarr1');
+        api.ajax({
+            url: urlphp+uploadUrl,
+            method: 'post',
+            headers : {
+                "Authorization": "Bearer " + token,
+            },
+            data: {
+                files: {
+                    image:imgUrl
+                }
+            }
+        },function(ret, err){
+            if (ret) {
+                toast.hide();
+                if(ret.code === 0){
+                  var data = JSON.stringify(ret.data)
+                  var html = `<div class="aui-col-xs-4 imgParent" data-imgData="${data}" onclick="delImg(this)">
+                               <img src="${ret.data.path}"/>
+                             </div>`;
+                   var getAttribute = el.parentNode.getAttribute('data-info');
+                   var dataInfo = getAttribute+',,'+JSON.stringify(ret.data)
+                   el.parentNode.setAttribute('data-info',dataInfo);
+                    $api.append(el.parentNode,html);
+                    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'
+                });
+            }
+        });
+
+    }
+    // radio
+    function radioFun(el) {
+        var value = el.value;
+        if(el.checked){
+            el.parentNode.parentNode.setAttribute('data-info',value);
+        }
+    }
+    // chexkbox
+    function checkboxFun(el) {
+      var value = el.value;
+      if(el.checked){
+          var getAttribute = el.parentNode.parentNode.getAttribute('data-info').split(',');
+          getAttribute.push(value);
+          el.parentNode.parentNode.setAttribute('data-info',getAttribute);
+      }else {
+          var getAttribute = el.parentNode.parentNode.getAttribute('data-info').split(',');
+          getAttribute.remove(value);
+        el.parentNode.parentNode.setAttribute('data-info',getAttribute);
+      }
+    }
+    // 选择图片库路径
+    function changeImageUrl(el) {
+      UIAlbumBrowser.imagePicker({
+        max: 9,
+        styles: {
+            bg: '#000000',
+            //cameraImg: 'widget://res/cameraImg.png',
+            mark: {
+                position: 'top_right',
+                size: 20
+            },
+            nav: {
+                bg: '#000000',
+                cancelColor: '#fff',
+                cancelSize: 16,
+                nextStepColor: '#7fff00',
+                nextStepSize: 16
+            },
+            thumbnail: { //(可选项)返回的缩略图配置,**建议本图片不要设置过大** 若已有缩略图,则使用已有的缩略图。若要重新生成缩略图,可先调用清除缓存接口api.clearCache()。
+                w: 100, //(可选项)数字类型;返回的缩略图的宽;默认:原图的宽度
+                h: 100 //(可选项)数字类型;返回的缩略图的宽;默认:原图的高度
+            }
+        },
+          animation: true,
+          }, function(ret) {
+              if (ret.eventType == 'nextStep') {
+                  if (ret.list && ret.list.length > 0) {
+                      imgarr = ret.list;
+                      UIAlbumBrowser_transPath(el);
+                  }
+                  UIAlbumBrowser.closePicker();
+              }
+              if (ret.originalPath && ret.originalPath.length > 0) {
+                  uploadHead(el,ret.originalPath)
+              }
+      });
+    }
+    // 转换缩略图路径 ios
+    function UIAlbumBrowser_transPath(el) {
+        UIAlbumBrowser.transPath({
+            path: imgarr[i].path
+        }, function(ret, err) {
+            if (ret) {
+                i++;
+                if (i < imgarr.length) {
+                    UIAlbumBrowser_transPath(el);
+                } else {
+                    i = 0;
+                }
+                uploadHead(el,ret.path)
+            }
+        });
+    }
+    // 长安删除图片或者文件
+    // var hammertime = new Hammer(document.getElementsByClassName('Longpress'));
+    // hammertime.on('press', function(ev) {
+    //     console.log(JSON.stringify(ev));
+    // });
+    // 上传文件
+   function uploadFile(el,fileUrl) {
+     var uploadUrl = $api.attr(el, 'data-url');
+     console.log(uploadUrl,'uploadUrl');
+     api.ajax({
+         url: urlphp+'api/worksheet/design/up_files',
+         method: 'post',
+         headers : {
+             "Authorization": "Bearer " + token,
+         },
+         data: {
+             files: {
+                 file:fileUrl
+             }
+         }
+     },function(ret, err){
+       console.log(JSON.stringify(ret));
+         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 browseFile(el) {
+      var fileBrowser = api.require('fileBrowser');
+      fileBrowser.skin({
+          skin:0,
+      });
+      fileBrowser.open(function(ret) {
+          if (ret) {
+              console.log(JSON.stringify(ret));
+              uploadFile(el,ret.url)
+              fileBrowser.close();
+          }
+      });
+      // var selectFile = api.require('selectFile');
+      //   selectFile.open(function(ret, err){
+      //       if(ret.status){
+      //         uploadFile(el,ret.path)
+      //           alert(JSON.stringify(ret.path));
+      //       }else{
+      //           alert('选择文件不存在');
+      //       }
+      //   });
+    }
+    // 提交工单信息
+    function submitInfo() {
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      var inputBoxArray= [],inputBoxObject = {id:id,otherFlow:[]},inputBox = $api.domAll('.inputBox'),inputSelect = $api.domAll('.input-select'),
+      checkboxName = document.querySelectorAll('.checkboxName'),radioName = $api.domAll('.radioName'),uploadImg = $api.domAll('.uploadImg'),columnTextarea = $api.domAll('.column-textarea');
+      // 文本框
+        for (var i = 0; i < inputBox.length;i++){
+            var key = $api.attr(inputBox[i],'name'), value = $api.val(inputBox[i]);
+            inputBoxObject[key] = value
+            // console.log(JSON.stringify(inputBoxObject));
+        }
+        // 文本域
+        for (var i = 0; i < columnTextarea.length;i++){
+            var key = $api.attr(columnTextarea[i],'name'), value = $api.val(columnTextarea[i]);
+            inputBoxObject[key] = value
+            // console.log(JSON.stringify(inputBoxObject));
+        }
+        // 下拉选择
+        for (var j = 0; j < inputSelect.length; j++) {
+          var key = $api.attr(inputSelect[j],'name'), value = $api.val(inputSelect[j]);
+          inputBoxObject[key] = value;
+        }
+        // 单选
+        for (var k = 0; k < radioName.length; k++) {
+          var val = $api.attr(radioName[k],'data-info'),key = $api.attr(radioName[k],'name');
+          inputBoxObject[key] = val;
+        }
+        // 多选
+        for (var t = 0; t < checkboxName.length; t++) {
+          var value =checkboxName[t].getAttribute('data-info'),key = checkboxName[t].getAttribute('name');
+            inputBoxObject[key] = value.split(',').slice(1).join(',');
+        }
+        // img
+        for (var i = 0; i < uploadImg.length; i++) {
+         var value = $api.attr(uploadImg[i],'data-info'),key = $api.attr(uploadImg[i],'name');
+         var imageArr = [];
+         for (var j = 0; j < value.split(',,').slice(1).length; j++) {
+             imageArr.push(value.split(',,').slice(1)[j])
+         }
+         inputBoxObject[key] = imageArr.join(',');
+       }
+      console.log(JSON.stringify(inputBoxObject));
+      $http.fnReuestDataJSON(UrlRouter.submitApply,headers,'post',inputBoxObject,function (ret,err) {
+          toast.hide()
+          if (ret.code === 0) {
+            api.toast({
+                msg: '提交成功',
+                duration: 2000,
+                location: 'top'
+            });
+          }
+          console.log(JSON.stringify(ret));
+          console.log(JSON.stringify(err));
+      })
+      // $event.openWin('myWordeOrder_win','myWordeOrder_win','','');
+    };
+    // 删除图片
+    function delImg(el) {
+      var Imgdata = el.getAttribute('data-imgData');
+      console.log(JSON.stringify(Imgdata))
+    }
+</script>
+</html>

+ 130 - 0
widget/html/wordorder/examineMy_win.html

@@ -0,0 +1,130 @@
+<!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;
+      }
+      .header-nav-items li{
+        color: #bdc3c7;
+      }
+      .header-nav-items .active{
+        color: #16a085;
+      }
+      .header-nav-items .active::after{
+        background: #16a085;
+      }
+    </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>
+          </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);
+    }
+    var eHeaderLis;
+    function funIniGroup(token){
+      var systemType = api.systemType,heightH;
+      if (systemType == 'ios') {
+        heightH = $api.dom('.api_nav').offsetHeight + 70;
+      }else if (systemType == 'android') {
+        heightH = $api.dom('.api_nav').offsetHeight + 74.5;
+      }
+        var frame1= {
+            name: 'stayExamine_frm',
+            url: 'stayExamine_frm.html',
+            bgColor: '#f2f2f2',
+            bounces: false,
+            pageParam: {
+                data: token
+            }
+        },
+            frame2={
+                name: 'alreadyExamine_frm',
+                url: 'alreadyExamine_frm.html',
+                bgColor: '#f2f2f2',
+                bounces: false,
+                pageParam: {
+                    data: token
+                }
+            };
+        frames = [frame1,frame2];
+        api.openFrameGroup({
+            name: 'group',
+            scrollEnabled: false,
+            rect: {
+                x: 0,
+                y: $api.dom('.api_nav').offsetHeight+$api.dom('header').offsetHeight,
+                w: api.winWidth,
+                h: $api.winHeight
+            },
+            index: 0,
+            frames: frames
+        }, function (ret, err) {
+            menuSelected(ret.index);
+        });
+    };
+    function menuSelected(index) {
+        eHeaderLis = $api.domAll('.header-nav-items li');
+        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.closeWin();
+    }
+</script>

+ 108 - 0
widget/html/wordorder/examine_frm.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/aui.css" />
+	<style>
+        .aui-card-list {
+            margin-bottom: 0;
+        }
+        .column{
+          border: 1px solid #eaeff3;
+          background: #fff;
+          padding: 10px;
+          border-radius: 5px;
+          margin-bottom:10px;
+        }
+        .column:last-child{
+          margin-bottom: 0;
+        }
+        .small_title{
+          font-size:12px;
+          color: #74b9e7;
+          display: block;
+          font-style: normal;
+        }
+        .content{
+          position: relative;
+          padding-bottom: 5px;
+          line-height: 1.6;
+        }
+        .content:after{
+          width: 100%;
+          content: "";
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          height: 1px;
+          background: #eaeff3;
+        }
+        .large_title{
+            margin: 10px 0;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            flex-wrap: wrap;
+        }
+        .col{
+            color: red;
+            font-size: 12px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: wrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .aui-padded-t-5{
+          padding-top: 10px!important;
+        }
+	</style>
+</head>
+<body>
+  <div class="api_layout">
+
+  </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/config.js"></script>
+<script type="text/javascript">
+    apiready = function(){
+
+    };
+    // function openChangeFill() {
+    //   $event.openTabLayout('changeFill','changefillword','填选工单','')
+    // }
+</script>
+</html>

+ 306 - 0
widget/html/wordorder/myWord_frm0.html

@@ -0,0 +1,306 @@
+<!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: #fff;
+        }
+        .api_layout{
+            width: 100%;
+            position: relative;
+            padding: 16px;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .column-list{
+            padding: 10px 13px;
+            border: 2px solid #f2f4fb;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            border-top:2px solid #00d983;
+            margin-bottom: 10px;
+        }
+        .column-list li:last-child{
+            margin-bottom: 0;
+        }
+        .header-img{
+            width: 50px;
+            height: 50px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            object-fit: cover;
+            margin-right: 10px;
+        }
+        .wordOrder-info span{
+            display: block;
+            font-size: 14px;
+            color: #002257;
+        }
+        .examine-status{
+            font-size: 12px;
+            font-style: normal;
+            color: #00d983;
+            position: absolute;
+            top: 5px;
+            right: 0;
+        }
+        .examine-process{
+            margin-top: 10px;
+        }
+        .column{
+            border: 1px solid #eaeff3;
+            background: #fff;
+            padding: 10px;
+            border-radius: 5px;
+        }
+        .small_title{
+            font-size:12px;
+            color: #74b9e7;
+            display: block;
+            font-style: normal;
+        }
+        .large_title{
+            margin: 10px 0;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            /* flex-wrap: wrap; */
+            white-space: nowrap;
+            overflow-x: scroll;
+            -webkit-overflow-scrolling: touch;
+        }
+        .col{
+            color: red;
+            font-size: 12px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: nowrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .examine-success{
+            background: #1abc9c;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <ul>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">已审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div style="text-align: right;margin-top: 15px">
+                 <div class="aui-btn aui-btn-success examine-success">审核</div>
+            </div>
+        </li>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">已审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </li>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">已审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </li>
+    </ul>
+</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 toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var token = api.pageParam.data;
+        var headers = {
+            "Authorization": "Bearer " + token
+        };
+    };
+
+</script>

+ 254 - 0
widget/html/wordorder/myWord_frm1.html

@@ -0,0 +1,254 @@
+<!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: #fff;
+        }
+        .api_layout{
+            width: 100%;
+            position: relative;
+            padding: 16px;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .column-list{
+            padding: 10px 13px;
+            border: 2px solid #f2f4fb;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            border-top:2px solid #00d983;
+            margin-bottom: 10px;
+        }
+        .column-list li:last-child{
+            margin-bottom: 0;
+        }
+        .header-img{
+            width: 50px;
+            height: 50px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            object-fit: cover;
+            margin-right: 10px;
+        }
+        .wordOrder-info span{
+            display: block;
+            font-size: 14px;
+            color: #002257;
+        }
+        .examine-status{
+            font-size: 12px;
+            font-style: normal;
+            color: #00d983;
+            position: absolute;
+            top: 5px;
+            right: 0;
+        }
+        .examine-process{
+            margin-top: 10px;
+        }
+        .column{
+            border: 1px solid #eaeff3;
+            background: #fff;
+            padding: 10px;
+            border-radius: 5px;
+        }
+        .small_title{
+            font-size:12px;
+            color: #74b9e7;
+            display: block;
+            font-style: normal;
+        }
+        .large_title{
+            margin: 10px 0;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            /* flex-wrap: wrap; */
+            white-space: nowrap;
+            overflow-x: scroll;
+            -webkit-overflow-scrolling: touch;
+        }
+        .col{
+            color: red;
+            font-size: 12px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: nowrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .examine-success{
+            background: #1abc9c;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <ul>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">待审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </li>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">待审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div style="text-align: right;margin-top: 15px">
+                 <div class="aui-btn aui-btn-success examine-success">查看</div>
+            </div>
+        </li>
+    </ul>
+</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 toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var token = api.pageParam.data;
+        var headers = {
+            "Authorization": "Bearer " + token
+        };
+    };
+
+</script>

+ 258 - 0
widget/html/wordorder/myWord_frm2.html

@@ -0,0 +1,258 @@
+<!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: #fff;
+        }
+        .api_layout{
+            width: 100%;
+            position: relative;
+            padding: 16px;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .column-list{
+            padding: 10px 13px;
+            border: 2px solid #f2f4fb;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            border-top:2px solid #00d983;
+            margin-bottom: 10px;
+        }
+        .column-list li:last-child{
+            margin-bottom: 0;
+        }
+        .header-img{
+            width: 50px;
+            height: 50px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            object-fit: cover;
+            margin-right: 10px;
+        }
+        .wordOrder-info span{
+            display: block;
+            font-size: 14px;
+            color: #002257;
+        }
+        .examine-status{
+            font-size: 12px;
+            font-style: normal;
+            color: #00d983;
+            position: absolute;
+            top: 5px;
+            right: 0;
+        }
+        .examine-process{
+            margin-top: 10px;
+        }
+        .column{
+            border: 1px solid #eaeff3;
+            background: #fff;
+            padding: 10px;
+            border-radius: 5px;
+        }
+        .small_title{
+            font-size:12px;
+            color: #74b9e7;
+            display: block;
+            font-style: normal;
+        }
+        .large_title{
+            margin: 10px 0;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            /* flex-wrap: wrap; */
+            white-space: nowrap;
+            overflow-x: scroll;
+            -webkit-overflow-scrolling: touch;
+        }
+        .col{
+            color: red;
+            font-size: 12px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: nowrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .examine-blue{
+            background: #3498db;
+        }
+        .examine-red{
+            background: #e74c3c;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <ul>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">被驳回</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </li>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">被驳回</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div style="text-align: right;margin-top: 15px">
+                 <div class="aui-btn aui-btn-info examine-blue">查看</div>
+                 <div class="aui-btn aui-btn-danger examine-red">编辑</div>
+            </div>
+        </li>
+    </ul>
+</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 toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var token = api.pageParam.data;
+        var headers = {
+            "Authorization": "Bearer " + token
+        };
+    };
+
+</script>

+ 251 - 0
widget/html/wordorder/myWord_frm3.html

@@ -0,0 +1,251 @@
+<!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: #fff;
+        }
+        .api_layout{
+            width: 100%;
+            position: relative;
+            padding: 16px;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .column-list{
+            padding: 10px 13px;
+            border: 2px solid #f2f4fb;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            border-top:2px solid #00d983;
+            margin-bottom: 10px;
+        }
+        .column-list li:last-child{
+            margin-bottom: 0;
+        }
+        .header-img{
+            width: 50px;
+            height: 50px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            object-fit: cover;
+            margin-right: 10px;
+        }
+        .wordOrder-info span{
+            display: block;
+            font-size: 14px;
+            color: #002257;
+        }
+        .examine-status{
+            font-size: 12px;
+            font-style: normal;
+            color: #00d983;
+            position: absolute;
+            top: 5px;
+            right: 0;
+        }
+        .examine-process{
+            margin-top: 10px;
+        }
+        .column{
+            border: 1px solid #eaeff3;
+            background: #fff;
+            padding: 10px;
+            border-radius: 5px;
+        }
+        .small_title{
+            font-size:12px;
+            color: #74b9e7;
+            display: block;
+            font-style: normal;
+        }
+        .large_title{
+            margin: 10px 0;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            /* flex-wrap: wrap; */
+            white-space: nowrap;
+            overflow-x: scroll;
+            -webkit-overflow-scrolling: touch;
+        }
+        .col{
+            color: red;
+            font-size: 12px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: nowrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .examine-success{
+            background: #1abc9c;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+    <ul>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">已审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </li>
+        <li class="column-list">
+            <div class="wordOrder-info relative">
+                <div class="img-title flex-start">
+                    <img src="../../image/demo.png" alt="" class="header-img">
+                    <div>
+                        <span>编号:3e3e</span>
+                        <span>2019-02-12</span>
+                    </div>
+                </div>
+                <i class="examine-status">已审核</i>
+            </div>
+            <div class="examine-process">
+                <div class="column">
+                    <i class="small_title">物资领用</i>
+                    <h2 class="large_title">机电设备领用</h2>
+                    <div class="technological-process">
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                        <div class="col">
+                            <div class="name_list">
+                                <span class="name">张三李四</span>
+                            </div>
+                            <i class="ico-j"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </li>
+    </ul>
+</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 toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var token = api.pageParam.data;
+        var headers = {
+            "Authorization": "Bearer " + token
+        };
+    };
+
+</script>

+ 130 - 0
widget/html/wordorder/myWordeOrder_win.html

@@ -0,0 +1,130 @@
+<!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;
+      }
+      .header-nav-items li{
+        color: #bdc3c7;
+      }
+      .header-nav-items .active{
+        color: #16a085;
+      }
+      .header-nav-items .active::after{
+        background: #16a085;
+      }
+    </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>
+              <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);
+    }
+    var eHeaderLis,frames;
+    function funIniGroup(token){
+      var systemType = api.systemType,heightH;
+      if (systemType == 'ios') {
+        heightH = $api.dom('.api_nav').offsetHeight + 70;
+      }else if (systemType == 'android') {
+        heightH = $api.dom('.api_nav').offsetHeight + 74.5;
+      }
+      eHeaderLis = $api.domAll('.header-nav-items li'),
+      frames = [];
+      for (var i = 0,len = eHeaderLis.length; i < len; i++) {
+          frames.push( {
+              name: 'myWord_frm'+i,
+              url: 'myWord_frm'+i+'.html',
+              bgColor : '#f2f2f2',
+              bounces:true,
+              pageParam:{
+                data:token
+              },
+          })
+      }
+        api.openFrameGroup({
+            name: 'group',
+            scrollEnabled: false,
+            rect: {
+                x: 0,
+                y: $api.dom('.api_nav').offsetHeight+$api.dom('header').offsetHeight,
+                w: api.winWidth,
+                h: $api.winHeight
+            },
+            index: 0,
+            frames: frames
+        }, function (ret, err) {
+            menuSelected(ret.index);
+        });
+    };
+    function menuSelected(index) {
+        eHeaderLis = $api.domAll('.header-nav-items li');
+        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.closeWin();
+    }
+</script>

+ 97 - 0
widget/html/wordorder/reject.html

@@ -0,0 +1,97 @@
+<!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" href="../../css/api.css">
+    <link rel="stylesheet" href="../../css/aui.css">
+    <link rel="stylesheet" type="text/css" href="../../css/projeck.css" />
+</head>
+<style type="text/css">
+    html,body{
+        background: transparent;
+        -webkit-touch-callout: none;
+        font-family: Tahoma, Geneva, sans-serif;
+        font-style: normal;
+        margin: 0;
+    }
+    .api_layout{
+        background-color: #fff;
+        position: absolute; margin: auto;
+        left: 0; right: 0; top: 0; bottom: 0;
+        width: 325px; height: 258px;
+        opacity: 1;
+        padding: 0 20px;
+        -webkit-box-sizing: border-box;
+        box-sizing: border-box;
+        -webkit-border-radius: 5px;
+        border-radius: 5px;
+        overflow: hidden;
+        padding-top: 106px;
+    }
+    .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;
+    }
+    .selectTitle{
+        padding: 15px 0;
+        margin-bottom: 15px;
+    }
+    .column-textarea{
+        border: 1px solid #97a3b4;
+        -webkit-border-radius: 5px;
+        -moz-border-radius: 5px;
+        border-radius: 5px;
+        padding: 10px;
+        height: 124px;
+        width: 100%;
+        -webkit-box-sizing: border-box;
+        box-sizing: border-box;
+    }
+    .column-textarea::placeholder{
+        font-size: 13px;
+        color: #97a3b4;
+    }
+    .examine-blue{
+        background: #3498db;
+    }
+    .h3{
+      font-size: 20px;
+    }
+    .api-icon-close{
+      position: absolute;
+      top: 13px;
+      right: -5px;
+      font-size: 24px;
+      font-weight: bold;
+    }
+</style>
+<body>
+<div class="api_layout">
+    <div class="api_box">
+        <div class="selectTitle after-border relative">
+            <h3 class="h3">驳回</h3>
+            <i class="aui-iconfont aui-icon-close api-icon-close" onclick="api.closeFrame()"></i>
+        </div>
+        <div style="padding:0 10px;">
+           <textarea name="name" rows="8" cols="80" class="column-textarea font-s" placeholder="简述内容"></textarea>
+        </div>
+        <div style="text-align: right;margin-top: 15px;padding-right:10px;">
+             <div class="aui-btn aui-btn-info examine-blue">提交</div>
+        </div>
+    </div>
+</div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/config.js"></script>
+</html>

+ 257 - 0
widget/html/wordorder/stayExamine_frm.html

@@ -0,0 +1,257 @@
+<!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: #fff;
+        }
+        .api_layout{
+            width: 100%;
+            position: relative;
+            padding: 16px;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+        }
+        .column-list{
+            padding: 10px 13px;
+            border: 2px solid #f2f4fb;
+            -webkit-box-sizing: border-box;
+            box-sizing: border-box;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            border-top:2px solid #00d983;
+            margin-bottom: 10px;
+        }
+        .column-list li:last-child{
+            margin-bottom: 0;
+        }
+        .header-img{
+            width: 50px;
+            height: 50px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            object-fit: cover;
+            margin-right: 10px;
+        }
+        .wordOrder-info span{
+            display: block;
+            font-size: 14px;
+            color: #002257;
+        }
+        .examine-status{
+            font-size: 12px;
+            font-style: normal;
+            color: #00d983;
+            position: absolute;
+            top: 5px;
+            right: 0;
+        }
+        .examine-process{
+            margin-top: 10px;
+        }
+        .column{
+            border: 1px solid #eaeff3;
+            background: #fff;
+            padding: 10px;
+            border-radius: 5px;
+        }
+        .small_title{
+            font-size:12px;
+            color: #74b9e7;
+            display: block;
+            font-style: normal;
+        }
+        .large_title{
+            margin: 10px 0;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            /* flex-wrap: wrap; */
+            white-space: nowrap;
+            overflow-x: scroll;
+            -webkit-overflow-scrolling: touch;
+        }
+        .col{
+            color: red;
+            font-size: 12px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: nowrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .examine-success{
+            background: #1abc9c;
+        }
+    </style>
+</head>
+<body>
+<div class="api_layout">
+   <ul>
+       <li class="column-list">
+           <div class="wordOrder-info relative">
+               <div class="img-title flex-start">
+                   <img src="../../image/demo.png" alt="" class="header-img">
+                   <div>
+                       <span>编号:3e3e</span>
+                       <span>2019-02-12</span>
+                   </div>
+               </div>
+               <i class="examine-status">正在审核</i>
+           </div>
+           <div class="examine-process">
+               <div class="column">
+                   <i class="small_title">物资领用</i>
+                   <h2 class="large_title">机电设备领用</h2>
+                   <div class="technological-process">
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                   </div>
+               </div>
+           </div>
+           <div style="text-align: right;margin-top: 15px">
+                <div class="aui-btn aui-btn-success examine-success">审核</div>
+           </div>
+       </li>
+       <li class="column-list">
+           <div class="wordOrder-info relative">
+               <div class="img-title flex-start">
+                   <img src="../../image/demo.png" alt="" class="header-img">
+                   <div>
+                       <span>编号:3e3e</span>
+                       <span>2019-02-12</span>
+                   </div>
+               </div>
+               <i class="examine-status">正在审核</i>
+           </div>
+           <div class="examine-process">
+               <div class="column">
+                   <i class="small_title">物资领用</i>
+                   <h2 class="large_title">机电设备领用</h2>
+                   <div class="technological-process">
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                       <div class="col">
+                           <div class="name_list">
+                               <span class="name">张三李四</span>
+                           </div>
+                           <i class="ico-j"></i>
+                       </div>
+                   </div>
+               </div>
+           </div>
+           <div style="text-align: right;margin-top: 15px">
+               <div class="aui-btn aui-btn-success examine-success">审核</div>
+           </div>
+       </li>
+   </ul>
+</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 toast = new auiToast();
+    apiready = function () {
+        $api.fixStatusBar($api.dom('header'));
+        var token = api.pageParam.data;
+        var headers = {
+            "Authorization": "Bearer " + token
+        };
+    };
+
+</script>

+ 172 - 0
widget/html/wordorder/wordOrderProcess.html

@@ -0,0 +1,172 @@
+<!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>端API</title>
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css" />
+    <link rel="stylesheet" href="../../css/projeck.css">
+    <style>
+        body{
+            line-height: normal;
+            background: #fff;
+        }
+        .aui-card-list-header{
+            padding: 0;
+            min-height: 0;
+        }
+        .aui-timeline .aui-timeline-item-label{
+            width: 20px;
+            height: 20px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            background: #fff;
+            display: flex;
+            align-content: center;
+            -webkit-box-shadow: 0 0 0 1px #ccc;
+            box-shadow: 0 0 8px 1px #ccc;
+            left: 0;
+        }
+        .aui-timeline .aui-timeline-item-label span{
+            display: block;
+            width: 10px;
+            height: 10px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            background: red;
+            margin: auto;
+        }
+        .aui-timeline:before{
+            left: 0.5rem;
+            width: 1px;
+        }
+        .aui-timeline .aui-timeline-item-inner{
+            margin-left: 1.7rem;
+        }
+        .status{
+            font-size: 16px;
+            color: #1a3969;
+        }
+        .on{
+            margin: 0 20px;
+            color: #c1c7ca;
+        }
+        .dep_name{
+            color: #0064ff;
+            font-size: 16px;
+        }
+        .time{
+            font-size: 12px;
+            color: #c1c7ca;
+            font-style: normal;
+            position: absolute;
+            top: 2px;
+            right: 0;
+        }
+        .content{
+            margin-top: 10px;
+        }
+        .content_title{
+            font-size: 14px;
+            color: #c1c7ca;
+            margin-bottom: 5px;
+            display: block;
+        }
+        .content_text{
+            padding: 10px;
+            border: 1px solid #ebf0f5;
+            border-left: 2px solid #0064ff;
+        }
+    </style>
+</head>
+<body>
+  <div class="aui-card-list">
+    <div class="aui-card-list-content-padded">
+        <div class="aui-timeline">
+            <div class="aui-timeline-item">
+                <div class="aui-timeline-item-label">
+                    <span></span>
+                </div>
+                <div class="aui-timeline-item-inner">
+                    <div class="aui-card-list">
+                        <div class="aui-card-list-header flex-start">
+                            <p class="status">同意</p>
+                            <span class="on">on</span>
+                            <p class="dep_name">采购部门-张三</p>
+                            <i class="time">1分钟前</i>
+                        </div>
+                        <div class="content">
+                            <span class="content_title">审批意见</span>
+                            <p class="content_text">就哦阿松啊就哦就哦哦睡觉啊搜啊哦哦睡觉的</p>
+                        </div>
+                    </div>
+                    <div style="text-align: right;">
+                        <div class="aui-btn aui-btn-success">再次编辑</div>
+                    </div>
+                </div>
+            </div>
+            <div class="aui-timeline-item">
+                <div class="aui-timeline-item-label">
+                    <span></span>
+                </div>
+                <div class="aui-timeline-item-inner">
+                    <div class="aui-card-list">
+                        <div class="aui-card-list-header flex-start">
+                            <p class="status">同意</p>
+                            <span class="on">on</span>
+                            <p class="dep_name">采购部门-张三</p>
+                            <i class="time">1分钟前</i>
+                        </div>
+                        <div class="content">
+                            <span class="content_title">审批意见</span>
+                            <p class="content_text">就哦阿松啊就哦就哦哦睡觉啊搜啊哦哦睡觉的</p>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="aui-timeline-item">
+                <div class="aui-timeline-item-label">
+                    <span style="background: #0064ff;"></span>
+                </div>
+                <div class="aui-timeline-item-inner">
+                    <div class="aui-card-list">
+                        <div class="aui-card-list-header flex-start">
+                            <p class="status">同意</p>
+                            <span class="on">on</span>
+                            <p class="dep_name">采购部门-张三</p>
+                            <i class="time">1分钟前</i>
+                        </div>
+                        <div class="content">
+                            <span class="content_title">审批意见</span>
+                            <p class="content_text">就哦阿松啊就哦就哦哦睡觉啊搜啊哦哦睡觉的</p>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="aui-timeline-item">
+                <div class="aui-timeline-item-label">
+                    <span></span>
+                </div>
+                <div class="aui-timeline-item-inner">
+                    <div class="aui-card-list">
+                        <div class="aui-card-list-header flex-start">
+                            <p class="status">同意</p>
+                            <span class="on">on</span>
+                            <p class="dep_name">采购部门-张三</p>
+                            <i class="time">1分钟前</i>
+                        </div>
+                        <div class="content">
+                            <span class="content_title">审批意见</span>
+                            <p class="content_text">就哦阿松啊就哦就哦哦睡觉啊搜啊哦哦睡觉的</p>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  </div>
+</body>
+</html>

+ 293 - 0
widget/html/wordorder/wordorderDetails.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/aui.css" />
+	<style>
+        body{
+          background: #fff;
+        }
+        .api_layout{
+            padding: 15px;
+        }
+        .column{
+            margin-bottom: 10px;
+        }
+        .aui-row{
+            border: 1px dashed #c8d2de;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            padding: 10px;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            flex-wrap: wrap;
+        }
+        .col{
+            color: red;
+            font-size: 14px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: wrap;
+            padding-right: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .technologicals{
+          margin-bottom: 20px;
+        }
+        .aui-list-item-input label{
+          font-size: 14px;
+          height: 21px;
+          display: inline-block;
+          line-height: 22px;
+          margin-right: 5px;
+        }
+        .aui-list-item-input label:last-child{
+          margin-right: 0;
+        }
+        .itmes li{
+          display: flex;
+          justify-content: space-between;
+          flex-wrap: nowrap;
+          padding: 10px 0;
+          position: relative;
+        }
+        .itmes li:after{
+          content: "";
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          height: 1px;
+          background: #ebeef3;
+          width: 100%;
+        }
+        .itmes p{
+          width: 50%;
+          color: #2c3e50;
+          font-size: 15px;
+        }
+        .itmes p:last-child{
+          text-align: right;
+          color: #3498db;
+        }
+        .column{
+          margin-top: 15px;
+        }
+        .column-title{
+          font-size: 15px;
+          color: #2c3e50;
+          margin-bottom: 5px;
+          display: block;
+        }
+        .header-img{
+            width: 50px;
+            height: 50px;
+            -webkit-border-radius: 50%;
+            -moz-border-radius: 50%;
+            border-radius: 50%;
+            object-fit: cover;
+            margin-right: 10px;
+        }
+        .img-title{
+          display: flex;
+          justify-content: flex-start;
+          flex-wrap: nowrap;
+        }
+        .personalInfo{
+          margin-bottom: 20px;
+        }
+        .personalInfo span{
+            display: block;
+            font-size: 14px;
+            color: #6c6f74;
+        }
+        .personalInfo span:first-child{
+            font-size: 18px;
+            color: #002257;
+        }
+        .examine-success{
+            background: #1abc9c;
+        }
+        .examine-red{
+            background: #e74c3c;
+        }
+	</style>
+</head>
+<body>
+  <div class="api_layout">
+    <div class="personalInfo">
+      <div class="img-title">
+          <img src="../../image/demo.png" alt="" class="header-img">
+          <div>
+              <span>张三</span>
+              <span>信息监测中心</span>
+          </div>
+      </div>
+    </div>
+    <ul class="itmes ">
+      <li>
+         <p>工单编号:</p>
+         <p>3E33123T</p>
+      </li>
+      <li>
+         <p>工单分类:</p>
+         <p>物资领用物资领用物资领用物资领用物资领用物资领用物资领用物资领用物资领用物资领用物资领用物资领用</p>
+      </li>
+    </ul>
+    <div class="column-row">
+      <div class="column">
+          <label class="column-title">图片:</label>
+          <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 class="column">
+          <label class="column-title">文件:</label>
+          <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="technologicals">
+       <label class="column-title">固定审批流程:</label>
+       <div class="technological-process">
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+                   <span class="name">张三</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+           <div class="col">
+               <div class="name_list">
+                   <span class="name">张三你</span>
+               </div>
+               <i class="ico-j"></i>
+           </div>
+       </div>
+    </div>
+    <div style="text-align: right;margin-top: 15px">
+         <div class="aui-btn aui-btn-danger examine-red" onclick="openReject()">驳回</div>
+         <div class="aui-btn aui-btn-success examine-success" onclick="openAdopt()">通过</div>
+    </div>
+  </div>
+</body>
+
+<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/config.js"></script>
+<script type="text/javascript">
+   var toast = new auiToast()
+    apiready = function(){
+      var info = $api.getStorage('data');
+      token = JSON.parse(info).data.access_token;
+      getApplyDe(api.pageParam.id,token)
+    };
+    function getApplyDe(id,token) {
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      $http.fnReuestData(UrlRouter.getApplyD+id,headers,'get','',function (ret,err) {
+        toast.hide();
+        console.log(JSON.stringify(ret));
+      })
+    }
+    // 通过
+    function openAdopt() {
+      api.openFrame({
+          name: 'adopt',
+          bounces: false,
+          url: 'adopt.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
+          // }
+      });
+    }
+    // 驳回
+    function openReject() {
+      api.openFrame({
+          name: 'reject',
+          bounces: false,
+          url: 'reject.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
+          // }
+      });
+    }
+</script>
+</html>

+ 168 - 0
widget/html/wordorder/wordorder_frm.html

@@ -0,0 +1,168 @@
+<!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/aui.css" />
+    <link rel="stylesheet" href="../../css/projeck.css">
+	<style>
+        .aui-card-list {
+            margin-bottom: 0;
+        }
+        .column{
+          border: 1px solid #eaeff3;
+          background: #fff;
+          padding: 10px;
+          border-radius: 5px;
+          margin-bottom:10px;
+        }
+        .column:last-child{
+          margin-bottom: 0;
+        }
+        .small_title{
+          font-size:12px;
+          color: #74b9e7;
+          display: block;
+          font-style: normal;
+        }
+        .content{
+          position: relative;
+          padding-bottom: 5px;
+          line-height: 1.6;
+        }
+        .content:after{
+          width: 100%;
+          content: "";
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          height: 1px;
+          background: #eaeff3;
+        }
+        .large_title{
+            margin: 10px 0;
+        }
+        .technological-process{
+            margin-top: 10px;
+            display: flex;
+            justify-content: flex-start;
+            /* flex-wrap: wrap; */
+            white-space: nowrap;
+            overflow-x: scroll;
+            -webkit-overflow-scrolling: touch;
+        }
+        .col{
+            color: red;
+            font-size: 12px;
+            display: inline-flex;
+            justify-content: space-between;
+            align-items: center;
+            flex-wrap: nowrap;
+            padding-right: 10px;
+            margin-bottom: 10px;
+            /*width: 25%;*/
+        }
+        .name{
+            border: 1px solid red;
+            display: block;
+            padding: 3px 6px;
+            -webkit-border-radius: 5px;
+            -moz-border-radius: 5px;
+            border-radius: 5px;
+            margin-bottom: 5px;
+        }
+        .name:last-child{
+            margin-bottom: 0;
+        }
+        .ico-j{
+            display: block;
+            width: 15px;
+            height: 15px;
+            background: url("../../image/Arrow.png") no-repeat;
+            background-size: contain;
+            margin-left: 10px;
+        }
+        .col:last-child{
+            padding-right: 0;
+        }
+        .col:last-child .ico-j{
+            display: none;
+        }
+        .aui-padded-t-5{
+          padding-top: 10px!important;
+        }
+	</style>
+</head>
+<body>
+    <section class="aui-content aui-padded-l-5 aui-padded-r-10 aui-padded-t-5" id="seeApply">
+
+    </section>
+    <div class="noText hide">
+      <img src="../../image/noText.png" alt="">
+    </div>
+</body>
+<script type="text/template" id="templateApply">
+    {{ for (var i = 0;i<it.length;i++) { }}
+        <div class="column" onclick="openChangeFill('{{=it[i].id}}')">
+              <i class="small_title">{{=it[i].classify_name}}</i>
+              <h2 class="large_title">{{=it[i].title}}</h2>
+              <p class="content">{{=it[i].introduce}}</p>
+              <div class="technological-process">
+                {{ for(var prop in it[i].flow) { }}
+                    <div class="col">
+                        <div class="name_list">
+                          {{ for (var j = 0;j<it[i].flow[prop].length;j++) { }}
+                            <span class="name">{{=it[i].flow[prop][j]}}</span>
+                          {{ } }}
+                        </div>
+                        <i class="ico-j"></i>
+                    </div>
+                {{ } }}
+              </div>
+        </div>
+    {{ } }}
+</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/config.js"></script>
+<script type="text/javascript">
+var toast = new auiToast()
+    apiready = function(){
+
+    };
+    // 可申请工单列表
+    function applyList(token,ids) {
+      var headers = {
+          "Authorization": "Bearer " + token
+      };
+      $http.fnReuestData(UrlRouter.applyList,headers,'post',{id:ids},function (ret,err) {
+        toast.hide()
+        console.log(JSON.stringify(ret));
+        if (ret && ret.code == 0) {
+            if (ret.data.length>0) {
+                $apis.html(seeApply,'#templateApply',ret.data);
+                $api.addCls($api.dom('.noText'), 'hide')
+            }else {
+                $apis.html(seeApply,'#templateApply',ret.data);
+                $api.removeCls($api.dom('.noText'), 'hide');
+            }
+          }else {
+           api.toast({
+               msg: '加载超时,请检查网络',
+               duration: 2000,
+               location: 'bottom'
+           });
+        }
+      })
+    }
+    // 填写工单
+    function openChangeFill(ids) {
+      var pageParam = {
+        id:ids
+      }
+      $event.openTabLayout('changeFill','changefillword','填选工单',pageParam)
+    }
+</script>
+</html>

+ 150 - 0
widget/html/wordorder/wordorder_win.html

@@ -0,0 +1,150 @@
+<!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">
+    <link rel="stylesheet" type="text/css" href="../../css/aui.css" />
+    <style type="text/css">
+        #classify-list {
+            width: 5.4rem;
+            height: 100%;
+            background-color: #ffffff;
+            overflow-x: hidden;
+        }
+        #classify-list .aui-list {
+            overflow-y: scroll;
+        }
+        .aui-list .aui-list-item-title {
+            font-size: 0.7rem;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+        .active{
+          background: #f5f5f5;
+        }
+        .active .aui-list-item-title{
+          color: #009fe8;
+        }
+        .active:after{
+          content: "";
+          position: absolute;
+          top: 0;
+          left: 0;
+          width: 3px;
+          height: 100%;
+          background: #009fe8;
+        }
+        .aui-list.aui-list-noborder .aui-list-item:last-child{
+          background-size: 100% 1px;
+          background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);
+          background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);
+        }
+    </style>
+</head>
+<body>
+    <header class="aui-bar aui-bar-nav" id="aui-header">
+        <a class="aui-btn aui-pull-left" onclick="closeWin()">
+            <span class="aui-iconfont aui-icon-left"></span>
+        </a>
+        <div class="aui-title">工单列表</div>
+    </header>
+    <section class="aui-content" id="classify-list">
+        <ul class="aui-list aui-list-noborder" id="wordOrderList_id">
+            <!-- <li class="aui-list-item" onclick="randomSwitchBtn(this,'{{=value.id}}')">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">信息监测中心</div>
+                </div>
+            </li>
+            <li class="aui-list-item" onclick="randomSwitchBtn(this,'{{=value.id}}')">
+                <div class="aui-list-item-inner">
+                    <div class="aui-list-item-title">信息监测中心</div>
+                </div>
+            </li> -->
+        </ul>
+    </section>
+</body>
+<script type="text/template" id="templateWord_List">
+    {{~it:value}}
+      <li class="aui-list-item" onclick="randomSwitchBtn(this,'{{=value.id}}')">
+          <div class="aui-list-item-inner">
+              <div class="aui-list-item-title">{{=value.title}}</div>
+          </div>
+      </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/config.js"></script>
+<script type="text/javascript">
+    var token;
+    var toast = new auiToast();
+    apiready = function(){
+        var header = $api.byId('aui-header');
+        $api.fixStatusBar(header);
+        var headerPos = $api.offset(header);
+        var body_h = $api.offset($api.dom('body')).h;
+        var classifyListH = $api.offset($api.byId('classify-list')).w;
+        document.getElementById("classify-list").style.height = api.winHeight-headerPos.h+"px";
+        api.openFrame({
+            name: 'worderorder_frm',
+            url: 'wordorder_frm.html',
+            bounces: true,
+            rect: {
+                x: classifyListH+5,
+                y: headerPos.h+1,
+                w: api.winWidth-classifyListH-5,
+                h: 'auto'
+            }
+        })
+        // 工单列表
+        var info = $api.getStorage('data');
+        token = JSON.parse(info).data.access_token;
+        var headers = {
+            "Authorization": "Bearer " + token
+        };
+        wordOrderList(headers);
+    };
+    // 关闭
+    function closeWin(){
+        api.closeWin();
+    }
+    // 随意切换分类
+    function randomSwitchBtn( tag ,id) {
+        seeApplyList(token,id)
+        if( tag == $api.dom('.aui-list  li.active') )return;
+        var eFootLis = $api.domAll('.aui-list  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');
+    }
+    // 工单列表
+    function wordOrderList(header) {
+      $http. fnReuestData(UrlRouter.wordOrderList,header,'get','',function (ret,err) {
+        if (ret.code === 0) {
+          // console.log(JSON.stringify(ret))
+          toast.hide();
+          $apis.html(wordOrderList_id,'#templateWord_List',ret.data);
+          console.log(ret.data[0].id);
+          seeApplyList(token,ret.data[0].id);
+        }
+      })
+    }
+    // 查看可申请工单列表
+    function seeApplyList(tokens,id) {
+      console.log(id,'id');
+      api.execScript({
+        name: 'wordorder_win',
+        frameName:'worderorder_frm',
+        script : 'applyList("'+tokens+'","'+id+'");'
+      })
+    }
+</script>
+</html>

BIN
widget/icon/a.png


BIN
widget/icon/d.png


BIN
widget/icon/g.png


+ 0 - 0
widget/icon/icon150x150.png


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio