Нет описания

planTaskOrder.js 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. /**
  2. * 计划计划工单管理
  3. * */
  4. var tableRight = $('#table2');
  5. var bs; //字典标识
  6. $(document).ready(function() {
  7. $('.tool_bars').authorizeButton();
  8. initTableRight(); //右边表格
  9. /*搜索*/
  10. $("#sc_btnsR").click(function() {
  11. initTableRight();
  12. })
  13. //项目信息
  14. GetEquipName($('#projectidR'));
  15. //键盘enter键 搜索
  16. $(document).on('keypress', function(event) {
  17. if(event.keyCode == "13") {
  18. initTableRight();
  19. }
  20. });
  21. })
  22. //表格列表
  23. function initTableRight(ids) {
  24. //先销毁表格
  25. $('#table2').bootstrapTable('destroy');
  26. //初始化表格,动态从服务器加载数据
  27. $("#table2").bootstrapTable({
  28. method: "get", //使用get请求到服务器获取数据
  29. url: huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrderPlan/getplantasklistbypage", //获取数据的Servlet地址
  30. contentType: "application/x-www-form-urlencoded",
  31. striped: true, //表格显示条纹
  32. pagination: true, //启动分页
  33. pageSize: 10, //每页显示的记录数
  34. pageNumber: 1, //当前第几页
  35. pageList: [10, 20, 50, 100], //记录数可选列表
  36. search: false, //是否启用查询
  37. showColumns: false, //显示下拉框勾选要显示的列
  38. showRefresh: false, //显示刷新按钮
  39. sidePagination: "server", //表示服务端请求
  40. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  41. //设置为limit可以获取limit, offset, search, sort, order
  42. queryParamsType: "undefined",
  43. queryParams: function queryParams(params) { //设置查询参数
  44. var param = {
  45. pageindex: params.pageNumber,
  46. pagesize: params.pageSize,
  47. // buildid: ids,
  48. keyword:$('#KeyWordR').val(),
  49. projectid:$('#projectidR').val(),
  50. planwostate:$('#planwostate').val(),
  51. };
  52. return param;
  53. },
  54. onLoadSuccess: function(data) { //加载成功时执行
  55. //layer.msg("加载成功");
  56. var newData = {};
  57. newData.state = data.state;
  58. newData.message = data.message;
  59. newData.rows = data.data.rows;
  60. newData.total = data.data.total;
  61. $('#table2').bootstrapTable('load', newData);
  62. $('.codeBox').hide();
  63. $('.tool_downs').authorizeOperateButton();
  64. },
  65. onLoadError: function() { //加载失败时执行
  66. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  67. }
  68. });
  69. }
  70. /* 删除提示*/
  71. function btn_deleteRs() {
  72. var ids = $.map($('#table2').bootstrapTable('getSelections'),
  73. function(row) {
  74. return row.id;
  75. });
  76. /*判断长度*/
  77. if(ids.length <= 0) {
  78. layer.confirm('没有可删除的选项?', {
  79. icon: 7,
  80. btn: ['确定'] //按钮
  81. });
  82. return;
  83. }
  84. removeR(ids)
  85. }
  86. function removeR(ids) {
  87. layer.confirm('确定删除选中计划工单?', {
  88. icon: 7,
  89. btn: ['是', '否'] //按钮
  90. }, function() {
  91. /*发送请求*/
  92. $.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrderPlan/deleteplantask", {
  93. ids: ids
  94. }, function(result) {
  95. result = JSON.parse(result);
  96. if(result.state.toLowerCase() == "success") {
  97. layer.msg("删除成功");
  98. $('#table2').bootstrapTable('refresh');
  99. }
  100. })
  101. });
  102. }
  103. //开始工单
  104. function btn_onR(on_id){
  105. layer.confirm('您确定要开始当前计划任务吗?', {
  106. icon: 7,
  107. btn: ['确定', '取消'],
  108. yes: function(index, layero) {
  109. $.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrderPlan/startplantask", {
  110. id: on_id,
  111. // isenable:1
  112. }, function(result) {
  113. result = JSON.parse(result);
  114. if(result.state.toLowerCase() == "success") {
  115. layer.msg("开始计划任务成功!");
  116. $('#table2').bootstrapTable('refresh');
  117. }
  118. })
  119. },
  120. });
  121. }
  122. //完成工单
  123. function btn_offR(on_id){
  124. layer.confirm('您确定要完结当前计划任务吗?', {
  125. icon: 7,
  126. btn: ['确定', '取消'],
  127. yes: function(index, layero) {
  128. $.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrderPlan/finishplantask", {
  129. id: on_id,
  130. // isenable:0
  131. }, function(result) {
  132. result = JSON.parse(result);
  133. if(result.state.toLowerCase() == "success") {
  134. layer.msg("完结计划任务成功!");
  135. $('#table2').bootstrapTable('refresh');
  136. }
  137. })
  138. },
  139. });
  140. }
  141. //详情
  142. function btn_details(ids){
  143. layer.open({
  144. type: 2,
  145. content: "template/seePlanTaskDetail.html?ids=" + ids,
  146. title: '查看计划工单详情',
  147. area: ['80%', '95%'], //宽高
  148. });
  149. }
  150. //格式化操作
  151. function formatterOperate(val, row) {
  152. var str = '<div class="task_tools" onclick = helper.methods.taskTools(this)>' +
  153. '<a title="操作"><i class="fa fa-cogs" aria-hidden="true"></i></a>' +
  154. '<ul class="tool_down">' +
  155. '<li><a class="aBtn" authorize="yes" id="HY_detailsR_' + row.id + '" onclick="btn_details(\'' + row.id + '\')"><i class="fa icon-detail tub"></i>详情</a><li>' +
  156. '<li><a class="aBtn" authorize="yes" id="HY_deleteR_' + row.id + '" onclick="removeR(\'' + row.id + '\')"><i class="fa icon-delete tub"></i>删除</a><li>'
  157. if(val==1){
  158. str +='<li><a class="aBtn" authorize="yes" id="HY_offR_' + row.id + '" onclick="btn_offR(\'' + row.id + '\')"><i class="glyphicon glyphicon-pause tub"></i>完成</a><li>'
  159. }else{
  160. str +='<li><a class="aBtn" authorize="yes" id="HY_onR_' + row.id + '" onclick="btn_onR(\'' + row.id + '\')"><i class="glyphicon glyphicon-play tub"></i>开始</a><li>'
  161. }
  162. str += '</ul></div>'
  163. return str;
  164. }
  165. //格式化物品名称
  166. function formatterGoodslist(val, row) {
  167. if (val && val.length > 1) {
  168. return val[0].goodsname + '(' + val[0].num + ')...';
  169. } else if (val && val.length === 1 && val[0] != "") {
  170. return val[0].goodsname + '(' + val[0].num + ')';
  171. } else {
  172. return '-';
  173. }
  174. }
  175. //格式化参与人
  176. function formatterJoinuserlist(val, row) {
  177. if (val && val.length > 1) {
  178. var str="";
  179. $(val).each(function(i,n){
  180. if(str){
  181. str +=','+n
  182. }else{
  183. str +=n
  184. }
  185. })
  186. return '<div title="'+ str+'">'+val[0] + '(' + val.length + '人)...</div>';
  187. } else if (val && val.length === 1 && val[0] != "") {
  188. return val[0];
  189. } else {
  190. return '-';
  191. }
  192. }
  193. //格式化地址
  194. function formatterAddress(val, row) {
  195. if (val && val.length > 0) {
  196. return val[0].building_name + val[0].floor_name + val[0].department_name;
  197. } else {
  198. return '-';
  199. }
  200. }
  201. //格式化 时间
  202. function formatterCheckTime(val) {
  203. if (val == "0001-01-01 00:00:00" || val == "" || val == null || val == undefined) {
  204. return "-";
  205. } else {
  206. return val;
  207. }
  208. }
  209. //来源渠道
  210. function formatterChannel(val, row){
  211. var str="";
  212. switch (val+''){
  213. case '1': str="PC";
  214. break;
  215. case '2': str="安卓 ";
  216. break;
  217. case '3': str="IOS ";
  218. break;
  219. case '4': str="微信 ";
  220. break;
  221. default:
  222. break;
  223. }
  224. return str
  225. }
  226. //格式化计划状态
  227. function formatterPlanstate(val,row){
  228. var str="";
  229. switch (val+''){
  230. case '0': str='<div><a class="state_audit state_audit_wait" href="javascript:;">新工单</a></div>';
  231. break;
  232. case '1': str='<div><a class="state_audit state_audit_termination" href="javascript:;">开始</a></div>';
  233. break;
  234. case '2': str='<div><a class="state_audit state_audit_done" href="javascript:;">已完成</a></div>';
  235. break;
  236. default:
  237. break;
  238. }
  239. return str
  240. }
  241. //格式化内容
  242. function formatterContent(val, row) {
  243. if(val) {
  244. var codeContent = val;
  245. var cc = codeContent.length > 15 ? codeContent.substr(0,15) + '...' : codeContent;
  246. return '<div title="' + codeContent + '">' + cc + '</div>';
  247. } else {
  248. return '-';
  249. }
  250. }
  251. //项目信息
  252. function GetEquipName(obj1) {
  253. obj1.empty();
  254. obj1.append('<option selected="selected" value="">请选择项目名称</option>');
  255. $.getJSON(huayi.config.callcenter_url + "equipmentapi/api/ProjectInfo/getlistdrop", function(data) {
  256. if(data.state.toLowerCase() == "success") {
  257. var content = data.data;
  258. $(content).each(function(i, n) {
  259. $("<option value='" + n.id + "'>" + n.text + "</option>").appendTo(obj1);
  260. })
  261. obj1.selectpicker('refresh');
  262. }
  263. })
  264. }