other_check.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597
  1. var file_src="";
  2. var imgs_src = [];
  3. var idUpdate;
  4. var check_id;
  5. var check_type;
  6. var check_item_tree = null;
  7. var edittype = "add";
  8. var al_data = [];
  9. // 页面初始化
  10. function init(){
  11. $(document).delegate("#editImage img","mouseenter",function(){
  12. var myself = $(this);
  13. var xx = $("<i class='icon-remove' img_src='"+$(this).attr('img_src')+"'></i>");
  14. xx.css({ "position": "absolute", "display": "" });
  15. $(this).parent().append(xx);
  16. $(".icon-remove").click(function () {
  17. myself.hide();
  18. imgs_src.push($(this).attr("img_src"));
  19. });
  20. })
  21. $(document).delegate("#editImage div","mouseleave",function(){
  22. $(".icon-remove").hide();
  23. })
  24. // 初始化上传
  25. refreshUploader();
  26. setVisit();
  27. $.jeDate("#month_date", {
  28. isinitVal: true,
  29. format: 'YYYY/MM' // 分隔符可以任意定义,该例子表示只显示年月
  30. });
  31. $.jeDate("#month_date2", {
  32. isinitVal: true,
  33. format: 'YYYY-MM-DD hh:mm' ,
  34. zIndex:300000000000// 分隔符可以任意定义,该例子表示只显示年月日
  35. });
  36. var road_manager;
  37. if (roleContains("STATION")) {
  38. road_manager = getCurrentUser().road_manager_id;
  39. }
  40. if (roleContains("ROAD_MANAGER")) {
  41. road_manager = getCurrentUser().organid;
  42. }
  43. setRoadManagerSelect("#first", road_manager);
  44. setSecond();
  45. // 收费站下拉框
  46. var dept;
  47. if (roleContains("STATION")) {
  48. dept = getCurrentUser().organid;
  49. }
  50. var roadManager2;
  51. if (roleContains("ROAD_MANAGER")) {
  52. roadManager2 = getCurrentUser().organid;
  53. }
  54. var feeList = $.zui.store.get("cache_fee_station_list");
  55. if (roadManager2) feeList = cache_road_manager_fee_list_map.get(roadManager2);
  56. setFeeSelectValueNoAll(feeList, "#select-dept", dept);
  57. setPersonal();
  58. var zTreeObj;
  59. var zNodes = [];
  60. check_item_tree = $.fn.zTree.init($("#check_rule_tree2"), {}, zNodes);
  61. getCheckItems();
  62. $("#check_item_select input").on("click", function() {
  63. //debugger;
  64. var nodedata;
  65. if($("#check_item_select input") != undefined && $("#check_item_select input") != ""){
  66. nodedata = check_item_tree.getNodeByParam("name",$("#check_item_select input").val(), null);
  67. }
  68. $("#add_btn").data("tree_flag",1);
  69. loadData(nodedata);
  70. $("#add_btn").data("tree_flag",0);
  71. })
  72. queryTable();
  73. }
  74. //关闭弹窗
  75. $("#close-layer").click(function(){
  76. layer.closeAll();
  77. })
  78. //条件查询
  79. $("#conditional_query").click(function(){
  80. queryTable();
  81. })
  82. //保存修改或添加
  83. $("#save-check").click(function(){
  84. var dept_id = $("#select-dept").val();
  85. var user_id = $("#select-personal").val();
  86. var check_item_id = dept_selectinput!=null?dept_selectinput.value:null ;
  87. var remark = $("#remark").val();
  88. var check_score = $("#check_score").val();
  89. var check_time = $("#month_date2").val();
  90. var check_num = $("#check_num").val();
  91. if(idUpdate){
  92. if($("#editImage").attr("file_src") != ''){
  93. var src = $("#editImage").attr("file_src").split(",");
  94. var flag = 1;
  95. for(var i= 0 ;i<src.length;i++){
  96. for(var j= 0 ;j<imgs_src.length;j++){
  97. if(src[i] == imgs_src[j]){
  98. flag = 0;
  99. break;
  100. }
  101. }
  102. if(flag == 1){
  103. file_src += src[i] + ",";
  104. }
  105. }
  106. }
  107. }
  108. var file_ids = (file_src.substring(file_src.length-1)==',')?file_src.substring(0,file_src.length-1):file_src;
  109. var check_time_name = timeStamp2String(new Date(),"yyyy/MM");
  110. if(dept_id == null || dept_id == undefined ||dept_id == ""){
  111. layer.msg('请选择部门');
  112. return;
  113. }else if(user_id == null || user_id == undefined ||user_id == ""){
  114. layer.msg('请选择人员');
  115. return;
  116. }else if(check_item_id == null || check_item_id == undefined ||check_item_id == ""){
  117. layer.msg('请选择扣分类别');
  118. return;
  119. }else if(check_score == null || check_score == undefined ||check_score == ""){
  120. layer.msg('请选择扣分值');
  121. return;
  122. }
  123. data = {
  124. "id":check_id,
  125. "dept_id":dept_id,
  126. "user_id":user_id,
  127. "check_item_id":check_item_id,
  128. "check_type":check_type,
  129. "remark":remark,
  130. "check_score":check_score,
  131. "file_ids":file_ids,
  132. "check_time":check_time,
  133. "check_time_name":check_time_name,
  134. "check_num":check_num
  135. }
  136. if(idUpdate){
  137. post_common_service("checkOther/update", data, function(data){
  138. file_src = "";
  139. imgs_src = [];
  140. layer.closeAll();
  141. queryTable();
  142. }, function(){
  143. });
  144. }else{
  145. post_common_service("checkOther/add", data, function(data){
  146. file_src = "";
  147. imgs_src = [];
  148. layer.closeAll();
  149. queryTable();
  150. }, function(){
  151. });
  152. }
  153. })
  154. //添加稽查记录
  155. $("#add_btn").click(function(){
  156. idUpdate = false;
  157. edittype = "add";
  158. check_id=null;
  159. $("#select-dept").val("");
  160. $("#select-personal").val("");
  161. $(".treeSelect-input").val("");
  162. $("#remark").val("");
  163. $("#check_score").val("");
  164. $("#month_date2").val(timeStamp2String(new Date(),"yyyy-MM-dd HH:mm"));
  165. $("#check_num").val(1);
  166. $("#editImage").empty();
  167. layerUpdateTeam('form-div','稽查记录新增','550px');
  168. $("#save-check").html("保存");
  169. //debugger;
  170. var nodedata;
  171. $("#add_btn").data("tree_flag",1);
  172. loadData(nodedata);
  173. $("#add_btn").data("tree_flag",0);
  174. $("#check_item_select input").on("click", function() {
  175. //debugger;
  176. // var nodedata;
  177. // $("#add_btn").data("tree_flag",1);
  178. // loadData(nodedata);
  179. // $("#add_btn").data("tree_flag",0);
  180. })
  181. })
  182. function queryTable(){
  183. $(".datatable").empty();
  184. var data = {
  185. "check_time_name":$("#month_date").val(),
  186. "dept_id":$("#second").val(),
  187. "check_type":check_type
  188. }
  189. var cols = [
  190. {width: 30, text: '序号', flex: false, colClass: 'text-center',field:'num'},
  191. {width: 50, text: '时间', flex: false,colClass: '',field:'check_time'},
  192. {width: 50, text: '部门', flex: false,colClass: '',field:'organname'},
  193. {width: 50, text: '人员', flex: false,colClass: '',field:'username'},
  194. {width: 50, text: '扣分类型', flex: false,colClass: '',field:'check_item_name'},
  195. {width: 50, text: '扣分值', flex: false,colClass: '',field:'check_score'},
  196. {width: 120, text: '附件', type: 'imagedd',flex: false,colClass: '',field:'file_ids'},
  197. {width: 50, text: '扣分描述', flex: false,colClass: '',field:'remark'},
  198. {width: 50, text: '操作', flex: false, colClass: '',field:'id',oper:[
  199. {func:'updateCheckTeam',text:'修改',icon_class:'icon-edit'},{func:'deleteCheckTeam',text:'删除',icon_class:'icon-remove-circle'}
  200. ]},
  201. ] ;
  202. $('.datatable').mytable({'cols':cols,
  203. 'url':"checkOther/getCheckByDeptId",
  204. 'param':data}
  205. );
  206. }
  207. function deleteCheckTeam(id){
  208. deleteItem4Common(id,"checkOther/delete",queryTable);
  209. }
  210. function updateCheckTeam(id){
  211. check_id = id;
  212. data = {
  213. "id":id
  214. }
  215. post_common_service("checkOther/getCheckById", data, function(data){
  216. $("#select-dept").val(data.dept_id);
  217. $("#select-personal").val(data.user_id);
  218. $("#check_item_select input").val(data.check_item_name);
  219. $("#remark").val(data.remark);
  220. $("#check_score").val(data.check_score);
  221. var time = data.check_time;
  222. $("#month_date2").val(data.check_time);
  223. $("#check_num").val(data.check_num);
  224. $("#editImage").empty();
  225. if(data.file_ids !=null && data.file_ids != ""){
  226. var ids = data.file_ids.split(",");
  227. var str = "";
  228. for(i=0;i<ids.length;i++){
  229. str += ids[i] + ",";
  230. $("#editImage").append("<div style='float:left;width:60px;'><img img_src='"+ids[i]+"' class='pic-class img-thumbnail' style='width:50px;height:50px;' alt='' src='http://file_release_yanhai.jsxt.jsjtyxt.com/"+ids[i]+"' ></div>");
  231. }
  232. $("#editImage").attr("file_src",(str.substring(str.length-1)==',')?str.substring(0,str.length-1):str);
  233. }
  234. idUpdate = true;
  235. edittype = "edit";
  236. layerUpdateTeam('form-div','稽查记录修改','550px');
  237. $("#save-check").html("修改");
  238. var nodedata;
  239. if($("#check_item_select input") != undefined && $("#check_item_select input") != ""){
  240. nodedata = check_item_tree.getNodeByParam("name",$("#check_item_select input").val(), null);
  241. }
  242. loadData(nodedata);
  243. $("#check_item_select input").on("click", function() {
  244. //debugger;
  245. // var nodedata;
  246. // if($("#check_item_select input") != undefined && $("#check_item_select input") != ""){
  247. // nodedata = check_item_tree.getNodeByParam("name",$("#check_item_select input").val(), null);
  248. // }
  249. // $("#add_btn").data("tree_flag",1);
  250. // loadData(nodedata);
  251. // $("#add_btn").data("tree_flag",0);
  252. })
  253. }, function(){
  254. });
  255. }
  256. function refreshUploader(){
  257. // 文件上传
  258. $('#uploaderExample').uploader({
  259. autoUpload: true, // 当选择文件后立即自动进行上传操作
  260. unique_names:true, // 生成唯一名称
  261. url: base_image_server_url +'fileServer/file/upload', // 文件上传提交地址
  262. filters:{
  263. mime_types: [
  264. {title: '图片', extensions: 'jpg,gif,png'},
  265. {title: '图标', extensions: 'ico'},
  266. {title: '视频', extensions: 'mp4,avi'},
  267. {title: '文档', extensions: 'doc,docx'}
  268. ],
  269. // 不允许上传重复文件
  270. prevent_duplicates: true
  271. },
  272. fileTemplate :'<div class="file"><div class="file-progress-bar"></div><div class="file-wrapper"><div class="file-icon"><i class="icon icon-file-o"></i></div><div class="content"></div><div class="actions"><div class="file-status" data-toggle="tooltip"><i class="icon"></i> <span class="text"></span></div><a data-toggle="tooltip" class="btn btn-link btn-download-file" target="_blank"><i class="icon icon-download-alt"></i></a><button type="button" data-toggle="tooltip" class="btn btn-link btn-reset-file" title="Repeat"><i class="icon icon-repeat"></i></button><button type="button" data-toggle="tooltip" class="btn btn-link btn-rename-file" title="Rename"><i class="icon icon-pencil"></i></button><button type="button" data-toggle="tooltip" title="Remove" class="btn btn-link btn-delete-file"><i class="icon icon-trash text-danger"></i></button></div></div></div>', // 设置模板
  273. onFileUploaded: function(file, responseObject){
  274. var datas = eval('('+responseObject.response+')');
  275. file_src += datas.result_data.path+",";
  276. //$(".file").append("<div style='float:left;width:60px;'><img img_src='"+datas.result_data.path+"' class='pic-class img-thumbnail' style='width:50px;height:50px;' alt='' src='http://file_release_yanhai.jsxt.jsjtyxt.com/"+datas.result_data.path+"' ></div>");
  277. },
  278. onInit:function(){
  279. $("#file-list").empty();
  280. },
  281. onFilesRemoved:function(files) {
  282. // alert(files);
  283. }
  284. });
  285. }
  286. function setVisit() {
  287. if (roleContains("STATION")) {
  288. $("#first").attr("disabled", "disabled");
  289. $("#second").attr("disabled", "disabled");
  290. }
  291. if (roleContains("ROAD_MANAGER")) {
  292. $("#first").attr("disabled", "disabled");
  293. }
  294. }
  295. /**
  296. * 根据道管中心获取收费站列表(下拉框)
  297. */
  298. $(".div-roadManage select").change(function() {
  299. setSecond();
  300. flag = true;
  301. });
  302. function setSecond() {
  303. var select_road = $(".div-roadManage select").val();
  304. var feeList = $.zui.store.get("cache_fee_station_list");
  305. if (select_road) feeList = cache_road_manager_fee_list_map.get(select_road);
  306. var dept;
  307. if (roleContains("STATION")) {
  308. dept = getCurrentUser().organid;
  309. }
  310. refreshFee(feeList, dept);
  311. }
  312. function refreshFee(data, selectId) {
  313. var sec = document.getElementById('second');
  314. var tempStr = ''
  315. if (data.length != 0) {
  316. for (var i = 0; i < data.length; i++) {
  317. if (data[i].deptid == selectId)
  318. tempStr += "<option value=" + data[i].deptid + " selected>" + data[i].name + "</option>";
  319. else
  320. tempStr += "<option value=" + data[i].deptid + ">" + data[i].name + "</option>";
  321. // }
  322. sec.innerHTML = tempStr;
  323. }
  324. } else {
  325. sec.innerHTML = '';
  326. }
  327. }
  328. /**
  329. * 部门人员下拉框
  330. */
  331. function setPersonal() {
  332. var select_road = $("#select-dept").val();
  333. var sec = document.getElementById('select-personal');
  334. var tempStr = ''
  335. var param = {
  336. "organid": select_road
  337. }
  338. post_common_service("user/getFsUserList", param, function(data) {
  339. if (data.length != 0) {
  340. var userId;
  341. if (hasRole("ROLE_STATION")) {
  342. userId = getCurrentUser().id;
  343. }
  344. for (var i = 0; i < data.length; i++) {
  345. for (var j = 33; j <= 53; j++) {
  346. if (select_road == j) {
  347. if (data[i].id == userId) {
  348. tempStr += "<option value=" + data[i].id + " selected='selected'>" + data[i].truename + "</option>";
  349. } else {
  350. tempStr += "<option value=" + data[i].id + ">" + data[i].truename + "</option>";
  351. }
  352. }
  353. }
  354. sec.innerHTML = tempStr;
  355. }
  356. } else {
  357. sec.innerHTML = '';
  358. }
  359. }, function(error) {
  360. return "";
  361. });
  362. }
  363. // 部门改变后 重新生成人员下拉框
  364. $("#select-dept").change(function() {
  365. setPersonal();
  366. });
  367. $("#check_item_select").delegate("div[id*='treeSelect_panel_'] ","blur",function(){
  368. // alert(1)
  369. if($(this).is(":hidden")){
  370. if(map[dept_selectinput.value] != null ){
  371. $("#check_score").val( map[dept_selectinput.value] );
  372. }else{
  373. $("#check_score").val("");
  374. }
  375. }
  376. })
  377. function layerUpdateTeam(domId,title,area){
  378. var uploader = $('#uploaderExample').data('zui.uploader');
  379. uploader.destroy();
  380. refreshUploader();
  381. $(".file-list").empty();
  382. file_src = "";
  383. imgs_src = [];
  384. layer.open({
  385. type: 1,
  386. title: false,
  387. closeBtn: 1,
  388. title:title,
  389. shadeClose: true,
  390. skin: 'yourclass',
  391. area:area,
  392. content: $("#"+domId)
  393. });
  394. }
  395. // 增加和编辑框
  396. var dept_selectinput;
  397. function loadData(nodedata) {
  398. var pnode = nodedata;
  399. if(pnode != null){
  400. dept_selectinput = new TreeSelect({
  401. element: '#check_item_select',
  402. data: all_data,
  403. valueKey: "id",
  404. placeholder: "请选择扣分类别",
  405. selectvalue: pnode.id
  406. });
  407. }else{
  408. if($("#add_btn").data("tree_flag")==1){
  409. dept_selectinput = new TreeSelect({
  410. element: '#check_item_select',
  411. data: all_data,
  412. valueKey: "id",
  413. placeholder: "请选择扣分类别"
  414. });
  415. }else{
  416. }
  417. }
  418. }
  419. function getCheckItems() {
  420. function zTreeOnRename(event, treeId, treeNode, isCancel) {
  421. alert(treeNode.tId + ", " + treeNode.name);
  422. }
  423. function zTreeOnRemove(event, treeId, treeNode) {
  424. alert(treeNode.tId + ", " + treeNode.name);
  425. }
  426. function getTreeData(c_obj,id){
  427. if(c_obj.id == id){
  428. return c_obj ;
  429. }else{
  430. if(c_obj.subCheckItem!=null){
  431. for(var i=0;i<c_obj.subCheckItem.length;i++){
  432. var tmp = getTreeData(c_obj.subCheckItem[i],id);
  433. if(tmp != null){
  434. return tmp ;
  435. }
  436. }
  437. }
  438. return null;
  439. }
  440. }
  441. var seq = 0 ;
  442. function getTree(obj,rowObj){
  443. var userdata = {};
  444. userdata["checked"] = false;
  445. if(obj.score != null){
  446. userdata["data"] = [++seq, obj.name, (obj.score!=null?obj.score:""), '<a href="javascript:void(0)" onclick="modify_check_item('+ obj.id +')" ><i class="icon icon-edit"></i> 修改</a><a href="javascript:void(0)" onclick="delete_check_item('+ obj.id +')" ><i class="icon icon-remove-circle"></i> 删除</a>'];
  447. rowObj.push(userdata);
  448. }
  449. if(obj.subCheckItem!=null){
  450. for(var i=0; i<obj.subCheckItem.length;i++ ){
  451. getTree(obj.subCheckItem[i],rowObj);
  452. }
  453. }
  454. return rowObj;
  455. }
  456. function zTreeOnClick(event, treeId, treeNode) {
  457. var rowdata = [];
  458. seq = 0 ;
  459. for(var i=0;i<z_cache.length;i++){
  460. var treeObj = getTreeData(z_cache[i],treeNode.id) ;
  461. if( treeObj != null){
  462. rowdata = getTree(treeObj,rowdata);
  463. break ;
  464. }
  465. }
  466. // 使用data参数更新数据:
  467. $('.datatable').datatable('load', {
  468. cols: cols,
  469. rows: rowdata
  470. });
  471. };
  472. var setting = {
  473. data: {
  474. simpleData: {
  475. enable: true,
  476. idKey: "id",
  477. pIdKey: "pId",
  478. rootPId: null
  479. }
  480. },
  481. view: { //表示tree的显示状态
  482. selectMulti: false //表示禁止多选
  483. },
  484. check: { //表示tree的节点在点击时的相关设置
  485. enable: false, //是否显示radio/checkbox
  486. chkStyle: "checkbox", //值为checkbox或者radio表示
  487. checkboxType: { p: "", s: "" }, //表示父子节点的联动效果
  488. radioType: "level" //设置tree的分组
  489. },
  490. callback: {
  491. onRename: zTreeOnRename,
  492. // beforeDrop: zTreeBeforeDrop,
  493. onRemove: zTreeOnRemove,
  494. onClick: zTreeOnClick
  495. },
  496. edit: {
  497. enable: true,
  498. drag: {
  499. autoExpandTrigger: true,
  500. isMove: true,
  501. prev: false,
  502. next: true,
  503. inner: true,
  504. autoOpenTime: 0
  505. },
  506. showRenameBtn: false,
  507. showRemoveBtn: false
  508. }
  509. };
  510. post_common_service("/checkItem/getAll","",function(data){
  511. all_data = [];
  512. z_cache = data ;
  513. for (var i = 0; i < data.length; i++) {
  514. var m = data[i];
  515. var zdataItem = {};
  516. zdataItem["id"] = m.id;
  517. zdataItem["value"] = m.id;
  518. zdataItem["pId"] = null;
  519. zdataItem["score"] = m.score ;
  520. zdataItem["name"] = m.name;
  521. zdataItem["open"] = true;
  522. zdataItem["children"] = addobj(m);
  523. zdataItem.open = true ;
  524. all_data.push(zdataItem);
  525. }
  526. check_item_tree = $.fn.zTree.init($("#check_rule_tree2"), setting, all_data)
  527. },function(error){})
  528. }
  529. function addobj(data) {
  530. var zdata = [];
  531. if (typeof(data.subCheckItem) != "undefinde" && data.subCheckItem != null &&
  532. data.subCheckItem.length > 0) {
  533. for (var i = 0; i < data.subCheckItem.length; i++) {
  534. var m = data.subCheckItem[i];
  535. var zdataItem = {};
  536. // if(m.score != null){
  537. // continue;
  538. // }
  539. zdataItem["id"] = m.id;
  540. zdataItem["value"] = m.id;
  541. zdataItem["pId"] = data.id;
  542. zdataItem["score"] = m.score;
  543. zdataItem["icon"] = "";
  544. zdataItem["name"] = m.name;
  545. zdataItem["children"] = addobj(m);
  546. zdataItem.open = false;
  547. zdata.push(zdataItem);
  548. map[m.id] = m.score ;
  549. }
  550. return zdata;
  551. } else {
  552. return [];
  553. }
  554. }
  555. var map = {} ;