安图前端代码

WorkOrder.js 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567
  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. getAccount()
  100. //反馈单位
  101. getAccounts()
  102. function getAccount() {
  103. $.ajax({
  104. type: "get",
  105. url: huayi.config.callcenter_url + "Customer/BindLDdep",
  106. dataType: 'json',
  107. async: true,
  108. data: {
  109. token: $.cookie("token")
  110. },
  111. success: function(data) {
  112. var Count = data.data.dep;
  113. $(Count).each(function(i,n){
  114. $("<option value='" + n + "'>" + n + "</option>").appendTo($("#comeCall_dep"));
  115. })
  116. $('#comeCall_dep').selectpicker('refresh');
  117. }
  118. });
  119. }
  120. function getAccounts() {
  121. $.ajax({
  122. type: "get",
  123. url: huayi.config.callcenter_url + "Customer/BindLDdep",
  124. dataType: 'json',
  125. async: true,
  126. data: {
  127. token: $.cookie("token")
  128. },
  129. success: function(data) {
  130. var Count = data.data.dep;
  131. $(Count).each(function(i,n){
  132. $("<option value='" + n + "'>" + n + "</option>").appendTo($("#comeCall_deps"));
  133. })
  134. $('#comeCall_deps').selectpicker('refresh');
  135. }
  136. });
  137. }
  138. //工单来源
  139. getOrderSource()
  140. function getOrderSource() {
  141. $.ajax({
  142. type: "get",
  143. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  144. dataType: 'json',
  145. async: true,
  146. data: {
  147. token: $.cookie("token"),
  148. flag :"GDLY"
  149. },
  150. success: function(data) {
  151. var Count = data.data;
  152. $(Count).each(function(i,n){
  153. $("<option value='" +n.F_DictionaryValueId + "'>" + n.F_Name + "</option>").appendTo($("#orderSource"));
  154. })
  155. $('#orderSource').selectpicker('refresh');
  156. }
  157. });
  158. }
  159. //工单类型
  160. getOrderType();
  161. function getOrderType() {
  162. $.get(huayi.config.callcenter_url + 'WorkType/GetTreeList', {
  163. "token": $.cookie("token"),
  164. }, function(result) {
  165. result = $.parseJSON(result);
  166. $.fn.zTree.init($("#TreeDemo"), setting3, result.data); //实例化树形图
  167. });
  168. }
  169. var setting3 = {
  170. data: {
  171. key: {
  172. name: "text"
  173. },
  174. simpleData: {
  175. enable: true,
  176. idKey: "id",
  177. rootPId: 0
  178. }
  179. },
  180. callback: {
  181. onClick: changeTreeClick
  182. }
  183. }
  184. function changeTreeClick(event, treeId, treeNode) {
  185. var chanId = treeNode.id;
  186. var changeName = treeNode.text;
  187. $('#typeclass').val(changeName);
  188. $('#typeclassId').val(chanId);
  189. var pidnode = treeNode.getParentNode();
  190. };
  191. $('.down').click(function(){
  192. if($('.treeList').css('display') == 'block') {
  193. $('.treeList').css('display', 'none')
  194. } else {
  195. $('.treeList').css('display', 'block')
  196. }
  197. })
  198. $('#typeclass').click(function() {
  199. $('.treeList').css('display', 'block')
  200. })
  201. $('.treeList').mouseleave(function() {
  202. $(this).css('display', 'none')
  203. })
  204. //坐席
  205. getSeating()
  206. function getSeating() {
  207. $.ajax({
  208. type: "get",
  209. url: huayi.config.callcenter_url + "CallInScreen/GetUsers",
  210. dataType: 'json',
  211. async: true,
  212. data: {
  213. token: $.cookie("token")
  214. },
  215. success: function(data) {
  216. var Count = data.data.user;
  217. $(Count).each(function(i,n){
  218. $("<option value='" +n.F_UserCode + "'>" + n.F_UserName + "</option>").appendTo($("#userid"));
  219. })
  220. $('#userid').selectpicker('refresh');
  221. }
  222. });
  223. }
  224. })
  225. //编辑器配置
  226. KindEditor.ready(function(K) {
  227. window.changeEditor = K.create('#cl_gdnr');//修改弹出框编辑器
  228. });
  229. var F_UserCode=localStorage.getItem('F_UserCode');
  230. function View(val,row) {
  231. return '<div class="imgs" ><a class="xg" index="'+row.CreateUser+'" onclick= ck("' + val + '") >' + val + '</a></div>';
  232. $("#F_UserCode").val(row.CreateUser);
  233. console.log( $("#F_UserCode").val())
  234. }
  235. function OverTime(val, row) {
  236. var cs = 'Ctime';
  237. if (row.LimitTime||row.State==1) {
  238. if (row.totalhour * 1 > row.LimitTime * 1) {
  239. cs = 'overTime_';
  240. }
  241. }
  242. return '<div class="' + cs + '" ><a class="xg" ></a></div>';
  243. }
  244. function ck(val) {
  245. selid = val;
  246. console.log($("#F_UserCode").val());
  247. console.log(F_UserCode);
  248. $('.modify').attr('index',selid)
  249. $(".ckxq").removeClass("Hidens");
  250. $(".ckxq ul li").eq(0).trigger("click");
  251. xq();
  252. }
  253. function Detail(val){
  254. if(val) {
  255. var str = '<div '
  256. return str + '>' +decodeURIComponent(val)+ '</div>';
  257. }
  258. }
  259. function xq() {
  260. $.getJSON(huayi.config.callcenter_url+'WorkOrder/GetWorkOrder', { "orderid": selid, "token": $.cookie("token") }, function (result) {
  261. if (result.state.toLowerCase() == "success") {
  262. if (result.data.data.length > 0) {
  263. var data = result.data.data[0];
  264. $("#xq_gdbh").text(data.WorkOrderID);
  265. $("#xq_gdlx").text(data.GDLXName);
  266. $("#xq_cjsj").text(data.CreateTime);
  267. $("#xq_gdzt").html(GetStateName(data.State));
  268. $("#xq_khxm").text(data.Customer);
  269. $("#xq_khdh").text(data.CustomerTel);
  270. $("#xq_wtlx").text(data.Address);
  271. $("#xq_zxgh").text(data.Source);
  272. $("#xq_gdnr").html(decodeURIComponent(data.Detail));//工单详情
  273. $('#bz-1').text(data.County);
  274. $("#bz-2").text(data.Province);
  275. $("#bz-3").text(data.City);
  276. $("#xq_kdxx").text(data.Files);
  277. $(".gdxq").eq(0).find(".allbc").remove();
  278. if (result.data.item.length > 0) {
  279. var html = '<div class="allbc">补充记录'
  280. + '<table class="table table-hover table-striped"><thead><tr><th><div class="th-inner">补充人</div></th>'
  281. + '<th><div class="th-inner">补充详情</div></th><th><div class="th-inner">创建时间</div></th></tr></thead><tbody>';
  282. $(result.data.item).each(function (i, n) {
  283. html += '<td>' + n.CreateUserName + '</td><td>' + n.Detail + '</td><td>' + n.CreateTime + '</td>';
  284. })
  285. html += '</tbody></table></div>';
  286. $(".gdxq").eq(0).append($(html));
  287. }
  288. }
  289. }
  290. })
  291. }
  292. function cljl(type) {
  293. //先销毁表格
  294. var table = $(".gdxq").eq(type).find("table");
  295. table.bootstrapTable('destroy');
  296. //初始化表格,动态从服务器加载数据
  297. table.bootstrapTable({
  298. method: "get", //使用get请求到服务器获取数据
  299. url: huayi.config.callcenter_url+"WorkOrder/GetItemList", //获取数据的Servlet地址
  300. striped: true, //表格显示条纹
  301. pagination: true, //启动分页
  302. pageSize: 5, //每页显示的记录数
  303. pageNumber: 1, //当前第几页
  304. pageList: [10, 20, 50, 100], //记录数可选列表
  305. search: false, //是否启用查询
  306. showColumns: false, //显示下拉框勾选要显示的列
  307. showRefresh: false, //显示刷新按钮
  308. sidePagination: "server", //表示服务端请求
  309. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  310. //设置为limit可以获取limit, offset, search, sort, order
  311. queryParamsType: "undefined",
  312. queryParams: function queryParams(params) { //设置查询参数
  313. var param = {
  314. page: params.pageNumber,
  315. pagesize: params.pageSize,
  316. type: type,
  317. id: selid,
  318. token: $.cookie("token")
  319. };
  320. return param;
  321. },
  322. onLoadSuccess: function () { //加载成功时执行
  323. //layer.msg("加载成功");
  324. },
  325. onLoadError: function () { //加载失败时执行
  326. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  327. }
  328. });
  329. }
  330. function GetTypeName(val) {
  331. var str = '';
  332. switch (val + '') {
  333. case '1': str = "咨询"; break;
  334. case '2': str = "报修服务"; break;
  335. case '3': str = "投诉建议"; break;
  336. }
  337. return str;
  338. }
  339. function GetStateName(val) {
  340. // var str = '';
  341. // switch (val + '') {
  342. // case '0': str = "待指派"; break;
  343. // case '1': str = "处理中"; break;
  344. // case '2': str = "已完结"; break;
  345. // }
  346. //if(val==0){
  347. // return '<div class="warning">待指派</div>'
  348. //}else if(val==1){
  349. // return '<div class="primary">处理中</div>'
  350. //}else if(val==2){
  351. // return '<div class="defauli">已完结</div>'
  352. // }
  353. if (val == 0) {
  354. return '<div class="warning">待处理</div> '
  355. } else{
  356. return '<div class="defauli">已处理</div>'
  357. }
  358. return str;
  359. }
  360. function ComXQ(val, row) {
  361. var str = '';
  362. if (row.IsLast) {
  363. str = str + row.CreateUser + " 完结工单。" + "<br>";
  364. }
  365. if (row.DealTime) {
  366. str = str + row.CreateUser + " 处理工单:" + "<br>";
  367. str = str + row.Detail + "<br>";
  368. }
  369. if (row.SureUserName) {
  370. str = str + row.SureUserName + " 接单。" + "<br>";
  371. }
  372. if (row.ToDeptName) {
  373. str = str + row.CreateUserName + " 指派工单给 " + row.ToDeptName + " ";
  374. if (row.ToUserName) {
  375. str = str + row.ToUserName;
  376. }
  377. str = str + "<br>";
  378. }
  379. if (row.IsStart) {
  380. str = str + row.CreateUserName + " 重新开启工单。" + "<br>";
  381. }
  382. return str;
  383. }
  384. //获取部门
  385. var setting = {
  386. data: {
  387. key: {
  388. name: "F_DeptName"
  389. },
  390. simpleData: {
  391. enable: true,
  392. idKey: "F_DeptId",
  393. pIdKey: "F_ParentId",
  394. rootPId: 0
  395. }
  396. },
  397. callback: {
  398. onClick: zTreeOnClick
  399. }
  400. };
  401. function getBM(obj) {
  402. $.getJSON(huayi.config.callcenter_url+'Department/GetAllList', { "token": $.cookie("token") }, function (result) {
  403. if (result.state.toLowerCase() == "success") {
  404. $.fn.zTree.init(obj, setting, result.data);
  405. }
  406. })
  407. }
  408. function zTreeOnClick(event, treeId, treeNode) {
  409. if (event) {
  410. event.stopPropagation();
  411. }
  412. var obj = $("#" + event.data.treeId).parent();
  413. obj.parent().find("input").eq(0).val(treeNode.F_DeptName);
  414. obj.parent().find("input").eq(1).val(treeNode.F_DeptId);
  415. obj.hide();
  416. getRY($(".clid"), $("#clbm").val());
  417. };
  418. //获取人员
  419. function getRY(obj, deptid) {
  420. obj.empty();
  421. obj.append('<li itemid="">--请选择--</li>');
  422. obj.parent().parent().find("input").eq(0).val("--请选择--");
  423. obj.parent().parent().find("input").eq(1).val("");
  424. $.getJSON(huayi.config.callcenter_url+'UserAccount/GetDeptUserList', { "deptid": deptid, "token": $.cookie("token") }, function (result) {
  425. if (result.state.toLowerCase() == "success") {
  426. $(result.data).each(function (i, n) {
  427. obj.append('<li itemid="' + n.F_UserCode + '">' + n.F_UserName + '</li>');
  428. })
  429. obj.find("li").click(function (event) {
  430. if (event) {
  431. event.stopPropagation();
  432. }
  433. $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  434. $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  435. $(this).parent().parent().hide();
  436. });
  437. }
  438. })
  439. }
  440. function Appoint(val, row) {
  441. return czhtml(val, row, "处理");
  442. }
  443. function Dispose(val, row) {
  444. return czhtml(val, row, "处理");
  445. }
  446. function czhtml(val, row,str) {
  447. if(row.CreateUser==F_UserCode){
  448. return '<div class="imgs" ><a class="xg" itemstr=\'' + JSON.stringify(row) + '\' onclick= oper("' + val + '",this) >' + str + '</a></div>';
  449. }
  450. }
  451. function oper(val, obj) {
  452. zpid = val;
  453. var zp = JSON.parse($(obj).attr("itemstr"));
  454. $("#cl_gdbh").text(zp.WorkOrderID);
  455. $("#cl_gdlx").text(zp.TypeClassName);
  456. $("#cl_khxm").text(zp.Customer);
  457. $("#cl_khdh").text(zp.CustomerTel);
  458. changeEditor.html(decodeURIComponent(zp.Detail))
  459. $("#clbmname").val("");
  460. $("#clbm").val("");
  461. $("#clidname").val("");
  462. $("#clid").val("");
  463. $(".clid").empty();
  464. $("#cont").val("");
  465. $(".t-shade").addClass("cx");
  466. $(".clgd").addClass("cx");
  467. }
  468. //点解
  469. $('.modify').click(function(){
  470. var id=$(this).attr('index');
  471. console.log(id)
  472. layer.open({
  473. type: 2,
  474. title: '修改工单',
  475. maxmin: true, //开启最大化最小化按钮
  476. area: ['80%', '90%'],
  477. content: '../WorkOrder/Xga.html?id='+id
  478. // content: 'addZhiShiKuManger.html?addId=' + id + '&addPid='+ pid +'&addName='+ name +''
  479. });
  480. })
  481. //
  482. function TZ(val){
  483. var id=val;
  484. console.log(id)
  485. layer.open({
  486. type: 2,
  487. title: '修改工单',
  488. maxmin: true, //开启最大化最小化按钮
  489. area: ['80%', '90%'],
  490. content: '../WorkOrder/Xga.html?id='+id
  491. // content: 'addZhiShiKuManger.html?addId=' + id + '&addPid='+ pid +'&addName='+ name +''
  492. });
  493. }
  494. console.log(F_UserCode)
  495. function Remove(val,row){
  496. console.log(row.CreateUser)
  497. if(row.CreateUser==F_UserCode){
  498. return '<div class="imgs RemoveC" ><a onclick= remove("' + val + '") >删除</a> <a onclick= TZ("' + row.WorkOrderID + '") >修改</a> </div>';
  499. }
  500. }
  501. function remove(str,row){
  502. var type=$('#orderSource').val(); //工单来源
  503. var typeclass=$('#typeclassId').val(); //工单类型
  504. var starttime=$('#greetingTimes').val() && $('#greetingTimes').val().split('~')[0]; //开始时间
  505. var endtime=$('#greetingTimes').val() && $('#greetingTimes').val().split('~')[1]; //结束时间
  506. var lddep=$('#comeCall_dep').val(); //来电单位
  507. var fkdep=$('#comeCall_deps').val();//来电单位
  508. var userid=$('#userid').val(); //坐席
  509. layer.confirm('确定删除当前记录?', {
  510. btn: ['是', '否'] //按钮
  511. }, function(index) {
  512. /*执行删除*/
  513. $.ajax({
  514. type: "get",
  515. url: huayi.config.callcenter_url + "WorkOrder/DelWorkOrder",
  516. dataType: 'json',
  517. async: true,
  518. data: {
  519. ids:str,
  520. token: $.cookie("token")
  521. },
  522. success: function(data) {
  523. layer.msg("删除成功!");
  524. initTable(type,typeclass,starttime,endtime,lddep,fkdep,userid);
  525. initTables(type,typeclass,starttime,endtime,lddep,fkdep,userid);
  526. layer.close(index) ;
  527. }
  528. });
  529. });
  530. }
  531. //受理人判断
  532. function GetState(val,row){
  533. if(val==0){
  534. return '<div class="defauli">'+row.CreateUserNameRel+'</div>'
  535. }else{
  536. return '<div class="defauli">'+row.LastDealUserNameRel+'</div>'
  537. }
  538. }