安图前端代码

WorkOrder.js 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  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. });
  12. $("#gjss").click(function () {
  13. stype = 2;
  14. initTable();
  15. $(".t-shade").removeClass("cx");
  16. $(".gjsu").removeClass("cx");
  17. })
  18. $(".setwin").click(function () {
  19. $(".t-shade").removeClass("cx");
  20. $(".gjsu").removeClass("cx");
  21. $(".cbgd").removeClass("cx");
  22. })
  23. //详情
  24. $(".ckxq ul li").click(function () {
  25. $(this).addClass("Active").siblings().removeClass("Active");
  26. var i = $(this).index();
  27. $(".gdxq").hide();
  28. $(".gdxq").eq(i).show();
  29. if (i > 0) { cljl(i); }
  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. }
  39. else {
  40. $(this).parent().find(".addTree").hide();
  41. }
  42. });
  43. /*普通下拉框效果*/
  44. $(".inpBox .select").click(function () {
  45. if ($(this).parent().find(".xl_common").is(":hidden")) {
  46. $(this).parent().find(".xl_common").show();
  47. }
  48. else {
  49. $(this).parent().find(".xl_common").hide();
  50. }
  51. });
  52. $(".xl").click(function () {
  53. if ($(this).parent().find(".addTree").is(":hidden")) {
  54. $(this).parent().find(".addTree").show();
  55. }
  56. else {
  57. $(this).parent().find(".addTree").hide();
  58. }
  59. if ($(this).parent().find(".xl_common").is(":hidden")) {
  60. $(this).parent().find(".xl_common").show();
  61. }
  62. else {
  63. $(this).parent().find(".xl_common").hide();
  64. }
  65. });
  66. $(".inpBox").mouseleave(function () {
  67. $(this).children(".addTree").hide();
  68. $(this).children(".xl_common").hide();
  69. })
  70. $(".xl_box").on("click", "li", function () {
  71. var obj = $(this).parent().parent().parent();
  72. obj.find("input").eq(0).val($(this).text());
  73. obj.find("input").eq(1).val($(this).attr("itemid"));
  74. obj.find(".xl_common").hide();
  75. })
  76. $("input[name='ltype']").click(function () {
  77. var val = $("input[name='ltype']:checked").val();
  78. if (val == '0') {
  79. $(".js").show();
  80. }
  81. else if (val == '1') {
  82. $(".js").hide();
  83. }
  84. })
  85. if ($("#zrbmtree")) {
  86. getBM($("#zrbmtree"));
  87. }
  88. laydate.render({
  89. elem: '#greetingTimes',
  90. range: '~',
  91. // type: 'datetime',
  92. //max : 31,
  93. // min: 0,
  94. theme: '#00a1cb',
  95. });
  96. //来电单位
  97. getAccount()
  98. function getAccount() {
  99. $.ajax({
  100. type: "get",
  101. url: huayi.config.callcenter_url + "Customer/BindLDdep",
  102. dataType: 'json',
  103. async: true,
  104. data: {
  105. token: $.cookie("token")
  106. },
  107. success: function(data) {
  108. var Count = data.data.dep;
  109. $(Count).each(function(i,n){
  110. $("<option value='" + n + "'>" + n + "</option>").appendTo($("#comeCall_dep"));
  111. })
  112. $('#comeCall_dep').selectpicker('refresh');
  113. }
  114. });
  115. }
  116. //工单来源
  117. getOrderSource()
  118. function getOrderSource() {
  119. $.ajax({
  120. type: "get",
  121. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  122. dataType: 'json',
  123. async: true,
  124. data: {
  125. token: $.cookie("token"),
  126. flag :"GDLY"
  127. },
  128. success: function(data) {
  129. var Count = data.data;
  130. $(Count).each(function(i,n){
  131. $("<option value='" +n.F_DictionaryValueId + "'>" + n.F_Name + "</option>").appendTo($("#orderSource"));
  132. })
  133. $('#orderSource').selectpicker('refresh');
  134. }
  135. });
  136. }
  137. //工单类型
  138. getOrderType();
  139. function getOrderType() {
  140. $.get(huayi.config.callcenter_url + 'WorkType/GetTreeList', {
  141. "token": $.cookie("token"),
  142. }, function(result) {
  143. result = $.parseJSON(result);
  144. $.fn.zTree.init($("#TreeDemo"), setting3, result.data); //实例化树形图
  145. });
  146. }
  147. var setting3 = {
  148. data: {
  149. key: {
  150. name: "text"
  151. },
  152. simpleData: {
  153. enable: true,
  154. idKey: "id",
  155. rootPId: 0
  156. }
  157. },
  158. callback: {
  159. onClick: changeTreeClick
  160. }
  161. }
  162. function changeTreeClick(event, treeId, treeNode) {
  163. var chanId = treeNode.id;
  164. var changeName = treeNode.text;
  165. $('#typeclass').val(changeName);
  166. $('#typeclassId').val(chanId);
  167. var pidnode = treeNode.getParentNode();
  168. };
  169. $('.down').click(function(){
  170. if($('.treeList').css('display') == 'block') {
  171. $('.treeList').css('display', 'none')
  172. } else {
  173. $('.treeList').css('display', 'block')
  174. }
  175. })
  176. $('#typeclass').click(function() {
  177. $('.treeList').css('display', 'block')
  178. })
  179. $('.treeList').mouseleave(function() {
  180. $(this).css('display', 'none')
  181. })
  182. //坐席
  183. getSeating()
  184. function getSeating() {
  185. $.ajax({
  186. type: "get",
  187. url: huayi.config.callcenter_url + "CallInScreen/GetUsers",
  188. dataType: 'json',
  189. async: true,
  190. data: {
  191. token: $.cookie("token")
  192. },
  193. success: function(data) {
  194. var Count = data.data.user;
  195. $(Count).each(function(i,n){
  196. $("<option value='" +n.F_UserId + "'>" + n.F_UserName + "</option>").appendTo($("#userid"));
  197. })
  198. $('#userid').selectpicker('refresh');
  199. }
  200. });
  201. }
  202. })
  203. function View(val) {
  204. return '<div class="imgs" ><a class="xg" onclick= ck("' + val + '") >' + val + '</a></div>';
  205. }
  206. function OverTime(val, row) {
  207. var cs = 'Ctime';
  208. if (row.LimitTime) {
  209. if (row.totalhour * 1 > row.LimitTime * 1) {
  210. cs = 'overTime';
  211. }
  212. }
  213. return '<div class="' + cs + '" ><a class="xg" ></a></div>';
  214. }
  215. function ck(val) {
  216. selid = val;
  217. $(".ckxq").removeClass("Hidens");
  218. $(".ckxq ul li").eq(0).trigger("click");
  219. xq();
  220. }
  221. function Detail(val){
  222. if(val) {
  223. var str = '<div '
  224. if(val.length > 5) {
  225. str = str + ' title="' + val + '" ';
  226. val = val.substr(0,5) + "...";
  227. }
  228. return str + '>' + val + '</div>';
  229. } else {
  230. return '';
  231. }
  232. }
  233. function xq() {
  234. $.getJSON(huayi.config.callcenter_url+'WorkOrder/GetWorkOrder', { "orderid": selid, "token": $.cookie("token") }, function (result) {
  235. if (result.state.toLowerCase() == "success") {
  236. if (result.data.data.length > 0) {
  237. var data = result.data.data[0];
  238. $("#xq_gdbh").text(data.WorkOrderID);
  239. $("#xq_gdlx").text(data.TypeClassName);
  240. $("#xq_cjsj").text(data.CreateTime);
  241. $("#xq_gdzt").html(GetStateName(data.State));
  242. $("#xq_khxm").text(data.Customer);
  243. $("#xq_khdh").text(data.CustomerTel);
  244. $("#xq_wtlx").text(data.Address);
  245. $("#xq_zxgh").text(data.Source);
  246. $("#xq_gdnr").text(data.Detail);//工单详情
  247. $('#bz-1').text(data.County);
  248. $("#bz-2").text(data.Province);
  249. $("#bz-3").text(data.City);
  250. $("#xq_kdxx").text(data.Files);
  251. $(".gdxq").eq(0).find(".allbc").remove();
  252. if (result.data.item.length > 0) {
  253. var html = '<div class="allbc">补充记录'
  254. + '<table class="table table-hover table-striped"><thead><tr><th><div class="th-inner">补充人</div></th>'
  255. + '<th><div class="th-inner">补充详情</div></th><th><div class="th-inner">创建时间</div></th></tr></thead><tbody>';
  256. $(result.data.item).each(function (i, n) {
  257. html += '<td>' + n.CreateUserName + '</td><td>' + n.Detail + '</td><td>' + n.CreateTime + '</td>';
  258. })
  259. html += '</tbody></table></div>';
  260. $(".gdxq").eq(0).append($(html));
  261. }
  262. }
  263. }
  264. })
  265. }
  266. function cljl(type) {
  267. //先销毁表格
  268. var table = $(".gdxq").eq(type).find("table");
  269. table.bootstrapTable('destroy');
  270. //初始化表格,动态从服务器加载数据
  271. table.bootstrapTable({
  272. method: "get", //使用get请求到服务器获取数据
  273. url: huayi.config.callcenter_url+"WorkOrder/GetItemList", //获取数据的Servlet地址
  274. striped: true, //表格显示条纹
  275. pagination: true, //启动分页
  276. pageSize: 5, //每页显示的记录数
  277. pageNumber: 1, //当前第几页
  278. pageList: [10, 20, 50, 100], //记录数可选列表
  279. search: false, //是否启用查询
  280. showColumns: false, //显示下拉框勾选要显示的列
  281. showRefresh: false, //显示刷新按钮
  282. sidePagination: "server", //表示服务端请求
  283. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  284. //设置为limit可以获取limit, offset, search, sort, order
  285. queryParamsType: "undefined",
  286. queryParams: function queryParams(params) { //设置查询参数
  287. var param = {
  288. page: params.pageNumber,
  289. pagesize: params.pageSize,
  290. type: type,
  291. id: selid,
  292. token: $.cookie("token")
  293. };
  294. return param;
  295. },
  296. onLoadSuccess: function () { //加载成功时执行
  297. //layer.msg("加载成功");
  298. },
  299. onLoadError: function () { //加载失败时执行
  300. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  301. }
  302. });
  303. }
  304. function GetTypeName(val) {
  305. var str = '';
  306. switch (val + '') {
  307. case '1': str = "咨询"; break;
  308. case '2': str = "报修服务"; break;
  309. case '3': str = "投诉建议"; break;
  310. }
  311. return str;
  312. }
  313. function GetStateName(val) {
  314. // var str = '';
  315. // switch (val + '') {
  316. // case '0': str = "待指派"; break;
  317. // case '1': str = "处理中"; break;
  318. // case '2': str = "已完结"; break;
  319. // }
  320. //if(val==0){
  321. // return '<div class="warning">待指派</div>'
  322. //}else if(val==1){
  323. // return '<div class="primary">处理中</div>'
  324. //}else if(val==2){
  325. // return '<div class="defauli">已完结</div>'
  326. // }
  327. if (val == 0) {
  328. return '<div class="warning">待处理</div>'
  329. } else{
  330. return '<div class="defauli">已处理</div>'
  331. }
  332. return str;
  333. }
  334. function ComXQ(val, row) {
  335. var str = '';
  336. if (row.IsLast) {
  337. str = str + row.DealUserName + " 完结工单。" + "<br>";
  338. }
  339. if (row.DealTime) {
  340. str = str + row.DealUserName + " 处理工单:" + "<br>";
  341. str = str + row.Detail + "<br>";
  342. }
  343. if (row.SureUserName) {
  344. str = str + row.SureUserName + " 接单。" + "<br>";
  345. }
  346. if (row.ToDeptName) {
  347. str = str + row.CreateUserName + " 指派工单给 " + row.ToDeptName + " ";
  348. if (row.ToUserName) {
  349. str = str + row.ToUserName;
  350. }
  351. str = str + "<br>";
  352. }
  353. if (row.IsStart) {
  354. str = str + row.CreateUserName + " 重新开启工单。" + "<br>";
  355. }
  356. return str;
  357. }
  358. //获取部门
  359. var setting = {
  360. data: {
  361. key: {
  362. name: "F_DeptName"
  363. },
  364. simpleData: {
  365. enable: true,
  366. idKey: "F_DeptId",
  367. pIdKey: "F_ParentId",
  368. rootPId: 0
  369. }
  370. },
  371. callback: {
  372. onClick: zTreeOnClick
  373. }
  374. };
  375. function getBM(obj) {
  376. $.getJSON(huayi.config.callcenter_url+'Department/GetAllList', { "token": $.cookie("token") }, function (result) {
  377. if (result.state.toLowerCase() == "success") {
  378. $.fn.zTree.init(obj, setting, result.data);
  379. }
  380. })
  381. }
  382. function zTreeOnClick(event, treeId, treeNode) {
  383. if (event) {
  384. event.stopPropagation();
  385. }
  386. var obj = $("#" + event.data.treeId).parent();
  387. obj.parent().find("input").eq(0).val(treeNode.F_DeptName);
  388. obj.parent().find("input").eq(1).val(treeNode.F_DeptId);
  389. obj.hide();
  390. getRY($(".clid"), $("#clbm").val());
  391. };
  392. //获取人员
  393. function getRY(obj, deptid) {
  394. obj.empty();
  395. obj.append('<li itemid="">--请选择--</li>');
  396. obj.parent().parent().find("input").eq(0).val("--请选择--");
  397. obj.parent().parent().find("input").eq(1).val("");
  398. $.getJSON(huayi.config.callcenter_url+'UserAccount/GetDeptUserList', { "deptid": deptid, "token": $.cookie("token") }, function (result) {
  399. if (result.state.toLowerCase() == "success") {
  400. $(result.data).each(function (i, n) {
  401. obj.append('<li itemid="' + n.F_UserId + '">' + n.F_UserName + '</li>');
  402. })
  403. obj.find("li").click(function (event) {
  404. if (event) {
  405. event.stopPropagation();
  406. }
  407. $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  408. $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  409. $(this).parent().parent().hide();
  410. });
  411. }
  412. })
  413. }
  414. function Appoint(val, row) {
  415. return czhtml(val, row, "处理");
  416. }
  417. function Dispose(val, row) {
  418. return czhtml(val, row, "处理");
  419. }
  420. function Expedite(val, row) {
  421. return czhtml(val, row, "催办");
  422. }
  423. function Comment(val, row) {
  424. return czhtml(val, row, "评论");
  425. }
  426. function czhtml(val, row,str) {
  427. return '<div class="imgs" ><a class="xg" itemstr=\'' + JSON.stringify(row) + '\' onclick= oper("' + val + '",this) >' + str + '</a></div>';
  428. }
  429. function oper(val, obj) {
  430. zpid = val;
  431. var zp = JSON.parse($(obj).attr("itemstr"));
  432. $("#cl_gdbh").text(zp.WorkOrderID);
  433. $("#cl_gdlx").text(GetTypeName(zp.Type));
  434. $("#cl_khxm").text(zp.Customer);
  435. $("#cl_khdh").text(zp.CustomerTel);
  436. $("#cl_gdnr").text(zp.Detail);
  437. $("#clbmname").val("");
  438. $("#clbm").val("");
  439. $("#clidname").val("");
  440. $("#clid").val("");
  441. $(".clid").empty();
  442. $("#cont").val("");
  443. $(".t-shade").addClass("cx");
  444. $(".clgd").addClass("cx");
  445. }