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.
 
 
 
 
 
 

323 lines
15 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 refreshGirdData;
  8. var bootstrap = function ($, learun) {
  9. "use strict";
  10. var startTime;
  11. var endTime;
  12. var processId = '';
  13. var page = {
  14. init: function () {
  15. page.initGird();
  16. page.bind();
  17. },
  18. bind: function () {
  19. // 时间搜索框
  20. $('#datesearch').lrdate({
  21. dfdata: [
  22. { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  23. { 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') } },
  24. { 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') } },
  25. { 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') } }
  26. ],
  27. // 月
  28. mShow: false,
  29. premShow: false,
  30. // 季度
  31. jShow: false,
  32. prejShow: false,
  33. // 年
  34. ysShow: false,
  35. yxShow: false,
  36. preyShow: false,
  37. yShow: false,
  38. // 默认
  39. dfvalue: '3',
  40. selectfn: function (begin, end) {
  41. startTime = begin;
  42. endTime = end;
  43. page.search();
  44. }
  45. });
  46. $('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
  47. page.search(queryJson);
  48. }, 220, 400);
  49. $('#ApplyUser').lrDataSourceSelect({ code: 'teacheruserdata', value: 'f_userid', text: 'f_realname' });
  50. $('#DeclarationType').lrDataItemSelect({ code: 'DeclarationType' });
  51. $('#DeclarationDept').lrselect({
  52. type: 'tree',
  53. allowSearch: true,
  54. url: top.$.rootUrl + '/LR_OrganizationModule/Department/GetTreeNoCheck',
  55. param: {},
  56. select: function (val) {
  57. var departmentId = "";
  58. if (val) {
  59. departmentId = val.value;
  60. }
  61. //$('#Informant').lrselectRefresh({
  62. // url: top.$.rootUrl + '/LR_OrganizationModule/User/GetListByDepartmentId?departmentId=' + departmentId,
  63. // text: "F_RealName",
  64. // value: "F_UserId"
  65. //})
  66. }
  67. });
  68. $('#Informant').lrDataSourceSelect({ code: 'teacheruserdata', value: 'f_userid', text: 'f_realname' });
  69. // 刷新
  70. $('#lr_refresh').on('click', function () {
  71. location.reload();
  72. });
  73. // 新增
  74. $('#lr_add').on('click', function () {
  75. learun.layerForm({
  76. id: 'formFundsApply',
  77. title: '申请',
  78. url: top.$.rootUrl + '/AssetManagementSystem/FundsApply/Form',
  79. width: 860,
  80. height: 780,
  81. callBack: function (id) {
  82. var res = false;
  83. // 验证数据
  84. res = top[id].validForm();
  85. // 保存数据
  86. if (res) {
  87. res = top[id].save('', function () {
  88. page.search();
  89. });
  90. //processId = learun.newGuid();
  91. //res = top[id].save(processId, refreshGirdData);
  92. }
  93. return res;
  94. }
  95. });
  96. });
  97. // 编辑
  98. $('#lr_edit').on('click', function () {
  99. var keyValue = $('#gridtable').jfGridValue('Id');
  100. var ApplyUser = $('#gridtable').jfGridValue('ApplyUser');
  101. var user = learun.clientdata.get(['userinfo']).userId;
  102. if (ApplyUser != user) {
  103. learun.alert.warning("当前项不可编辑!");
  104. return;
  105. }
  106. if (learun.checkrow(keyValue)) {
  107. var Status = $('#gridtable').jfGridValue('Status');
  108. if (Status !== 0) {
  109. learun.alert.warning("当前项目已提交不能编辑!");
  110. return;
  111. }
  112. learun.layerForm({
  113. id: 'formFundsApply',
  114. title: '编辑',
  115. url: top.$.rootUrl + '/AssetManagementSystem/FundsApply/Form?keyValue=' + keyValue,
  116. width: 860,
  117. height: 780,
  118. callBack: function (id) {
  119. var res = false;
  120. // 验证数据
  121. res = top[id].validForm();
  122. // 保存数据
  123. if (res) {
  124. res = top[id].save('', function () {
  125. page.search();
  126. });
  127. }
  128. return res;
  129. }
  130. });
  131. }
  132. });
  133. // 删除
  134. $('#lr_delete').on('click', function () {
  135. var keyValue = $('#gridtable').jfGridValue('Id');
  136. var ApplyUser = $('#gridtable').jfGridValue('ApplyUser');
  137. var user = learun.clientdata.get(['userinfo']).userId;
  138. if (ApplyUser != user) {
  139. learun.alert.warning("当前项不可删除!");
  140. return;
  141. }
  142. if (learun.checkrow(keyValue)) {
  143. var Status = $('#gridtable').jfGridValue('Status');
  144. if (Status !== 0) {
  145. learun.alert.warning("当前项目已提交不能编辑!");
  146. return;
  147. }
  148. learun.layerConfirm('是否确认删除该项!', function (res) {
  149. if (res) {
  150. learun.deleteForm(top.$.rootUrl + '/AssetManagementSystem/FundsApply/DeleteForm', { keyValue: keyValue }, function () {
  151. page.search();
  152. });
  153. }
  154. });
  155. }
  156. });
  157. // 打印
  158. $('#lr_print').on('click', function () {
  159. $('#gridtable').jqprintTable();
  160. });
  161. // 提交
  162. $('#lr_submit').on('click', function () {
  163. var keyValue = $('#gridtable').jfGridValue('Id');
  164. var ApplyUser = $('#gridtable').jfGridValue('ApplyUser');
  165. var user = learun.clientdata.get(['userinfo']).userId;
  166. if (ApplyUser != user) {
  167. learun.alert.warning("当前项不可编辑提交!");
  168. return;
  169. }
  170. if (learun.checkrow(keyValue)) {
  171. var Status = $('#gridtable').jfGridValue('Status');
  172. if (Status !== 0) {
  173. learun.alert.warning("当前项目已提交,请耐心等待审批!");
  174. return;
  175. }
  176. learun.layerConfirm('是否确认提交该项!', function (res) {
  177. if (res) {
  178. processId = learun.newGuid();
  179. learun.postForm(top.$.rootUrl + '/AssetManagementSystem/FundsApply/ChangeStatusById', { keyValue: keyValue, processId: processId }, function (res) {
  180. refreshGirdData(res, {});
  181. });
  182. }
  183. });
  184. }
  185. });
  186. //查看
  187. $('#lr_look').on('click', function () {
  188. var keyValue = $('#gridtable').jfGridValue('Id');
  189. if (learun.checkrow(keyValue)) {
  190. learun.layerForm({
  191. id: 'formFundsApply',
  192. title: '查看',
  193. url: top.$.rootUrl + '/AssetManagementSystem/FundsApply/FormView?keyValue=' + keyValue,
  194. width: 860,
  195. height: 730,
  196. btn: null
  197. });
  198. }
  199. });
  200. },
  201. // 初始化列表
  202. initGird: function () {
  203. $('#gridtable').jfGrid({
  204. url: top.$.rootUrl + '/AssetManagementSystem/FundsApply/GetPageList',
  205. headData: [
  206. { label: "申报单号", name: "EnCode", width: 200, align: "left" },
  207. {
  208. label: "报批部门", name: "ApplyDept", width: 100, align: "left",
  209. formatterAsync: function (callback, value, row, op, $cell) {
  210. learun.clientdata.getAsync('custmerData', {
  211. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'classdata',
  212. key: value,
  213. keyId: 'id',
  214. callback: function (_data) {
  215. callback(_data['name']);
  216. }
  217. });
  218. }
  219. },
  220. { label: "填报时间", name: "ApplyTime", width: 150, align: "left" },
  221. {
  222. label: "报批人", name: "ApplyUser", width: 100, align: "left",
  223. formatterAsync: function (callback, value, row, op, $cell) {
  224. learun.clientdata.getAsync('user', {
  225. key: value,
  226. callback: function (_data) {
  227. callback(_data.name);
  228. }
  229. });
  230. }
  231. },
  232. {
  233. label: "申报部门", name: "DeclarationDept", width: 100, align: "left",
  234. formatterAsync: function (callback, value, row, op, $cell) {
  235. learun.clientdata.getAsync('custmerData', {
  236. url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'classdata',
  237. key: value,
  238. keyId: 'id',
  239. callback: function (_data) {
  240. callback(_data['name']);
  241. }
  242. });
  243. }
  244. },
  245. {
  246. label: "申报类别", name: "DeclarationType", width: 150, align: "left"
  247. , formatterAsync: function (callback, value, row, op, $cell) {
  248. learun.clientdata.getAsync('dataItem', {
  249. key: value,
  250. code: 'DeclarationType',
  251. callback: function (_data) {
  252. callback(_data.text);
  253. }
  254. });
  255. }
  256. },
  257. {
  258. label: "填报人", name: "Informant", width: 100, align: "left",
  259. formatterAsync: function (callback, value, row, op, $cell) {
  260. learun.clientdata.getAsync('user', {
  261. key: value,
  262. callback: function (_data) {
  263. callback(_data.name);
  264. }
  265. });
  266. }
  267. },
  268. { label: "备注", name: "Remark", width: 100, align: "left" },
  269. {
  270. label: "总金额", name: "SumAmount", width: 100, align: "left", formatter: function (cellvalue) {
  271. return cellvalue != null && cellvalue != "" && cellvalue != undefined ? cellvalue.toFixed(2) : "0.00";
  272. }
  273. },
  274. { label: "人民币(大写)", name: "UpperAmount", width: 200, align: "left" },
  275. {
  276. label: "审批状态", name: "Status", width: 100, align: "left",
  277. formatter: function (cellvalue, row) {
  278. if (cellvalue === 1) {
  279. return '<span class=\"label label-warning\">审批中</span>';
  280. } else if (cellvalue === 2) {
  281. return '<span class=\"label label-success\">审批通过</span>';
  282. } else if (cellvalue === 0) {
  283. return '<span class=\"label label-default\" >草稿</span>';
  284. } else {
  285. return "<span class=\"label label-danger\">作废</span>";
  286. }
  287. }
  288. }
  289. ],
  290. mainId: 'Id',
  291. isPage: true,
  292. sidx: 'ApplyTime desc, Status desc'
  293. });
  294. //page.search();
  295. },
  296. search: function (param) {
  297. param = param || {};
  298. param.StartTime = startTime;
  299. param.EndTime = endTime;
  300. $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
  301. }
  302. };
  303. refreshGirdData = function (res, postData) {
  304. if (!!res) {
  305. if (res.code == 200) {
  306. // 发起流程
  307. var postData = {
  308. schemeCode: 'LC_FundsApply',// 填写流程对应模板编号
  309. processId: processId,
  310. level: '1',
  311. };
  312. learun.httpAsync('Post', top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/CreateFlow', postData, function (data) {
  313. learun.loading(false);
  314. });
  315. }
  316. page.search();
  317. }
  318. };
  319. page.init();
  320. }