CurrentTaskIndex.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. var refreshGirdData;
  2. var logbegin = '';
  3. var logend = '';
  4. var StartTimeBegin = '';
  5. var StartTimeend = '';
  6. var EndTimeBegin = '';
  7. var EndTimeend = '';
  8. var selectRowsData;
  9. var MsgData = '';
  10. var TaskType = 0;
  11. var bootstrap = function ($, learun) {
  12. "use strict";
  13. var psuid = "";
  14. var page = {
  15. init: function () {
  16. page.initGird();
  17. page.bind();
  18. },
  19. bind: function () {
  20. $('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
  21. // 调用后台查询
  22. // queryJson 查询条件
  23. var date = $('#lr_search_date_datesearch').html();
  24. if (date == '') {
  25. logbegin = '';
  26. logend = '';
  27. }
  28. var starttime = $('#lr_search_date_StartTime').html();
  29. if (starttime == '') {
  30. StartTimeBegin = '';
  31. StartTimeend = '';
  32. }
  33. var endtime = $('#lr_search_date_EndTime').html();
  34. if (endtime == '') {
  35. EndTimeBegin = '';
  36. EndTimeend = '';
  37. }
  38. //queryJson["AddTimeFrom"] = logbegin;
  39. //queryJson["AddTimeTo"] = logend;
  40. queryJson["ID"] = $("#ID").val();
  41. queryJson["BarCode"] = $("#BarCode").val();
  42. queryJson["MaterialCode"] = $("#MaterialCode").val();
  43. queryJson["AddrFrom"] = $("#AddrFrom").val();
  44. queryJson["AddrTo"] = $("#AddrTo").val();
  45. queryJson["AddrNext"] = $("#AddrNext").val();
  46. //queryJson["StartTimeBegin"] = StartTimeBegin;
  47. //queryJson["StartTimeEnd"] = StartTimeend;
  48. //queryJson["EndTimeBegin"] = EndTimeBegin;
  49. //queryJson["EndTimeEnd"] = EndTimeend;
  50. queryJson["AddTimeFrom"] = $("#AddTimeFrom").val();
  51. queryJson["AddTimeTo"] = $("#AddTimeTo").val();
  52. queryJson["StartTimeBegin"] = $("#StartTimeBegin").val();
  53. queryJson["StartTimeEnd"] = $("#StartTimeEnd").val();
  54. queryJson["EndTimeBegin"] = $("#EndTimeBegin").val();
  55. queryJson["EndTimeEnd"] = $("#EndTimeEnd").val();
  56. queryJson["Type"] = $("#Type").lrselectGet();
  57. queryJson["BusType"] = $("#BusType").lrselectGet();
  58. queryJson["Status"] = $("#Status").lrselectGet();
  59. queryJson["OutType"] = $("#OutType").lrselectGet();
  60. queryJson["Tunnel"] = $("#Tunnel").val();
  61. queryJson["Device"] = $("#Device").val();
  62. queryJson["PalletizingId"] = $("#PalletizingId").val();
  63. if ($("#IsPalletizing").is(":checked")) {
  64. queryJson["IsPalletizing"] = '1';
  65. } else {
  66. queryJson["IsPalletizing"] = '0';
  67. }
  68. page.search({ queryJson: JSON.stringify(queryJson) });
  69. }, 250);
  70. // 查询
  71. $('#btn_Search').on('click', function () {
  72. var keyword = $('#txt_Keyword').val();
  73. page.search({ queryJson: JSON.stringify({ keyword: $('#txt_Keyword').val() }) });
  74. });
  75. // 刷新
  76. $('#lr_refresh').on('click', function () {
  77. location.reload();
  78. });
  79. // 取消任务
  80. $('#lr_cancel').on('click', function () {
  81. selectRowsData = $('#gridtable').jfGridGet("rowdata");
  82. if (selectRowsData.length == 0) {
  83. learun.alert.error('未选择行!');
  84. return false;
  85. }
  86. //var url = weburl + "api/WCS/handleTask";
  87. TaskType = 1;
  88. MsgData = '是否确认取消任务!';
  89. learun.layerForm({
  90. id: 'form',
  91. title: '取消任务',
  92. url: top.$.rootUrl + '/SXManager/Tasks/Form',
  93. width: 700,
  94. height: 300,
  95. callBack: function (id) {
  96. return top[id].acceptClick(refreshGirdData);
  97. }
  98. });
  99. });
  100. //完成任务
  101. $('#lr_done').on('click', function () {
  102. selectRowsData = $('#gridtable').jfGridGet("rowdata");
  103. if (selectRowsData.length == 0) {
  104. learun.alert.error('未选择行!');
  105. return false;
  106. }
  107. TaskType = 2;
  108. MsgData = '是否确认完成任务!';
  109. learun.layerForm({
  110. id: 'form',
  111. title: '完成任务',
  112. url: top.$.rootUrl + '/SXManager/Tasks/Form',
  113. width: 700,
  114. height: 300,
  115. callBack: function (id) {
  116. return top[id].acceptClick(refreshGirdData);
  117. }
  118. });
  119. });
  120. //优先级
  121. $('#lr_Priority').on('click', function () {
  122. selectRowsData = $('#gridtable').jfGridGet("rowdata");
  123. if (selectRowsData.length == 0) {
  124. learun.alert.error('未选择行!');
  125. return false;
  126. }
  127. TaskType = 4;
  128. MsgData = '是否确认设置优先级!';
  129. learun.layerForm({
  130. id: 'form',
  131. title: '完成任务',
  132. url: top.$.rootUrl + '/SXManager/Tasks/Form',
  133. width: 700,
  134. height: 300,
  135. callBack: function (id) {
  136. return top[id].acceptClick(refreshGirdData);
  137. }
  138. });
  139. });
  140. $('#lr_TaskRepeat').on('click', function () {
  141. let selectData = $('#gridtable').jfGridGet("rowdata");
  142. if (selectData.length == 0) {
  143. learun.alert.error('未选择行!');
  144. return false;
  145. }
  146. var url = wmsurl + "api/Sx/TaskRepeatSend";
  147. learun.layerConfirm('是否确认机器人任务重复下发!', function (res, index) {
  148. if (res) {
  149. $.ajax({
  150. type: 'post',
  151. data: JSON.stringify({
  152. "taskNo": selectData.map((item) => item.ID),
  153. }),
  154. dataType: 'json',
  155. contentType: "application/json;charset=utf-8",
  156. url: url,
  157. success: function (response) {
  158. //resCode 200 resMsg "成功"
  159. refreshGirdData();
  160. top.layer.close(index);
  161. learun.alert.info(response.resMsg);
  162. }
  163. });
  164. }
  165. });
  166. });
  167. $('.datetime').each(function () {
  168. $(this).lrdatetime({
  169. dfdata: [
  170. { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  171. { name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  172. { name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  173. { name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  174. ],
  175. // 月
  176. mShow: false,
  177. premShow: false,
  178. // 季度
  179. jShow: false,
  180. prejShow: false,
  181. // 年
  182. ysShow: false,
  183. yxShow: false,
  184. preyShow: false,
  185. yShow: false,
  186. // 默认
  187. dfvalue: 'all',
  188. selectfn: function (begin, end) {
  189. let id = $(this).attr('id');
  190. if (id == 'datesearch') {
  191. logbegin = begin;
  192. logend = end;
  193. }
  194. else if (id == 'StartTime') {
  195. StartTimeBegin = begin;
  196. StartTimeend = end;
  197. }
  198. else if (id == 'EndTime') {
  199. EndTimeBegin = begin;
  200. EndTimeend = end;
  201. }
  202. }
  203. });
  204. });
  205. $('#Type').lrselect({
  206. url: top.$.rootUrl + '/SXManager/Enums/GetTaskTypeList',
  207. maxHeight: 180,
  208. allowSearch: false
  209. });
  210. $('#Status').lrselect({
  211. url: top.$.rootUrl + '/SXManager/Enums/GetTaskStatusList',
  212. maxHeight: 180,
  213. allowSearch: false
  214. });
  215. $('#OutType').lrselect({
  216. url: top.$.rootUrl + '/SXManager/Enums/GetAutoManualOutTypeList',
  217. maxHeight: 180,
  218. allowSearch: false
  219. });
  220. $('#BusType').lrselect({
  221. url: top.$.rootUrl + '/SXManager/Enums/SxTaskBusTypeDescList',
  222. maxHeight: 180,
  223. allowSearch: false
  224. });
  225. },
  226. // 初始化列表
  227. initGird: function () {
  228. $('#gridtable').jfGrid({
  229. url: top.$.rootUrl + '/SXManager/Tasks/GetCurrentTaskPageList',
  230. headData: [
  231. { label: "任务号", name: "ID", width: 140, align: "left" },
  232. { label: "托盘码", name: "BarCode", width: 120, align: "left" },
  233. { label: "任务类型", name: "TypeName", width: 90, align: "left", sortname: "Type" },
  234. { label: "任务状态", name: "StatusName", width: 90, align: "left", sortname: "Status" },
  235. { label: "起始地址", name: "AddrFrom", width: 100, align: "left" },
  236. { label: "目标地址", name: "AddrTo", width: 100, align: "left" },
  237. { label: "下一个地址", name: "AddrNext", width: 100, align: "left" },
  238. { label: "业务类型", name: "BusType", width: 130, align: "left", sortname: "BusType" },
  239. { label: "巷道", name: "Tunnel", width: 50, align: "left" },
  240. { label: "码垛编号", name: "PalletizingId", width: 150, align: "left" },
  241. { label: "机器人编号", name: "Robot", width: 80, align: "left" },
  242. { label: "轮子类型", name: "GoodsType", width: 80, align: "left" },
  243. { label: "楼层", name: "Floor", width: 60, align: "left" },
  244. { label: "等级", name: "Grade", width: 60, align: "left" },
  245. { label: "码垛层数", name: "AgvTaskID", width: 60, align: "left" },
  246. { label: "补工字轮任务号", name: "WmsTask", width: 100, align: "left" },
  247. { label: "设备", name: "Device", width: 60, align: "left" },
  248. { label: "重量", name: "Weight", width: 110, align: "left" },
  249. { label: "产品编码", name: "MaterialCode", width: 120, align: "left" },
  250. { label: "物料编码", name: "MatCode", width: 110, align: "left" },
  251. { label: "库存编码", name: "InvBarCode", width: 110, align: "left" },
  252. { label: "高度", name: "Height", width: 110, align: "left" },
  253. { label: "优先级", name: "Priority", width: 80, align: "left" },
  254. { label: "手动处理备注", name: "ManualRemarks", width: 150, align: "left" },
  255. { label: "产品长度", name: "Length", width: 90, align: "left" },
  256. { label: "手/自动", name: "OutTypeName", width: 115, align: "left", sortname: "OutType" },
  257. { label: "堆垛机放货站台", name: "SrmStation", width: 95, align: "left" },
  258. { label: "开始时间", name: "StartTime", width: 130, align: "left" },
  259. { label: "结束时间", name: "EndTime", width: 130, align: "left" },
  260. //{ label: "码垛单号", name: "DocID", width: 150, align: "left" },
  261. //{ label: "码垛托盘类型", name: "PalletType", width: 150, align: "left" },
  262. //{ label: "码垛工位", name: "ProdLine", width: 150, align: "left" },
  263. //{ label: "满盘数量", name: "FullQty", width: 150, align: "left" },
  264. //{ label: "高度", name: "Height", width: 150, align: "left" },
  265. { label: "单号", name: "TaskGroupKey", width: 150, align: "left" },
  266. { label: "更新状态", name: "UploadedName", width: 90, align: "left", sortname: "Uploaded" },
  267. {
  268. label: "改手盘标记", name: "IsSurplus", width: 80, align: "left"
  269. , formatter: function (cellvalue) {
  270. if (cellvalue == true) {
  271. return '<span class=\"label label-success\" >是</span>';
  272. } else {
  273. return '<span class=\"label label-default\" >否</span>';
  274. }
  275. }
  276. },
  277. {
  278. label: "返工标记", name: "IsRework", width: 80, align: "left", formatter: function (cellvalue) {
  279. if (cellvalue == true) {
  280. return '<span class=\"label label-success\" >是</span>';
  281. } else {
  282. return '<span class=\"label label-default\" >否</span>';
  283. }
  284. }
  285. },
  286. {
  287. label: "快投标记", name: "IsFast", width: 80, align: "left", formatter: function (cellvalue) {
  288. if (cellvalue == true) {
  289. return '<span class=\"label label-success\" >是</span>';
  290. } else {
  291. return '<span class=\"label label-default\" >否</span>';
  292. }
  293. }
  294. },
  295. { label: "机台号", name: "WorkBench", width: 120, align: "left" },
  296. { label: "仓库编码", name: "WarehouseCode", width: 110, align: "left" },
  297. { label: "创建时间", name: "AddTime", width: 130, align: "left" },
  298. { label: "更新时间", name: "EditTime", width: 130, align: "left" },
  299. { label: "创建用户", name: "AddWho", width: 110, align: "left" },
  300. { label: "更新用户", name: "EditWho", width: 110, align: "left" },
  301. ],
  302. mainId: 'ID',
  303. isPage: true,
  304. reloadSelected: true,
  305. sidx: 'AddTime',
  306. sord: 'DESC',
  307. isMultiselect: true,
  308. isSubGrid: true, // 是否有子表
  309. subGridExpanded: function (subid, rowdata) {
  310. psuid = subid;
  311. $('#' + subid).jfGrid({
  312. url: top.$.rootUrl + '/SXManager/Tasks/GetTaskItem',
  313. headData: [
  314. { label: '任务号', name: 'ParentTaskCode', index: 'ParentTaskCode', width: 150, align: 'center' },
  315. { label: '当前位置', name: 'CurPoint', width: 210, align: "left" },
  316. { label: '下个位置', name: 'NextPoint', width: 210, align: "left" },
  317. { label: '描述', name: 'Desc', width: 380, align: "left" },
  318. { label: "创建时间", name: "AddTime", width: 155, align: "left" },
  319. { label: "创建用户", name: "AddWho", width: 110, align: "left" },
  320. ]
  321. });
  322. $('#' + subid).jfGridSet('reloadSon', { taskid: rowdata.ID, adddate: rowdata.AddTime });
  323. },
  324. });
  325. page.search({ queryJson: JSON.stringify({ keyword: $('#txt_Keyword').val() }) });
  326. },
  327. search: function (param) {
  328. param = param || {};
  329. $('#gridtable').jfGridSet('reload', param);
  330. }
  331. };
  332. refreshGirdData = function () {
  333. page.search();
  334. // $('#gridtable').jfGridSet('reload');
  335. };
  336. page.init();
  337. }