安图前端代码

WorkOrder.js 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  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 xq() {
  222. $.getJSON(huayi.config.callcenter_url+'WorkOrder/GetWorkOrder', { "orderid": selid, "token": $.cookie("token") }, function (result) {
  223. if (result.state.toLowerCase() == "success") {
  224. if (result.data.data.length > 0) {
  225. var data = result.data.data[0];
  226. $("#xq_gdbh").text(data.WorkOrderID);
  227. $("#xq_gdlx").text(GetTypeName(data.Type));
  228. $("#xq_cjsj").text(data.CreateTime);
  229. $("#xq_gdzt").html(GetStateName(data.State));
  230. $("#xq_khxm").text(data.Customer);
  231. $("#xq_khdh").text(data.CustomerTel);
  232. $("#xq_wtlx").text(data.TypeClassName);
  233. $("#xq_zxgh").text(data.CreateUser);
  234. $("#xq_zxxm").text(data.CreateUserName);
  235. $("#xq_gdnr").text(data.Detail);
  236. $(".gdxq").eq(0).find(".allbc").remove();
  237. if (result.data.item.length > 0) {
  238. var html = '<div class="allbc">补充记录'
  239. + '<table class="table table-hover table-striped"><thead><tr><th><div class="th-inner">补充人</div></th>'
  240. + '<th><div class="th-inner">补充详情</div></th><th><div class="th-inner">创建时间</div></th></tr></thead><tbody>';
  241. $(result.data.item).each(function (i, n) {
  242. html += '<td>' + n.CreateUserName + '</td><td>' + n.Detail + '</td><td>' + n.CreateTime + '</td>';
  243. })
  244. html += '</tbody></table></div>';
  245. $(".gdxq").eq(0).append($(html));
  246. }
  247. }
  248. }
  249. })
  250. }
  251. function cljl(type) {
  252. //先销毁表格
  253. var table = $(".gdxq").eq(type).find("table");
  254. table.bootstrapTable('destroy');
  255. //初始化表格,动态从服务器加载数据
  256. table.bootstrapTable({
  257. method: "get", //使用get请求到服务器获取数据
  258. url: huayi.config.callcenter_url+"WorkOrder/GetItemList", //获取数据的Servlet地址
  259. striped: true, //表格显示条纹
  260. pagination: true, //启动分页
  261. pageSize: 5, //每页显示的记录数
  262. pageNumber: 1, //当前第几页
  263. pageList: [10, 20, 50, 100], //记录数可选列表
  264. search: false, //是否启用查询
  265. showColumns: false, //显示下拉框勾选要显示的列
  266. showRefresh: false, //显示刷新按钮
  267. sidePagination: "server", //表示服务端请求
  268. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  269. //设置为limit可以获取limit, offset, search, sort, order
  270. queryParamsType: "undefined",
  271. queryParams: function queryParams(params) { //设置查询参数
  272. var param = {
  273. page: params.pageNumber,
  274. pagesize: params.pageSize,
  275. type: type,
  276. id: selid,
  277. token: $.cookie("token")
  278. };
  279. return param;
  280. },
  281. onLoadSuccess: function () { //加载成功时执行
  282. //layer.msg("加载成功");
  283. },
  284. onLoadError: function () { //加载失败时执行
  285. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  286. }
  287. });
  288. }
  289. function GetTypeName(val) {
  290. var str = '';
  291. switch (val + '') {
  292. case '1': str = "咨询"; break;
  293. case '2': str = "报修服务"; break;
  294. case '3': str = "投诉建议"; break;
  295. }
  296. return str;
  297. }
  298. function GetStateName(val) {
  299. // var str = '';
  300. // switch (val + '') {
  301. // case '0': str = "待指派"; break;
  302. // case '1': str = "处理中"; break;
  303. // case '2': str = "已完结"; break;
  304. // }
  305. //if(val==0){
  306. // return '<div class="warning">待指派</div>'
  307. //}else if(val==1){
  308. // return '<div class="primary">处理中</div>'
  309. //}else if(val==2){
  310. // return '<div class="defauli">已完结</div>'
  311. // }
  312. if (val == 0) {
  313. return '<div class="warning">待处理</div>'
  314. } else{
  315. return '<div class="defauli">已处理</div>'
  316. }
  317. return str;
  318. }
  319. function ComXQ(val, row) {
  320. var str = '';
  321. if (row.IsLast) {
  322. str = str + row.DealUserName + " 完结工单。" + "<br>";
  323. }
  324. if (row.DealTime) {
  325. str = str + row.DealUserName + " 处理工单:" + "<br>";
  326. str = str + row.Detail + "<br>";
  327. }
  328. if (row.SureUserName) {
  329. str = str + row.SureUserName + " 接单。" + "<br>";
  330. }
  331. if (row.ToDeptName) {
  332. str = str + row.CreateUserName + " 指派工单给 " + row.ToDeptName + " ";
  333. if (row.ToUserName) {
  334. str = str + row.ToUserName;
  335. }
  336. str = str + "<br>";
  337. }
  338. if (row.IsStart) {
  339. str = str + row.CreateUserName + " 重新开启工单。" + "<br>";
  340. }
  341. return str;
  342. }
  343. //获取部门
  344. var setting = {
  345. data: {
  346. key: {
  347. name: "F_DeptName"
  348. },
  349. simpleData: {
  350. enable: true,
  351. idKey: "F_DeptId",
  352. pIdKey: "F_ParentId",
  353. rootPId: 0
  354. }
  355. },
  356. callback: {
  357. onClick: zTreeOnClick
  358. }
  359. };
  360. function getBM(obj) {
  361. $.getJSON(huayi.config.callcenter_url+'Department/GetAllList', { "token": $.cookie("token") }, function (result) {
  362. if (result.state.toLowerCase() == "success") {
  363. $.fn.zTree.init(obj, setting, result.data);
  364. }
  365. })
  366. }
  367. function zTreeOnClick(event, treeId, treeNode) {
  368. if (event) {
  369. event.stopPropagation();
  370. }
  371. var obj = $("#" + event.data.treeId).parent();
  372. obj.parent().find("input").eq(0).val(treeNode.F_DeptName);
  373. obj.parent().find("input").eq(1).val(treeNode.F_DeptId);
  374. obj.hide();
  375. getRY($(".clid"), $("#clbm").val());
  376. };
  377. //获取人员
  378. function getRY(obj, deptid) {
  379. obj.empty();
  380. obj.append('<li itemid="">--请选择--</li>');
  381. obj.parent().parent().find("input").eq(0).val("--请选择--");
  382. obj.parent().parent().find("input").eq(1).val("");
  383. $.getJSON(huayi.config.callcenter_url+'UserAccount/GetDeptUserList', { "deptid": deptid, "token": $.cookie("token") }, function (result) {
  384. if (result.state.toLowerCase() == "success") {
  385. $(result.data).each(function (i, n) {
  386. obj.append('<li itemid="' + n.F_UserId + '">' + n.F_UserName + '</li>');
  387. })
  388. obj.find("li").click(function (event) {
  389. if (event) {
  390. event.stopPropagation();
  391. }
  392. $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  393. $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  394. $(this).parent().parent().hide();
  395. });
  396. }
  397. })
  398. }
  399. function Appoint(val, row) {
  400. return czhtml(val, row, "处理");
  401. }
  402. function Dispose(val, row) {
  403. return czhtml(val, row, "处理");
  404. }
  405. function Expedite(val, row) {
  406. return czhtml(val, row, "催办");
  407. }
  408. function Comment(val, row) {
  409. return czhtml(val, row, "评论");
  410. }
  411. function czhtml(val, row,str) {
  412. return '<div class="imgs" ><a class="xg" itemstr=\'' + JSON.stringify(row) + '\' onclick= oper("' + val + '",this) >' + str + '</a></div>';
  413. }
  414. function oper(val, obj) {
  415. zpid = val;
  416. var zp = JSON.parse($(obj).attr("itemstr"));
  417. $("#cl_gdbh").text(zp.WorkOrderID);
  418. $("#cl_gdlx").text(GetTypeName(zp.Type));
  419. $("#cl_khxm").text(zp.Customer);
  420. $("#cl_khdh").text(zp.CustomerTel);
  421. $("#cl_gdnr").text(zp.Detail);
  422. $("#clbmname").val("");
  423. $("#clbm").val("");
  424. $("#clidname").val("");
  425. $("#clid").val("");
  426. $(".clid").empty();
  427. $("#cont").val("");
  428. $(".t-shade").addClass("cx");
  429. $(".clgd").addClass("cx");
  430. }