安图前端代码

WorkOrder.js 15KB

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