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.
 
 
 
 
 
 

219 lines
8.3 KiB

  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.layerForm({
  33. id: 'formitem',
  34. title: '新增明细',
  35. url: top.$.rootUrl + '/AssetManagementSystem/Ass_ScrapItem/Form',
  36. width: 860,
  37. height: 600,
  38. callBack: function (id) {
  39. return top[id].acceptClick(refreshGirdData);
  40. }
  41. });
  42. });
  43. $("#detailedit").on('click', function () {
  44. Ass_ScrapItem
  45. var keyValue = $('#Ass_ScrapItem').jfGridValue('AAIId');
  46. selectedRow = $('#Ass_ScrapItem').jfGridGet('rowdata');
  47. if (learun.checkrow(keyValue)) {
  48. learun.layerForm({
  49. id: 'formitem',
  50. title: '编辑明细',
  51. url: top.$.rootUrl + '/AssetManagementSystem/Ass_ScrapItem/Form?keyValue=' + keyValue,
  52. width: 860,
  53. height: 600,
  54. callBack: function (id) {
  55. return top[id].acceptClick(refreshGirdData);
  56. }
  57. });
  58. }
  59. });
  60. $("#detaildel").on('click', function () {
  61. var keyValue = $('#Ass_ScrapItem').jfGridValue('AAIId');
  62. if (learun.checkrow(keyValue)) {
  63. learun.layerConfirm('是否确认删除该项!', function (res, index) {
  64. if (res) {
  65. $.each(tempdatra, function (key, val) {
  66. if (tempdatra[key].AAIId === keyValue) {
  67. pricecount -= tempdatra[key].AAIPrice * tempdatra[key].AAIStock;
  68. tempdatra.splice(key, 1);
  69. }
  70. });
  71. //$("#AOPrice").val(pricecount);
  72. $('#Ass_ScrapItem').jfGridSet('refreshdata', tempdatra.sort(sortNumber));
  73. top.layer.close(index);
  74. }
  75. });
  76. }
  77. });
  78. page.bind();
  79. page.initData();
  80. },
  81. bind: function () {
  82. $('#SPType').lrDataItemSelect({ code: 'AssScrap' });
  83. $('#Ass_ScrapItem').jfGrid({
  84. headData: [
  85. {
  86. label: '资产编号', name: 'AAICode', width: 150, align: 'left'
  87. },
  88. {
  89. label: '资产名称', name: 'AAIName', width: 150, align: 'left'
  90. },
  91. {
  92. label: '资产类别', name: 'AAITId', width: 150, align: 'left', formatterAsync: function (callback, value, row, op, $cell) {
  93. learun.clientdata.getAsync('custmerData', {
  94. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'Ass_AssetsType',
  95. key: value,
  96. keyId: 'atid',
  97. callback: function (_data) {
  98. callback(_data['aname']);
  99. }
  100. });
  101. }
  102. },
  103. {
  104. label: '所在库房', name: 'AAIStorage', width: 150, align: 'left',
  105. formatterAsync: function (callback, value, row, op, $cell) {
  106. learun.clientdata.getAsync('custmerData',
  107. {
  108. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'Ass_StorageData',
  109. key: value,
  110. keyId: 'sid',
  111. callback: function (_data) {
  112. callback(_data['sname']);
  113. }
  114. });
  115. }
  116. },
  117. {
  118. label: '所在库位', name: 'AAILocation', width: 150, align: 'left'
  119. },
  120. {
  121. label: '是否在库', name: 'AAIIsInStorage', width: 150, align: 'left', formatter: function (val) {
  122. if (val) {
  123. return '在库';
  124. } else {
  125. return '否';
  126. }
  127. }
  128. }
  129. ],
  130. height: 400,
  131. mainId: 'AAIId',
  132. reloadSelected: false
  133. });
  134. },
  135. initData: function () {
  136. if (!!keyValue) {
  137. $.lrSetForm(top.$.rootUrl + '/AssetManagementSystem/AssScrap/GetFormData?keyValue=' + keyValue,
  138. function (data) {
  139. for (var id in data) {
  140. if (!!data[id].length && data[id].length > 0) {
  141. $('#' + id).jfGridSet('refreshdata', data[id]);
  142. tempdatra = data[id];
  143. } else {
  144. $('[data-table="' + id + '"]').lrSetFormData(data[id]);
  145. }
  146. }
  147. });
  148. } else {
  149. $("#SPNo").val(itNo);
  150. }
  151. }
  152. };
  153. refreshGirdData = function (temprow) {
  154. var ifnewrow = true;
  155. console.log('haha');
  156. $.each(tempdatra, function (key, val) {
  157. if (tempdatra[key].AAIId === temprow.AAIId) {
  158. tempdatra[key] = temprow;
  159. ifnewrow = false;
  160. }
  161. });
  162. if (ifnewrow) {
  163. tempdatra.push(temprow);
  164. }
  165. $('#Ass_ScrapItem').jfGridSet('refreshdata', tempdatra.sort(sortNumber));
  166. };
  167. function sortNumber(a, b) {
  168. return a.AAIOrder - b.AAIOrder;
  169. }
  170. // 设置表单数据
  171. setFormData = function (processId, param, callback) {
  172. if (!!processId) {
  173. $.lrSetForm(top.$.rootUrl + '/AssetManagementSystem/AssScrap/GetFormDataByProcessId?processId=' + processId, function (data) {
  174. for (var id in data) {
  175. if (!!data[id] && data[id].length > 0) {
  176. $('#' + id).jfGridSet('refreshdata', data[id]);
  177. }
  178. else {
  179. if (id == 'AssScrap') {
  180. //keyValue = data[id].;
  181. }
  182. $('[data-table="' + id + '"]').lrSetFormData(data[id]);
  183. }
  184. }
  185. });
  186. }
  187. callback && callback()
  188. }
  189. // 验证数据是否填写完整
  190. validForm = function () {
  191. if (!$('#form').lrValidform()) {
  192. return false;
  193. }
  194. var datas = $('#Ass_ScrapItem').jfGridGet('rowdatas');
  195. if (datas == null || datas.length == 0) {
  196. learun.alert.warning("申请未包含明细!请先新增明细!");
  197. return false;
  198. }
  199. return true;
  200. };
  201. // 保存数据
  202. save = function (processId, callBack, i) {
  203. var formData = {};
  204. var res = {};
  205. res.code = 200;
  206. if (!!processId) {
  207. formData.ITProcessId = processId;
  208. }
  209. callBack(res, i);
  210. };
  211. page.init();
  212. }