deptJob_Summary_detail.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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. <title></title>
  7. <script src="../../../js/mui.min.js"></script>
  8. <script type="text/javascript" src="../../../js/jquery-1.11.2.min.js"></script>
  9. <link rel="stylesheet" type="text/css" href="../../../css/mui.min.css" />
  10. <link href="../../../css/OA-style.css" rel="stylesheet" />
  11. <style>
  12. body {
  13. background-color: #FFFFFF;
  14. }
  15. /* table标题背景 */
  16. .th-back {
  17. background-color: #00BCD4;
  18. color: #fff;
  19. }
  20. .font-color {
  21. color: #00BCD4;
  22. }
  23. .mui-content {
  24. background-color: #FFFFFF;
  25. }
  26. </style>
  27. </head>
  28. <header class="mui-bar mui-bar-nav">
  29. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left" style="color: #FFFFFF;"></a>
  30. <h1 class="mui-title">
  31. <span >部门月度总结表</span>
  32. </h1>
  33. </header>
  34. <div class="mui-content" style="overflow: auto;width: 200%;">
  35. <div id="detailDiv">
  36. <span id="title" style="text-align: center; display: block; font-size: 25px; margin: 10px;"></span>
  37. <span id="deptname" style="text-align: center; display: block; font-size: 25px; margin: 10px;"></span>
  38. <table id="tablePlan" border="1" style="background-color: #FFFFFF;margin: 5px;text-align: center;border: #e0e0e0 1px solid;">
  39. <tbody>
  40. <tr>
  41. <th width="12%" rowspan="2">项目</th>
  42. <th width="10%" rowspan="2">工作类别</th>
  43. <th width="5%" rowspan="2">序号</th>
  44. <th width="30%" rowspan="2">工作内容</th>
  45. <th width="5%" rowspan="2">工作量占比</th>
  46. <th width="20%" rowspan="2">评分标准</th>
  47. <th width="20%" rowspan="2">评分依据</th>
  48. <th width="5%" rowspan="2">自评</th>
  49. <th width="5%" colspan="8">评分人员</th>
  50. </tr>
  51. <tr >
  52. <th id="job_mutual1" width="5%"></th>
  53. <th id="job_mutual2" width="5%"></th>
  54. <th id="job_mutual3" width="5%"></th>
  55. <th id="job_mutual4" width="5%"></th>
  56. <th id="job_mutual5" width="5%"></th>
  57. <th id="job_mutual6" width="5%"></th>
  58. <th id="job_leader_score" width="5%"></th>
  59. <th id="job_manager_score" width="5%"></th>
  60. </tr>
  61. <tr v-for="item in itemAs">
  62. <td> {{item.job_project}}</td>
  63. <td> {{item.job_type_of_work}}</td>
  64. <td> {{item.job_serial_number}}</td>
  65. <td> {{item.job_content}}</td>
  66. <td>
  67. <template v-if="item.job_workload_share != null ">
  68. {{ Number(item.job_workload_share*100).toFixed(0) }}%
  69. </template>
  70. </td>
  71. <td> {{item.job_score_standard}}</td>
  72. <td> {{item.job_score_basis}}</td>
  73. <td>
  74. <template v-if="item.job_self_assessment != null ">
  75. {{ Number(item.job_self_assessment*100).toFixed(0) }}%
  76. </template>
  77. </td>
  78. <td>
  79. <template v-if="item.job_mutual1 != null ">
  80. {{ Number(item.job_mutual1*100).toFixed(0) }}%
  81. </template>
  82. </td>
  83. <td>
  84. <template v-if="item.job_mutual2 != null ">
  85. {{ Number(item.job_mutual2*100).toFixed(0) }}%
  86. </template>
  87. </td>
  88. <td>
  89. <template v-if="item.job_mutual3 != null ">
  90. {{ Number(item.job_mutual3*100).toFixed(0) }}%
  91. </template>
  92. </td>
  93. <td>
  94. <template v-if="item.job_mutual4 != null ">
  95. {{ Number(item.job_mutual4*100).toFixed(0) }}%
  96. </template>
  97. </td>
  98. <td>
  99. <template v-if="item.job_mutual5 != null ">
  100. {{ Number(item.job_mutual5*100).toFixed(0) }}%
  101. </template>
  102. </td>
  103. <td>
  104. <template v-if="item.job_mutual6 != null ">
  105. {{ Number(item.job_mutual6*100).toFixed(0) }}%
  106. </template>
  107. </td>
  108. <td>{{item.job_leader_score}}</td>
  109. <td>{{item.job_manager_score }}</td>
  110. </tr>
  111. </tbody>
  112. </table>
  113. </div>
  114. </div>
  115. <script src="../../../js/vue.min.js"></script>
  116. <script src="../../../js/config.js"></script>
  117. <script src="../../../js/app.js"></script>
  118. <script>
  119. mui.init();
  120. var vmA = new Vue({
  121. el: '#detailDiv',
  122. data: {
  123. itemAs: [], //列表信息流数据
  124. itemBs: [] //列表信息流数据
  125. }
  126. });
  127. mui.plusReady(function() {
  128. var self = plus.webview.currentWebview();
  129. var Excelid = self.Excelid; //excel主键
  130. var job_type = self.job_type; //类型 工作计划 | 工作总结
  131. var title = self.title; //excel标题
  132. var deptname = self.deptname; //excel部门
  133. document.getElementById("title").innerHTML = title;
  134. document.getElementById("deptname").innerHTML = deptname;
  135. doDetail(Excelid,job_type)
  136. });
  137. function doDetail(Excelid,job_type) {
  138. var url = API.API_URL();
  139. var state = app.getState(); //获取登陆信息
  140. var staffId = state.user.useId;
  141. var obj = {
  142. 'serviceId': 'oa_2018A1126GetDeptJobDetail',
  143. 'params': '{Excelid:' + Excelid + ',jobtype:"' + job_type + '"}'
  144. };
  145. mui.ajax(url, {
  146. dataType: 'json', //服务器返回json格式数据
  147. type: 'post', //HTTP请求类型
  148. data: obj,
  149. timeout: 10000, //超时时间设置为10秒;
  150. headers: {
  151. 'Accept': 'application/json'
  152. }, //超时时间设置为10秒;
  153. success: function(data) {
  154. if(data.returnCode == "0") {
  155. var result = data.returnParams.Rows;
  156. var Rules = data.returnParams.Rules;
  157. //console.log(JSON.stringify(data));
  158. if(result.length > 0) {
  159. vmA.itemAs = vmA.itemAs.concat(result);
  160. for(var i=0; i<Rules.length; i++ ){
  161. var deptName = Rules[i].score_user_deptname;
  162. var scoreUser = Rules[i].score_username;
  163. scoreUser = scoreUser.substring(0,scoreUser.indexOf("(")); //替换成该值
  164. console.log(deptName+'/'+scoreUser);
  165. $('#'+Rules[i].set_type).text(deptName+'/'+scoreUser);
  166. }
  167. vmA.$nextTick(function(){ //数据加载完成之后
  168. var obj = $('#tablePlan');
  169. rowSpan(1,obj);
  170. rowSpan(2,obj);
  171. rowSpan(15,obj);
  172. rowSpan(16,obj);
  173. });
  174. }
  175. }
  176. },
  177. error: function(xhr, type, errorThrown) {}
  178. });
  179. }
  180. function changepercent(floa){
  181. var str=Number(floa*100).toFixed(0);
  182. str+="%";
  183. if(floa == null ){
  184. return '';
  185. }
  186. return str;
  187. }
  188. function rowSpan(num,obj){
  189. var colIdx = num-1;
  190. obj.each(function () {
  191.             var that;
  192.             $('tr', this).each(function (row) {
  193.                 $('td:eq(' + colIdx + ')', this).filter(':visible').each(function (col) {
  194.                     if (that != null && $(this).html() == $(that).html()) {
  195.                         rowspan = $(that).attr("rowSpan");
  196.                         if (rowspan == undefined) {
  197.                             $(that).attr("rowSpan", 1);
  198.                             rowspan = $(that).attr("rowSpan");
  199.                         }
  200.                         rowspan = Number(rowspan) + 1;
  201.                         $(that).attr("rowSpan", rowspan);
  202.                         $(this).hide();
  203.                     } else {
  204.                         that = this;
  205.                     }
  206.                 });
  207.             });
  208.         });
  209. }
  210. </script>
  211. </html>