Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 
 

243 wiersze
9.4 KiB

  1. /* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
  2. * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  3. * 创建人:超级管理员
  4. * 日 期:2022-11-07 14:25
  5. * 描 述:经费开支申报
  6. */
  7. var keyValue = request('keyValue');
  8. // 设置权限
  9. var setAuthorize;
  10. // 设置表单数据
  11. var setFormData;
  12. // 验证数据是否填写完整
  13. var validForm;
  14. // 保存数据
  15. var save;
  16. var refreshGirdData;
  17. var acceptClick;
  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. if (!!data) {
  27. for (var field in data) {
  28. if (data[field].isLook != 1) {// 如果没有查看权限就直接移除
  29. $('#' + data[field].fieldId).parent().remove();
  30. }
  31. else {
  32. if (data[field].isEdit != 1) {
  33. $('#' + data[field].fieldId).attr('disabled', 'disabled');
  34. if ($('#' + data[field].fieldId).hasClass('lrUploader-wrap')) {
  35. $('#' + data[field].fieldId).css({ 'padding-right': '58px' });
  36. $('#' + data[field].fieldId).find('.btn-success').remove();
  37. }
  38. }
  39. }
  40. }
  41. }
  42. };
  43. var page = {
  44. init: function () {
  45. $('.lr-form-wrap').lrscroll();
  46. $("#detailadd").on('click', function () {
  47. selectedRow = null;
  48. learun.layerForm({
  49. id: 'formdetail',
  50. title: '新增明细',
  51. url: top.$.rootUrl + '/AssetManagementSystem/FundsApplyDetail/Form',
  52. width: 500,
  53. height: 400,
  54. callBack: function (id) {
  55. return top[id].acceptClick(refreshGirdData);
  56. }
  57. });
  58. });
  59. $("#detailedit").on('click', function () {
  60. var keyValue = $('#FundsApplyDetail').jfGridValue('Id');
  61. selectedRow = $('#FundsApplyDetail').jfGridGet('rowdata');
  62. if (learun.checkrow(keyValue)) {
  63. learun.layerForm({
  64. id: 'formdetail',
  65. title: '编辑明细',
  66. url: top.$.rootUrl + '/AssetManagementSystem/FundsApplyDetail/Form?keyValue=' + keyValue,
  67. width: 500,
  68. height: 400,
  69. callBack: function (id) {
  70. return top[id].acceptClick(refreshGirdData);
  71. }
  72. });
  73. }
  74. });
  75. $("#detaildel").on('click', function () {
  76. var keyValue = $('#FundsApplyDetail').jfGridValue('Id');
  77. if (learun.checkrow(keyValue)) {
  78. learun.layerConfirm('是否确认删除该项!', function (res, index) {
  79. if (res) {
  80. $.each(tempdatra, function (key, val) {
  81. if (tempdatra[key] && tempdatra[key].Id === keyValue) {
  82. pricecount -= tempdatra[key].Amount;
  83. tempdatra.splice(key, 1);
  84. }
  85. });
  86. pricecount = pricecount.toFixed(2);
  87. $("#SumAmount").val(pricecount);
  88. $("#UpperAmount").val(smalltoBIG(pricecount));
  89. $('#FundsApplyDetail').jfGridSet('refreshdata', tempdatra.sort(sortNumber));
  90. top.layer.close(index);
  91. }
  92. });
  93. }
  94. });
  95. page.bind();
  96. page.initData();
  97. },
  98. bind: function () {
  99. $('#IsFixedAssets').lrDataItemSelect({ code: 'YesOrNoInt' });
  100. $('#ApplyDept').lrDataSourceSelect({ code: 'classdata', value: 'id', text: 'name' });
  101. $('#ApplyDept').lrselectSet(learun.clientdata.get(['userinfo']).departmentId);
  102. $('#ApplyTime').val(learun.formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss'));
  103. $('#ApplyUser')[0].lrvalue = learun.clientdata.get(['userinfo']).userId;
  104. $('#ApplyUser').val(learun.clientdata.get(['userinfo']).realName);
  105. $('#FundsApplyDetail').jfGrid({
  106. headData: [
  107. {
  108. label: '项目内容', name: 'ProjectContent', width: 150, align: 'left'
  109. },
  110. {
  111. label: '数量', name: 'Number', width: 150, align: 'left'
  112. },
  113. {
  114. label: '单价(元)', name: 'Price', width: 150, align: 'left'
  115. },
  116. {
  117. label: '金额(元)', name: 'Amount', width: 150, align: 'left'
  118. },
  119. ],
  120. height: 400,
  121. mainId: 'AAIId',
  122. reloadSelected: false,
  123. });
  124. },
  125. initData: function () {
  126. if (!!keyValue) {
  127. $.lrSetForm(top.$.rootUrl + '/AssetManagementSystem/FundsApply/GetFormData?keyValue=' + keyValue, function (data) {
  128. for (var id in data) {
  129. if (!!data[id].length && data[id].length > 0) {
  130. $('#' + id).jfGridSet('refreshdata', data[id]);
  131. tempdatra = data[id];
  132. }
  133. else {
  134. $('[data-table="' + id + '"]').lrSetFormData(data[id]);
  135. if (data[id].SumAmount) {
  136. pricecount = data[id].SumAmount;
  137. }
  138. }
  139. }
  140. });
  141. } else {
  142. $("#EnCode").val(NewEnCode);
  143. }
  144. }
  145. };
  146. refreshGirdData = function (temprow) {
  147. var ifnewrow = true;
  148. $.each(tempdatra, function (key, val) {
  149. if (tempdatra[key].Id === temprow.Id) {
  150. tempdatra[key] = temprow;
  151. ifnewrow = false;
  152. }
  153. });
  154. if (ifnewrow) {
  155. tempdatra.push(temprow);
  156. }
  157. //总价计算
  158. pricecount = 0;
  159. for (var i = 0; i < tempdatra.length; i++) {
  160. pricecount += parseFloat(tempdatra[i].Amount);
  161. }
  162. $("#SumAmount").val(pricecount.toFixed(2));
  163. $("#UpperAmount").val(smalltoBIG(pricecount));
  164. $('#FundsApplyDetail').jfGridSet('refreshdata', tempdatra.sort(sortNumber));
  165. };
  166. function sortNumber(a, b) {
  167. return a.AAIOrder - b.AAIOrder;
  168. }
  169. // 设置表单数据
  170. setFormData = function (processId, param, callback) {
  171. if (!!processId) {
  172. $.lrSetForm(top.$.rootUrl + '/AssetManagementSystem/FundsApply/GetFormDataByProcessId?processId=' + processId, function (data) {
  173. for (var id in data) {
  174. if (!!data[id] && data[id].length > 0) {
  175. $('#' + id).jfGridSet('refreshdata', data[id]);
  176. }
  177. else {
  178. if (id == 'FundsApply' && data[id]) {
  179. keyValue = data[id].Id;
  180. }
  181. $('[data-table="' + id + '"]').lrSetFormData(data[id]);
  182. }
  183. }
  184. });
  185. }
  186. callback && callback();
  187. }
  188. // 验证数据是否填写完整
  189. validForm = function () {
  190. if (!$('body').lrValidform()) {
  191. return false;
  192. }
  193. return true;
  194. };
  195. // 保存数据
  196. save = function (processId, callBack, i) {
  197. var postData = {};
  198. var formData = $('[data-table="FundsApply"]').lrGetFormData();
  199. if (!!processId) {
  200. formData.ProcessId = processId;
  201. }
  202. postData.strEntity = JSON.stringify(formData);
  203. postData.fundsApplyDetailList = JSON.stringify($('#FundsApplyDetail').jfGridGet('rowdatas'));
  204. $.lrSaveForm(top.$.rootUrl + '/AssetManagementSystem/FundsApply/SaveForm?keyValue=' + keyValue, postData, function (res) {
  205. // 保存成功后才回调
  206. if (!!callBack) {
  207. callBack(res, i);
  208. }
  209. });
  210. };
  211. page.init();
  212. function smalltoBIG(n) {
  213. var fraction = ['角', '分'];
  214. var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
  215. var unit = [
  216. ['元', '万', '亿'],
  217. ['', '拾', '佰', '仟']
  218. ];
  219. var head = n < 0 ? '欠' : '';
  220. n = Math.abs(n);
  221. var s = '';
  222. for (var i = 0; i < fraction.length; i++) {
  223. s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
  224. }
  225. s = s || '整';
  226. n = Math.floor(n);
  227. for (var i = 0; i < unit[0].length && n > 0; i++) {
  228. var p = '';
  229. for (var j = 0; j < unit[1].length && n > 0; j++) {
  230. p = digit[n % 10] + unit[1][j] + p;
  231. n = Math.floor(n / 10);
  232. }
  233. s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
  234. }
  235. return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');
  236. }
  237. }