myBooks.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552
  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. <style>
  12. html,
  13. body {
  14. background-color: #efeff4;
  15. }
  16. .mui-card .mui-control-content {
  17. padding: 10px;
  18. }
  19. .mui-control-content {
  20. height: 800px;
  21. }
  22. .mui-segmented-control .mui-control-item.mui-active {
  23. background-color: #468CF0;
  24. }
  25. .mui-segmented-control {
  26. border: 1px solid #468CF0;
  27. }
  28. .mui-segmented-control .mui-control-item {
  29. border-left: 1px solid #468CF0;
  30. color: #468CF0;
  31. }
  32. .mui-bar~.mui-content .mui-fullscreen {
  33. top: 44px;
  34. height: auto;
  35. }
  36. .mui-pull-top-tips {
  37. position: absolute;
  38. top: -20px;
  39. left: 50%;
  40. margin-left: -25px;
  41. width: 40px;
  42. height: 40px;
  43. border-radius: 100%;
  44. z-index: 1;
  45. }
  46. .mui-bar~.mui-pull-top-tips {
  47. top: 24px;
  48. }
  49. .mui-pull-top-wrapper {
  50. width: 42px;
  51. height: 42px;
  52. display: block;
  53. text-align: center;
  54. background-color: #efeff4;
  55. border: 1px solid #ddd;
  56. border-radius: 25px;
  57. background-clip: padding-box;
  58. box-shadow: 0 4px 10px #bbb;
  59. overflow: hidden;
  60. }
  61. .mui-pull-top-tips.mui-transitioning {
  62. -webkit-transition-duration: 200ms;
  63. transition-duration: 200ms;
  64. }
  65. .mui-pull-top-tips .mui-pull-loading {
  66. /*-webkit-backface-visibility: hidden;
  67. -webkit-transition-duration: 400ms;
  68. transition-duration: 400ms;*/
  69. margin: 0;
  70. }
  71. .mui-pull-top-wrapper .mui-icon,
  72. .mui-pull-top-wrapper .mui-spinner {
  73. margin-top: 7px;
  74. }
  75. .mui-pull-top-wrapper .mui-icon.mui-reverse {
  76. /*-webkit-transform: rotate(180deg) translateZ(0);*/
  77. }
  78. .mui-pull-bottom-tips {
  79. text-align: center;
  80. background-color: #efeff4;
  81. font-size: 15px;
  82. line-height: 40px;
  83. color: #777;
  84. }
  85. /*我的图书界面样式*/
  86. .mybk_shucolor {
  87. color: #3b688a;
  88. }
  89. .img {
  90. margin-top: 10px;
  91. width: 30%;
  92. float: left;
  93. }
  94. .mybk_div {
  95. float: left;
  96. width: 40%;
  97. margin-left: 15px;
  98. margin-top: 10px;
  99. font-size: 12px;
  100. color: #a5a5a5
  101. }
  102. .mybk_div1 {
  103. float: left;
  104. width: 30%;
  105. margin-top: 10px;
  106. font-size: 12px;
  107. color: #a5a5a5
  108. }
  109. .mui-pull-top-canvas {
  110. overflow: hidden;
  111. background-color: #fafafa;
  112. border-radius: 40px;
  113. box-shadow: 0 4px 10px #bbb;
  114. width: 40px;
  115. height: 40px;
  116. margin: 0 auto;
  117. }
  118. .mui-pull-top-canvas canvas {
  119. width: 40px;
  120. }
  121. .mui-slider-indicator.mui-segmented-control {
  122. background-color: #efeff4;
  123. }
  124. .mui-slider .mui-slider-group .mui-slider-item img {
  125. height: auto;
  126. width: 50px;
  127. }
  128. </style>
  129. </head>
  130. <body>
  131. <header class="mui-bar mui-bar-nav ">
  132. <a class="mui-action-back back mui-pull-left"><img src="../../images/back.png"></a>
  133. <h1 id="title" class="mui-title">我的图书</h1>
  134. </header>
  135. <div class="mui-content">
  136. <div id="slider" class="mui-slider mui-fullscreen">
  137. <div style="padding: 5px;">
  138. <div class="mui-segmented-control" id="segmentedControl">
  139. <a id="allBook" class="mui-control-item mui-active" href="#allBookPage">
  140. 全部
  141. </a>
  142. <a id="borrowBook" class="mui-control-item" href="#borrowBookPage">
  143. 已借
  144. </a>
  145. <a id="returnBook" class="mui-control-item" href="#returnBookPage">
  146. 归还
  147. </a>
  148. </div>
  149. </div>
  150. <div class="mui-slider-group">
  151. <div id="allBookPage" class="mui-slider-item mui-control-content mui-active">
  152. <div id="scroll1" class="mui-scroll-wrapper">
  153. <div class="mui-scroll" id="allBookList">
  154. <ul class="mui-table-view" id="all">
  155. <li class="mui-table-view-cell" v-for="itemA in itemAs" @tap="open_detailA(itemA)" >
  156. <div class="mybk_shucolor" ><b>{{itemA.appliance_bookname}}</b></div>
  157. <img src="../../images/borrybook.png" class="mybk_img">
  158. <div class="mybk_div" style="margin-left: 10%;">
  159. <p>借阅时间:{{itemA.appliance_info_borrowtime.substring(0,10)}}</p>
  160. <p>归还时间:{{itemA.appliance_info_returntime.substring(0,10)}}</p>
  161. <template >
  162. <p v-if="itemA.borrowDay>0">借阅剩余天数:{{itemA.borrowDay}}天</p>
  163. <p v-else-if="itemA.day >= 0">归还状态:正常</p>
  164. <p v-else style="color: red;">归还状态:超时</p>
  165. </template>
  166. </div>
  167. </li>
  168. </ul>
  169. </div>
  170. </div>
  171. </div>
  172. <div id="borrowBookPage" class="mui-slider-item mui-control-content ">
  173. <div class="mui-scroll-wrapper">
  174. <div class="mui-scroll" id="borrowBookList">
  175. <ul class="mui-table-view" id="borrow">
  176. <li class="mui-table-view-cell" v-for="itemB in itemBs" @tap="open_detailA(itemB)">
  177. <div class="mybk_shucolor"><b>{{itemB.appliance_bookname}}</b></div>
  178. <img src="../../images/borrybook.png" class="mybk_img">
  179. <div class="mybk_div" style="margin-left: 10%;">
  180. <p>借阅时间:{{itemB.appliance_info_borrowtime.substring(0,10)}}</p>
  181. <p>归还时间:{{itemB.appliance_info_returntime.substring(0,10)}}</p>
  182. <template >
  183. <p v-if="itemB.borrowDay>0" >借阅剩余天数:{{itemB.borrowDay}}天</p>
  184. <p v-else-if="itemB.day >= 0" >归还状态:正常</p>
  185. <p v-else style="color: red;" >归还状态:超时</p>
  186. </template>
  187. </div>
  188. </li>
  189. </ul>
  190. </div>
  191. </div>
  192. </div>
  193. <div id="returnBookPage" class="mui-slider-item mui-control-content ">
  194. <div class="mui-scroll-wrapper">
  195. <div class="mui-scroll" id="returnBookList">
  196. <ul class="mui-table-view" id="return">
  197. <li class="mui-table-view-cell" v-for="itemC in itemCs" @tap="open_detailA(itemC)">
  198. <div class="mybk_shucolor"><b>{{itemC.appliance_bookname}}</b></div>
  199. <img src="../../images/borrybook.png" class="mybk_img">
  200. <div class="mybk_div" style="margin-left: 10%;">
  201. <p>借阅时间:{{itemC.appliance_info_borrowtime.substring(0,10)}}</p>
  202. <p>归还时间:{{itemC.appliance_info_returntime.substring(0,10)}}</p>
  203. <template >
  204. <p v-if="itemC.borrowDay>0">借阅剩余天数:{{itemC.borrowDay}}天</p>
  205. <p v-else-if="itemC.day >= 0">归还状态:正常</p>
  206. <p v-else style="color: red;">归还状态:超时</p>
  207. </template>
  208. </div>
  209. </li>
  210. </ul>
  211. </div>
  212. </div>
  213. </div>
  214. </div>
  215. </div>
  216. </div>
  217. <script type="text/javascript" src="../../js/jquery-1.11.2.min.js"></script>
  218. <script src="../../js/mui.min.js"></script>
  219. <script src="../../js/config.js"></script>
  220. <script src="../../js/app.js"></script>
  221. <script src="../../js/mui.pullToRefresh.js"></script>
  222. <script src="../../js/mui.pullToRefresh.material.js"></script>
  223. <script src="../../js/vue.min.js"></script>
  224. <script>
  225. mui.init();
  226. //初始化单页的区域滚动
  227. mui('.mui-scroll-wrapper').scroll();
  228. var pageNo = 1;
  229. var pageNo2 = 1;
  230. var pageNo3 = 1;
  231. (function($) {
  232. var segmentedControl = document.getElementById('segmentedControl22');
  233. $('.mui-input-group').on('change', 'input', function() {
  234. if(this.checked) {
  235. var styleEl = document.querySelector('input[name="style"]:checked');
  236. console.log(styleEl);
  237. var colorEl = document.querySelector('input[name="color"]:checked');
  238. if(styleEl && colorEl) {
  239. var style = styleEl.value;
  240. var color = colorEl.value;
  241. segmentedControl.className = 'mui-segmented-control' + (style ? (' mui-segmented-control-' + style) : '') + ' mui-segmented-control-' + color;
  242. }
  243. }
  244. });
  245. //阻尼系数
  246. var deceleration = mui.os.ios ? 0.003 : 0.0009;
  247. $('.mui-scroll-wrapper').scroll({
  248. bounce: false,
  249. indicators: true, //是否显示滚动条
  250. deceleration: deceleration
  251. });
  252. var allBook;
  253. var returnBook;
  254. var borrowBook;
  255. mui.plusReady(function() {
  256. var self1 = plus.webview.currentWebview();
  257. var zx = self1.zxid;
  258. var ph = self1.phid;
  259. var at = self1.atid;
  260. var zxfirst = true;
  261. var phfirst = true;
  262. var borrowBook = true;
  263. allBook = document.getElementById("allBook");
  264. returnBook = document.getElementById("returnBook");
  265. borrowBook = document.getElementById("borrowBook");
  266. //循环初始化所有下拉刷新,上拉加载。
  267. $.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
  268. $(pullRefreshEl).pullToRefresh({
  269. down: {
  270. callback: function() {
  271. var self = this;
  272. setTimeout(function() {
  273. var ul = self.element.querySelector('.mui-table-view');
  274. createFragmentB(ul, self);
  275. self.endPullDownToRefresh();
  276. }, 1000);
  277. }
  278. },
  279. up: {
  280. contentrefresh: '正在加载...',
  281. auto: true, //可选,默认false.自动上拉加载一次
  282. callback: function() {
  283. var self = this;
  284. setTimeout(function() {
  285. var ul = self.element.querySelector('.mui-table-view');
  286. createFragment(ul, self);
  287. self.endPullUpToRefresh();
  288. }, 1000);
  289. }
  290. }
  291. });
  292. });
  293. var createFragment = function(ul, self) {
  294. var dataType = self.element.id;
  295. if("allBookList" == dataType) {
  296. allBookList(ul, self);
  297. } else if("borrowBookList" == dataType) {
  298. borrowBookList(ul, self);
  299. } else if("returnBookList" == dataType) {
  300. returnBookList(ul, self);
  301. }
  302. }
  303. //下拉菜单
  304. var createFragmentB = function(ul, self) {
  305. var dataType = self.element.id;
  306. if("allBookList" == dataType) {
  307. pageNo = 1;
  308. vmA.itemAs = [];
  309. allBookList(ul, self);
  310. } else if("borrowBookList" == dataType) {
  311. pageNo2 = 1;
  312. vmB.itemBs = [];
  313. borrowBookList(ul, self);
  314. } else if("returnBookList" == dataType) {
  315. pageNo3 = 1;
  316. vmC.itemCs = [];
  317. returnBookList(ul, self);
  318. }
  319. }
  320. //全部图书
  321. function allBookList(ul, self) {
  322. var url = API.API_URL();
  323. var state = app.getState(); //获取登陆信息
  324. var staffId = state.user.useId;
  325. var obj = {
  326. 'serviceId': 'oa_PHONE_myBooksList',
  327. 'params': '{currentUser:' + staffId + ',p:"' + pageNo + '",pSize:"' + APP.PageSize + '",type:"' + self.element.id + '"}'
  328. };
  329. mui.ajax(url, {
  330. dataType: 'json', //服务器返回json格式数据
  331. type: 'post', //HTTP请求类型
  332. data: obj,
  333. timeout: 10000, //超时时间设置为10秒;
  334. headers: {
  335. 'Accept': 'application/json'
  336. },
  337. success: function(data) {
  338. if(data.returnCode == "0") {
  339. var totalRow = data.returnParams.total;
  340. var totalPage = Math.ceil(totalRow / APP.PageSize);
  341. if(totalPage == 0) {
  342. totalPage = 1;
  343. }
  344. console.log("全部********totalPage***" + JSON.stringify(data));
  345. var result = data.returnParams.list;
  346. if(result.length > 0) {
  347. vmA.itemAs = vmA.itemAs.concat(result);
  348. }
  349. self.endPullUpToRefresh(totalPage == pageNo); //参数为true代表没有更多数据了。
  350. if(pageNo == 1 && totalPage > 1)
  351. self.refresh(true); //调用.refresh(true)方法,可重置上拉加载控件,注意:refresh()中需传入true
  352. pageNo = pageNo + 1;
  353. }
  354. },
  355. error: function(xhr, type, errorThrown) {}
  356. });
  357. }
  358. //已借图书
  359. function borrowBookList(ul, self) {
  360. var url = API.API_URL();
  361. var state = app.getState(); //获取登陆信息
  362. var staffId = state.user.useId;
  363. var obj = {
  364. 'serviceId': 'oa_PHONE_myBooksList',
  365. 'params': '{currentUser:' + staffId + ',p:"' + pageNo2 + '",pSize:"' + APP.PageSize + '",type:"' + self.element.id + '"}'
  366. };
  367. mui.ajax(url, {
  368. dataType: 'json', //服务器返回json格式数据
  369. type: 'post', //HTTP请求类型
  370. data: obj,
  371. timeout: 10000, //超时时间设置为10秒;
  372. headers: {
  373. 'Accept': 'application/json'
  374. },
  375. success: function(data) {
  376. if(data.returnCode == "0") {
  377. var totalRow = data.returnParams.total;
  378. var totalPage = Math.ceil(totalRow / APP.PageSize);
  379. if(totalPage == 0) {
  380. totalPage = 1;
  381. }
  382. console.log("已借********totalPage***" + totalPage);
  383. var result = data.returnParams.list;
  384. if(result.length > 0) {
  385. vmB.itemBs = vmB.itemBs.concat(result);
  386. }
  387. self.endPullUpToRefresh(totalPage == pageNo2); //参数为true代表没有更多数据了。
  388. if(pageNo2 == 1 && totalPage > 1)
  389. self.refresh(true); //调用.refresh(true)方法,可重置上拉加载控件,注意:refresh()中需传入true
  390. pageNo2 = pageNo2 + 1;
  391. }
  392. },
  393. error: function(xhr, type, errorThrown) {}
  394. });
  395. }
  396. //归还图书
  397. function returnBookList(ul, self) {
  398. var url = API.API_URL();
  399. var state = app.getState(); //获取登陆信息
  400. var staffId = state.user.useId;
  401. var obj = {
  402. 'serviceId': 'oa_PHONE_myBooksList',
  403. 'params': '{currentUser:' + staffId + ',p:"' + pageNo3 + '",pSize:"' + APP.PageSize + '",type:"' + self.element.id + '"}'
  404. };
  405. mui.ajax(url, {
  406. dataType: 'json', //服务器返回json格式数据
  407. type: 'post', //HTTP请求类型
  408. data: obj,
  409. timeout: 10000, //超时时间设置为10秒;
  410. headers: {
  411. 'Accept': 'application/json'
  412. },
  413. success: function(data) {
  414. if(data.returnCode == "0") {
  415. var totalRow = data.returnParams.total;
  416. var totalPage = Math.ceil(totalRow / APP.PageSize);
  417. if(totalPage == 0) {
  418. totalPage = 1;
  419. }
  420. console.log("归还********totalPage***" + totalPage);
  421. var result = data.returnParams.list;
  422. if(result.length > 0) {
  423. vmC.itemCs = vmC.itemCs.concat(result);
  424. }
  425. self.endPullUpToRefresh(totalPage == pageNo3); //参数为true代表没有更多数据了。
  426. console.log("归还********pageNo3***" + pageNo3);
  427. if(pageNo3 == 1 && totalPage > 1)
  428. self.refresh(true); //调用.refresh(true)方法,可重置上拉加载控件,注意:refresh()中需传入true
  429. pageNo3 = pageNo3 + 1;
  430. }
  431. },
  432. error: function(xhr, type, errorThrown) {}
  433. });
  434. }
  435. });
  436. })(mui);
  437. //全部
  438. var vmA = new Vue({
  439. el: '#allBookList',
  440. data: {
  441. itemAs: [], //列表信息流数据,
  442. }
  443. });
  444. //已借
  445. var vmB = new Vue({
  446. el: '#borrow',
  447. data: {
  448. itemBs: [], //列表信息流数据
  449. }
  450. });
  451. //归还
  452. var vmC = new Vue({
  453. el: '#return',
  454. data: {
  455. itemCs: [] //列表信息流数据
  456. }
  457. });
  458. /**
  459. * 打开图书详情
  460. *
  461. * @param {Object} item 当前点击的新闻对象
  462. */
  463. function open_detailA(itemA) {
  464. //触发子窗口变更新闻详情
  465. var appliance_info_id = itemA.appliance_info_id;
  466. var appliance_info_type = itemA.appliance_info_type;
  467. console.log(appliance_info_type);
  468. var page = "booksView.html";
  469. mui.openWindow({
  470. createNew: true,
  471. url: page,
  472. extras: {
  473. appliance_info_type: appliance_info_type,
  474. appliance_info_id: appliance_info_id
  475. }
  476. });
  477. }
  478. /**
  479. * 打开续借页面
  480. *
  481. * @param {Object} item 当前点击的新闻对象
  482. */
  483. function open_detailB(itemB) {
  484. //触发子窗口变更新闻详情
  485. var appliance_info_id = itemB.appliance_info_id;
  486. var page = "booksBorrowView.html";
  487. mui.openWindow({
  488. createNew: true,
  489. url: page,
  490. extras: {
  491. appliance_info_id: appliance_info_id
  492. }
  493. });
  494. }
  495. </script>
  496. </body>
  497. </html>