Açıklama Yok

WorkOrder.js 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. $(document).ready(function() {
  2. initTable();
  3. $(".ss").click(function() {
  4. stype = 1;
  5. initTable();
  6. })
  7. /*高级查询*/
  8. $(".gjss").click(function() {
  9. $(".t-shade").addClass("cx");
  10. $(".gjsu").addClass("cx");
  11. $('.clgd').removeClass("cx");
  12. });
  13. $(".setwin").click(function() {
  14. $(".t-shade").removeClass("cx");
  15. $(".gjsu").removeClass("cx");
  16. $(".cbgd").removeClass("cx");
  17. //图片清空
  18. $(".space").html('');
  19. })
  20. //详情
  21. $(".ckxq ul li").click(function() {
  22. $(this).addClass("Active").siblings().removeClass("Active");
  23. var i = $(this).index();
  24. var s = $(this).attr("index");
  25. $(".gdxq").hide();
  26. $(".gdxq").eq(i).show();
  27. if(i > 0) {
  28. cljl(s);
  29. }
  30. });
  31. $(".Closed").click(function() {
  32. $(".ckxq").addClass("Hidens");
  33. });
  34. /*tree下拉框效果*/
  35. $(".inpBox .tree").click(function() {
  36. if($(this).parent().find(".addTree").is(":hidden")) {
  37. $(this).parent().find(".addTree").show();
  38. } else {
  39. $(this).parent().find(".addTree").hide();
  40. }
  41. });
  42. /*普通下拉框效果*/
  43. $(".inpBox .select").click(function() {
  44. if($(this).parent().find(".xl_common").is(":hidden")) {
  45. $(this).parent().find(".xl_common").show();
  46. } else {
  47. $(this).parent().find(".xl_common").hide();
  48. }
  49. });
  50. $(".xl").click(function() {
  51. if($(this).parent().find(".addTree").is(":hidden")) {
  52. $(this).parent().find(".addTree").show();
  53. } else {
  54. $(this).parent().find(".addTree").hide();
  55. }
  56. if($(this).parent().find(".xl_common").is(":hidden")) {
  57. $(this).parent().find(".xl_common").show();
  58. } else {
  59. $(this).parent().find(".xl_common").hide();
  60. }
  61. });
  62. $(".inpBox").mouseleave(function() {
  63. $(this).children(".addTree").hide();
  64. $(this).children(".xl_common").hide();
  65. })
  66. $(".xl_box").on("click", "li", function() {
  67. var obj = $(this).parent().parent().parent();
  68. obj.find("input").eq(0).val($(this).text());
  69. obj.find("input").eq(1).val($(this).attr("itemid"));
  70. obj.find(".xl_common").hide();
  71. })
  72. $("input[name='ltype']").click(function() {
  73. var val = $("input[name='ltype']:checked").val();
  74. if(val == '0') {
  75. $(".js").show();
  76. } else if(val == '1') {
  77. $(".js").hide();
  78. }
  79. })
  80. if($("#zrbmtree")) {
  81. getBM($("#zrbmtree"));
  82. }
  83. })
  84. function View(val) {
  85. return '<div class="imgs" ><a class="xg" onclick= ck("' + val + '") >' + val + '</a></div>';
  86. }
  87. function OverTime(val, row) {
  88. var cs = 'Ctime';
  89. if(row.LimitTime) {
  90. if(row.totalhour * 1 > row.LimitTime * 1) {
  91. cs = 'overTime';
  92. }
  93. }
  94. return '<div class="' + cs + '" ><a class="xg" ></a></div>';
  95. }
  96. function ck(val) {
  97. selid = val;
  98. $(".ckxq").removeClass("Hidens");
  99. $(".ckxq ul li").eq(0).trigger("click");
  100. xq();
  101. }
  102. function xq() {
  103. $.getJSON(huayi.config.callcenter_url + 'WorkOrder/GetWorkOrder', {
  104. "orderid": selid,
  105. "token": $.cookie("token")
  106. }, function(result) {
  107. if(result.state.toLowerCase() == "success") {
  108. if(result.data.data.length > 0) {
  109. var data = result.data.data[0];
  110. $("#xq_gdbh").text(data.WorkOrderID);
  111. $("#xq_gdlx").text(GetTypeName(data.Type));
  112. $("#xq_cjsj").text(data.CreateTime);
  113. $("#xq_gdzt").html(GetStateName(data.State));
  114. $("#xq_khxm").text(data.Customer);
  115. $("#xq_khdh").text(data.CustomerTel);
  116. $("#xq_wtlx").text(data.Source); //工单来源
  117. $("#xq_zxgh").text(data.CreateUser);
  118. $("#xq_zxxm").text(data.CreateUserName);
  119. $("#xq_county").text(data.CountryName); //乡镇或单位
  120. $("#xq_address").text(data.Address); //地址
  121. $("#xq_time").text(data.Inqtime && data.Inqtime.split(' ')[0]); //调查时间
  122. $("#xq_investigator").text(data.Inquser); //调查员
  123. $("#xq_gdnr").text(data.Detail); //反映问题
  124. $("#xq_clnr").text(data.Answer); //回访反馈情况
  125. $("#xq_cont").text(data.clcontent); //问题处理情况
  126. $("#xq_remarks").text(data.Remark); //备注
  127. //$("#xq_xxsh").text(Audit(data.IsAudit)); //信息审核
  128. $("#xq_xxfl").text(data.InfoType);
  129. //交办单位 Unit
  130. $("#xq_jbdw").text(data.Unit);
  131. $(".gdxq").eq(0).find(".allbc").remove();
  132. var Files = data.File;
  133. //console.log(Files);
  134. $("#IMG_box").empty();
  135. if(Files && Files.length > 0) {
  136. $(Files).each(function(i, n) {
  137. if(n.F_FileType.split("\/")[0] === 'image') {
  138. $('<div class="img-box">' +
  139. '<span class="img_mask"><span onclick=downloadFile("'+ n.F_FileUrl +'","'+ n.F_FileName +'","'+ n.F_FileType +'") title="点击下载"><i class="fa fa-download" aria-hidden="true"></i></span></span>' +
  140. '<img layer-src="' + n.F_FileUrl + '" src="' + n.F_FileUrl + '" alt="' + n.F_FileName + '" class="image-item" /><div>').appendTo("#IMG_box");
  141. } else {
  142. $('<div class="img-box">' +
  143. '<span class="img_mask"><span href="javascript:;" onclick=downloadFile("'+ n.F_FileUrl +'","'+ n.F_FileName +'","'+ n.F_FileType +'") title="点击下载"><i class="fa fa-download" aria-hidden="true"></i></span></span>' +
  144. '<span class="">' + n.F_FileName.split(".")[1] + '</span><div>').appendTo("#IMG_box");
  145. }
  146. });
  147. layer.photos({
  148. photos: '#IMG_box',
  149. anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
  150. });
  151. }
  152. }
  153. }
  154. })
  155. }
  156. function cljl(type) {
  157. //先销毁表格
  158. if(type == 4) {
  159. var table = $(".gdxq").eq(2).find("table");
  160. } else {
  161. var table = $(".gdxq").eq(type).find("table");
  162. }
  163. table.bootstrapTable('destroy');
  164. //初始化表格,动态从服务器加载数据
  165. table.bootstrapTable({
  166. method: "get", //使用get请求到服务器获取数据
  167. url: huayi.config.callcenter_url + "WorkOrder/GetItemList", //获取数据的Servlet地址
  168. striped: true, //表格显示条纹
  169. pagination: true, //启动分页
  170. pageSize: 5, //每页显示的记录数
  171. pageNumber: 1, //当前第几页
  172. pageList: [5, 10, 50, 100], //记录数可选列表
  173. contentType: 'application/x-www-form-urlencoded',
  174. search: false, //是否启用查询
  175. showColumns: false, //显示下拉框勾选要显示的列
  176. showRefresh: false, //显示刷新按钮
  177. sidePagination: "server", //表示服务端请求
  178. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  179. //设置为limit可以获取limit, offset, search, sort, order
  180. queryParamsType: "undefined",
  181. queryParams: function queryParams(params) { //设置查询参数
  182. var param = {
  183. page: params.pageNumber,
  184. pagesize: params.pageSize,
  185. type: type,
  186. id: selid,
  187. token: $.cookie("token")
  188. };
  189. return param;
  190. },
  191. onLoadSuccess: function() { //加载成功时执行
  192. //layer.msg("加载成功");
  193. },
  194. onLoadError: function() { //加载失败时执行
  195. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  196. }
  197. });
  198. }
  199. function GetTypeName(val) {
  200. var str = '';
  201. switch(val + '') {
  202. case '1':
  203. str = "咨询";
  204. break;
  205. case '2':
  206. str = "报修服务";
  207. break;
  208. case '3':
  209. str = "投诉建议";
  210. break;
  211. }
  212. return str;
  213. }
  214. function GetStateName(val) {
  215. // var str = '';
  216. // switch (val + '') {
  217. // case '0': str = "待指派"; break;
  218. // case '1': str = "处理中"; break;
  219. // case '2': str = "已完结"; break;
  220. // }
  221. //ltype 0,1 待完成 2已完成
  222. if(val == 0 || val == 1) {
  223. return '<div class="warning">待完成</div>';
  224. } else if(val == 2) {
  225. return '<div class="primary">已完成</div>';
  226. } else {
  227. return '-';
  228. }
  229. return str;
  230. }
  231. function ComXQ(val, row) {
  232. var str = '';
  233. if(row.IsLast)
  234. {
  235. str = str + row.DealUserName + " 完结工单。" + "<br>";
  236. }
  237. if(row.DealTime) {
  238. str = str + row.DealUserName + " 处理工单:" + "<br>";
  239. str = str + row.Detail + "<br>";
  240. }
  241. if(row.SureUserName) {
  242. str = str + row.SureUserName + " 接单。" + "<br>";
  243. }
  244. if(row.ToDeptName) {
  245. str = str + row.CreateUserName + " 指派工单给 " + row.ToDeptName + " ";
  246. if(row.ToUserName) {
  247. str = str + row.ToUserName;
  248. }
  249. str = str + "<br>";
  250. }
  251. if(row.IsStart) {
  252. str = str + row.CreateUserName + " 重新开启工单。" + "<br>";
  253. }
  254. return str;
  255. }
  256. //获取部门
  257. var setting = {
  258. data: {
  259. key: {
  260. name: "F_DeptName"
  261. },
  262. simpleData: {
  263. enable: true,
  264. idKey: "F_DeptId",
  265. pIdKey: "F_ParentId",
  266. rootPId: 0
  267. }
  268. },
  269. callback: {
  270. onClick: zTreeOnClick
  271. }
  272. };
  273. function getBM(obj) {
  274. $.getJSON(huayi.config.callcenter_url + 'Department/GetAllList', {
  275. "token": $.cookie("token")
  276. }, function(result) {
  277. if(result.state.toLowerCase() == "success") {
  278. $.fn.zTree.init(obj, setting, result.data);
  279. }
  280. })
  281. }
  282. function zTreeOnClick(event, treeId, treeNode) {
  283. if(event) {
  284. event.stopPropagation();
  285. }
  286. var obj = $("#" + event.data.treeId).parent();
  287. obj.parent().find("input").eq(0).val(treeNode.F_DeptName);
  288. obj.parent().find("input").eq(1).val(treeNode.F_DeptId);
  289. obj.hide();
  290. getRY($(".clid"), $("#clbm").val());
  291. };
  292. //获取人员
  293. function getRY(obj, deptid) {
  294. obj.empty();
  295. obj.append('<li itemid="">--请选择--</li>');
  296. obj.parent().parent().find("input").eq(0).val("--请选择--");
  297. obj.parent().parent().find("input").eq(1).val("");
  298. $.getJSON(huayi.config.callcenter_url + 'UserAccount/GetDeptUserList', {
  299. "deptid": deptid,
  300. "token": $.cookie("token")
  301. }, function(result) {
  302. if(result.state.toLowerCase() == "success") {
  303. $(result.data).each(function(i, n) {
  304. obj.append('<li itemid="' + n.F_UserId + '">' + n.F_UserName + '</li>');
  305. })
  306. obj.find("li").click(function(event) {
  307. if(event) {
  308. event.stopPropagation();
  309. }
  310. $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  311. $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  312. $(this).parent().parent().hide();
  313. });
  314. }
  315. })
  316. }
  317. function Appoint(val, row) {
  318. return czhtml(val, row, "处理");
  319. }
  320. function Dispose(val, row) {
  321. return czhtml(val, row, "处理");
  322. }
  323. function ex2Pdf(val, row) {
  324. return '<div class="imgs" ><a class="xg" href="javascript:;" onclick= export2pdf("' + row.WorkOrderID + '")>导出</a></div>';
  325. }
  326. function Expedite(val, row) {
  327. return czhtml(val, row, "催办");
  328. }
  329. function Comment(val, row) {
  330. return czhtmls(val, row, "评论");
  331. }
  332. function czhtml(val, row, str) {
  333. return '<div class="imgs" ><a class="xg" itemstr=\'' + JSON.stringify(row) + '\' onclick= oper("' + val + '",this) >' + str + '</a></div>';
  334. }
  335. function czhtmls(val, row, str) {
  336. return '<div class="imgs" ><a class="xg" onclick= opers("' + val + '",this) >' + str + '</a></div>';
  337. }
  338. function oper(val, obj) {
  339. layer.open({
  340. type: 2,
  341. content: "WorkOrderDeal.html?str=" + val, //iframe的url,no代表不显示滚动条
  342. title: '处理工单',
  343. area: ['86%', '88%'], //宽高
  344. })
  345. }
  346. //导出pdf
  347. function export2pdf(wid) {
  348. layer.open({
  349. type: 2,
  350. content: "../commonHtml/printPreview.html?wid=" + wid, //iframe的url,no代表不显示滚动条
  351. title: '导出pdf',
  352. area: ['788.8px', '90%'], //宽高
  353. });
  354. }
  355. //function opers(val, obj) {
  356. // layer.open({
  357. // type: 2,
  358. // content: "WorkEvaluate.html?str=" + val, //iframe的url,no代表不显示滚动条
  359. // title: '评价工单',
  360. // area: ['55%', '68%'], //宽高
  361. // })
  362. //}
  363. // 审核信息
  364. //function Audit(val) {
  365. // var str = '';
  366. // switch(val + '') {
  367. // case '0':
  368. // str = "未审核";
  369. // break;
  370. // case '1':
  371. // str = "无效";
  372. // break;
  373. // case '2':
  374. // str = "有效";
  375. // break;
  376. // }
  377. // return str;
  378. //}
  379. //限制字符串长度
  380. function Detail(val) {
  381. if(val) {
  382. var str = '<div '
  383. if(val.length > 10) {
  384. str = str + ' title="' + val + '" ';
  385. val = val.substr(0, 10) + "...";
  386. }
  387. return str + '>' + val + '</div>';
  388. } else {
  389. return '';
  390. }
  391. }
  392. function Hiden() {
  393. $(".ckxq").addClass("Hidens");;
  394. }
  395. //下载
  396. function downloadFile(data, strFileName, strMimeType){
  397. //详细见文档 http://danml.com/download.html
  398. var x=new XMLHttpRequest();
  399. x.open("GET", data, true);
  400. x.responseType = 'blob';
  401. x.onload=function(e){download(x.response, strFileName, strMimeType ); }
  402. x.send();
  403. }