思念食品 UI

WorkOrder.js 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664
  1. var ns;
  2. $.ajax({
  3. type: "get",
  4. url: huayi.config.callcenter_url + "CallInScreen/GetCurrUserDep",
  5. dataType: 'json',
  6. async: false,
  7. data: {
  8. token: $.cookie("token")
  9. },
  10. success: function(data) {
  11. if(data.state.toLowerCase() == 'success') {
  12. if(data.data.groname == '思念组') {
  13. //console.log(data.data.groname)
  14. $('.customerService').show();
  15. $('.market').remove();
  16. ns = 1;
  17. } else {
  18. $('.market').show();
  19. $('.customerService').remove();
  20. ns = 2;
  21. }
  22. }
  23. }
  24. });
  25. $(document).ready(function() {
  26. initTable();
  27. initTables();
  28. $(".ss").click(function() {
  29. stype = 1;
  30. initTable();
  31. initTables();
  32. })
  33. $('.plasechoce').click(function() {
  34. $(this).parent().siblings('input').val('');
  35. })
  36. /*高级查询*/
  37. $(".gjss").click(function() {
  38. $(".t-shade").addClass("cx");
  39. $(".gjsu").addClass("cx");
  40. });
  41. $("#gjss").click(function() {
  42. stype = 2;
  43. initTable();
  44. initTables();
  45. $(".t-shade").removeClass("cx");
  46. $(".gjsu").removeClass("cx");
  47. })
  48. $(".setwin").click(function() {
  49. $(".t-shade").removeClass("cx");
  50. $(".gjsu").removeClass("cx");
  51. $(".cbgd").removeClass("cx");
  52. })
  53. //详情
  54. $(".ckxq ul li").click(function() {
  55. $(this).addClass("Active").siblings().removeClass("Active");
  56. var i = $(this).index();
  57. $(".gdxq").hide();
  58. $(".gdxq").eq(i).show();
  59. if(i > 0) {
  60. cljl(i);
  61. }
  62. });
  63. $(".Closed").click(function() {
  64. $(".ckxq").addClass("Hidens");
  65. });
  66. /*tree下拉框效果*/
  67. $(".inpBox .tree").click(function() {
  68. if($(this).parent().find(".addTree").is(":hidden")) {
  69. $(this).parent().find(".addTree").show();
  70. } else {
  71. $(this).parent().find(".addTree").hide();
  72. }
  73. });
  74. /*普通下拉框效果*/
  75. $(".inpBox .select").click(function() {
  76. if($(this).parent().find(".xl_common").is(":hidden")) {
  77. $(this).parent().find(".xl_common").show();
  78. } else {
  79. $(this).parent().find(".xl_common").hide();
  80. }
  81. });
  82. $(".xl").click(function() {
  83. if($(this).parent().find(".addTree").is(":hidden")) {
  84. $(this).parent().find(".addTree").show();
  85. } else {
  86. $(this).parent().find(".addTree").hide();
  87. }
  88. if($(this).parent().find(".xl_common").is(":hidden")) {
  89. $(this).parent().find(".xl_common").show();
  90. } else {
  91. $(this).parent().find(".xl_common").hide();
  92. }
  93. });
  94. $(".inpBox").mouseleave(function() {
  95. $(this).children(".addTree").hide();
  96. $(this).children(".xl_common").hide();
  97. })
  98. $(".xl_box").on("click", "li", function() {
  99. var obj = $(this).parent().parent().parent();
  100. obj.find("input").eq(0).val($(this).text());
  101. obj.find("input").eq(1).val($(this).attr("itemid"));
  102. obj.find(".xl_common").hide();
  103. })
  104. $("input[name='ltype']").click(function() {
  105. var val = $("input[name='ltype']:checked").val();
  106. if(val == '0') {
  107. $(".js").show();
  108. } else if(val == '1') {
  109. $(".js").hide();
  110. }
  111. })
  112. if($("#zrbmtree")) {
  113. getBM($("#zrbmtree"));
  114. }
  115. laydate.render({
  116. elem: '#greetingTimes',
  117. range: '~',
  118. // type: 'datetime',
  119. //max : 31,
  120. // min: 0,
  121. theme: '#1ab394',
  122. });
  123. //坐席
  124. getSeating()
  125. //工单类型
  126. getOrderType();
  127. //工单来源
  128. getOrderSource()
  129. // //反馈单位 、来电单位
  130. $('#comeCall_dep').comboSelect();
  131. $('#comeCall_deps').comboSelect();
  132. function getOrderType() {
  133. $.get(huayi.config.callcenter_url + 'WorkType/GetTreeList', {
  134. "token": $.cookie("token"),
  135. }, function(result) {
  136. result = $.parseJSON(result);
  137. $.fn.zTree.init($("#TreeDemo"), setting3, result.data); //实例化树形图
  138. });
  139. }
  140. var setting3 = {
  141. data: {
  142. key: {
  143. name: "text"
  144. },
  145. simpleData: {
  146. enable: true,
  147. idKey: "id",
  148. rootPId: 0
  149. }
  150. },
  151. callback: {
  152. onClick: changeTreeClick
  153. }
  154. }
  155. function changeTreeClick(event, treeId, treeNode) {
  156. if(treeNode.level == 2){
  157. var chanId = treeNode.id;
  158. var changeName = treeNode.text;
  159. $('#typeclass').val(changeName);
  160. $('#typeclassId').val(chanId);
  161. var pidnode = treeNode.getParentNode();
  162. }
  163. };
  164. $('.down').click(function() {
  165. if($('.treeList').css('display') == 'block') {
  166. $('.treeList').css('display', 'none')
  167. } else {
  168. $('.treeList').css('display', 'block')
  169. }
  170. })
  171. $('#typeclass').click(function() {
  172. $('.treeList').css('display', 'block')
  173. })
  174. $('.treeList').mouseleave(function() {
  175. $(this).css('display', 'none')
  176. })
  177. function getSeating() {
  178. $.ajax({
  179. type: "get",
  180. url: huayi.config.callcenter_url + "CallInScreen/GetUsers",
  181. dataType: 'json',
  182. async: true,
  183. data: {
  184. token: $.cookie("token")
  185. },
  186. success: function(data) {
  187. var Count = data.data.user;
  188. $(Count).each(function(i, n) {
  189. $("<option value='" + n.F_UserCode + "'>" + n.F_UserName + "</option>").appendTo($("#userid"));
  190. })
  191. $('#userid').selectpicker('refresh');
  192. }
  193. });
  194. }
  195. })
  196. //工单来源
  197. function getOrderSource() {
  198. $.ajax({
  199. type: "get",
  200. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  201. dataType: 'json',
  202. async: true,
  203. data: {
  204. token: $.cookie("token"),
  205. flag: "GDLY"
  206. },
  207. success: function(data) {
  208. var Count = data.data;
  209. $(Count).each(function(i, n) {
  210. $("<option value='" + n.F_DictionaryValueId + "'>" + n.F_Name + "</option>").appendTo($("#orderSource"));
  211. })
  212. $('#orderSource').selectpicker('refresh');
  213. }
  214. });
  215. }
  216. //编辑器配置
  217. KindEditor.ready(function(K) {
  218. window.changeEditor = K.create('#cl_gdnr'); //修改弹出框编辑器
  219. });
  220. var F_UserCode = localStorage.getItem('F_UserCode');
  221. function View(val, row) {
  222. return '<div class="imgs" ><a class="xg" index="' + row.CreateUser + '" onclick= ck("' + val + '") >' + val + '</a></div>';
  223. $("#F_UserCode").val(row.CreateUser);
  224. }
  225. function forMaterDepart(val, row) {
  226. var str = "";
  227. if(val == '' || val == null) {
  228. str = "未知"
  229. } else {
  230. str = val
  231. }
  232. return str
  233. }
  234. function OverTime(val, row) {
  235. var cs = 'Ctime';
  236. if(row.LimitTime || row.State == 1) {
  237. if(row.totalhour * 1 > row.LimitTime * 1) {
  238. cs = 'overTime_';
  239. }
  240. }
  241. return '<div class="' + cs + '" ><a class="xg" ></a></div>';
  242. }
  243. function ck(val) {
  244. selid = val;
  245. $('.modify').attr('index', selid)
  246. $(".ckxq").removeClass("Hidens");
  247. $(".ckxq ul li").eq(0).trigger("click");
  248. xq();
  249. }
  250. function Detail(val) {
  251. // if(val) {
  252. // //var strD = decodeURIComponent(val);
  253. // var strD = val;
  254. // strD = helper.filter.filterHTMLTag(strD);
  255. // if(strD.length > 10) {
  256. // strD = strD.substring(0, 10) + '...';
  257. // }
  258. // return strD;
  259. // }
  260. if(val) {
  261. var str = '<div'
  262. str = str + ' title="' + val + '" ';
  263. if(val.length > 10){
  264. str =str + '>' + val.substring(0, 10) + '...</div>';
  265. }
  266. else{
  267. str = str + '>' + val + '</div>';
  268. }
  269. return str
  270. }
  271. }
  272. function xq() {
  273. $.getJSON(huayi.config.callcenter_url + 'WorkOrder/GetWorkOrder', {
  274. "workid": selid,
  275. "token": $.cookie("token")
  276. }, function(result) {
  277. if(result.state.toLowerCase() == "success") {
  278. if(result.data.data.length > 0) {
  279. var data = result.data.data[0];
  280. if (data.F_IsBack==0) {
  281. $("#F_IsBack").text("否"); //是否寄回
  282. }else{
  283. $("#F_IsBack").text("是"); //是否寄回
  284. }
  285. $("#xq_gdbh").text(data.F_WorkOrderId); //工单编号
  286. $("#xq_gdlx").text(data.TypeName); //工单类型
  287. $("#xq_cjsj").text(data.F_CreateTime); //创建时间
  288. $("#xq_gdzt").html(GetStateName(data.F_State)); //工单状态
  289. $("#xq_khxm").text(data.F_CusName); //客户姓名
  290. $("#xq_khdh").text(data.F_CusPhone); //客户电话
  291. $("#buyDate").text(data.F_BuyDate); //购买日期
  292. $("#productName").text(data.F_ProductName); //产品名称
  293. $("#buyAddress").text(data.F_BuyAddress); //购买地址
  294. $("#productType").text(data.F_ProductType); //产品类别
  295. $("#batchNumber").text(data.F_BatchNumber); //生产批号
  296. $("#userDate").text(data.F_UserDate); //使用日期
  297. $("#areaName").text(data.F_Area+"-"+data.F_Province+"-"+data.F_City); //区域
  298. $("#VipName").text(data.F_VIPName); //专员姓名
  299. $("#F_VipPhone").text(data.F_VIPPhone); //专员电话
  300. $("#conTent").text(data.F_Content); //专员电话
  301. $(".gdxq").eq(0).find(".allbc").remove();
  302. if(result.data.gcdata.length > 0) {
  303. var html = '<div class="allbc">补充记录' +
  304. '<table class="table table-hover table-striped"><thead><tr><th><div class="th-inner">补充人</div></th>' +
  305. '<th><div class="th-inner">补充详情</div></th><th><div class="th-inner">创建时间</div></th></tr></thead><tbody>';
  306. $(result.data.gcdata).each(function(i, n) {
  307. html += '<tr><td>' + n.F_CreateUser + '</td><td>' + n.F_Message + '</td><td>' + n.F_CreateTime + '</td></tr>';
  308. })
  309. html += '</tbody></table></div>';
  310. $(".gdxq").eq(0).append($(html));
  311. }
  312. }
  313. }
  314. })
  315. }
  316. function cljl(type) {
  317. //先销毁表格
  318. var table = $(".gdxq").eq(type).find("table");
  319. table.bootstrapTable('destroy');
  320. //初始化表格,动态从服务器加载数据
  321. table.bootstrapTable({
  322. method: "get", //使用get请求到服务器获取数据
  323. url: huayi.config.callcenter_url + "WorkOrder/GetItemList", //获取数据的Servlet地址
  324. contentType: 'application/x-www-form-urlencoded',
  325. striped: true, //表格显示条纹
  326. pagination: true, //启动分页
  327. pageSize: 10, //每页显示的记录数
  328. pageNumber: 1, //当前第几页
  329. pageList: [10, 20, 50, 100], //记录数可选列表
  330. search: false, //是否启用查询
  331. showColumns: false, //显示下拉框勾选要显示的列
  332. showRefresh: false, //显示刷新按钮
  333. sidePagination: "server", //表示服务端请求
  334. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  335. //设置为limit可以获取limit, offset, search, sort, order
  336. queryParamsType: "undefined",
  337. queryParams: function queryParams(params) { //设置查询参数
  338. var param = {
  339. page: params.pageNumber,
  340. pagesize: params.pageSize,
  341. type: type,
  342. id: selid,
  343. token: $.cookie("token")
  344. };
  345. return param;
  346. },
  347. onLoadSuccess: function() { //加载成功时执行
  348. //layer.msg("加载成功");
  349. },
  350. onLoadError: function() { //加载失败时执行
  351. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  352. }
  353. });
  354. }
  355. function GetTypeName(val) {
  356. var str = '';
  357. switch(val + '') {
  358. case '1':
  359. str = "咨询";
  360. break;
  361. case '2':
  362. str = "报修服务";
  363. break;
  364. case '3':
  365. str = "投诉建议";
  366. break;
  367. }
  368. return str;
  369. }
  370. function GetStateName(val) {
  371. if(val == 0) {
  372. return '<div class="warning">待处理</div> '
  373. } else {
  374. return '<div class="defauli">已处理</div>'
  375. }
  376. return str;
  377. }
  378. function ComXQ(val, row) {
  379. var str = '';
  380. if(row.IsLast) {
  381. str = str + row.CreateUser + " 完结工单。" + "<br>";
  382. }
  383. if(row.DealTime) {
  384. str = str + row.CreateUser + " 处理工单:" + "<br>";
  385. str = str + row.Detail + "<br>";
  386. }
  387. if(row.SureUserName) {
  388. str = str + row.SureUserName + " 接单。" + "<br>";
  389. }
  390. if(row.ToDeptName) {
  391. str = str + row.CreateUserName + " 指派工单给 " + row.ToDeptName + " ";
  392. if(row.ToUserName) {
  393. str = str + row.ToUserName;
  394. }
  395. str = str + "<br>";
  396. }
  397. if(row.IsStart) {
  398. str = str + row.CreateUserName + " 重新开启工单。" + "<br>";
  399. }
  400. return str;
  401. }
  402. //获取部门
  403. var setting = {
  404. data: {
  405. key: {
  406. name: "F_DeptName"
  407. },
  408. simpleData: {
  409. enable: true,
  410. idKey: "F_DeptId",
  411. pIdKey: "F_ParentId",
  412. rootPId: 0
  413. }
  414. },
  415. callback: {
  416. onClick: zTreeOnClick
  417. }
  418. };
  419. function getBM(obj) {
  420. $.getJSON(huayi.config.callcenter_url + 'Department/GetAllList', {
  421. "token": $.cookie("token")
  422. }, function(result) {
  423. if(result.state.toLowerCase() == "success") {
  424. $.fn.zTree.init(obj, setting, result.data);
  425. }
  426. })
  427. }
  428. function zTreeOnClick(event, treeId, treeNode) {
  429. if(event) {
  430. event.stopPropagation();
  431. }
  432. var obj = $("#" + event.data.treeId).parent();
  433. obj.parent().find("input").eq(0).val(treeNode.F_DeptName);
  434. obj.parent().find("input").eq(1).val(treeNode.F_DeptId);
  435. obj.hide();
  436. getRY($(".clid"), $("#clbm").val());
  437. };
  438. //获取人员
  439. function getRY(obj, deptid) {
  440. obj.empty();
  441. obj.append('<li itemid="">--请选择--</li>');
  442. obj.parent().parent().find("input").eq(0).val("--请选择--");
  443. obj.parent().parent().find("input").eq(1).val("");
  444. $.getJSON(huayi.config.callcenter_url + 'UserAccount/GetDeptUserList', {
  445. "deptid": deptid,
  446. "token": $.cookie("token")
  447. }, function(result) {
  448. if(result.state.toLowerCase() == "success") {
  449. $(result.data).each(function(i, n) {
  450. obj.append('<li itemid="' + n.F_UserCode + '">' + n.F_UserName + '</li>');
  451. })
  452. obj.find("li").click(function(event) {
  453. if(event) {
  454. event.stopPropagation();
  455. }
  456. $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  457. $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  458. $(this).parent().parent().hide();
  459. });
  460. }
  461. })
  462. }
  463. function Appoint(val, row) {
  464. return czhtml(val, row, "处理");
  465. }
  466. function Dispose(val, row) {
  467. return czhtml(val, row, "处理");
  468. }
  469. function czhtml(val, row, str) {
  470. return '<div class="imgs" ><a onclick= TK("' + row.F_WorkOrderId
  471. + '") >复制模板</a><a onclick= TZ("' + row.F_WorkOrderId
  472. + '") >修改</a><a class="xg" onclick="getOrderDetail(\'' + val
  473. + '\',\'' + row.TypeClassName
  474. + '\')">' + str + '</a></div>';
  475. }
  476. function oper(val, obj) {
  477. zpid = val;
  478. var zp = JSON.parse($(obj).attr("itemstr"));
  479. $("#cl_gdbh").text(zp.WorkOrderID);
  480. $("#cl_gdlx").text(zp.TypeClassName);
  481. $("#cl_khxm").text(zp.Customer);
  482. $("#cl_khdh").text(zp.F_CusPhone);
  483. changeEditor.html(zp.Detail_2)
  484. $("#clbmname").val("");
  485. $("#clbm").val("");
  486. $("#clidname").val("");
  487. $("#clid").val("");
  488. $(".clid").empty();
  489. $("#cont").val("");
  490. $(".t-shade").addClass("cx");
  491. $(".clgd").addClass("cx");
  492. }
  493. //获取详情
  494. function getOrderDetail(workid, typeName) {
  495. zpid = workid;
  496. $.ajax({
  497. type: "get",
  498. url: huayi.config.callcenter_url + "WorkOrder/GetWorkOrder",
  499. dataType: 'json',
  500. async: true,
  501. cache: false,
  502. data: {
  503. workid: workid,
  504. token: $.cookie("token")
  505. },
  506. success: function(result) {
  507. if(result.data.data.length > 0) {
  508. var data = result.data.data[0];
  509. if(data) {
  510. $("#cl_gdbh").text(data.F_WorkOrderId);
  511. $("#cl_gdlx").text(data.TypeName);
  512. $("#cl_khxm").text(data.F_CusName);
  513. $("#cl_khdh").text(data.F_CusPhone);
  514. $("#clbmname").val("");
  515. $("#clbm").val("");
  516. $("#clidname").val("");
  517. $("#clid").val("");
  518. $(".clid").empty();
  519. $("#cont").val("");
  520. $(".t-shade").addClass("cx");
  521. $(".clgd").addClass("cx");
  522. }
  523. }
  524. }
  525. });
  526. }
  527. //点解
  528. $('.modify').click(function() {
  529. var id = $(this).attr('index');
  530. layer.open({
  531. type: 2,
  532. title: '修改工单',
  533. maxmin: true, //开启最大化最小化按钮
  534. area: ['80%', '90%'],
  535. content: '../WorkOrder/Xga.html?id=' + id
  536. // content: 'addZhiShiKuManger.html?addId=' + id + '&addPid='+ pid +'&addName='+ name +''
  537. });
  538. })
  539. //
  540. function TZ(val) {
  541. var id = val;
  542. layer.open({
  543. type: 2,
  544. title: '修改工单',
  545. maxmin: true, //开启最大化最小化按钮
  546. area: ['80%', '90%'],
  547. content: '../WorkOrder/Xga.html?id=' + id
  548. // content: 'addZhiShiKuManger.html?addId=' + id + '&addPid='+ pid +'&addName='+ name +''
  549. });
  550. }
  551. function TK(val) {
  552. var id = val;
  553. layer.open({
  554. type: 2,
  555. title: '文字模板',
  556. maxmin: true, //开启最大化最小化按钮
  557. area: ['20%', '20%'],
  558. content: '../WorkOrder/template.html?id=' + id
  559. // content: 'addZhiShiKuManger.html?addId=' + id + '&addPid='+ pid +'&addName='+ name +''
  560. });
  561. }
  562. function Remove(val, row) {
  563. return '<div class="imgs RemoveC" ><a onclick= TK("' + row.F_WorkOrderId
  564. + '") >复制模板</a>&nbsp&nbsp<a onclick= remove("' + val
  565. + '") >删除</a></div>';
  566. }
  567. function Search(val, row) {
  568. return '<div class="imgs RemoveC" ><a onclick= TK("' + row.F_WorkOrderId
  569. + '") >复制模板</a></div>';
  570. }
  571. function remove(str, row) {
  572. var type = $('#orderSource').val(); //工单来源
  573. var typeclass = $('#typeclassId').val(); //工单类型
  574. var starttime = $('#greetingTimes').val() && $('#greetingTimes').val().split(' ~ ')[0]; //开始时间
  575. var endtime = $('#greetingTimes').val() && $('#greetingTimes').val().split(' ~ ')[1]; //结束时间
  576. var lddep = $('#comeCall_dep_input').val(); //来电单位
  577. var fkdep = $('#comeCall_deps_input').val(); //来电单位
  578. var userid = $('#userid').val(); //坐席
  579. layer.confirm('确定删除当前记录?', {
  580. btn: ['是', '否'] //按钮
  581. }, function(index) {
  582. /*执行删除*/
  583. $.ajax({
  584. type: "get",
  585. url: huayi.config.callcenter_url + "WorkOrder/DelWorkOrder",
  586. dataType: 'json',
  587. async: true,
  588. data: {
  589. ids: str,
  590. token: $.cookie("token")
  591. },
  592. success: function(data) {
  593. layer.msg("删除成功!");
  594. // initTable(type, typeclass, starttime, endtime, lddep, fkdep, userid);
  595. $('#workorderlist').bootstrapTable('refresh');
  596. $('#workorderlist_').bootstrapTable('refresh');
  597. // initTables(type, typeclass, starttime, endtime, lddep, fkdep, userid);
  598. layer.close(index);
  599. }
  600. });
  601. });
  602. }
  603. //受理人判断
  604. function GetState(val, row) {
  605. if(val == 0) {
  606. return '<div class="defauli">' + IsNull(row.CreateUserNameRel) + '</div>'
  607. } else {
  608. return '<div class="defauli">' + IsNull(row.LastDealUserNameRel) + '</div>'
  609. }
  610. }
  611. //判断是否为null
  612. function IsNull(str){
  613. if(str){
  614. str =str;
  615. }else{
  616. str=" - ";
  617. }
  618. return str
  619. }