You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Form.js 9.8 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. /* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
  2. * Copyright (c) 2013-2018 北京泉江科技有限公司
  3. * 创建人:超级管理员
  4. * 日 期:2019-09-10 16:19
  5. * 描 述:资产盘点
  6. */
  7. var acceptClick;
  8. var keyValue = request('keyValue');
  9. // 设置权限
  10. var setAuthorize;
  11. // 设置表单数据
  12. var setFormData;
  13. // 验证数据是否填写完整
  14. var validForm;
  15. // 保存数据
  16. var save;
  17. var refreshGirdData;
  18. var selectedRow;
  19. var tempdatra = new Array();
  20. //总价计算
  21. var pricecount = 0;
  22. var bootstrap = function ($, learun) {
  23. "use strict";
  24. // 设置权限
  25. setAuthorize = function (data) {
  26. };
  27. var page = {
  28. init: function () {
  29. $('.lr-form-wrap').lrscroll();
  30. $("#detailadd").on('click', function () {
  31. selectedRow = null;
  32. learun.layerFormForPercent({
  33. id: 'formitem',
  34. title: '新增明细',
  35. url: top.$.rootUrl + '/AssetManagementSystem/Ass_AssetsInfoItem/IndexTwo',
  36. width: "90%",
  37. height: "90%",
  38. callBack: function (id) {
  39. return top[id].acceptClick(refreshGirdData);
  40. }
  41. });
  42. });
  43. $("#detaildel").on('click', function () {
  44. var keyValue = $('#Ass_ScrapItem').jfGridValue('AAIId');
  45. if (learun.checkrow(keyValue)) {
  46. learun.layerConfirm('是否确认删除该项!', function (res, index) {
  47. if (res) {
  48. $.each(tempdatra, function (key, val) {
  49. if (tempdatra[key] && tempdatra[key].AAIId == keyValue) {
  50. //pricecount -= tempdatra[key].AAIPrice * tempdatra[key].AAIStock;
  51. tempdatra.splice(key, 1);
  52. }
  53. });
  54. //$("#AOPrice").val(pricecount);
  55. $('#Ass_ScrapItem').jfGridSet('refreshdata', tempdatra.sort(sortNumber));
  56. top.layer.close(index);
  57. }
  58. });
  59. }
  60. });
  61. page.bind();
  62. page.initData();
  63. },
  64. bind: function () {
  65. $('#SPType').lrDataItemSelect({ code: 'AssScrap' });
  66. $('#Ass_ScrapItem').jfGrid({
  67. headData: [
  68. {
  69. label: '资产编号', name: 'AAICode', width: 150, align: 'left'
  70. },
  71. {
  72. label: '资产名称', name: 'AAIName', width: 150, align: 'left'
  73. },
  74. {
  75. label: '资产类别', name: 'AAITId', width: 150, align: 'left', formatterAsync: function (callback, value, row, op, $cell) {
  76. learun.clientdata.getAsync('custmerData', {
  77. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'Ass_AssetsType',
  78. key: value,
  79. keyId: 'atid',
  80. callback: function (_data) {
  81. callback(_data['aname']);
  82. }
  83. });
  84. }
  85. },
  86. {
  87. label: '楼宇名称', name: 'AAIStorage', width: 150, align: 'left',
  88. formatterAsync: function (callback, value, row, op, $cell) {
  89. learun.clientdata.getAsync('custmerData',
  90. {
  91. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'Ass_StorageData',
  92. key: value,
  93. keyId: 'sid',
  94. callback: function (_data) {
  95. callback(_data['sname']);
  96. }
  97. });
  98. }
  99. },
  100. //{
  101. // label: '所在库位', name: 'AAILocation', width: 150, align: 'left'
  102. //},
  103. {
  104. label: "房间号", name: "AAILocation", width: 150, align: "left",
  105. formatterAsync: function (callback, value, row, op, $cell) {
  106. learun.clientdata.getAsync('custmerData', {
  107. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'Ass_Storage_Room',
  108. key: value,
  109. keyId: 'rid',
  110. callback: function (_data) {
  111. callback(_data['rcode']);
  112. }
  113. });
  114. }
  115. },
  116. {
  117. label: '是否在库', name: 'AAIIsInStorage', width: 150, align: 'left', formatter: function (val) {
  118. if (val) {
  119. return '在库';
  120. } else {
  121. return '否';
  122. }
  123. }
  124. }
  125. ],
  126. height: 400,
  127. mainId: 'AAIId',
  128. reloadSelected: false
  129. });
  130. },
  131. initData: function () {
  132. if (!!keyValue) {
  133. $.lrSetForm(top.$.rootUrl + '/AssetManagementSystem/AssScrap/GetFormData?keyValue=' + keyValue,
  134. function (data) {
  135. for (var id in data) {
  136. if (!!data[id].length && data[id].length > 0) {
  137. $('#' + id).jfGridSet('refreshdata', data[id]);
  138. tempdatra = data[id];
  139. } else {
  140. $('[data-table="' + id + '"]').lrSetFormData(data[id]);
  141. }
  142. }
  143. });
  144. } else {
  145. $("#SPNo").val(itNo);
  146. }
  147. }
  148. };
  149. refreshGirdData = function (temprow) {
  150. var ifnewrow = true;
  151. var list = [];
  152. $.each(temprow,
  153. function (i, item) {
  154. var entity = {
  155. //AAICode: item.AICode,
  156. AAICode: item.AICodeNumJY,
  157. AAIName: item.AIASSName,
  158. AAITId: item.AIASSClass,
  159. AAIPrice: item.AIAssValue,
  160. AAIUnit: item.AIUnits,
  161. AAIEName: '',
  162. AAIModel: item.AISpecificationtype,
  163. AAIManufacturer: item.AIManufacturer,
  164. AAIStorage: item.AIIStorageId,
  165. AAILocation: item.AIIStoragePosition,
  166. AAIId: learun.newGuid()
  167. }
  168. list.push(entity);
  169. });
  170. $.each(list,
  171. function (j, item2) {
  172. $.each(tempdatra,
  173. function (key, val) {
  174. if (tempdatra[key].AAICode === item2.AAICode) {
  175. tempdatra[key] = item2;
  176. ifnewrow = false;
  177. }
  178. });
  179. if (ifnewrow) {
  180. tempdatra.push(item2);
  181. }
  182. });
  183. //var ifnewrow = true;
  184. //$.each(tempdatra, function (key, val) {
  185. // if (tempdatra[key].AAIId === temprow.AAIId) {
  186. // tempdatra[key] = temprow;
  187. // ifnewrow = false;
  188. // }
  189. //});
  190. //if (ifnewrow) {
  191. // tempdatra.push(temprow);
  192. //}
  193. $('#Ass_ScrapItem').jfGridSet('refreshdata', tempdatra.sort(sortNumber));
  194. };
  195. function sortNumber(a, b) {
  196. return 1; //a.AAIOrder - b.AAIOrder;
  197. }
  198. // 设置表单数据
  199. setFormData = function (processId) {
  200. if (!!processId) {
  201. $.lrSetForm(top.$.rootUrl + '/AssetManagementSystem/AssScrap/GetFormDataByProcessId?processId=' + processId, function (data) {
  202. for (var id in data) {
  203. if (!!data[id] && data[id].length > 0) {
  204. $('#' + id).jfGridSet('refreshdata', data[id]);
  205. }
  206. else {
  207. if (id == 'AssScrap') {
  208. //keyValue = data[id].;
  209. }
  210. $('[data-table="' + id + '"]').lrSetFormData(data[id]);
  211. }
  212. }
  213. });
  214. }
  215. }
  216. // 验证数据是否填写完整
  217. validForm = function () {
  218. if (!$('#form').lrValidform()) {
  219. return false;
  220. }
  221. var datas = $('#Ass_ScrapItem').jfGridGet('rowdatas');
  222. if (datas == null || datas.length == 0) {
  223. learun.alert.warning("申请未包含明细!请先新增明细!");
  224. return false;
  225. }
  226. return true;
  227. };
  228. // 保存数据
  229. save = function (processId, callBack, i) {
  230. var postData = {};
  231. var formData = $('[data-table="Ass_Scrap"]').lrGetFormData();
  232. if (!!processId) {
  233. formData.ITProcessId = processId;
  234. }
  235. postData.strEntity = JSON.stringify(formData);
  236. postData.strAss_ScrapItemList = JSON.stringify($('#Ass_ScrapItem').jfGridGet('rowdatas'));
  237. $.lrSaveForm(top.$.rootUrl + '/AssetManagementSystem/AssScrap/SaveForm?keyValue=' + keyValue, postData, function (res) {
  238. // 保存成功后才回调
  239. if (!!callBack) {
  240. callBack(res, formData, i);
  241. }
  242. });
  243. };
  244. page.init();
  245. }