check.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. function initCheck() {
  2. $('#ex1').slider();
  3. $("#ex1").on("slideStop", function(slideEvt) {
  4. setVideoProcess(slideEvt.value);
  5. });
  6. // setProcessValue(600);
  7. // $("#ex1").on("click", function(slideEvt) {
  8. // setVideoProcess(slideEvt.value);
  9. // });
  10. // $("#ex1").on("slideStop", function(slideEvt) {
  11. // setProcessValue(slideEvt.value);
  12. // });
  13. setProcessValue(300);
  14. // setCurrentProcessValue(50);
  15. // setCurrentProcessValue(60);
  16. event = document.createEvent('MessageEvent');
  17. var origin = window.location.protocol + '//' + window.location.host;
  18. event.initMessageEvent('setvideoposition', true, true, getVideoPosition(), origin, 1234, window, null);
  19. document.dispatchEvent(event);
  20. // 仅选择日期
  21. $("#start-time").datetimepicker({
  22. language: "zh-CN",
  23. weekStart: 1,
  24. todayBtn: 1,
  25. autoclose: 1,
  26. todayHighlight: 1,
  27. startView: 2,
  28. minView: 2,
  29. forceParse: 0,
  30. format: "yyyy-mm-dd"
  31. });
  32. // 仅选择日期
  33. $("#end-time").datetimepicker({
  34. language: "zh-CN",
  35. weekStart: 1,
  36. todayBtn: 1,
  37. autoclose: 1,
  38. todayHighlight: 1,
  39. startView: 2,
  40. minView: 2,
  41. forceParse: 0,
  42. format: "yyyy-mm-dd"
  43. });
  44. if ($.checkTask) {
  45. setFeSelect("#fsList", $.checkTask.checked_dept);
  46. setLaneSelect("#lane", $.checkTask.checked_location);
  47. get_common_service('user/getUserById/' + $.checkTask.checked_person, null, function (data) {
  48. changePersonContent(data);
  49. })
  50. //查询评分情况
  51. queryScores();
  52. //查询录像播放列表
  53. queryVideoList();
  54. initBtns();
  55. }
  56. $("select#video_list").change(function(){
  57. playVideo($(this).val());
  58. });
  59. }
  60. function initInfo() {
  61. }
  62. function initBtns(){
  63. if($.checkTask.appeal) {
  64. $("#btn_appeal_task").show();
  65. $("#btn_task").hide();
  66. $("#appeal_div").show();
  67. $("#appeal_time").html($.checkTask.appeal.appeal_time);
  68. $("#appeal_reason").html($.checkTask.appeal.appeal_reason);
  69. $("#appeal_file_list").html(genAppeaFiles($.checkTask.appeal.file_src));
  70. }else{
  71. $("#appeal_div").hide();
  72. $("#btn_appeal_task").hide();
  73. $("#btn_task").show();
  74. }
  75. }
  76. // 使用data参数更新数据:
  77. function queryScores() {
  78. //$('#score_datatable').score_datatable("");
  79. console.log("任务id:"+$.checkTask.id);
  80. var data = {
  81. "task_id": $.checkTask.id
  82. }
  83. var cols = [
  84. { width: 80, text: '序号', type: 'number', flex: true, colClass: 'text-center', field: 'num' },
  85. { width: 160, text: '评分记录', type: 'string', flex: true, sort: 'down', field: 'content' },
  86. { width: 80, text: '分数', type: 'string', flex: true, colClass: '', field: 'check_item_score' },
  87. // {width: 80, text: '图片', type: 'imagedd', flex: true, colClass: '',field: 'pics'},
  88. {
  89. width: 160, text: '操作', type: 'string', flex: true, field: 'id',
  90. oper: [
  91. { func: 'showEditScore', text: '修改', icon_class: 'icon-edit' },
  92. { func: 'deleteScore', text: '删除', icon_class: 'icon-remove-circle' }
  93. ]
  94. }
  95. ];
  96. // var pager = {
  97. // page_size:10
  98. // }
  99. $('#score_datatable').mytable({
  100. 'cols': cols,
  101. 'url': "/score/getScoreList/",
  102. 'param': data
  103. }
  104. );
  105. }
  106. function showEditScore(id) {
  107. // deleteItem4Common(id,"/score/delete/",queryScores);
  108. var rowData = getItemByIdFromArr(id, $('#score_datatable').mytable('getTableData'));
  109. // scoreDetailLayer = showPopup4Common('修改考核项',null,['600px','500px'],'#score-detail-div');
  110. // var rowData=getItemByIdFromArr(id,$('#score_datatable').mytable('getTableData'));
  111. showPics(rowData.pics);
  112. // $("#scoreContent").val(rowData.content);
  113. $("#saveEditBtn").show();
  114. editScoreId = id;
  115. }
  116. var editScoreId;
  117. function saveEdit(){
  118. if(editScoreId) {
  119. var imgArr = $("#img_container .pic-class");
  120. var picsStr = "";
  121. if (imgArr && imgArr.length > 0) {
  122. for (var i = 0; i < imgArr.length; i++) {
  123. picsStr += imgArr[i].src + ","
  124. }
  125. picsStr = picsStr.substr(0, picsStr.length - 1);
  126. }
  127. var param = {
  128. 'id': editScoreId,
  129. 'pics': picsStr
  130. };
  131. editScoreId = null;
  132. $("#saveEditBtn").hide();
  133. no_return_common_service("/score/update", param, function (data) {
  134. if (scoreLayer) layer.close(scoreLayer);
  135. //查询评分情况
  136. queryScores();
  137. layer.msg(data, {
  138. time: 2000//20s后自动关闭
  139. });
  140. });
  141. }
  142. }
  143. function deleteScore(id) {
  144. deleteItem4Common(id, "/score/delete/", queryScores, 'r');
  145. }
  146. function setVideoList(videos){
  147. var videoArr;
  148. if(videos){
  149. videoArr = videos.split("|");
  150. var selectStr="";
  151. for(var i in videoArr){
  152. if(i==0)
  153. selectStr += '<option value="'+videoArr[i]+'" selected="selected">视频'+videoArr[i]+'</option>'
  154. else
  155. selectStr += '<option value="'+videoArr[i]+'">视频'+videoArr[i]+'</option>';
  156. }
  157. }
  158. $('#video_list').html(selectStr);
  159. }
  160. function addPic(pic) {
  161. if (pic) {
  162. var i=0;
  163. var imgArr = $("#img_container .pic-class");
  164. if(imgArr && imgArr.length>0) i = imgArr.length;
  165. var picStr = genPicstr(pic);
  166. $('#img_container').append(picStr);
  167. $('a.lightbox-toggle').lightbox();
  168. }
  169. }
  170. function showPics(pics, divId) {
  171. var picStr = '';
  172. if (!divId) divId = '#img_container';
  173. $(divId).html(picStr);
  174. if (pics) {
  175. var picArr = pics.split(',');
  176. for (var i in picArr) {
  177. var pic = genPicstr(picArr[i]);
  178. picStr += pic;
  179. }
  180. $(divId).html(picStr);
  181. $('a.lightbox-toggle').lightbox();
  182. }
  183. }
  184. function genPicstr(src){
  185. var pic = '<div class="img_item" style="width:100px;height:90px;float:left;">'
  186. + '<a href="javascript:void(0)" onclick="removeImg(this)" style="float:right;position:relative;z-index:100;"><span class="label label-danger"><i class="icon icon-remove-circle"></i> 删除</span></a>'
  187. + '<a class="card lightbox-toggle" data-group="image-group-1" data-lightbox-group="example-3" href="' + src + '" style="position:absolute">'
  188. + '<img class="pic-class img-thumbnail" style="width:100px;height:70px;" src="' + src + '" alt="">'
  189. + '</a>'
  190. + '</div>';
  191. return pic;
  192. }
  193. function removeImg(this1) {
  194. $(this1).parent('.img_item').remove();
  195. }
  196. function clearAllImg() {
  197. $('#img_container').empty();
  198. }
  199. var changePersonLayer;
  200. function showChangeUser() {
  201. var param = {
  202. 'organid': $.checkTask.checked_dept
  203. };
  204. post_common_service("/user/getUserList/", param, function (data) {
  205. changePersonLayer = showPopup4Common('更改人员', null, ['500px','500px'],null,'r');
  206. $("#user_container").empty();
  207. var userStr = "";
  208. for (var i in data) {
  209. var name = data[i].truename;
  210. if (data[i].workno) name = name+" "+data[i].workno;
  211. var pic = "../../images/body-bg.png";
  212. if (data[i].pic) pic = data[i].pic;
  213. str = '<div style="width:100px;float:left;margin:5px;">'
  214. + '<a class="card" href="javascript:void(0)" onclick="changePerson(\'' + data[i].id + '\')">'
  215. + '<img src="' + pic + '" alt="" style="height:100px">'
  216. // + '<a href="#" onclick="changePerson(\''+name+'\')">'+name+'<a href="'+data[i].pic+'class="lightbox-toggle" data-toggle="lightbox" data-group="image-group-1"><img src="../../images/img4.jpg" class="img-rounded" alt="" width="50px"></a></a>'
  217. + '<div class="card-heading"><strong>' + name + '</strong></div>'
  218. + '</a>'
  219. + '</div>';
  220. userStr += str;
  221. }
  222. $("#user_container").html(userStr);
  223. })
  224. }
  225. function changePerson(id) {
  226. // $('#checked_person').html(id);
  227. var param = {"id": $.checkTask.id,
  228. "checked_person": id,
  229. }
  230. no_return_common_service("task/update/", param, function(data) {
  231. get_common_service('user/getUserById/' + id, null, function (data) {
  232. changePersonContent(data);
  233. })
  234. layer.close(changePersonLayer);
  235. }, function(error) {
  236. alert(error);
  237. });
  238. }
  239. function changePersonContent(data) {
  240. var name = data.truename;
  241. if (data.workno) name = data.workno + " " + data.truename;
  242. $("#checked_person").html(name);
  243. $("#person_img").attr("href", data.pic);
  244. $("#person_img > img").attr("src", data.pic);
  245. $('a.lightbox-toggle').lightbox();
  246. }
  247. var scoreLayer;
  248. function showScore() {
  249. scoreLayer = showPopup4Common('选择考核项', null, ['400px', '500px'], '#items-div','r');
  250. buildTree();
  251. }
  252. function buildTree() {
  253. var zTreeObj;
  254. var zNodes = [];
  255. check_item_tree = $.fn.zTree.init($("#items_tree"), {}, zNodes);
  256. getCheckItems();
  257. }
  258. function getCheckItems() {
  259. function zTreeOnRename(event, treeId, treeNode, isCancel) {
  260. alert(treeNode.tId + ", " + treeNode.name);
  261. }
  262. function zTreeOnRemove(event, treeId, treeNode) {
  263. alert(treeNode.tId + ", " + treeNode.name);
  264. }
  265. var setting = {
  266. data: {
  267. simpleData: {
  268. enable: true,
  269. idKey: "id",
  270. pIdKey: "pId",
  271. rootPId: null
  272. }
  273. },
  274. view: { //表示tree的显示状态
  275. selectMulti: false //表示禁止多选
  276. },
  277. check: { //表示tree的节点在点击时的相关设置
  278. enable: false, //是否显示radio/checkbox
  279. chkStyle: "checkbox", //值为checkbox或者radio表示
  280. checkboxType: { p: "", s: "" }, //表示父子节点的联动效果
  281. radioType: "level" //设置tree的分组
  282. },
  283. callback: {
  284. onDblClick: zTreeOnClick
  285. },
  286. edit: {
  287. enable: true,
  288. drag: {
  289. autoExpandTrigger: true,
  290. isMove: true,
  291. prev: false,
  292. next: true,
  293. inner: true,
  294. autoOpenTime: 0
  295. },
  296. showRenameBtn: false,
  297. showRemoveBtn: false
  298. }
  299. };
  300. get_common_service('checkItem/getAll', null, function (data) {
  301. zdata = [];
  302. for (var i = 0; i < data.length; i++) {
  303. var m = data[i];
  304. // var zdataItem = {};
  305. // zdataItem["id"] = m.id;
  306. // zdataItem["value"] = m.id;
  307. // zdataItem["pId"] = null;
  308. // zdataItem["score"] = m.score ;
  309. // zdataItem["name"] = m.name;
  310. // zdataItem["open"] = true;
  311. // zdataItem["children"] = addobj(m);
  312. zdata.push(genNode(m));
  313. }
  314. menu_tree = $.fn.zTree.init($("#items_tree"), setting, zdata)
  315. }, function (error) {
  316. });
  317. }
  318. function addobj(data) {
  319. var zdata = [];
  320. if (typeof (data.subCheckItem) != "undefinde" && data.subCheckItem != null &&
  321. data.subCheckItem.length > 0) {
  322. for (var i = 0; i < data.subCheckItem.length; i++) {
  323. var m = data.subCheckItem[i];
  324. // var zdataItem = {};
  325. // zdataItem["id"] = m.id;
  326. // zdataItem["value"] = m.id;
  327. // zdataItem["pId"] = data.id;
  328. // zdataItem["score"] = m.score ;
  329. // zdataItem["icon"] = "";
  330. // zdataItem["name"] = m.name;
  331. // if(m.score)
  332. // zdataItem["name"] = m.name+'('+m.score+')';
  333. // zdataItem["open"] = true;
  334. // zdataItem["children"] = addobj(m);
  335. zdata.push(genNode(m));
  336. }
  337. return zdata;
  338. } else {
  339. return [];
  340. }
  341. }
  342. function genNode(m) {
  343. var zdataItem = {};
  344. zdataItem["id"] = m.id;
  345. zdataItem["value"] = m.name;
  346. zdataItem["pId"] = m.parent_id;
  347. zdataItem["score"] = m.score;
  348. zdataItem["icon"] = "";
  349. zdataItem["name"] = m.name;
  350. //zdataItem["content"] = m.name;
  351. if (m.score) zdataItem["name"] = m.name + '(' + m.score + ')';
  352. zdataItem["open"] = true;
  353. zdataItem["children"] = addobj(m);
  354. return zdataItem;
  355. }
  356. function zTreeOnClick(event, treeId, treeNode) {
  357. //alert(treeNode.name);
  358. var imgArr = $("#img_container .pic-class");
  359. var picsStr = "";
  360. if (imgArr && imgArr.length > 0) {
  361. for (var i = 0; i < imgArr.length; i++) {
  362. picsStr += imgArr[i].src + ","
  363. }
  364. picsStr = picsStr.substr(0, picsStr.length - 1);
  365. }
  366. var param = {
  367. 'task_id': $.checkTask.id,
  368. 'pics': picsStr,
  369. 'name': treeNode.value,
  370. 'content': treeNode.value,
  371. 'check_item_id': treeNode.id,
  372. 'checkman': treeNode.id,
  373. 'checked_person': $.checkTask.checked_person,
  374. 'checked_dept': $.checkTask.checked_dept
  375. };
  376. no_return_common_service("/score/add", param, function (data) {
  377. if (scoreLayer) layer.close(scoreLayer);
  378. //查询评分情况
  379. queryScores();
  380. layer.msg(data, {
  381. time: 2000//20s后自动关闭
  382. });
  383. });
  384. }
  385. function submitCheck() {
  386. var param = {
  387. "id": $.checkTask.id,
  388. "check_status": 4
  389. }
  390. no_return_common_service("/task/taskEnd/", param, function (data) {
  391. layer.msg("提交成功", {
  392. time: 2000//20s后自动关闭
  393. });
  394. changePage("/view/mytask/unchecked.html");
  395. });
  396. }
  397. function showPre(id) {
  398. // $('#myModal').modal({name:"dd"});
  399. changePage("/view/mytask/taskDetail.html");
  400. }
  401. function showInvalid() {
  402. invalidLayer = showPopup4Common('申请无效', function () {
  403. saveValidReason();
  404. }, ['400px', '500px'], '#invalid_div','r');
  405. }
  406. function submitCheck4Appeal() {
  407. var param = {
  408. "id": $.checkTask.id,
  409. "check_status": 14
  410. }
  411. no_return_common_service("/task/taskEnd/", param, function (data) {
  412. layer.msg("提交成功", {
  413. time: 2000//20s后自动关闭
  414. });
  415. changePage("/view/mytask/unchecked.html");
  416. });
  417. }
  418. function showPre4Appeal(id) {
  419. // $('#myModal').modal({name:"dd"});
  420. changePage("/view/mytask/taskDetail.html");
  421. }
  422. function saveValidReason() {
  423. var param = {
  424. "task_id": $.checkTask.id,
  425. "apply_reason": $("#apply_reason").val()
  426. }
  427. no_return_common_service("/checkApply/add/", param, function (data) {
  428. layer.msg("申请提交成功", {
  429. time: 2000//20s后自动关闭
  430. });
  431. changePage("/view/mytask/unchecked.html");
  432. });
  433. }
  434. function score(score) {
  435. alert("扣分:" + score);
  436. $('#scoreWin').modal('toggle');
  437. }
  438. function refuseApply() {
  439. alert("拒绝申请");
  440. $('#refuseApplyWin').modal('toggle');
  441. }
  442. function agreeApply() {
  443. alert("同意申请");
  444. }
  445. function getVideoPosition() {
  446. var X = $('#tabcontent').offset().top;
  447. var Y = $('#tabcontent').offset().left;
  448. var width = $('#tabcontent').width();
  449. var height = $('#tabcontent').height();
  450. return parseInt(Y) + "|" + parseInt(X) + "|" + parseInt(width) + "|" + parseInt(height);
  451. }
  452. function initUpLoad(){
  453. var uploader = WebUploader.create({
  454. // swf文件路径
  455. swf: 'lib/webuploader/js/Uploader.swf',
  456. // 文件接收服务端。
  457. server: base_image_server_url+'/filesSrver/'+FILE_UPLOAD,
  458. // 选择文件的按钮。可选。
  459. // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  460. pick: '#picker',
  461. // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
  462. resize: false
  463. });
  464. }