Ei kuvausta

planManage.js 8.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. /**
  2. * 计划管理
  3. * */
  4. var table = $('#table1'); //左边表格
  5. var bs; //字典标识
  6. $(document).ready(function() {
  7. $('.tool_bars').authorizeButton();
  8. initTable(); //左边表格
  9. /*搜索*/
  10. $("#sc_btnsL").click(function() {
  11. initTable();
  12. })
  13. //项目信息
  14. GetEquipName($('#projectid'));
  15. })
  16. //加载左边的数据表格
  17. function initTable() {
  18. //先销毁表格
  19. table.bootstrapTable('destroy');
  20. //初始化表格,动态从服务器加载数据
  21. table.bootstrapTable({
  22. method: "get", //使用get请求到服务器获取数据
  23. url: huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrderPlan/getlistbypage", //获取数据的Servlet地址
  24. contentType: "application/x-www-form-urlencoded",
  25. striped: true,
  26. striped: true, //表格显示条纹
  27. pagination: true, //启动分页
  28. pageSize: 10, //每页显示的记录数
  29. pageNumber: 1, //当前第几页
  30. pageList: [10, 15, 20, 30, 50, 100], //记录数可选列表
  31. search: false, //是否启用查询
  32. showColumns: false, //显示下拉框勾选要显示的列
  33. showRefresh: false, //显示刷新按钮
  34. sidePagination: "server", //表示服务端请求
  35. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  36. //设置为limit可以获取limit, offset, search, sort, order
  37. queryParamsType: "undefined",
  38. queryParams: function queryParams(params) { //设置查询参数
  39. var param = {
  40. pageindex: params.pageNumber,
  41. pagesize: params.pageSize,
  42. keyword: $("#KeyWord").val(),
  43. projectid: $('#projectid').val(),
  44. planstate:$('#planstate').val()
  45. };
  46. return param;
  47. },
  48. onLoadSuccess: function(data) { //加载成功时执行
  49. //layer.msg("加载成功");
  50. var newDataL = {};
  51. newDataL.state = data.state;
  52. newDataL.message = data.message;
  53. newDataL.rows = data.data.rows;
  54. newDataL.total = data.data.total;
  55. $('#table1').bootstrapTable('load', newDataL);
  56. $('.tool_down').authorizeOperateButton();
  57. },
  58. onLoadError: function() { //加载失败时执行
  59. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  60. }
  61. });
  62. }
  63. //格式化操作
  64. function oper(val, row) {
  65. var str = '<div class="task_tools" onclick = helper.methods.taskTools(this)>' +
  66. '<a title="操作"><i class="fa fa-cogs" aria-hidden="true"></i></a>' +
  67. '<ul class="tool_down">' +
  68. '<li><a class="aBtn" authorize="yes" id="HY_details_' + row.id + '" onclick="btn_detailsL(\'' + row.id + '\')"><i class="fa icon-detail tub"></i>详情</a><li>' +
  69. '<li><a class="aBtn" authorize="yes" id="HY_editL_' + row.id + '" onclick="btn_editL(\'' + row.id + '\')"><i class="fa icon-edit tub"></i>编辑</a><li>' +
  70. '<li><a class="aBtn" authorize="yes" id="HY_deleteL_' + row.id + '" onclick="remove(\'' + row.id + '\')"><i class="fa icon-delete tub"></i>删除</a><li>'
  71. if(val==1){
  72. str +='<li><a class="aBtn" authorize="yes" id="HY_onL_' + row.id + '" onclick="btn_onL(\'' + row.id + '\')"><i class="glyphicon glyphicon-play tub"></i>启动</a><li>'
  73. }else{
  74. str +='<li><a class="aBtn" authorize="yes" id="HY_offL_' + row.id + '" onclick="btn_offL(\'' + row.id + '\')"><i class="glyphicon glyphicon-pause tub"></i>终止</a><li>'
  75. }
  76. str += '</ul></div>'
  77. return str;
  78. }
  79. function btn_detailsL(ids){
  80. layer.open({
  81. type: 2,
  82. content: "template/seePlanDetail.html?ids=" + ids,
  83. title: '查看计划详情',
  84. area: ['80%', '95%'], //宽高
  85. });
  86. }
  87. //计划启动
  88. function btn_onL(on_id){
  89. layer.confirm('您确定要启动当前计划吗?', {
  90. icon: 7,
  91. btn: ['确定', '取消'],
  92. yes: function(index, layero) {
  93. $.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrderPlan/start", {
  94. ids: on_id,
  95. }, function(result) {
  96. result = JSON.parse(result);
  97. if(result.state.toLowerCase() == "success") {
  98. layer.msg("启动计划成功!");
  99. $('#table1').bootstrapTable('refresh');
  100. }
  101. })
  102. },
  103. });
  104. }
  105. //计划终止
  106. function btn_offL(on_id){
  107. layer.confirm('您确定要终止当前计划吗?', {
  108. icon: 7,
  109. btn: ['确定', '取消'],
  110. yes: function(index, layero) {
  111. $.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrderPlan/stop", {
  112. ids: on_id,
  113. // isenable:0
  114. }, function(result) {
  115. result = JSON.parse(result);
  116. if(result.state.toLowerCase() == "success") {
  117. layer.msg("终止计划成功!");
  118. $('#table1').bootstrapTable('refresh');
  119. }
  120. })
  121. },
  122. });
  123. }
  124. //格式化开始日期
  125. function formatterSdate(val, row) {
  126. return val && val.split(' ')[0];
  127. }
  128. //结束时间 超期变红
  129. function formatterEndTime(val, row) {
  130. if(val) {
  131. var d = val.replace(/-/g, "/");
  132. var curDate = helper.DateFormat.getNowDateTime();
  133. curDate = curDate.replace(/-/g, "/");
  134. var str = '';
  135. if(Date.parse(d) >= Date.parse(curDate)) {
  136. str = '<div>' + val.split(' ')[0] + '</div>';
  137. } else {
  138. str = '<div style="color:red;">' + val.split(' ')[0] + '</div>';
  139. }
  140. return str
  141. } else {
  142. return "-";
  143. }
  144. }
  145. //格式化 执行计划间隔
  146. function formatterPlaninterval(val, row) {
  147. var str = '-'
  148. var idays = ['天', '两天', '三天', '四天', '五天', '六天', '七天', '十五天'];
  149. if(val === 15){
  150. val = 8;
  151. }
  152. if(Number(val)){
  153. str = '每' + idays[Number(val) - 1];
  154. }
  155. return str;
  156. }
  157. //格式化 执行频率
  158. function formatterPlantimes(val, row) {
  159. return val + '次';
  160. }
  161. function setCodeLeft(val, row, index) {
  162. var page = table.bootstrapTable("getPageCode");
  163. return page.pageSize * (page.pageNumber - 1) + index + 1;
  164. }
  165. //左侧添加
  166. function btn_addL() {
  167. layer.open({
  168. type: 2,
  169. content: "template/addOrEditPlan.html",
  170. title: '添加计划',
  171. area: ['80%', '95%'], //宽高
  172. });
  173. }
  174. //配送定时设置
  175. function btn_addTimeP(){
  176. layer.open({
  177. type: 2,
  178. content: "template/addOverTime.html",
  179. title: '配送定时设置',
  180. area: ['50%', '64%'], //宽高
  181. });
  182. }
  183. /*批量删除*/
  184. function btn_deletes() {
  185. var ids = $.map($('#table1').bootstrapTable('getSelections'),
  186. function(row) {
  187. return row.id;
  188. });
  189. /*判断长度*/
  190. if(ids.length <= 0) {
  191. layer.confirm('没有可删除的选项?', {
  192. icon: 7,
  193. btn: ['确定'] //按钮
  194. });
  195. return;
  196. }
  197. remove(ids)
  198. }
  199. //左侧删除
  200. function remove(ids) {
  201. layer.confirm('确定删除选中记录?', {
  202. icon: 7,
  203. btn: ['是', '否'] //按钮
  204. }, function() {
  205. /*发送请求*/
  206. $.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrderPlan/delete", {
  207. ids: ids
  208. }, function(result) {
  209. result = JSON.parse(result);
  210. if(result.state.toLowerCase() == "success") {
  211. layer.msg("删除成功");
  212. $('#table1').bootstrapTable('refresh');
  213. }
  214. })
  215. });
  216. }
  217. //左侧修改
  218. function btn_editL(ids) {
  219. layer.open({
  220. type: 2,
  221. content: "template/addOrEditPlan.html?ids=" + ids,
  222. title: '修改计划',
  223. area: ['80%', '95%'], //宽高
  224. });
  225. }
  226. //格式化物品名称
  227. function formatterGoodslist(val, row) {
  228. if (val && val.length > 1) {
  229. return val[0].goodsname + '(' + val[0].num + ')...';
  230. } else if (val && val.length === 1 && val[0] != "") {
  231. return val[0].goodsname + '(' + val[0].num + ')';
  232. } else {
  233. return '-';
  234. }
  235. }
  236. //格式化地址
  237. function formatterAddress(val, row) {
  238. if (val && val.length > 0) {
  239. return val[0].building_name + val[0].floor_name + val[0].department_name;
  240. } else {
  241. return '-';
  242. }
  243. }
  244. //格式化 时间
  245. function formatterCheckTime(val) {
  246. if (val == "0001-01-01 00:00:00" || val == "" || val == null || val == undefined) {
  247. return "-";
  248. } else {
  249. return val;
  250. }
  251. }
  252. //来源渠道
  253. function formatterChannel(val, row){
  254. var str="";
  255. switch (val+''){
  256. case '1': str="PC";
  257. break;
  258. case '2': str="安卓 ";
  259. break;
  260. case '3': str="IOS ";
  261. break;
  262. case '4': str="微信 ";
  263. break;
  264. default:
  265. break;
  266. }
  267. return str
  268. }
  269. //格式化计划状态
  270. function formatterPlanstate(val,row){
  271. var str="";
  272. switch (val+''){
  273. case '0': str='<div><a class="state_audit state_audit_done" href="javascript:;">启动</a></div>';
  274. break;
  275. case '1': str='<div><a class="state_audit state_audit_termination" href="javascript:;">终止</a></div>';
  276. break;
  277. default:
  278. break;
  279. }
  280. return str
  281. }
  282. //格式化内容
  283. function formatterContent(val, row) {
  284. if(val) {
  285. var codeContent = val;
  286. var cc = codeContent.length > 15 ? codeContent.substr(0,15) + '...' : codeContent;
  287. return '<div title="' + codeContent + '">' + cc + '</div>';
  288. } else {
  289. return '-';
  290. }
  291. }
  292. //项目信息
  293. function GetEquipName(obj1) {
  294. obj1.empty();
  295. obj1.append('<option selected="selected" value="">请选择项目名称</option>');
  296. $.getJSON(huayi.config.callcenter_url + "equipmentapi/api/ProjectInfo/getlistdrop", function(data) {
  297. if(data.state.toLowerCase() == "success") {
  298. var content = data.data;
  299. $(content).each(function(i, n) {
  300. $("<option value='" + n.id + "'>" + n.text + "</option>").appendTo(obj1);
  301. })
  302. obj1.selectpicker('refresh');
  303. }
  304. })
  305. }