update_annualbudget.html 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  6. <title>编辑</title>
  7. <link rel="stylesheet" th:href="@{/lib/layui/css/layui.css}" media="all">
  8. <link rel="stylesheet" th:href="@{/css/public.css}" media="all">
  9. <link rel="stylesheet" th:href="@{/lib/font-awesome-4.7.0/css/font-awesome.min.css}" media="all">
  10. <style>
  11. body {
  12. background-color: #ffffff;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <form class="layui-form" action="" lay-filter="formDemo">
  18. <div class="layui-tab layui-tab-card">
  19. <ul class="layui-tab-title">
  20. <li class="layui-this">常规</li>
  21. <li>预算</li>
  22. </ul>
  23. <div class="layui-tab-content">
  24. <!--常规开始-->
  25. <div class="layui-tab-item layui-show" style="min-height: 550px; margin-bottom: 5px">
  26. <form class="layui-form" action="" lay-filter="formDemo">
  27. <div class="layui-form layuimini-form">
  28. <div class="layui-form-item layui-inline" style="width: 100%">
  29. <label class="layui-form-label" style="width: 70px">名称</label>
  30. <div class="layui-input-inline" style="width: 855px">
  31. <input type="hidden" id="id" name="id" class="layui-input" th:value="${annualbudget.id}">
  32. <input type="text" id="mc" name="mc" class="layui-input" th:value="${annualbudget.mc}" readonly>
  33. </div>
  34. </div>
  35. <div class="layui-form-item layui-inline" style="width: 100%">
  36. <label class="layui-form-label" style="width: 70px">任务书</label>
  37. <div class="layui-input-inline" style="width: 855px">
  38. <input type="hidden" id="rws" name="rws" class="layui-input" th:value="${annualbudget.rws}">
  39. <input type="text" id="rwsmc" name="rwsmc" class="layui-input" th:value="${annualbudget.rwsmc}" readonly>
  40. </div>
  41. </div>
  42. <div class="layui-form-item layui-inline" style="width: 100%">
  43. <label class="layui-form-label" style="width: 70px">项目执行期</label>
  44. <div class="layui-input-inline" style="width: 855px">
  45. <input type="hidden" name="qs" id="qs" class="layui-input" th:value="${qs}">
  46. <input type="hidden" name="wc" id="wc" class="layui-input" th:value="${wc}">
  47. <input type="text" id="xmzxq" name="xmzxq" class="layui-input" th:value="${annualbudget.xmzxq}" readonly>
  48. </div>
  49. </div>
  50. <div class="layui-form-item layui-inline" style="width: 100%">
  51. <label class="layui-form-label required" style="width: 70px">年份</label>
  52. <div class="layui-input-inline" style="width: 855px">
  53. <input type="text" id="nf" name="nf" class="layui-input" th:value="${annualbudget.nf}">
  54. </div>
  55. </div>
  56. <div class="layui-form-item layui-inline" style="width: 100%">
  57. <label class="layui-form-label" style="width: 70px">说明</label>
  58. <div class="layui-input-inline" style="width: 855px">
  59. <textarea id="sm" name="sm" class="layui-textarea" style="width: 100%;height: 150px" th:text="${annualbudget.sm}"></textarea>
  60. </div>
  61. </div>
  62. <div class="layui-form-item layui-inline" style="width: 100%">
  63. <label class="layui-form-label" style="width: 70px">申请人</label>
  64. <div class="layui-input-inline" style="width: 380px">
  65. <input type="text" name="sqrxm" class="layui-input" th:value="${annualbudget.sqrxm}" readonly>
  66. </div>
  67. <label class="layui-form-label" style="width: 65px">申请时间</label>
  68. <div class="layui-input-inline" style="width: 370px">
  69. <input type="text" id="sqsj" name="sqsj" class="layui-input" th:value="${annualbudget.sqsj}">
  70. <tip>日期格式:yyyy-MM-dd</tip>
  71. </div>
  72. </div>
  73. <!-- <div class="layui-form-item layui-inline" style="width: 100%">-->
  74. <!-- <label class="layui-form-label" style="width: 70px">审批状态</label>-->
  75. <!-- <div class="layui-input-inline" style="width: 855px">-->
  76. <!-- <input type="text" id="spzt" name="spzt" class="layui-input" value="未提交" readonly>-->
  77. <!-- </div>-->
  78. <!-- </div>-->
  79. <div class="layui-form-item layui-inline" style="width: 100%">
  80. <label class="layui-form-label" style="width: 70px">可研报告</label>
  81. <div class="layui-input-inline" style="width: 855px">
  82. <input type="text" id="xmmc" name="xmmc" class="layui-input" th:value="${annualbudget.xmmc}" readonly>
  83. </div>
  84. </div>
  85. <div class="layui-form-item layui-inline" style="width: 100%">
  86. <label class="layui-form-label" style="width: 70px">ERP编号</label>
  87. <div class="layui-input-inline" style="width: 380px">
  88. <input type="text" id="erpbh" name="erpbh" class="layui-input" th:value="${annualbudget.erpbh}" readonly>
  89. </div>
  90. <label class="layui-form-label" style="width: 65px">项目类型</label>
  91. <div class="layui-input-inline" style="width: 370px">
  92. <input type="text" id="xmlxmc" name="xmlxmc" class="layui-input" th:value="${annualbudget.xmlxmc}" readonly>
  93. </div>
  94. </div>
  95. <div class="layui-form-item layui-inline" style="width: 100%">
  96. <label class="layui-form-label" style="width: 90px">电科院负责人</label>
  97. <div class="layui-input-inline" style="width: 370px">
  98. <input type="text" id="xmfzrxm" name="xmfzrxm" class="layui-input" th:value="${annualbudget.xmfzrxm}" readonly>
  99. </div>
  100. <label class="layui-form-label" style="width: 65px">所属部门</label>
  101. <div class="layui-input-inline" style="width: 370px">
  102. <input type="text" id="ssbmmc" name="ssbmmc" class="layui-input" th:value="${annualbudget.ssbmmc}" readonly>
  103. </div>
  104. </div>
  105. <!-- 右侧悬浮按钮 -->
  106. <div class="right-bottom-btn" style="margin-bottom: 5px">
  107. <button class="layui-btn" lay-filter="viewRwsBtn">
  108. <i class="layui-icon layui-icon-file"></i>查看任务书
  109. </button>
  110. <button type="button" class="layui-btn" lay-submit lay-filter="saveBtnCg">
  111. <i class="layui-icon layui-icon-ok"></i>保存
  112. </button>
  113. <button class="layui-btn" lay-filter="cancleBtn">
  114. <i class="layui-icon layui-icon-close"></i>取消
  115. </button>
  116. </div>
  117. </div>
  118. </form>
  119. </div>
  120. <!--常规结束-->
  121. <!--预算开始-->
  122. <div class="layui-tab-item" style="min-height: 550px; padding-left: 30px; padding-right: 30px">
  123. <form class="layui-form" action="" lay-filter="formDemo">
  124. <div class="layui-form layuimini-form">
  125. <div class="layui-form-item" style="margin-bottom: -10px">
  126. <div class="layui-inline">
  127. <label class="layui-form-label" style="width: fit-content; margin-bottom: -10px">单位:万元</label>
  128. <label class="layui-form-label" style="width: 170px"></label>
  129. </div>
  130. <div class="layui-inline">
  131. <label class="layui-form-label" style="width: 70px; margin-left: -10px">项目总预算</label>
  132. <div class="layui-input-inline" style="width: 100px">
  133. <input type="text" id="rwsys" name="rwsys" class="layui-input" th:value="${rwsys}" readonly>
  134. </div>
  135. </div>
  136. <div class="layui-inline">
  137. <label class="layui-form-label" style="width: 60px; margin-left: -15px">年度经费</label>
  138. <div class="layui-input-inline" style="width: 100px">
  139. <input type="text" id="ndczje" name="ndczje" class="layui-input" th:value="${ndczje}" readonly>
  140. </div>
  141. </div>
  142. <div class="layui-inline">
  143. <label class="layui-form-label" style="width: 70px; margin-left: -15px">年度备用金</label>
  144. <div class="layui-input-inline" style="width: 100px; margin-right: -15px">
  145. <input type="number" id="ndbyj" name="ndbyj" class="layui-input" autocomplete="off">
  146. </div>
  147. </div>
  148. </div>
  149. <table class="layui-hide layui-table-view" id="currentTableId" lay-filter="currentTableFilter"></table>
  150. <!-- 右侧悬浮按钮 -->
  151. <div class="right-bottom-btn" style="margin-bottom: 5px">
  152. <button class="layui-btn" id="btn" lay-filter="viewRwsBtn">
  153. <i class="layui-icon layui-icon-file"></i>查看任务书
  154. </button>
  155. <button type="button" class="layui-btn" lay-filter="saveBtnYs">
  156. <i class="layui-icon layui-icon-ok"></i>保存
  157. </button>
  158. <button class="layui-btn" lay-filter="cancleBtn">
  159. <i class="layui-icon layui-icon-close"></i>取消
  160. </button>
  161. </div>
  162. </div>
  163. </form>
  164. </div>
  165. <!--预算结束-->
  166. </div>
  167. </div>
  168. </form>
  169. <script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" charset="utf-8"></script>
  170. <script th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
  171. <script th:src="@{/lib/coco-message/coco-message.js}" charset="utf-8"></script>
  172. <script th:src="@{/lib/xm-select-v1.2.2/xm-select.js}" charset="utf-8"></script>
  173. <script th:src="@{/js/lay-config.js}" charset="utf-8"></script>
  174. <script type="text/javascript" th:inline="javascript">
  175. //删除键盘的所有默认行为
  176. // document.onkeypress = function(e) {
  177. // e.preventDefault();
  178. // }
  179. //全局禁用enter
  180. document.onkeydown = function(e) {
  181. var ev = (typeof event != 'undefined') ? window.event : e
  182. if (ev.keyCode == 13) {
  183. return false
  184. }
  185. }
  186. AjaxUtil.ctx = /*[[@{/}]]*/'';
  187. layui.use(['form', 'treeTable', 'layCascader', 'tableSelect', 'laydate'], function () {
  188. var form = layui.form,
  189. layer = layui.layer,
  190. treeTable = layui.treeTable,
  191. laydate = layui.laydate;
  192. var rwsId = $("#rws").val(),
  193. ysId = $("#id").val();
  194. var zjfy=0;
  195. //申请时间
  196. laydate.render({
  197. elem: '#sqsj',
  198. value: new Date()
  199. });
  200. // 监听查看任务书按钮
  201. $("button[lay-filter='viewRwsBtn']").click(function(e){
  202. parent.layer.open({
  203. title: '查看项目任务书',
  204. type: 2,
  205. shade: 0.3,
  206. // maxmin: true,
  207. shadeClose: true,
  208. area: ['1100px', '750px'],
  209. content: AjaxUtil.ctx + 'prjProject/forView/' + rwsId,
  210. end: function (index) {
  211. layer.close(index);
  212. }
  213. });
  214. // e.target.blur();//主动去除焦点
  215. return false;
  216. });
  217. // 监听确认按钮(基本信息)
  218. form.on('submit(saveBtnCg)', function (data) {
  219. var nf = $("#nf").val();
  220. var qs = $("#qs").val();
  221. var wc = $("#wc").val();
  222. if(nf < qs || nf > wc) {
  223. Message.error(nf + "不在项目起止时间内!", 1500);
  224. return false;
  225. }
  226. var index = layer.load(0, {shade: 0.1});
  227. AjaxUtil.post({
  228. url: AjaxUtil.ctx + "prjAnnualbudget/doUpdate",
  229. data: data.field,
  230. success: function (res) {
  231. layer.close(index);
  232. if (res.code === 0) {
  233. Message.success(1500, res.message, function () {
  234. parent.setUpdateFlag();
  235. });
  236. } else {
  237. Message.error(res.message, 1000);
  238. }
  239. },
  240. error: function (error) {
  241. layer.close(index);
  242. }
  243. });
  244. return false;
  245. });
  246. //预算
  247. var dataBudget1 = new Array();
  248. $.ajax({
  249. url: AjaxUtil.ctx + 'prjAnnualbudgetdetail/list/' + ysId,
  250. type: "post",
  251. async: false,
  252. dataType: "json",
  253. success: function (result) {
  254. dataBudget1 = result;
  255. for (let i = 0; i <dataBudget1.length ; i++) {
  256. if(dataBudget1[i].fymc.indexOf('总计')>-1){
  257. zjfy=i;
  258. }
  259. }
  260. $("#ndbyj").val(dataBudget1[zjfy].byj);
  261. }
  262. });
  263. //查看年度预算(项目总预算)
  264. var dataBudget = new Array();
  265. $.ajax({
  266. url: AjaxUtil.ctx + 'prjAnnualbudget/list/' + ysId,
  267. type: "post",
  268. async: false,
  269. dataType: "json",
  270. success: function (result) {
  271. dataBudget = result;
  272. }
  273. });
  274. var insTb;
  275. function loadTreetable() {
  276. insTb = treeTable.render({
  277. elem: '#currentTableId',
  278. data: dataBudget,
  279. skin: 'grid',
  280. style:'overflow:auto',
  281. tree: {
  282. treeColIndex: 1,
  283. treeSpid: "", //最上级的父级id
  284. iconIndex: 1, // 折叠图标显示在第几列
  285. isPidData: true,// 是否是id、pid形式数据
  286. idName: 'bm', // id字段名称
  287. pidName: 'fj', // pid字段名称
  288. arrowType: 'arrow2',
  289. getIcon: 'ew-tree-icon-style2',
  290. openName: 'bm'
  291. },
  292. treeDefaultClose: false,
  293. page: false,
  294. // toolbar: '#toolbarDemo',
  295. cols: [
  296. [
  297. {type: 'numbers', width: '3%'},
  298. {field: 'fymc', width: '30%', title: '费用名称'},
  299. {field: 'xmzys', width: '12%', title: '项目总预算', edit: 'number'},
  300. {field: 'xtjsyzx', width: '15%', title: '系统计算已执行', edit: 'number'},
  301. {field: 'sjyzx', width: '12%', title: '实际已执行', edit: 'number'},
  302. {field: 'ysje', width: '10%', title: '预算金额'},
  303. {field: 'xmz', width: '9%', title: '项目组', edit: 'number'},
  304. {field: "byj", width: '9%', title: '备用金'}
  305. // {field: 'ysqje', width: '11%', title: '已申请金额'},
  306. // {field: 'ybzje', width: '11%', title: '已报账金额'},
  307. // {field: 'byjysq', width: '11%', title: '备用金已申请'},
  308. // {field: 'byjybz', width: '11%', title: '备用金已报账'}
  309. ]
  310. ],
  311. edit: function (obj) {
  312. if(obj.data.edit === false)
  313. return false;
  314. else
  315. return true;
  316. }
  317. });
  318. }
  319. loadTreetable();
  320. //年度备用金
  321. $("#ndbyj").on("input",function(e){
  322. //获取input输入的值
  323. var ndbyj = parseFloat(e.delegateTarget.value);
  324. if(isNaN(ndbyj))
  325. ndbyj = 0;
  326. dataBudget[zjfy].byj = ndbyj;
  327. var xmz = 0, byj = 0;
  328. if(dataBudget[zjfy].xmz != null) {
  329. xmz = parseFloat(dataBudget[zjfy].xmz);
  330. if(isNaN(xmz))
  331. xmz = 0;
  332. }
  333. if(dataBudget[zjfy].byj != null) {
  334. byj = parseFloat(dataBudget[zjfy].byj);
  335. if(isNaN(byj))
  336. byj = 0;
  337. }
  338. var ysje = xmz + byj;
  339. if(ysje == 0)
  340. dataBudget[zjfy].ysje = "";
  341. else
  342. dataBudget[zjfy].ysje = ysje;
  343. loadTreetable();
  344. });
  345. // 监听单元格编辑
  346. treeTable.on('edit(currentTableId)', function(obj){
  347. var value = obj.value,
  348. item = obj.data,
  349. colName = obj.field;
  350. if(item.children == undefined)
  351. {
  352. //当前行预算
  353. setCurBudget(item.bm, colName, value);
  354. //父级预算
  355. setFjBudget(item.fj);
  356. }
  357. var xmz = 0, byj = 0;
  358. if(dataBudget[zjfy].xmz != null) {
  359. xmz = parseFloat(dataBudget[zjfy].xmz);
  360. if(isNaN(xmz))
  361. xmz = 0;
  362. }
  363. if(dataBudget[zjfy].byj != null) {
  364. byj = parseFloat(dataBudget[zjfy].byj);
  365. if(isNaN(byj))
  366. byj = 0;
  367. }
  368. var ysje = xmz + byj;
  369. if(ysje == 0)
  370. dataBudget[zjfy].ysje = "";
  371. else
  372. dataBudget[zjfy].ysje = ysje;
  373. loadTreetable();
  374. });
  375. //当前行预算
  376. function setCurBudget(bm, colName, value) {
  377. for(var i = 0; i < dataBudget.length; i++) {
  378. if(bm == dataBudget[i].bm)
  379. {
  380. value = parseFloat(value);
  381. if(isNaN(value))
  382. value = null;
  383. // var rwsys = $("#rwsys").val();
  384. // if (value !== null && value > rwsys * 0.2) {
  385. // alert("不能超过项目总预算预算的20%!");
  386. // return; // 返回,不进行后续处理
  387. // }
  388. //当前数据不能大于总预算列的值
  389. if(dataBudget[i].xmzys!=null){
  390. if (value !== null && value > parseFloat(dataBudget[i].xmzys*1.2).toFixed(6)) {
  391. alert("输入金额不能超过项目总预算列的120%!");
  392. return; // 返回,不进行后续处理
  393. }
  394. }
  395. //当前单元格
  396. // if(colName == "xmzys") {
  397. // dataBudget[i].xmzys = value;
  398. // } else
  399. if(colName == "xmz") {
  400. dataBudget[i].xmz = value;
  401. } else if(colName == "byj") {
  402. dataBudget[i].byj = value;
  403. } else if(colName == "xtjsyzx") {
  404. dataBudget[i].xtjsyzx = value;
  405. }else if(colName == "sjyzx") {
  406. dataBudget[i].sjyzx = value;
  407. }
  408. //正在编辑的预算
  409. var xmz = 0, byj = 0;
  410. if(dataBudget[i].xmz != null) {
  411. xmz = parseFloat(dataBudget[i].xmz);
  412. if(isNaN(xmz))
  413. xmz = 0;
  414. }
  415. if(dataBudget[i].byj != null) {
  416. byj = parseFloat(dataBudget[i].byj);
  417. if(isNaN(byj))
  418. byj = 0;
  419. }
  420. var ysje = xmz + byj;
  421. if(ysje == 0)
  422. dataBudget[i].ysje = "";
  423. else
  424. dataBudget[i].ysje = ysje;
  425. break;
  426. }
  427. }
  428. }
  429. //父级预算
  430. function setFjBudget(fj) {
  431. if(fj != null && fj != '')
  432. {
  433. var xmzys = 0, xmz = 0, byj = 0,xtjsyzx=0,sjyzx=0;
  434. //子节点的值相加
  435. for (var j = 0; j < dataBudget.length; j++) {
  436. if (fj == dataBudget[j].fj)
  437. {
  438. // var t = parseFloat(dataBudget[j].xmzys);
  439. // if (!isNaN(t))
  440. // xmzys += t;
  441. var t1 = parseFloat(dataBudget[j].xmz);
  442. if (!isNaN(t1))
  443. xmz += t1;
  444. var t2 = parseFloat(dataBudget[j].byj);
  445. if (!isNaN(t2))
  446. byj += t2;
  447. var t3 = parseFloat(dataBudget[j].xtjsyzx);
  448. if (!isNaN(t3))
  449. xtjsyzx += t3;
  450. var t4 = parseFloat(dataBudget[j].sjyzx);
  451. if (!isNaN(t4))
  452. sjyzx += t4;
  453. }
  454. }
  455. //更新父节点的值
  456. for (var j = 0; j < dataBudget.length; j++) {
  457. if (fj == dataBudget[j].bm)
  458. {
  459. // if (xmzys == 0)
  460. // dataBudget[j].xmzys = '';
  461. // else
  462. // dataBudget[j].xmzys = xmzys.toFixed(2);
  463. if (xmz == 0)
  464. dataBudget[j].xmz = '';
  465. else
  466. dataBudget[j].xmz = xmz.toFixed(2);
  467. if (xtjsyzx == 0)
  468. dataBudget[j].xtjsyzx = '';
  469. else
  470. dataBudget[j].xtjsyzx = xtjsyzx.toFixed(2);
  471. if (sjyzx == 0)
  472. dataBudget[j].sjyzx = '';
  473. else
  474. dataBudget[j].sjyzx = sjyzx.toFixed(2);
  475. // if (byj > 0)
  476. // dataBudget[j].byj = byj.toFixed(2);
  477. // else if(dataBudget[j].fj != '')
  478. // dataBudget[j].byj = '';
  479. // console.log(dataBudget[j].fj);
  480. // console.log(dataBudget[j].byj);
  481. var ysje = xmz + byj;
  482. if(ysje == 0)
  483. dataBudget[j].ysje = "";
  484. else
  485. dataBudget[j].ysje = ysje.toFixed(2);
  486. setFjBudget(dataBudget[j].fj);
  487. break;
  488. }
  489. }
  490. }
  491. }
  492. //组织要保存的数据
  493. function getBudget(budgets, data) {
  494. var budget = {
  495. "id": data.id,
  496. "xmzys": data.xmzys,
  497. "ysje": data.ysje,
  498. "xmz": data.xmz,
  499. "byj": data.byj,
  500. "xtjsyzx": data.xtjsyzx,
  501. "sjyzx": data.sjyzx
  502. };
  503. budgets.push(budget);
  504. if (data.children != undefined) {
  505. getChildNode(budgets, data);
  506. }
  507. }
  508. function getChildNode(budgets, data) {
  509. for (let item of data.children) {
  510. getBudget(budgets, item);
  511. }
  512. }
  513. // 监听确认按钮(项目预算)
  514. $("button[lay-filter='saveBtnYs']").click(function() {
  515. var rwsys = $("#rwsys").val();
  516. if(rwsys == "") {
  517. Message.error("任务书预算不能为空,请完善任务书项目预算!", 1500);
  518. return false;
  519. }
  520. var ndzys = dataBudget[0].xmzys;
  521. if(ndzys == null) {
  522. return false;
  523. }
  524. if(parseFloat(ndzys) > parseFloat(rwsys)) {
  525. Message.error("年度总预算不能超过任务书预算!", 1500);
  526. return false;
  527. }
  528. if(parseFloat(ndzys) > parseFloat(rwsys)) {
  529. Message.error("年度总预算不能超过任务书预算!", 1500);
  530. return false;
  531. }
  532. var ndczje = $("#ndczje").val();
  533. var ysje = dataBudget[0].ysje;
  534. // if(ndczje != "" && ysje != null && ndczje != ysje) {
  535. // Message.error("预算金额与年度预算金额不符,请核对!", 1500);
  536. // return false;
  537. // }
  538. var data = insTb.options.data;
  539. var budgets = new Array();
  540. for (var i = 0; i < data.length; i++) {
  541. getBudget(budgets, data[i]);
  542. }
  543. var index = layer.load(0, {shade: 0.1});
  544. //添加修改记录
  545. AjaxUtil.post({
  546. url: AjaxUtil.ctx + 'PrjAnnualBudgetRecord/addBudgetRecord/' + ysId,
  547. data: data.field,
  548. success: function (res) {
  549. layer.close(index);
  550. if (res.code === 0) {
  551. console.log("修改记录保存成功")
  552. } else {
  553. Message.error("修改记录添加失败", 2000);
  554. }
  555. }
  556. });
  557. AjaxUtil.post({
  558. url: AjaxUtil.ctx + "prjAnnualbudgetdetail/doUpdate",
  559. contentType: "application/json",
  560. data: JSON.stringify(budgets),
  561. success: function (res) {
  562. if (res.code === 0) {
  563. Message.success(1500, res.message, function () {
  564. loadTreetable();
  565. parent.setUpdateFlag();
  566. parent.layer.close(parent.layer.getFrameIndex(window.name));// 关闭子窗口
  567. });
  568. } else {
  569. Message.error(res.message, 1000);
  570. }
  571. layer.close(index);
  572. },
  573. error: function (error) {
  574. layer.close(index);
  575. }
  576. });
  577. });
  578. // 监听取消按钮
  579. $("button[lay-filter='cancleBtn']").click(function(){
  580. var iframeIndex = parent.layer.getFrameIndex(window.name);
  581. parent.layer.close(iframeIndex);
  582. });
  583. });
  584. </script>
  585. </body>
  586. </html>