case-info.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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 + "1</h3>";
  37. strHtml += "<ul class='mui-table-view'>";
  38. strHtml += "<li class='mui-table-view-cell'>";
  39. strHtml += "<div><span class='app-icon app-ico-user'><span><span class='wc-member'>" + memberTitle + data
  40. .ExecuteMember +
  41. "</span></div>";
  42. strHtml += "<p>" + data.Describe + "</p>"
  43. strHtml += "<div class='wc-img-panel'>";
  44. /* 加入照片 */
  45. if (data.JoinImages != "") {
  46. var imgNames = data.JoinImages.split(';');
  47. var jsonData = {
  48. imgURL: [],
  49. }
  50. for (let imgName of imgNames) {
  51. if (imgName === undefined || imgName === '') continue;
  52. jsonData.imgURL.push(userInfo.imgURL + "/" + imgName);
  53. }
  54. for (var i = 0; i < imgNames.length; i++) {
  55. if (imgNames[i] == "") continue;
  56. strHtml += "<img src='" + userInfo.imgThumURL + "/" + imgNames[i] + "' ";
  57. strHtml += "onerror='this.src=\"../img/ico_noimg.png\";this.onerror=null'";
  58. strHtml += " onclick=\"openImage(" + JSON.stringify(jsonData).replace(/\"/g, "'") + ")\"/>";
  59. }
  60. }
  61. /* 加入视频 */
  62. if (data.JoinVideos != "") {
  63. var videoNames = data.JoinVideos.split(';');
  64. for (var i = 0; i < videoNames.length; i++) {
  65. if (videoNames[i] == "") continue;
  66. var videoURL = userInfo.videoURL + "/" + videoNames[i];
  67. strHtml += "<img src='../img/ico_net_video.png' ";
  68. strHtml += "onerror='this.src=\"../img/ico_noimg.png\";this.onerror=null' ";
  69. strHtml += "onclick=\"openVideo('" + videoURL + "','" + videoNames[i] + "')\"";
  70. strHtml += "/>";
  71. }
  72. }
  73. strHtml += "</div>";
  74. strHtml += "</li>";
  75. strHtml += "</ul>";
  76. strHtml += "</div>";
  77. li.innerHTML = strHtml;
  78. return li;
  79. }
  80. /**
  81. * 打开图片
  82. * @param {Array} jsonData 图片JSON
  83. */
  84. function openImage(jsonData) {
  85. plus.nativeUI.previewImage(jsonData.imgURL, {
  86. indicator: 'number',
  87. loop: true,
  88. });
  89. }
  90. /**
  91. * 打开网络视频
  92. * @param {String} videoURL 视频URL
  93. * @param {String} videoName 视频名称
  94. */
  95. function openVideo(videoURL, videoName) {
  96. createAndOpenPage({
  97. htmlPath: 'playVideo.html',
  98. autoback: true,
  99. title: '视频 ' + videoName,
  100. extras: {
  101. url: videoURL,
  102. },
  103. });
  104. }
  105. /**
  106. * @param {Object} state 案件状态
  107. */
  108. function CtreateNextLi(state) {
  109. var li = document.createElement('li');
  110. li.className = 'layui-timeline-item';
  111. var strHtml = "";
  112. var strDec = undefined;
  113. var classNextIcon = "wc-wait-icon";
  114. var classNextText = "wc-wait-text";
  115. switch (state) {
  116. case caseState.stateWaitAssign:
  117. strDec = "待派发";
  118. break;
  119. case caseState.stateWaitCheck:
  120. strDec = "待处理";
  121. break;
  122. case caseState.stateWaitRepeat:
  123. strDec = "待复飞";
  124. break;
  125. case caseState.stateWaitResetCheck:
  126. strDec = "待重处理";
  127. break;
  128. case caseState.stateWaitResetRepeat:
  129. strDec = "待重复飞";
  130. break;
  131. case caseState.stateWaitVerify:
  132. strDec = "待审核";
  133. break;
  134. case caseState.stateClose:
  135. strDec = "已结案";
  136. classNextIcon = "wc-completion-icon";
  137. classNextText = "wc-completion-text";
  138. break;
  139. }
  140. strHtml += "<i class='layui-icon layui-timeline-axis " + classNextIcon + "'>等</i>";
  141. strHtml += "<div class='layui-timeline-content'>";
  142. strHtml += "<h3 class='layui-timeline-title " + classNextText + "'>" + "下一环节" + "</h3>";
  143. strHtml += "<ul class='mui-table-view'>";
  144. strHtml += "<li class='mui-table-view-cell'>";
  145. strHtml += "<p>" + strDec + "</p>"
  146. strHtml += "</li>";
  147. strHtml += "</ul>";
  148. strHtml += "</div>";
  149. li.innerHTML = strHtml;
  150. return li;
  151. }