taskDetail.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. <div class="container-fluid ">
  2. <div class="row">
  3. <h3>考核基本信息</h3>
  4. <div>
  5. <table style="width:100%;">
  6. <tr>
  7. <td width="20%">考核任务名:<label id="name"></label></td>
  8. <!--<td width="20%">考核人:<label id="checkman"></label></td>-->
  9. <td width="20%">考核时间: <label id="checktime"></label></td>
  10. <td width="20%">考核人:<label id="checked_person"></label></td>
  11. <td width="20%">考核部门:<label id="checked_dept"></label></td>
  12. </tr>
  13. </table>
  14. </div>
  15. </div>
  16. <hr>
  17. <div class="row">
  18. <h3>考核任务流程</h3>
  19. <div id="flow_div">
  20. </div>
  21. </div>
  22. <hr>
  23. <div class="row">
  24. <h3>考核详细内容</h3>
  25. <div>
  26. <div id="score_datatable" data-checkable="true" data-sortable="true"></div>
  27. </div>
  28. </div>
  29. <hr>
  30. <div class="row" id="appeal_div">
  31. <h3>申诉基本信息</h3>
  32. <div>
  33. <table style="width:100%;">
  34. <tr>
  35. <td width="20%">申诉时间:<label id="appeal_time"></label></td>
  36. <td width="20%">申诉原因:<label id="appeal_reason"></label></td>
  37. </tr>
  38. <tr>
  39. <td width="20%">附件:
  40. <div class="file-list" id="appeal_file_list">
  41. </div>
  42. </td>
  43. <td>
  44. </td>
  45. </tr>
  46. </table>
  47. </div>
  48. </div>
  49. <div class="row" style="margin-top:5px;text-align:center">
  50. <div>
  51. <button id="submitBtn" style="display:none" type="button" class="btn btn-warning" onclick="submitCheck()">提交</button>
  52. <button id="confirmBtn" style="display:none" type="button" class="btn btn-warning" onclick="confirmCheck()">确认</button>
  53. <button id="submitAppealBtn" style="display:none" type="button" class="btn btn-warning" onclick="submitCheck4Appeal()">复核提交</button>
  54. <button id="confirmAppealBtn" style="display:none" type="button" class="btn btn-warning" onclick="confirmCheck4Appeal()">申诉结果确认</button>
  55. <button id="appealBtn" style="display:none" type="button" class="btn btn-danger" onclick="showAppeal()">申诉</button>
  56. <button id="assignBtn" style="display:none" type="button" class="btn btn-danger" onclick="showAssign()">分配</button>
  57. </div>
  58. </div>
  59. </div>
  60. <div id="form-div" style="display:none;text-align:center;height:300px;padding:5px;">
  61. <div class="row">
  62. <div id="img_container" class="cards cards-borderless col-sm-12">
  63. </div>
  64. </div>
  65. </div>
  66. <div id="appealDetail-div" style="display:none;text-align:center;">
  67. <link rel="import" href="/view/appeal_management/appealDetail.html?__inline">
  68. </div>
  69. <div id="chooseCheckman-div" style="display:none;text-align:center;">
  70. <link rel="import" href="/view/mytask/chooseCheckman.html?__inline">
  71. </div>
  72. <style>
  73. .line{
  74. text-align:center;font-size:20px;height:10px;margin:15px 0px;width:100%;background:#516784;overflow:hidden;
  75. }
  76. .timeline_item_station {
  77. left: 50%;
  78. margin-left: 60px;
  79. margin-top: 50px;
  80. width: 40px;
  81. height: 40px;
  82. padding: 15px;
  83. border-width: 6px;
  84. background-color: #516784;
  85. position: absolute;
  86. border-radius: 50%;
  87. padding: 10px;
  88. top: 0;
  89. left: 10%;
  90. -webkit-transition: all .3s ease-out;
  91. transition: all .3s ease-out;
  92. }
  93. </style>
  94. <script>
  95. $(document).ready(function() {
  96. addBreadMenu("/view/mytask/taskDetail.html", "稽查详情");
  97. checkAuth();
  98. $("#name").html($.checkTask.name);
  99. $("#checkman").html($.checkTask.checkman_name);
  100. $("#checktime").html($.checkTask.start_time);
  101. $("#checked_person").html($.checkTask.checked_person_name);
  102. $("#checked_dept").html($.checkTask.checked_dept_name);
  103. if($.checkTask.appeal) {
  104. $("#appeal_div").show();
  105. $("#appeal_time").html($.checkTask.appeal.appeal_time);
  106. $("#appeal_reason").html($.checkTask.appeal.appeal_reason);
  107. $("#appeal_file_list").html(genAppeaFiles($.checkTask.appeal.file_src));
  108. }else{
  109. $("#appeal_div").hide();
  110. }
  111. genFlow();
  112. queryScores();
  113. });
  114. //初始化表行按钮
  115. function initBtns() {
  116. $.zui.store.set("task_detail_btn_"+ROLE_JICHA+"_2",["#submitBtn"]);
  117. $.zui.store.set("task_detail_btn_"+ROLE_JICHA+"_3",["#submitBtn"]);
  118. $.zui.store.set("task_detail_btn_"+ROLE_JICHA+"_12",["#submitAppealBtn"]);
  119. $.zui.store.set("task_detail_btn_"+ROLE_JICHA+"_13",["#submitAppealBtn"]);
  120. $.zui.store.set("task_detail_btn_"+ROLE_JICHA_ADMIN+"_11",["#assignBtn"]);
  121. $.zui.store.set("task_detail_btn_"+ROLE_STATION_ADMIN+"_5",["#confirmBtn","#appealBtn"]);
  122. $.zui.store.set("task_detail_btn_"+ROLE_STATION_ADMIN+"_15",["#confirmAppealBtn"]);
  123. $.zui.store.set("task_detail_btn_"+ROLE_STATION_AGENT+"_5",["#confirmBtn","#appealBtn"]);
  124. $.zui.store.set("task_detail_btn_"+ROLE_STATION_AGENT+"_15",["#confirmAppealBtn"]);
  125. }
  126. function checkAuth(){
  127. initBtns();
  128. showBtn(ROLE_JICHA,$.checkTask.check_status);
  129. showBtn(ROLE_JICHA_ADMIN,$.checkTask.check_status);
  130. showBtn(ROLE_STATION_ADMIN,$.checkTask.check_status);
  131. showBtn(ROLE_STATION_AGENT,$.checkTask.check_status);
  132. }
  133. function showBtn(role, status) {
  134. if(hasRole(role)) {
  135. var btnArr = $.zui.store.get("task_detail_btn_"+role+"_"+status);
  136. if(btnArr) {
  137. for(var i in btnArr) {
  138. $(btnArr[i]).show();
  139. }
  140. }
  141. }
  142. }
  143. function queryScores(){
  144. // 使用data参数更新数据:
  145. var data = {
  146. "task_id": $.checkTask.id
  147. }
  148. var cols = [
  149. {width: 80, text: '序号', type: 'number', flex: true, colClass: 'text-center',field: 'num'},
  150. {width: 60, text: '评分记录', type: 'string', flex: true, sort: 'down',field: 'content'},
  151. {width: 80, text: '分数', type: 'string', flex: true, colClass: '',field: 'check_item_score'},
  152. {width: 200, text: '图片', type: 'imagedd', flex: true, colClass: '',field: 'pics'}
  153. ];
  154. if(hasRole(ROLE_JICHA) && ($.checkTask.check_status==2||$.checkTask.check_status==2||$.checkTask.check_status==12
  155. ||$.checkTask.check_status==13)) {
  156. var oper = {width: 160, text: '操作', type: 'string', flex: true, field: 'id',
  157. oper:[
  158. {func:'showEditScore',text:'修改',icon_class:'icon-edit'},
  159. {func:'deleteScore',text:'删除',icon_class:'icon-remove-circle'}
  160. ]
  161. }
  162. cols.push(oper);
  163. }
  164. $('#score_datatable').mytable({'cols':cols,
  165. 'url':"/score/getScoreList/",
  166. 'param':data}
  167. );
  168. $('a.lightbox-toggle').lightbox();
  169. }
  170. var curScoreId;
  171. function showEditScore(id){
  172. var rowData=getItemByIdFromArr(id,$('#score_datatable').mytable('getTableData'));
  173. // alert(rowData.pics);
  174. curScoreId = rowData.id;
  175. scoreImageLayer = showPopup4Common('修改图片',updateImg,'600px');
  176. showTaskDetailPics(rowData.pics);
  177. }
  178. function showTaskDetailPics(pics,divId){
  179. var picStr='';
  180. if(!divId) divId = '#img_container';
  181. $(divId).html(picStr);
  182. if(pics){
  183. var picArr = pics.split(',');
  184. for(var i in picArr){
  185. var pic = '<div id="img_item_'+i+'" class="col-md-4 col-sm-6 col-lg-3">'
  186. + '<a href="javascript:void(0)" onclick="removeImg(\'#img_item_'+i+'\')" style="float:right;position:absolute;z-index:100;"><span class="label label-danger"><i class="icon icon-remove-circle"></i> 删除</span></a>'
  187. + '<a class="card lightbox-toggle" href="'+picArr[i]+'" style="position:absolute">'
  188. + '<img class="pic-class img-thumbnail" style="width:200px;height:150px;" src="'+picArr[i]+'" alt="">'
  189. + '</a>'
  190. +'</div>';
  191. picStr+=pic;
  192. }
  193. $(divId).html(picStr);
  194. $('a.lightbox-toggle').lightbox();
  195. }
  196. }
  197. function updateImg(){
  198. var imgArr = $("#img_container .pic-class");
  199. var picsStr="";
  200. if(imgArr && imgArr.length>0) {
  201. for(var i=0;i<imgArr.length;i++){
  202. picsStr+=imgArr[i].src+","
  203. }
  204. picsStr = picsStr.substr(0,picsStr.length-1);
  205. }
  206. var param= {
  207. 'id':curScoreId,
  208. 'pics':picsStr
  209. }
  210. // alert("dddd");
  211. addOrUpdateItem4Common(param,"/score/update",queryScores);
  212. curScoreId="";
  213. }
  214. function deleteScore(id){
  215. deleteItem4Common(id,"/score/delete/",queryScores);
  216. }
  217. function genFlow(){
  218. var data = {
  219. "id": $.checkTask.id
  220. };
  221. post_common_service("/task/getStatusById/",data,function(data){
  222. if(data) {
  223. var flowStr="";
  224. for(var i in data) {
  225. var str = '<div class="col-sm-2" style="text-align:center;padding:0px;">'
  226. + '<div class="row">'
  227. + ' <label>'+data[i].update_time+'</label>'
  228. + '</div>'
  229. + '<div class="row">'
  230. + ' <label>'+data[i].check_status_name+'</label>'
  231. + '</div>'
  232. + '<div class="row line">'
  233. + ' <div class="timeline_item_station"></div>'
  234. + '</div>'
  235. +'</div>';
  236. flowStr+=str;
  237. }
  238. $("#flow_div").html(flowStr);
  239. }
  240. })
  241. }
  242. function submitCheck(){
  243. var param = {
  244. "id": $.checkTask.id,
  245. "check_status":4
  246. }
  247. no_return_common_service("/task/taskEnd/",param,function(data){
  248. layer.msg("提交成功", {
  249. time: 2000//20s后自动关闭
  250. });
  251. changePage("/view/mytask/task_list.html?status=2");
  252. });
  253. }
  254. function submitCheck4Appeal(){
  255. var param = {
  256. "id": $.checkTask.id,
  257. "check_status":14
  258. }
  259. no_return_common_service("/task/update/",param,function(data){
  260. layer.msg("提交成功", {
  261. time: 2000//20s后自动关闭
  262. });
  263. changePage("/view/mytask/task_list.html?status=13");
  264. });
  265. }
  266. var appealLayer;
  267. function showAppeal(){
  268. // appealLayer = showPopup4Common('申诉',saveAppeal,'600px','#appealDetail-div');
  269. layer.open({
  270. type: 1,
  271. area: '600px',
  272. title: '申诉',
  273. closeBtn: 1,
  274. shadeClose: true,
  275. skin: 'layui-layer-lan',
  276. content: $('#appealDetail-div'),
  277. btn: '保存',
  278. btnAlign: 'c', //按钮居中
  279. shade: 0 ,//不显示遮罩
  280. yes: function(index){
  281. saveAppeal();
  282. }
  283. });
  284. }
  285. function confirmCheck(){
  286. var param = {
  287. "id": $.checkTask.id,
  288. "check_status":6
  289. }
  290. no_return_common_service("/task/update/",param,function(data){
  291. layer.msg("确认成功", {
  292. time: 2000//20s后自动关闭
  293. });
  294. changePage("/view/mytask/task_list.html?status=5");
  295. });
  296. }
  297. function confirmCheck4Appeal(){
  298. var param = {
  299. "id": $.checkTask.id,
  300. "check_status":16
  301. }
  302. no_return_common_service("/task/update/",param,function(data){
  303. layer.msg("确认成功", {
  304. time: 2000//20s后自动关闭
  305. });
  306. changePage("/view/mytask/task_list.html?status=5");
  307. });
  308. }
  309. function showAssign(){
  310. showPopup4Common('分配稽查员',function(){
  311. saveAssign();
  312. },'400px','#chooseCheckman-div');
  313. setCheckmanSelect('#choseCheckmanList',null,$.checkTask.checkman);
  314. }
  315. function saveAssign(){
  316. var param = {
  317. "id": $.checkTask.id,
  318. "recheckman": $('#choseCheckmanList').val(),
  319. "check_status":12
  320. }
  321. no_return_common_service("/task/update/",param,function(data){
  322. layer.msg("分配成功", {
  323. time: 2000//20s后自动关闭
  324. });
  325. changePage("/view/mytask/task_list.html?status=11");
  326. });
  327. }
  328. </script>