check.js 13 KB

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