case-info.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /**
  2. * 创建时间轴子项
  3. * @param {Object} data 数据记录
  4. */
  5. function CreateItem(data) {
  6. var li;
  7. if (data.LifeType == 'sb') {
  8. li = CtreateNormlLi(data, "上报员:", "报", '上报日期');
  9. } else if (data.LifeType == 'cl') {
  10. li = CtreateNormlLi(data, "处理员:", "处", '处理日期');
  11. } else if (data.LifeType == 'ff') {
  12. li = CtreateNormlLi(data, "复飞员:", "复", '复飞日期');
  13. } else if (data.LifeType == 'sh') {
  14. li = CtreateNormlLi(data, "审核员:", "审", '审核日期');
  15. } else if (data.LifeType == 'db') {
  16. li = CtreateNormlLi(data, "督办员:", "督", '督办日期');
  17. } else if (data.LifeType == 'zp') {
  18. li = CtreateNormlLi(data, "指定处理员:", "派", '派发日期');
  19. } else if (data.LifeType == 'next') {
  20. li = CtreateNextLi(data);
  21. }
  22. return li;
  23. }
  24. /**
  25. * @param {Object} data 数据
  26. * @param {Object} memberTitle 人员类型标识
  27. * @param {Object} icoTitle 标志内容
  28. * @param {Object} dateTitle 日期描述
  29. */
  30. function CtreateNormlLi(data, memberTitle, icoTitle, dateTitle) {
  31. var li = document.createElement('li');
  32. li.className = 'layui-timeline-item';
  33. var strHtml = "";
  34. strHtml += "<i class='layui-icon layui-timeline-axis'>" + icoTitle + "</i>";
  35. strHtml += "<div class='layui-timeline-content'>";
  36. strHtml += "<h3 class='layui-timeline-title'>" + dateTitle + ":" + data.ExecuteDate + "</h3>";
  37. strHtml += "<ul class='mui-table-view'>";
  38. strHtml += "<li class='mui-table-view-cell'>";
  39. strHtml += "<div><span class='mui-icon app-icon app-ico-user'><span><span class='wc-member'>" + memberTitle + data.ExecuteMember +
  40. "</span></div>";
  41. strHtml += "<p>" + data.Describe + "</p>"
  42. strHtml += "<div class='wc-img-panel'>";
  43. //加入照片
  44. if (data.JoinImages != "") {
  45. var imgNames = data.JoinImages.split(';');
  46. var jsonData = {
  47. imgURL:[],
  48. }
  49. for (var i = 0; i < imgNames.length; i++) {
  50. if (imgNames[i] == "") continue;
  51. jsonData.imgURL.push(userInfo.imgURL + "/" + imgNames[i]);
  52. strHtml += "<img src='" + userInfo.imgThumURL + "/" + imgNames[i] + "' ";
  53. strHtml += "onerror='this.src=\"../img/ico_noimg.png\";this.onerror=null'";
  54. strHtml += " onclick=\"openImage(" + JSON.stringify(jsonData).replace(/\"/g, "'") +")\"/>";
  55. }
  56. // li.onclick = function(e) {
  57. // plus.nativeUI.previewImage(imgURL, {
  58. // indicator: 'number',
  59. // loop: true,
  60. // });
  61. // }
  62. }
  63. //加入视频
  64. if(data.JoinVideos != ""){
  65. var videoNames = data.JoinVideos.split(';');
  66. for (var i = 0; i < videoNames.length; i++) {
  67. if (videoNames[i] == "") continue;
  68. var videoURL = userInfo.videoURL + "/" + videoNames[i];
  69. strHtml += "<img src='../img/ico_net_video.png' ";
  70. strHtml += "onerror='this.src=\"../img/ico_noimg.png\";this.onerror=null' ";
  71. strHtml += "onclick=\"openVideo('" + videoURL + "','" + videoNames[i] + "')\"";
  72. strHtml += "/>";
  73. }
  74. }
  75. strHtml += "</div>";
  76. strHtml += "</li>";
  77. strHtml += "</ul>";
  78. strHtml += "</div>";
  79. li.innerHTML = strHtml;
  80. return li;
  81. }
  82. /**
  83. * 打开图片
  84. * @param {Array} jsonData 图片JSON
  85. */
  86. function openImage(jsonData){
  87. plus.nativeUI.previewImage(jsonData.imgURL, {
  88. indicator: 'number',
  89. loop: true,
  90. });
  91. }
  92. /**
  93. * 打开网络视频
  94. * @param {String} videoURL 视频URL
  95. * @param {String} videoName 视频名称
  96. */
  97. function openVideo(videoURL,videoName){
  98. createAndOpenPage({
  99. htmlPath: 'playVideo.html',
  100. autoback: true,
  101. title: '视频 ' + videoName,
  102. extras: {
  103. url:videoURL,
  104. },
  105. });
  106. }
  107. /**
  108. * @param {Object} state 案件状态
  109. */
  110. function CtreateNextLi(state) {
  111. var li = document.createElement('li');
  112. li.className = 'layui-timeline-item';
  113. var strHtml = "";
  114. var strDec = undefined;
  115. var classNextIcon = "wc-wait-icon";
  116. var classNextText = "wc-wait-text";
  117. switch (state) {
  118. case caseState.stateWaitAssign:
  119. strDec = "待派发";
  120. break;
  121. case caseState.stateWaitCheck:
  122. strDec = "待处理";
  123. break;
  124. case caseState.stateWaitRepeat:
  125. strDec = "待复飞";
  126. break;
  127. case caseState.stateWaitResetCheck:
  128. strDec = "待重处理";
  129. break;
  130. case caseState.stateWaitResetRepeat:
  131. strDec = "待重复飞";
  132. break;
  133. case caseState.stateWaitVerify:
  134. strDec = "待审核";
  135. break;
  136. case caseState.stateClose:
  137. strDec = "已结案";
  138. classNextIcon = "wc-completion-icon";
  139. classNextText = "wc-completion-text";
  140. break;
  141. }
  142. strHtml += "<i class='layui-icon layui-timeline-axis " + classNextIcon + "'>等</i>";
  143. strHtml += "<div class='layui-timeline-content'>";
  144. strHtml += "<h3 class='layui-timeline-title " + classNextText + "'>" + "下一环节" + "</h3>";
  145. strHtml += "<ul class='mui-table-view'>";
  146. strHtml += "<li class='mui-table-view-cell'>";
  147. strHtml += "<p>" + strDec + "</p>"
  148. strHtml += "</li>";
  149. strHtml += "</ul>";
  150. strHtml += "</div>";
  151. li.innerHTML = strHtml;
  152. return li;
  153. }