louqian.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  8. <title>漏签说明</title>
  9. <link href="../../css/mui.min.css" rel="stylesheet" />
  10. <link href="../../css/OA-style.css" rel="stylesheet" />
  11. <link href="../../css/mui.picker.css" rel="stylesheet" />
  12. <link href="../../css/mui.picker.all.css" rel="stylesheet" />
  13. <link rel="stylesheet" type="text/css" href="../../css/mui.picker.min.css" />
  14. <style>
  15. /*跨webview需要手动指定位置*/
  16. /*.mui-plus header.mui-bar {display: none!important;}
  17. .mui-plus .mui-bar-nav~.mui-content {padding: 0!important;}
  18. .mui-plus .plus{display: inline;}
  19. .plus{display: none;}
  20. #topPopover {position: fixed;top: 16px;right: 6px;}
  21. #topPopover .mui-popover-arrow {left: auto;right: 6px;}
  22. p {text-indent: 22px;}
  23. span.mui-icon {font-size: 14px;color: #007aff;margin-left: -15px;padding-right: 10px;}*/
  24. /*.mui-popover {height: 80px;}
  25. .mui-content {margin-top: 10px;}*/
  26. </style>
  27. </head>
  28. <body>
  29. <header class="mui-bar mui-bar-nav" id="login">
  30. <a href="" class="mui-action-back back mui-pull-left"><img src="../../images/back.png"></a>
  31. <h1 class="mui-title" id="title">漏签说明</h1>
  32. <a id="menu" class="mui-action-menu mui-icon mui-pull-right" href="#topPopover"><img src="../../images/dd_search.png" style="width: 25px;margin-top: -2px;"></a>
  33. </header>
  34. <div class="mui-content">
  35. <div id="topPopover" class="mui-popover">
  36. <div class="mui-popover-arrow"></div>
  37. <div class="mui-scroll-wrapper">
  38. <div class="mui-scroll">
  39. <ul class="mui-table-view">
  40. <li class="mui-table-view-cell">
  41. <div class="mui-content-padded">
  42. <button id='demo6' class="btn mui-btn mui-btn-block" onclick="searchkstime()">
  43. <span id="ks_riqi">开始时间</span>
  44. </button>
  45. <button id='demo6' class="btn mui-btn mui-btn-block" onclick="searchjstime()">
  46. <span id="js_riqi">结束时间</span>
  47. </button>
  48. <div id='result' class="ui-alert"></div>
  49. </div>
  50. </li>
  51. <li class="mui-button-row">
  52. <button type="button" class="mui-btn mui-btn-primary" id="save">查找</button>&nbsp;&nbsp;
  53. <button type="button" class="mui-btn mui-btn-primary" id="saveall">查找全部</button>
  54. </li>
  55. </ul>
  56. </div>
  57. </div>
  58. </div>
  59. <div id="pullrefresh" class="mui-content mui-scroll-wrapper" style="">
  60. <div class="qd_div" v-for="item in items">
  61. <div class="qd_div1">
  62. <div class="qd_div2">{{item.att_date}} <span class="qd_span">{{item.att_user_name}}</span></div>
  63. </div>
  64. <div class="qd_div3">
  65. <div class="qd_div4">漏签情况:<span class="qd_span1">{{item.qingkuang}}</span></div>
  66. <div class="qd_div4">漏签原因:<span class="qd_span1">{{item.explain}}</span></div>
  67. </div>
  68. </div>
  69. <div></div>
  70. <!--右上角弹出菜单-->
  71. </div>
  72. </div>
  73. <script type="text/javascript" src="../../js/jquery-1.11.2.min.js"></script>
  74. <script src="../../js/mui.min.js"></script>
  75. <script src="../../js/config.js"></script>
  76. <script src="../../js/app.js"></script>
  77. <script src="../../js/dj/article/list.js"></script>
  78. <script src="../../js/vue.min.js"></script>
  79. <script src="../../js/mui.picker.min.js"></script>
  80. <script>
  81. //选取开始时间
  82. function searchkstime() {
  83. var dDate = new Date();
  84. dDate.setFullYear(2014, 7, 16);
  85. var minDate = new Date();
  86. minDate.setFullYear(2010, 0, 1);
  87. var maxDate = new Date();
  88. maxDate.setFullYear(2016, 11, 31);
  89. plus.nativeUI.pickDate(function(e) {
  90. var d = e.date;
  91. var month=d.getMonth() + 1;
  92. if(month < 10){
  93. month= "0"+ month;
  94. }
  95. var day=d.getDate();
  96. if(day < 10){
  97. day= "0"+ day;
  98. }
  99. var a = d.getFullYear() + "-" + month + "-" + day;
  100. document.getElementById("ks_riqi").innerHTML=a;
  101. }, {
  102. title: "请选择日期",
  103. date: dDate,
  104. minDate: minDate,
  105. maxDate: maxDate
  106. });
  107. }
  108. //选取结束时间
  109. function searchjstime() {
  110. var dDate = new Date();
  111. dDate.setFullYear(2014, 7, 16);
  112. var minDate = new Date();
  113. minDate.setFullYear(2010, 0, 1);
  114. var maxDate = new Date();
  115. maxDate.setFullYear(2016, 11, 31);
  116. plus.nativeUI.pickDate(function(e) {
  117. var d = e.date;
  118. var month=d.getMonth() + 1;
  119. if(month < 10){
  120. month= "0"+ month;
  121. }
  122. var day=d.getDate();
  123. if(day < 10){
  124. day= "0"+ day;
  125. }
  126. var a = d.getFullYear() + "-" + month + "-" + day;
  127. document.getElementById("js_riqi").innerHTML=a;
  128. }, {
  129. title: "请选择日期",
  130. date: dDate,
  131. minDate: minDate,
  132. maxDate: maxDate
  133. });
  134. }
  135. // mui.init({
  136. // swipeBack: true //启用右滑关闭功能
  137. // });
  138. // mui('.mui-scroll-wrapper').scroll();
  139. // mui('body').on('shown', '.mui-popover', function(e) {
  140. // //console.log('shown', e.detail.id);//detail为当前popover元素
  141. // });
  142. // mui('body').on('hidden', '.mui-popover', function(e) {
  143. // //console.log('hidden', e.detail.id);//detail为当前popover元素
  144. // });
  145. var pageDetail = null;
  146. mui.init({
  147. pullRefresh: {
  148. container: '#pullrefresh',
  149. down: {
  150. style: 'circle', //必选,下拉刷新样式,目前支持原生5+ ‘circle’ 样式
  151. color: '#2BD009', //可选,默认“#2BD009” 下拉刷新控件颜色
  152. height: '50px', //可选,默认50px.下拉刷新控件的高度,
  153. range: '100px', //可选 默认100px,控件可下拉拖拽的范围
  154. offset: '0px', //可选 默认0px,下拉刷新控件的起始位置
  155. // auto: true, //可选,默认false.首次加载自动上拉刷新一次
  156. callback: reloadNews //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
  157. },
  158. up: {
  159. contentrefresh: '正在加载...',
  160. auto: true, //可选,默认false.自动上拉加载一次
  161. callback: pullupRefresh
  162. }
  163. }
  164. });
  165. var vmA = new Vue({
  166. el: '#pullrefresh',
  167. data: {
  168. items: [] //列表信息流数据
  169. }
  170. });
  171. /**
  172. * 下拉刷新具体业务实现
  173. */
  174. function reloadNews() {
  175. pageNo = 1;
  176. vmA.items = [];
  177. // var table = document.body.querySelector('.mui-table-view');
  178. // table.innerHTML = "";
  179. addData();
  180. }
  181. var pageNo = 1;
  182. //var type = 0;
  183. /**
  184. * 上拉加载具体业务实现
  185. */
  186. function pullupRefresh() {
  187. addData();
  188. }
  189. function addData() {
  190. var url = API.API_URL();
  191. var serviceId = "hr_2018V01GetMyLQAttendance";
  192. var state = app.getState(); //获取登陆信息
  193. //var universalid=id;
  194. var staffId = state.user.useId;
  195. var att_time=null;
  196. var ks_att_time=null;
  197. var js_att_time=null;
  198. var obj = {
  199. /*unitId: unitId,
  200. userId: staffId,
  201. notice_title: notice_title,*/
  202. att_time: att_time,
  203. ks_att_time: ks_att_time,
  204. js_att_time: js_att_time,
  205. universalid:staffId,
  206. pSize: APP.PageSize,
  207. p: pageNo
  208. };
  209. app.ajax(serviceId,obj, function(data) {
  210. //服务器返回响应
  211. console.log(JSON.stringify(data))
  212. var result = data.returnParams;
  213. var totalRow = data.total;
  214. var totalPage = data.current;
  215. var list = data.list;
  216. console.log(list.length);
  217. if(list.length > 0) {
  218. vmA.items = vmA.items.concat(convert(list));
  219. }
  220. pageNo = endPull(totalPage, pageNo);
  221. });
  222. }
  223. /**
  224. * 1、将服务端返回数据,转换成前端需要的格式
  225. * 2、若服务端返回格式和前端所需格式相同,则不需要改功能
  226. *
  227. * @param {Array} items
  228. */
  229. function convert(items) {
  230. var newItems = [];
  231. items.forEach(function(item) {
  232. //var time=item.att_time.substring(11,21);
  233. var qingkuang;
  234. if(item.att_type_id == '5'){
  235. qingkuang = '未签到'
  236. }
  237. if(item.att_type_id == '6'){
  238. qingkuang = '未签退'
  239. }
  240. newItems.push({
  241. record_id:item.record_id,
  242. universalid: item.universalid,
  243. att_user_name: item.att_user_name,
  244. explain: item.explain,
  245. att_date: item.att_date,
  246. qingkuang:qingkuang,
  247. });
  248. });
  249. return newItems;
  250. }
  251. mui.plusReady(function() {
  252. // addData();
  253. //
  254. // var self = plus.webview.currentWebview();
  255. // type = self.type;
  256. // var title1 = mui('#title');
  257. // title1[0].innerHTML = self.name;
  258. //
  259. // //接收上个界面传递的参数
  260. // window.addEventListener('listEvent', function(event) {
  261. // location.reload();
  262. // });
  263. //
  264. });
  265. window.addEventListener('refresh', function(e){//执行刷新
  266. location.reload();
  267. });
  268. //点击右上角搜索显示隐藏层
  269. document.getElementById("menu").addEventListener('tap',function(){
  270. var state=document.getElementById('topPopover').style.display;
  271. if(state == 'none'){
  272. document.getElementById('topPopover').style.display="";
  273. }else{
  274. document.getElementById('topPopover').style.display='none';
  275. }
  276. })
  277. //时间搜索
  278. document.getElementById("save").addEventListener('click',function(){
  279. var url = API.API_URL();
  280. var serviceId = "hr_2018V01GetMyLQAttendance";
  281. var state = app.getState(); //获取登陆信息
  282. //var universalid=id;
  283. var staffId = state.user.useId;
  284. var ks_att_time=document.getElementById("ks_riqi").innerHTML;
  285. if(ks_att_time == null || ks_att_time == ""){
  286. ks_att_time = null;
  287. }
  288. var js_att_time=document.getElementById("js_riqi").innerHTML;
  289. if(js_att_time == null || js_att_time == ""){
  290. js_att_time = null;
  291. }
  292. var att_time=null;
  293. var obj = {
  294. universalid:staffId,
  295. ks_att_time: ks_att_time,
  296. js_att_time: js_att_time,
  297. att_time: att_time,
  298. pSize: APP.PageSize,
  299. p: pageNo
  300. };
  301. app.ajax(serviceId,obj, function(data) {
  302. //服务器返回响应
  303. console.log(JSON.stringify(data))
  304. mui.toast("查找成功");
  305. var result = data.returnParams;
  306. var totalRow = data.total;
  307. var totalPage = data.current;
  308. var list = data.list;
  309. console.log(list.length);
  310. vmA.items = [];
  311. if(list.length > 0) {
  312. vmA.items = vmA.items.concat(convert(list));
  313. }
  314. pageNo = endPull(totalPage, pageNo);
  315. });
  316. });
  317. //查找全部
  318. document.getElementById("saveall").addEventListener('click',function(){
  319. vmA.items = [];
  320. var url = API.API_URL();
  321. var serviceId = "hr_2018V01GetMyLQAttendance";
  322. var state = app.getState(); //获取登陆信息
  323. //var universalid=id;
  324. var staffId = state.user.useId;
  325. var att_time=null;
  326. var ks_att_time=null;
  327. var js_att_time=null;
  328. var obj = {
  329. /*unitId: unitId,
  330. userId: staffId,
  331. notice_title: notice_title,*/
  332. att_time: att_time,
  333. ks_att_time: ks_att_time,
  334. js_att_time: js_att_time,
  335. universalid:staffId,
  336. pSize: APP.PageSize,
  337. p: 1
  338. };
  339. app.ajax(serviceId,obj, function(data) {
  340. //服务器返回响应
  341. console.log(JSON.stringify(data))
  342. var result = data.returnParams;
  343. var totalRow = data.total;
  344. var totalPage = data.current;
  345. var list = data.list;
  346. console.log(list.length);
  347. if(list.length > 0) {
  348. vmA.items = vmA.items.concat(convert(list));
  349. }
  350. pageNo = endPull(totalPage, pageNo);
  351. });
  352. });
  353. </script>
  354. </body>
  355. </html>