微信小程序
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1715 рядки
62 KiB

  1. // pages/apply/paymentTemplate/add/add.js
  2. import * as UTIL from '../../../../utils/util.js';
  3. import * as API from '../../../../utils/API.js';
  4. let EVN_CONFIG = require('../../../../env/env');
  5. const DISTRIBUTE_ENVIROMENT = 'IMGURL';
  6. let {
  7. URL_PREFIX,
  8. } = EVN_CONFIG[DISTRIBUTE_ENVIROMENT];
  9. const app = getApp();
  10. Page({
  11. /**
  12. * 页面的初始数据
  13. */
  14. data: {
  15. isIPX: app.globalData.isIPX,
  16. radio:'1',
  17. active:0,
  18. projectText:'',
  19. balance:0,
  20. capitalExpenditureTypeOptions:[],
  21. transferTypeOptions:[],
  22. projectOptions:[],
  23. projectFundTypeOptions:[],
  24. contractionOptions:[],
  25. accountOptions:[],
  26. moneyorderOptions:[],
  27. topInputTirme:false,
  28. form:{
  29. approvalItemTemplate:{
  30. approvalItems:'',//审批事项
  31. submitCompany:'',//提交单位
  32. submitDate:'',//提交日期
  33. submitter:'',//提交人
  34. telephone:'',//联系方式
  35. totalAmount:"0.00",//合计金额
  36. templateName:'',//模板名称 选择保存模板的时候添加
  37. dataType:'',//数据类型
  38. },
  39. transfers:[{//事项信息集合以下是List对象信息
  40. num:"一",
  41. amountReadonly:false,
  42. expenditureAmountTirme:false,
  43. remarkTirme:false,
  44. showCapitalExpenditureType:false,
  45. showApplyDate:false,
  46. showTransferType:false,
  47. showProject:false,
  48. showProjectFundType:false,
  49. showAccount:false,
  50. showDialog:false,
  51. showContraction:false,
  52. showMoneyOrder:false,
  53. cashForm:{
  54. payee:'',
  55. phone:'',
  56. unit:'',
  57. leader:'',
  58. remark:'',
  59. },
  60. SJimage:[],
  61. FPimage:[],
  62. QTimage:[],
  63. showTitle:true,
  64. collapseDis:false,
  65. capitalExpenditureType:'1',//资金支出类别
  66. capitalExpenditureTypeText:'结算类',//资金支出类别(展示用)
  67. succeedAmount:'',//成功支付金额
  68. payer:'',//付款方
  69. paymentPattern:'1',
  70. payerAccount:'',//付款方账户
  71. bankType:'',//所属银行
  72. bankTypeText:'',//所属银行(展示用)
  73. isPeers:'N',//是否同行
  74. operatorCode:'',//操作员代码
  75. enterpriseCode:'',//企业编码
  76. expenditureAmount:'',//支出总金额
  77. applyDate:'',//申请时间
  78. transferStatus:'',//转账状态
  79. auditStatus:'0',//审批状态
  80. paymentState:'',//支付状态
  81. approvalMode:'1',//审批模式
  82. paymentTime:'',//支付时间
  83. bankPriority:'',//银行处理优先级
  84. clientPriority:'',//客户处理优先级
  85. transferType:'1',//付款方式
  86. transferTypeText:'垫付报销:电子支付',//付款方式(展示用)
  87. requiredTransferTime:'',//要求转账时间
  88. remark:'',//付款事由
  89. startTime:'',//开票日期
  90. endTime:'',//到期日期
  91. orderType:'',//汇票类型
  92. bankAccountType:'2',//账户类别1 公户2私户
  93. villageAccountType:'',//账户分类
  94. payeeList:[{//收款方账户集合
  95. payeeId:'0',//收款方id
  96. payee:'',//收款方
  97. bankDeposit:'',//开户行
  98. incomeAmount:'',//收入金额
  99. bankType:'',//所属银行0其他银行1中国银行2农商行(山东省)3农业银行4建设银行5工商银行
  100. payeeAccount:'',//收款账户
  101. }],
  102. projectForm:{
  103. projectId:'',
  104. projectName:'',
  105. projectContractor:'',
  106. projectAmount:'',
  107. projectBillNum:'',
  108. projectFundType:'',
  109. outId:'',
  110. ynType:'1',
  111. },
  112. contractionForm:{
  113. contractionId:'',
  114. name:'',
  115. code:'',
  116. totalAmount:'',
  117. },
  118. moneyOrderForm:{
  119. orderNum:'',
  120. orderType:'',
  121. orderAmount:'',
  122. billPayUnit:'',
  123. billReceiveUnit:'',
  124. startTime:'',
  125. endTime:'',
  126. orderStatus:'',
  127. remark:'',
  128. }
  129. }],
  130. },
  131. accountForm:{},
  132. fileForm:[],
  133. isUpdate:false,
  134. SJimage: [],
  135. FPimage: [],
  136. QTimage: [],
  137. imgcount:0,
  138. activeNames: 0,
  139. applyDate:'',
  140. },
  141. /**
  142. * 生命周期函数--监听页面加载
  143. */
  144. onLoad(options) {
  145. var that = this;
  146. //所属银行
  147. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, {
  148. success: (res) => {
  149. this.setData({
  150. bankTypeOptions:res.data
  151. });
  152. }
  153. })
  154. // 资金支出类别字典查询
  155. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, {
  156. success: (res) => {
  157. that.setData({
  158. capitalExpenditureTypeOptions:res.data,
  159. })
  160. }
  161. })
  162. // 汇票列表查询
  163. UTIL.httpRequest(API.URL_GET_GETMONEYORDERLIST, {method:'GET'}, {
  164. success: (res) => {
  165. that.setData({
  166. moneyOrderOptions:res.rows,
  167. })
  168. }
  169. })
  170. // 付款方式类型字典查询 (2.0)
  171. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'yn_pay_type', {method:'GET'}, {
  172. success: (res) => {
  173. that.setData({
  174. transferTypeOptions:res.data,
  175. })
  176. }
  177. })
  178. // 项目工程列表
  179. UTIL.httpRequest(API.URL_GET_GETPROJECTLIST , {method:'GET'}, {
  180. success: (res) => {
  181. that.setData({
  182. projectOptions:res.rows,
  183. })
  184. }
  185. })
  186. // 工程款类型字典查询
  187. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'project_fund_type', {method:'GET'}, {
  188. success: (res) => {
  189. that.setData({
  190. projectFundTypeOptions:res.data,
  191. })
  192. }
  193. })
  194. // 获取合同信息列表
  195. UTIL.httpRequest(API.URL_GET_CONTRACTIONLIST , {method:'GET',contractionStatus:1}, {
  196. success: (res) => {
  197. that.setData({
  198. contractionOptions:res.rows,
  199. })
  200. }
  201. })
  202. if(options.type == 'template'){
  203. wx.showLoading({
  204. title: '正在加载模板',
  205. mask:true
  206. })
  207. let list = JSON.parse(options.option);
  208. that.setData({
  209. templateModel:JSON.parse(options.option),
  210. formType:options.type,
  211. })
  212. var perames = {
  213. pageNum:1,
  214. pageSize:999,
  215. accountType:'102',
  216. method:'POST',
  217.   params: {
  218.          "townAccountType":"0"
  219.     }
  220. }
  221. // 付款方列表
  222. UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, {
  223. success: (res) => {
  224. that.setData({
  225. accountOptions:res.rows,
  226. ["form.transfers[0].applyDate"]: UTIL.formatDate(new Date()),
  227. applyDate: UTIL.formatDate(new Date()),
  228. })
  229. }
  230. })
  231. // if(options.type == "template"){list.approvalItemTemplate.id=""}
  232. console.log(list);
  233. if(options.type == "template"){list.applyData.approvalItemTemplate.id=""}
  234. setTimeout(function(){
  235. for (let i = 0; i < list.applyData.transfers.length; i++) {
  236. list.applyData.transfers[i].payeeList.forEach((item2,index2)=>{
  237. list.applyData.transfers[i].payeeList[index2].incomeAmount = parseFloat(0).toFixed(2);
  238. })
  239. console.log(that.data.capitalExpenditureTypeOptions);
  240. list.applyData.transfers[i].capitalExpenditureTypeText = UTIL.getTransform(list.applyData.transfers[i].capitalExpenditureType,that.data.capitalExpenditureTypeOptions);
  241. list.applyData.transfers[i].transferTypeText = UTIL.getTransform(list.applyData.transfers[i].paymentPattern,that.data.transferTypeOptions);
  242. list.applyData.transfers[i].bankTypeText = UTIL.getTransform(list.applyData.transfers[i].bankType,that.data.bankTypeOptions);
  243. list.applyData.transfers[i].num = UTIL.convertToChinaNum(i+1);
  244. list.applyData.transfers[i].expenditureAmount = '';
  245. list.applyData.transfers[i].cashierType = list.applyData.transfers[i].cashierId != '' && list.applyData.transfers[i].cashierId != null && list.applyData.transfers[i].cashierId != null ? 'edit':'add' ;
  246. list.applyData.transfers[i].cashForm=[{
  247. payee:'',
  248. phone:'',
  249. unit:'',
  250. leader:'',
  251. remark:'',
  252. }];
  253. if(list.applyData.transfers[i].capitalExpenditureType == 2){
  254. let prames = {
  255. outId:list.applyData.transfers[i].id,
  256. ynType: list.applyData.transfers[i].transferType=='1'||list.applyData.transfers[i].transferType=='2'||list.applyData.transfers[i].transferType=='4'?'1':'2'
  257. }
  258. // 工程项目查询
  259. UTIL.httpRequest(API.URL_GET_GETPROJECTTO , prames, {
  260. success: (res) => {
  261. res.data.projectFundTypeText = UTIL.getTransform(res.data.projectFundType,that.data.projectFundTypeOptions);
  262. list.applyData.transfers[i].projectForm = res.data
  263. }
  264. })
  265. }
  266. if(list.applyData.transfers[i].capitalExpenditureType == 4){
  267. let prames = {
  268. transferId:list.applyData.transfers[i].id,
  269. }
  270. // 关联合同查询
  271. UTIL.httpRequest(API.URL_GET_GETSELECTINFOBYOUTID , prames, {
  272. success: (res) => {
  273. list.applyData.transfers[i].contractionForm = res.data
  274. console.log(list.applyData.transfers[i]);
  275. }
  276. })
  277. }
  278. if(list.applyData.transfers[i].transferType == '12'){
  279. list.applyData.transfers[i].moneyOrderForm = {
  280. billPayUnit : '',
  281. orderNum : '',
  282. id : '',
  283. startTime : '',
  284. endTime : '',
  285. orderType : '',
  286. orderAmount:''
  287. };
  288. list.applyData.transfers[i].amountReadonly = true;
  289. // 关联收票方查询
  290. UTIL.httpRequest(API.URL_GET_GETCASHLISTCASGBYID+list.applyData.transfers[i].id , {method:'get'}, {
  291. success: (res) => {
  292. list.applyData.transfers[i].cashForm = res.data
  293. }
  294. })
  295. }
  296. let fileForm = [];
  297. // UTIL.httpRequest(
  298. // API.URL_GET_FINDLIST,
  299. // {
  300. // method:'GET',
  301. // tableName:'t_yinnong_transfer',
  302. // tableId:list.applyData.transfers[i].id,
  303. // fileType:1
  304. // },
  305. // {
  306. // success: (res) => {
  307. // let list2 = [];
  308. // res.data.forEach((item2,index2)=>{
  309. // wx.downloadFile({
  310. // url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  311. // success (response) {
  312. // if (response.statusCode === 200) {
  313. // fileForm.push({
  314. // file: response.tempFilePath,
  315. // fileType:'1',
  316. // bizPath:'transfer',
  317. // tableName:'t_yinnong_transfer',
  318. // tableId:''
  319. // })
  320. // console.log("--------------fileForm2 start----------------");
  321. // console.log(fileForm);
  322. // console.log("--------------fileForm2 end----------------");
  323. // list2.push({
  324. // tempFilePath:response.tempFilePath,
  325. // id:item2.id
  326. // })
  327. // list.applyData.transfers[i].SJimage = list2;
  328. // }
  329. // }
  330. // })
  331. // })
  332. // }
  333. // })
  334. // //发票
  335. // UTIL.httpRequest(
  336. // API.URL_GET_FINDLIST,
  337. // {
  338. // method:'GET',
  339. // tableName:'t_yinnong_transfer',
  340. // tableId:list.applyData.transfers[i].id,
  341. // fileType:2
  342. // },
  343. // {
  344. // success: (res) => {
  345. // let list2 = [];
  346. // res.data.forEach((item2,index2)=>{
  347. // wx.downloadFile({
  348. // url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  349. // success (response) {
  350. // if (response.statusCode === 200) {
  351. // fileForm.push({
  352. // file: response.tempFilePath,
  353. // fileType:'2',
  354. // bizPath:'transfer',
  355. // tableName:'t_yinnong_transfer',
  356. // tableId:''
  357. // })
  358. // console.log("--------------fileForm2 start----------------");
  359. // console.log(fileForm);
  360. // console.log("--------------fileForm2 end----------------");
  361. // list2.push({
  362. // tempFilePath:response.tempFilePath,
  363. // id:item2.id
  364. // })
  365. // list.applyData.transfers[i].FPimage = list2;
  366. // }
  367. // }
  368. // })
  369. // })
  370. // }
  371. // })
  372. // //其他
  373. // UTIL.httpRequest(
  374. // API.URL_GET_FINDLIST,
  375. // {
  376. // method:'GET',
  377. // tableName:'t_yinnong_transfer',
  378. // tableId:list.applyData.transfers[i].id,
  379. // fileType:3
  380. // },
  381. // {
  382. // success: (res) => {
  383. // let list2 = [];
  384. // res.data.forEach((item2,index2)=>{
  385. // wx.downloadFile({
  386. // url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  387. // success (response) {
  388. // if (response.statusCode === 200) {
  389. // fileForm.push({
  390. // file: response.tempFilePath,
  391. // fileType:'3',
  392. // bizPath:'transfer',
  393. // tableName:'t_yinnong_transfer',
  394. // tableId:''
  395. // })
  396. // console.log("--------------fileForm2 start----------------");
  397. // console.log(fileForm);
  398. // console.log("--------------fileForm2 end----------------");
  399. // list2.push({
  400. // tempFilePath:response.tempFilePath,
  401. // id:item2.id
  402. // })
  403. // list.applyData.transfers[i].QTimage = list2;
  404. // }
  405. // }
  406. // })
  407. // })
  408. // }
  409. // })
  410. list.applyData.transfers[i].id = "";
  411. list.applyData.transfers[i].fileForm = fileForm;
  412. }
  413. },1000)
  414. var timer2 = setTimeout(function(){
  415. that.setData({
  416. form:list.applyData,
  417. activeNames:null,
  418. applyDate: UTIL.formatDate(new Date()),
  419. ["form.approvalItemTemplate.totalAmount"]:parseFloat(0).toFixed(2),
  420. })
  421. UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, {
  422. success: (res) => {
  423. if (res.code == API.SUCCESS_CODE) {
  424. that.setData({
  425. ["form.approvalItemTemplate.submitCompany"]:res.user.bookName,
  426. ["form.approvalItemTemplate.submitDate"]:UTIL.js_date_time(new Date()),
  427. ["form.approvalItemTemplate.submitter"]:res.user.nickName,
  428. ["form.approvalItemTemplate.telephone"]:res.user.phonenumber,
  429. })
  430. }
  431. }
  432. })
  433. wx.hideLoading();
  434. },3000)
  435. }else if(options.id && options.type != 'template'){
  436. UTIL.showLoadingHaveMask();
  437. setTimeout(function(){
  438. UTIL.httpRequest(API.URL_GET_APPROVALITEMS+options.id, {method:'GET'}, {
  439. success: (res) => {
  440. if (res.code == API.SUCCESS_CODE) {
  441. console.log(that.data.capitalExpenditureTypeOptions);
  442. if(res.data.approvalItemTemplate == null){return;}
  443. res.data.approvalItemTemplate.totalAmount = parseFloat(res.data.approvalItemTemplate.totalAmount).toFixed(2)
  444. res.data.transfers.forEach( (item,index) => {
  445. that.setData({
  446. applyDate: res.data.transfers[0].applyDate,
  447. })
  448. res.data.transfers[index].capitalExpenditureTypeText = UTIL.getTransform(item.capitalExpenditureType,that.data.capitalExpenditureTypeOptions);
  449. console.log(item.paymentPattern);
  450. console.log(that.data.transferTypeOptions);
  451. res.data.transfers[index].cashierType = res.data.transfers[index].cashierId != '' && res.data.transfers[index].cashierId != null && res.data.transfers[index].cashierId != null ? 'edit':'add' ;
  452. res.data.transfers[index].transferTypeText = UTIL.getTransform(item.paymentPattern,that.data.transferTypeOptions);
  453. res.data.transfers[index].bankTypeText = UTIL.getTransform(item.bankType,that.data.bankTypeOptions);
  454. res.data.transfers[index].num = UTIL.convertToChinaNum(index+1);
  455. res.data.transfers[index].collapseDis = true;
  456. res.data.transfers[index].expenditureAmount = parseFloat(res.data.transfers[index].expenditureAmount).toFixed(2);
  457. res.data.transfers[index].moneyOrderForm = [];
  458. // res.data.transfers[index].expenditureAmount = parseFloat(0).toFixed(2);
  459. res.data.transfers[index].payeeList.forEach( (response,i) => {
  460. res.data.transfers[index].payeeList[i].bankTypeText = UTIL.getTransform(response.bankType,that.data.bankTypeOptions);
  461. })
  462. res.data.transfers[index].showTitle = false;
  463. if(res.data.transfers[index].capitalExpenditureType == 2){
  464. let prames = {
  465. outId:res.data.transfers[index].id,
  466. ynType: res.data.transfers[index].transferType=='1'||res.data.transfers[index].transferType=='2'||res.data.transfers[index].transferType=='4'?'1':'2'
  467. }
  468. // 工程项目查询
  469. UTIL.httpRequest(API.URL_GET_GETPROJECTTO , prames, {
  470. success: (res) => {
  471. res.data.projectFundTypeText = UTIL.getTransform(res.data.projectFundType,that.data.projectFundTypeOptions);
  472. that.setData({
  473. ["form.transfers["+index+"].projectForm"]:res.data,
  474. })
  475. }
  476. })
  477. }
  478. if(res.data.transfers[index].capitalExpenditureType == 4){
  479. let prames = {
  480. transferId:res.data.transfers[index].id,
  481. }
  482. // 关联合同查询
  483. UTIL.httpRequest(API.URL_GET_GETSELECTINFOBYOUTID , prames, {
  484. success: (res) => {
  485. that.setData({
  486. ["form.transfers["+index+"].contractionForm"]:res.data,
  487. })
  488. }
  489. })
  490. }
  491. if(res.data.transfers[index].transferType == '12'){
  492. var transferTimer = setTimeout(function(){
  493. that.setData({
  494. ["form.transfers["+index+"].moneyOrderForm"]:{
  495. billPayUnit : res.data.transfers[index].payer,
  496. orderNum : res.data.transfers[index].payerAccount,
  497. id : res.data.transfers[index].cashierId,
  498. startTime : res.data.transfers[index].startTime,
  499. endTime : res.data.transfers[index].endTime,
  500. orderType : res.data.transfers[index].orderType,
  501. orderAmount:res.data.transfers[index].expenditureAmount
  502. },
  503. ["form.transfers["+index+"].amountReadonly"]:true
  504. })
  505. },1000)
  506. }
  507. UTIL.httpRequest(
  508. API.URL_GET_FINDLIST,
  509. {
  510. method:'GET',
  511. tableName:'t_yinnong_transfer',
  512. tableId:item.id,
  513. fileType:1
  514. },
  515. {
  516. success: (res) => {
  517. let list = [];
  518. res.data.forEach((item2,index2)=>{
  519. let fileForm = item.fileForm?item.fileForm:[];
  520. fileForm.push({
  521. file: URL_PREFIX+item2.fileUrl,
  522. fileType:'1',
  523. bizPath:'transfer',
  524. tableName:'t_yinnong_transfer',
  525. tableId:''
  526. })
  527. list.push({
  528. tempFilePath:URL_PREFIX+item2.fileUrl,
  529. id:item2.id
  530. })
  531. that.setData({
  532. ["form.transfers["+index+"].SJimage"]:list,
  533. ["form.transfers["+index+"].fileForm"]:fileForm
  534. });
  535. })
  536. }
  537. })
  538. //发票
  539. UTIL.httpRequest(
  540. API.URL_GET_FINDLIST,
  541. {
  542. method:'GET',
  543. tableName:'t_yinnong_transfer',
  544. tableId:item.id,
  545. fileType:2
  546. },
  547. {
  548. success: (res) => {
  549. let list = [];
  550. res.data.forEach((item2,index2)=>{
  551. let fileForm = item.fileForm?item.fileForm:[];
  552. fileForm.push({
  553. file: URL_PREFIX+item2.fileUrl,
  554. fileType:'2',
  555. bizPath:'transfer',
  556. tableName:'t_yinnong_transfer',
  557. tableId:item.id
  558. })
  559. list.push({
  560. tempFilePath:URL_PREFIX+item2.fileUrl,
  561. id:item2.id
  562. })
  563. that.setData({
  564. ["form.transfers["+index+"].FPimage"]:list,
  565. ["form.transfers["+index+"].fileForm"]:fileForm
  566. });
  567. })
  568. }
  569. })
  570. //其他
  571. UTIL.httpRequest(
  572. API.URL_GET_FINDLIST,
  573. {
  574. method:'GET',
  575. tableName:'t_yinnong_transfer',
  576. tableId:item.id,
  577. fileType:3
  578. },
  579. {
  580. success: (res) => {
  581. let list = [];
  582. res.data.forEach((item2,index2)=>{
  583. let fileForm = item.fileForm?item.fileForm:[];
  584. fileForm.push({
  585. file: URL_PREFIX+item2.fileUrl,
  586. fileType:'3',
  587. bizPath:'transfer',
  588. tableName:'t_yinnong_transfer',
  589. tableId:item.id
  590. })
  591. list.push({
  592. tempFilePath:URL_PREFIX+item2.fileUrl,
  593. id:item2.id
  594. })
  595. that.setData({
  596. ["form.transfers["+index+"].QTimage"]:list,
  597. ["form.transfers["+index+"].fileForm"]:fileForm
  598. });
  599. })
  600. }
  601. })
  602. })
  603. that.setData({
  604. form:res.data,
  605. activeNames:null
  606. })
  607. UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, {
  608. success: (res) => {
  609. if (res.code == API.SUCCESS_CODE) {
  610. that.setData({
  611. ["form.approvalItemTemplate.submitCompany"]:res.user.bookName,
  612. ["form.approvalItemTemplate.submitDate"]:UTIL.js_date_time(new Date()),
  613. ["form.approvalItemTemplate.submitter"]:res.user.nickName,
  614. ["form.approvalItemTemplate.telephone"]:res.user.phonenumber,
  615. })
  616. }
  617. }
  618. })
  619. UTIL.hideLoadingHaveMask();
  620. }
  621. }
  622. })
  623. },1000)
  624. }else{
  625. //村账户查询参数
  626. var perames = {
  627. pageNum:1,
  628. pageSize:999,
  629. accountType:'102',
  630. method:'post',
  631.   params: {
  632.          "townAccountType":"0"
  633.     }
  634. }
  635. // 付款方列表
  636. UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, {
  637. success: (res) => {
  638. that.setData({
  639. accountOptions:res.rows,
  640. ["form.transfers[0].applyDate"]: UTIL.formatDate(new Date()),
  641. applyDate: UTIL.formatDate(new Date()),
  642. })
  643. }
  644. })
  645. UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, {
  646. success: (res) => {
  647. if (res.code == API.SUCCESS_CODE) {
  648. that.setData({
  649. ["form.approvalItemTemplate.submitCompany"]:res.user.bookName,
  650. ["form.approvalItemTemplate.submitDate"]:UTIL.js_date_time(new Date()),
  651. ["form.approvalItemTemplate.submitter"]:res.user.nickName,
  652. ["form.approvalItemTemplate.telephone"]:res.user.phonenumber,
  653. })
  654. }
  655. }
  656. })
  657. }
  658. },
  659. onChangeBox(event) {
  660. console.log(event);
  661. this.setData({
  662. activeNames: event.detail,
  663. });
  664. },
  665. /**
  666. * 生命周期函数--监听页面初次渲染完成
  667. */
  668. onReady() {
  669. },
  670. /**
  671. * 生命周期函数--监听页面显示
  672. */
  673. onShow() {
  674. },
  675. openBox(even){
  676. console.log(even.currentTarget.dataset.name);
  677. this.setData({
  678. [even.currentTarget.dataset.name]:true
  679. })
  680. },
  681. closeBox(even){
  682. console.log(even.currentTarget.dataset.name);
  683. this.setData({
  684. [even.currentTarget.dataset.name]:false
  685. })
  686. },
  687. onConfirm(event) {
  688. this.setData({
  689. [event.currentTarget.dataset.name]: false,
  690. [event.currentTarget.dataset.value]: UTIL.formatDate(event.detail),
  691. });
  692. },
  693. onConfirmPick(event) {
  694. console.log(event);
  695. this.setData({
  696. [event.currentTarget.dataset.name]: false,
  697. [event.currentTarget.dataset.value]: event.detail.value.dictValue,
  698. [event.currentTarget.dataset.value+'Text']: event.detail.value.dictLabel,
  699. });
  700. },
  701. onConfirmAccount(event) {
  702. console.log(event);
  703. var that = this;
  704. // 所属银行字典查询
  705. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, {
  706. success: (res) => {
  707. this.setData({
  708. [event.currentTarget.dataset.name]: false,
  709. [event.currentTarget.dataset.value+'.payer']: event.detail.value.accountName,
  710. [event.currentTarget.dataset.value+'.cashierId']: event.detail.value.id,
  711. [event.currentTarget.dataset.value+'.payerAccount']: event.detail.value.bankAccountNumber,
  712. [event.currentTarget.dataset.value+'.bankTypeText']: UTIL.getTransform(event.detail.value.bankType,that.data.bankTypeOptions),
  713. [event.currentTarget.dataset.value+'.bankType']: event.detail.value.bankType,
  714. [event.currentTarget.dataset.value+'.payerAccount']:event.detail.value.balance,
  715. });
  716. }
  717. })
  718. },
  719. onConfirmaTransfer(event) {
  720. console.log(event);
  721. var that = this;
  722. let perames = {};
  723. this.setData({
  724. [event.currentTarget.dataset.value+'.payer']: '',
  725. [event.currentTarget.dataset.value+'.payerAccount']: '',
  726. [event.currentTarget.dataset.value+'.bankTypeText']: '',
  727. [event.currentTarget.dataset.value+'.bankType']: '',
  728. [event.currentTarget.dataset.value+'.bankAccountType']: '2',
  729. [event.currentTarget.dataset.value+'.isPeers']: '',
  730. [event.currentTarget.dataset.value+'.paymentPattern']: event.detail.value.dictValue,
  731. [event.currentTarget.dataset.value+'.amountReadonly']:false,
  732. balance:0,
  733. });
  734. console.log(event.detail.value.dictValue);
  735. if(event.detail.value.dictValue == 1 || event.detail.value.dictValue == 2 || event.detail.value.dictValue == 4 || event.detail.value.dictValue == 6 || event.detail.value.dictValue == 7 ){event.detail.value.dictValue = 1 ;}
  736. else if(event.detail.value.dictValue == 3){event.detail.value.dictValue = 2 ;}
  737. else if(event.detail.value.dictValue == 5){event.detail.value.dictValue = 12 ;}
  738. else if(event.detail.value.dictValue == 8){event.detail.value.dictValue = 11 ;}
  739. if(event.detail.value.dictValue == 1){//村账户查询参数
  740. perames = {
  741. pageNum:1,
  742. pageSize:999,
  743. accountType:'102',
  744. method:'post',
  745.   params: {
  746.          "townAccountType":"0"
  747.     }
  748. }
  749. // 付款方列表
  750. UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, {
  751. success: (res) => {
  752. that.setData({
  753. accountOptions:res.rows,
  754. })
  755. }
  756. })
  757. }
  758. if(event.detail.value.dictValue == 2 || event.detail.value.dictValue == 10){//公务卡和现金提现查询参数
  759. perames = {
  760. pageNum:1,
  761. pageSize:999,
  762. accountType:'102',
  763. method:'GET',
  764. villageAccountType:''
  765. }
  766. // 付款方列表
  767. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  768. success: (res) => {
  769. that.setData({
  770. accountOptions:res.rows,
  771. })
  772. }
  773. })
  774. }
  775. if(event.detail.value.dictValue == 11){//现金使用查询参数
  776. perames = {
  777. pageNum:1,
  778. pageSize:999,
  779. accountType:'101',
  780. method:'GET'
  781. }
  782. // 付款方列表
  783. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  784. success: (res) => {
  785. that.setData({
  786. accountOptions:res.rows
  787. })
  788. }
  789. })
  790. }
  791. if(event.detail.value.dictValue == 4){//代管账户查询参数
  792. perames = {
  793. pageNum:1,
  794. pageSize:999,
  795. accountType:'102',
  796. method:'GET',
  797. villageAccountType:'1'
  798. }
  799. // 付款方列表
  800. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  801. success: (res) => {
  802. that.setData({
  803. accountOptions:res.rows,
  804. })
  805. }
  806. })
  807. }
  808. if(event.detail.value.dictValue == 12){//汇票支出查询参数
  809. perames = {
  810. pageNum:1,
  811. pageSize:999,
  812. }
  813. // 付款方列表
  814. UTIL.httpRequest(API.URL_GET_MONEYORDERLIST , perames, {
  815. success: (res) => {
  816. that.setData({
  817. moneyorderOptions:res.rows,
  818. [event.currentTarget.dataset.value+'.amountReadonly']:true
  819. })
  820. }
  821. })
  822. }
  823. this.setData({
  824. [event.currentTarget.dataset.name]: false,
  825. [event.currentTarget.dataset.value+'.transferType']: event.detail.value.dictValue,
  826. [event.currentTarget.dataset.value+'.transferTypeText']: event.detail.value.dictLabel,
  827. });
  828. },
  829. onConfirmProject(event) {
  830. console.log(event);
  831. this.setData({
  832. [event.currentTarget.dataset.name]: false,
  833. [event.currentTarget.dataset.value+'.projectName']: event.detail.value.projectName,
  834. [event.currentTarget.dataset.value+'.projectId']: event.detail.value.id,
  835. [event.currentTarget.dataset.value+'.projectContractor']: event.detail.value.projectContractor,
  836. [event.currentTarget.dataset.value+'.projectAmount']: event.detail.value.projectAmount,
  837. });
  838. },
  839. onConfirmContraction(event) {
  840. console.log(event);
  841. this.setData({
  842. [event.currentTarget.dataset.name]: false,
  843. [event.currentTarget.dataset.value+".name"]: event.detail.value.name,
  844. [event.currentTarget.dataset.value+'.code']: event.detail.value.code,
  845. [event.currentTarget.dataset.value+'.totalAmount']: event.detail.value.totalAmount,
  846. [event.currentTarget.dataset.value+'.contractionId']: event.detail.value.id,
  847. });
  848. },
  849. onConfirmMoneyOrder(event) {
  850. console.log(event);
  851. var that = this ;
  852. this.setData({
  853. [event.currentTarget.dataset.name]: false,
  854. [event.currentTarget.dataset.value+'.moneyOrderForm']: event.detail.value,
  855. [event.currentTarget.dataset.value+'.expenditureAmount']: event.detail.value.orderAmount,
  856. [event.currentTarget.dataset.value+".payeeList[0].incomeAmount"]: event.detail.value.orderAmount,
  857. [event.currentTarget.dataset.value+'.payer']:event.detail.value.billPayUnit,
  858. [event.currentTarget.dataset.value+'.payerAccount'] : event.detail.value.orderNum,
  859. [event.currentTarget.dataset.value+'.cashierId'] : event.detail.value.id,
  860. [event.currentTarget.dataset.value+'.startTime'] : event.detail.value.startTime,
  861. [event.currentTarget.dataset.value+'.endTime'] : event.detail.value.endTime,
  862. [event.currentTarget.dataset.value+'.orderType'] : event.detail.value.orderType
  863. });
  864. var moneyCount = 0 ;
  865. for (let i = 0; i < that.data.form.transfers.length; i++) {
  866. const element = that.data.form.transfers[i];
  867. for (let j = 0; j < element.payeeList.length; j++) {
  868. const element2 = element.payeeList[j];
  869. var allCount = 0 ;
  870. moneyCount = parseFloat(moneyCount)+parseFloat(element2.incomeAmount);
  871. // allCount = parseFloat(allCount)+parseFloat(element2.incomeAmount);
  872. // this.setData({
  873. // ["form.transfers["+i+"].expenditureAmount"]:allCount,
  874. // })
  875. }
  876. }
  877. console.log(moneyCount.toFixed(2));
  878. this.setData({
  879. ["form.approvalItemTemplate.totalAmount"]:moneyCount.toFixed(2),
  880. })
  881. },
  882. goPayeeList(event){
  883. console.log(event.currentTarget.dataset.transfertype)
  884. if(event.currentTarget.dataset.payer == null || event.currentTarget.dataset.payer == ''){
  885. UTIL.showToastNoneIcon('请先选择付款方!');
  886. return;
  887. }
  888. if(event.currentTarget.dataset.accounttype == null ){
  889. event.currentTarget.dataset.accounttype = ''
  890. }
  891. // '/pages/payee/index?isPeers='+event.currentTarget.dataset.ispeers+'&bankType='+event.currentTarget.dataset.banktype+'&accountType='+event.currentTarget.dataset.accounttype+'&transferType='+event.currentTarget.dataset.transfertype + '&index='+event.currentTarget.dataset.index+'&money='+this.data.form.transfers
  892. wx.navigateTo({
  893. url: '/pages/payee/index?transferType='+event.currentTarget.dataset.transfertype+'&money='+this.data.form.transfers[event.currentTarget.dataset.index].expenditureAmount + '&index='+event.currentTarget.dataset.index,
  894. })
  895. },
  896. onChange(event){
  897. console.log(event);
  898. this.setData({
  899. [event.currentTarget.dataset.value]: event.detail,
  900. })
  901. },
  902. onChangeTime(event){
  903. console.log(event);
  904. this.setData({
  905. applyDate: event.detail,
  906. })
  907. },
  908. onConfirmTime(event){
  909. this.setData({
  910. [event.currentTarget.dataset.name]: false,
  911. applyDate: UTIL.formatDate(event.detail),
  912. });
  913. for (let i = 0; i < this.data.form.transfers.length; i++) {
  914. this.setData({
  915. ["form.transfers["+i+"].applyDate"]:UTIL.formatDate(event.detail),
  916. })
  917. }
  918. },
  919. onChangeMoneyOut(event){
  920. console.log(event);
  921. var that = this;
  922. if( !(event.detail.value > -1)){
  923. this.setData({
  924. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:'',
  925. })
  926. return;
  927. }
  928. if( event.detail.value.indexOf('.')>0 && event.detail.value.toString().split(".")[1].length>2){
  929. this.setData({
  930. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail.value.toString().split(".")[0] + '.' + event.detail.value.toString().split(".")[1].substr(0,2),
  931. })
  932. return;
  933. }
  934. this.setData({
  935. // ["form.transfers["+event.currentTarget.dataset.index+"].payeeList["+event.currentTarget.dataset.childrenindex+"].incomeAmount"]: event.detail,
  936. ["form.transfers["+event.currentTarget.dataset.index+"].payeeList[0].incomeAmount"]: event.detail.value,
  937. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail.value,
  938. // ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail,
  939. })
  940. if(event.detail.value == ''){
  941. that.data.form.transfers[event.currentTarget.dataset.index].payeeList[0].incomeAmount = parseFloat(0).toFixed(2);
  942. that.data.form.transfers[event.currentTarget.dataset.index].expenditureAmount = parseFloat(0).toFixed(2);
  943. }
  944. var moneyCount = 0 ;
  945. for (let i = 0; i < that.data.form.transfers.length; i++) {
  946. const element = that.data.form.transfers[i];
  947. for (let j = 0; j < element.payeeList.length; j++) {
  948. const element2 = element.payeeList[j];
  949. console.log(element2.incomeAmount);
  950. var allCount = 0 ;
  951. moneyCount = parseFloat(moneyCount) + parseFloat(element2.incomeAmount);
  952. // allCount = parseFloat(allCount)+parseFloat(element2.incomeAmount);
  953. // this.setData({
  954. // ["form.transfers["+i+"].expenditureAmount"]:allCount,
  955. // })
  956. }
  957. }
  958. this.setData({
  959. ["form.approvalItemTemplate.totalAmount"]:moneyCount.toFixed(2),
  960. })
  961. },
  962. onChangeMoney(event){
  963. console.log(event);
  964. var that = this;
  965. if( !(event.detail > -1)){
  966. this.setData({
  967. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:'',
  968. })
  969. return;
  970. }
  971. if( event.detail.indexOf('.')>0 && event.detail.toString().split(".")[1].length>2){
  972. this.setData({
  973. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail.toString().split(".")[0] + '.' + event.detail.toString().split(".")[1].substr(0,2),
  974. })
  975. return;
  976. }
  977. this.setData({
  978. // ["form.transfers["+event.currentTarget.dataset.index+"].payeeList["+event.currentTarget.dataset.childrenindex+"].incomeAmount"]: event.detail,
  979. ["form.transfers["+event.currentTarget.dataset.index+"].payeeList[0].incomeAmount"]: event.detail,
  980. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail,
  981. // ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail,
  982. })
  983. console.log(that.data.form);
  984. var moneyCount = 0 ;
  985. for (let i = 0; i < that.data.form.transfers.length; i++) {
  986. const element = that.data.form.transfers[i];
  987. for (let j = 0; j < element.payeeList.length; j++) {
  988. const element2 = element.payeeList[j];
  989. var allCount = 0 ;
  990. moneyCount = parseFloat(moneyCount)+parseFloat(element2.incomeAmount);
  991. // allCount = parseFloat(allCount)+parseFloat(element2.incomeAmount);
  992. // this.setData({
  993. // ["form.transfers["+i+"].expenditureAmount"]:allCount,
  994. // })
  995. }
  996. }
  997. console.log(moneyCount.toFixed(2));
  998. this.setData({
  999. ["form.approvalItemTemplate.totalAmount"]:moneyCount.toFixed(2),
  1000. })
  1001. console.log(that.data.form);
  1002. console.log(allCount.toFixed(2));
  1003. },
  1004. back:function(){
  1005. wx.navigateBack({
  1006. delta: 1
  1007. })
  1008. },
  1009. goSubmitMB(){
  1010. this.setData({
  1011. showDialog:true
  1012. })
  1013. },
  1014. onClose(){
  1015. this.setData({
  1016. showDialog:false
  1017. })
  1018. },
  1019. bindNameInput(even){
  1020. this.setData({
  1021. ["form.approvalItemTemplate.templateName"]:even.detail.value
  1022. })
  1023. },
  1024. goSubmit(e){
  1025. var that = this;
  1026. console.log(that.data.form);
  1027. var list = that.data.form,
  1028. approvalItems = list.approvalItemTemplate.approvalItems;
  1029. if(approvalItems == ''){
  1030. UTIL.showToastNoneIcon('请填写审批事项名称!');
  1031. that.setData({
  1032. topInputTirme:true
  1033. })
  1034. return;
  1035. }
  1036. for (let i = 0; i < list.transfers.length; i++) {
  1037. const element = list.transfers[i];
  1038. if(element.applyDate == ''){
  1039. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的申请时间!');
  1040. return;
  1041. }
  1042. if(element.remark == ''){
  1043. UTIL.showToastNoneIcon('请填写事项'+UTIL.convertToChinaNum(i+1)+'的支出原因!');
  1044. that.setData({
  1045. ["form.transfers["+i+"].remarkTirme"]:true
  1046. })
  1047. return;
  1048. }
  1049. if(element.expenditureAmount == ''){
  1050. UTIL.showToastNoneIcon('请填写事项'+UTIL.convertToChinaNum(i+1)+'的支出金额!');
  1051. that.setData({
  1052. ["form.transfers["+i+"].expenditureAmountTirme"]:true
  1053. })
  1054. return;
  1055. }
  1056. console.log(parseFloat(element.expenditureAmount).toFixed(2))
  1057. console.log(parseFloat(element.payerAccount).toFixed(2))
  1058. console.log(element.transferType);
  1059. if((parseFloat(element.expenditureAmount).toFixed(2) - parseFloat(element.payerAccount).toFixed(2) >0) && element.transferType == 11){
  1060. UTIL.showToastNoneIcon('事项'+UTIL.convertToChinaNum(i+1)+'的支出金额不能超过付款账户余额!');
  1061. return;
  1062. }
  1063. if(element.payer == ''&&element.transferType != 12){
  1064. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的付款方!');
  1065. return;
  1066. }
  1067. if(element.payeeList[0].payee == ''&&element.transferType!=12){
  1068. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的收款方!');
  1069. return;
  1070. }
  1071. if((element.payeeList[0].incomeAmount == '' || element.payeeList[0].incomeAmount == undefined)&&element.transferType!=12){
  1072. UTIL.showToastNoneIcon('请填写事项'+UTIL.convertToChinaNum(i+1)+'收款方的收入金额!');
  1073. return;
  1074. }
  1075. if(element.transferType == '12'){
  1076. list.transfers[i].payer = list.transfers[i].moneyOrderForm.billPayUnit;
  1077. list.transfers[i].payerAccount = list.transfers[i].moneyOrderForm.orderNum;
  1078. list.transfers[i].cashierId = list.transfers[i].moneyOrderForm.id;
  1079. list.transfers[i].startTime = list.transfers[i].moneyOrderForm.startTime;
  1080. list.transfers[i].endTime = list.transfers[i].moneyOrderForm.endTime;
  1081. list.transfers[i].orderType = list.transfers[i].moneyOrderForm.orderType;
  1082. }
  1083. }
  1084. if(e.currentTarget.dataset.type == 1){
  1085. if(that.data.form.approvalItemTemplate.templateName == ''){
  1086. UTIL.showToastNoneIcon('请输入模板名称!');
  1087. return;
  1088. }
  1089. }
  1090. if(e.currentTarget.dataset.type == 3){
  1091. for (let i = 0; i < that.data.form.transfers.length; i++) {
  1092. that.data.form.transfers[i].approvalMode = '2';
  1093. }
  1094. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type
  1095. }
  1096. that.data.form.method = 'POST';
  1097. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type;
  1098. console.log(that.data.form);
  1099. UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, {
  1100. success: (res) => {
  1101. if (res.code == API.SUCCESS_CODE) {
  1102. for (let j = 0; j < res.data.transfers.length; j++) {
  1103. if(that.data.form.transfers[j].capitalExpenditureType == 2){
  1104. that.data.form.transfers[j].projectForm.ynType = res.data.transfers[j].transferType=='1'||res.data.transfers[j].transferType=='2'||res.data.transfers[j].transferType=='4'?'1':'2';
  1105. that.data.form.transfers[j].projectForm.outId = res.data.transfers[j].id;
  1106. that.data.form.transfers[j].projectForm.method = 'POST';
  1107. // 工程项目提交
  1108. UTIL.httpRequest(API.URL_GET_ADDPROJECTTO , that.data.form.transfers[j].projectForm, {
  1109. success: (res) => {
  1110. }
  1111. })
  1112. }
  1113. if(that.data.form.transfers[j].capitalExpenditureType == 4){
  1114. that.data.form.transfers[j].contractionForm.transferId = res.data.transfers[j].id;
  1115. that.data.form.transfers[j].contractionForm.id = '';
  1116. that.data.form.transfers[j].contractionForm.method = 'POST';
  1117. // 关联合同提交
  1118. UTIL.httpRequest(API.URL_GET_GETRELATIONADD , that.data.form.transfers[j].contractionForm, {
  1119. success: (res) => {
  1120. }
  1121. })
  1122. }
  1123. // if(that.data.form.transfers[j].transferType == '12'){
  1124. // console.log(that.data.form.transfers[j].cashForm);
  1125. // that.data.form.transfers[j].cashForm.cashId = res.data.transfers[j].id;
  1126. // that.data.form.transfers[j].cashForm.method = 'POST';
  1127. // if(that.data.form.transfers[j].cashierType == 'edit'){
  1128. // // 收票方信息增加
  1129. // UTIL.httpRequest(API.URL_GET_GETCASHDETAILEDIT , that.data.form.transfers[j].cashForm, {
  1130. // success: (res) => {
  1131. // }
  1132. // })
  1133. // }else{
  1134. // // 收票方信息修改
  1135. // UTIL.httpRequest(API.URL_GET_GETCASHDETAILADD , that.data.form.transfers[j].cashForm, {
  1136. // success: (res) => {
  1137. // }
  1138. // })
  1139. // }
  1140. // }
  1141. if(that.data.form.transfers[j].fileForm == undefined){continue;}
  1142. console.log(that.data.form.transfers[j].fileForm);
  1143. for (let i = 0; i < that.data.form.transfers[j].fileForm.length; i++) {
  1144. that.data.form.transfers[j].fileForm[i].tableId = res.data.transfers[j].id
  1145. const element = that.data.form.transfers[j].fileForm[i];
  1146. wx.uploadFile({
  1147. url: API.URL_GET_UPLOAD,
  1148. filePath: element.file,
  1149. name: 'file',
  1150. header: {
  1151. "Content-Type": "multipart/form-data",//记得设置
  1152. "chartset":"utf-8",
  1153. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  1154. },
  1155. formData:element,
  1156. success (response){
  1157. console.log(res);
  1158. },
  1159. fail(res){
  1160. console.log(res)
  1161. }
  1162. })
  1163. }
  1164. }
  1165. if(e.currentTarget.dataset.type == 0){
  1166. wx.navigateTo({
  1167. url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId+'&form='+JSON.stringify(res.data)+'&type='+that.data.formType+'&applyOptions='+JSON.stringify(that.data.templateModel),
  1168. })
  1169. }
  1170. if(e.currentTarget.dataset.type == 2){
  1171. wx.showToast({
  1172. title: '保存成功',
  1173. icon: 'success',
  1174. duration: 2000,
  1175. })
  1176. }
  1177. if(e.currentTarget.dataset.type == 1){
  1178. console.log("aaa");
  1179. wx.showToast({
  1180. title: '保存成功',
  1181. icon: 'success',
  1182. duration: 2000,
  1183. complete(){
  1184. setTimeout(function(){
  1185. that.back();
  1186. },2000)
  1187. }
  1188. })
  1189. }
  1190. if(e.currentTarget.dataset.type == 3){
  1191. UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, {
  1192. success: (res2) => {
  1193. if (res2.code == API.SUCCESS_CODE) {
  1194. wx.showToast({
  1195. title: '操作成功',
  1196. icon: 'success',
  1197. duration: 2000,
  1198. complete(){
  1199. setTimeout(function(){
  1200. that.back();
  1201. },2000)
  1202. }
  1203. })
  1204. }else{
  1205. wx.showToast({
  1206. title: '操作失败',
  1207. icon: 'error',
  1208. duration: 2000
  1209. })
  1210. }
  1211. }
  1212. })
  1213. }
  1214. }
  1215. }
  1216. })
  1217. },
  1218. bindKeyInput(even){
  1219. console.log(even);
  1220. this.setData({
  1221. ["form.approvalItemTemplate.approvalItems"]: even.detail,
  1222. })
  1223. },
  1224. errorPd(e){
  1225. console.log(e);
  1226. this.setData({
  1227. [e.currentTarget.dataset.formname+"Tirme"]:e.detail.value == '' ? true:false
  1228. })
  1229. },
  1230. errorJE(e){
  1231. console.log(e);
  1232. this.setData({
  1233. [e.currentTarget.dataset.formname+"Tirme"]:e.detail.value == '' ? true:false
  1234. })
  1235. },
  1236. errorYY(e){
  1237. console.log(e);
  1238. this.setData({
  1239. [e.currentTarget.dataset.formname+"Tirme"]:e.detail.value == '' ? true:false
  1240. })
  1241. },
  1242. SJtakephoto(e){
  1243. var that = this;
  1244. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  1245. wx.chooseMedia({
  1246. mediaType: ['image'],
  1247. sourceType: ['album', 'camera'],
  1248. camera: 'back',
  1249. success(res) {
  1250. console.log(res);
  1251. res.tempFiles.forEach(item => {
  1252. fileForm.push({
  1253. file: item.tempFilePath,
  1254. fileType:'1',
  1255. bizPath:'transfer',
  1256. tableName:'t_yinnong_transfer',
  1257. tableId:''
  1258. })
  1259. })
  1260. console.log(fileForm);
  1261. let tem = that.data.form.transfers[e.currentTarget.dataset.index].SJimage?that.data.form.transfers[e.currentTarget.dataset.index].SJimage:[];
  1262. res.tempFiles.forEach(r=>{
  1263. tem.push({
  1264. tempFilePath:r.tempFilePath
  1265. })
  1266. })
  1267. console.log(tem);
  1268. that.setData({
  1269. ["form.transfers["+e.currentTarget.dataset.index+"].SJimage"]:tem,
  1270. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm,
  1271. })
  1272. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  1273. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  1274. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  1275. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  1276. that.setData({
  1277. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  1278. })
  1279. },fail(err){
  1280. console.log(err);
  1281. }
  1282. })
  1283. },
  1284. FPtakephoto(e){
  1285. var that = this;
  1286. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  1287. console.log(fileForm);
  1288. wx.chooseMedia({
  1289. mediaType: ['image'],
  1290. sourceType: ['album', 'camera'],
  1291. camera: 'back',
  1292. success(res) {
  1293. console.log(res);
  1294. res.tempFiles.forEach(item => {
  1295. fileForm.push({
  1296. file: item.tempFilePath,
  1297. fileType:'2',
  1298. bizPath:'transfer',
  1299. tableName:'t_yinnong_transfer',
  1300. tableId:''
  1301. })
  1302. })
  1303. let tem = that.data.form.transfers[e.currentTarget.dataset.index].FPimage?that.data.form.transfers[e.currentTarget.dataset.index].FPimage:[];
  1304. res.tempFiles.forEach(r=>{
  1305. tem.push({
  1306. tempFilePath:r.tempFilePath
  1307. })
  1308. })
  1309. console.log(tem);
  1310. that.setData({
  1311. ["form.transfers["+e.currentTarget.dataset.index+"].FPimage"]:tem,
  1312. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm
  1313. })
  1314. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  1315. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  1316. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  1317. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  1318. that.setData({
  1319. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  1320. })
  1321. },fail(err){
  1322. console.log(err);
  1323. }
  1324. })
  1325. },
  1326. QTtakephoto(e){
  1327. var that = this;
  1328. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  1329. wx.chooseMedia({
  1330. mediaType: ['image'],
  1331. sourceType: ['album', 'camera'],
  1332. camera: 'back',
  1333. success(res) {
  1334. console.log(res);
  1335. res.tempFiles.forEach(item => {
  1336. fileForm.push({
  1337. file: item.tempFilePath,
  1338. fileType:'3',
  1339. bizPath:'transfer',
  1340. tableName:'t_yinnong_transfer',
  1341. tableId:''
  1342. })
  1343. })
  1344. console.log(fileForm);
  1345. let tem = that.data.form.transfers[e.currentTarget.dataset.index].QTimage?that.data.form.transfers[e.currentTarget.dataset.index].QTimage:[];
  1346. res.tempFiles.forEach(r=>{
  1347. tem.push({
  1348. tempFilePath:r.tempFilePath
  1349. })
  1350. })
  1351. that.setData({
  1352. ["form.transfers["+e.currentTarget.dataset.index+"].QTimage"]:tem,
  1353. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm
  1354. })
  1355. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  1356. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  1357. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  1358. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  1359. that.setData({
  1360. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  1361. })
  1362. },fail(err){
  1363. console.log(err);
  1364. }
  1365. })
  1366. },
  1367. addList(){
  1368. var that = this;
  1369. let transList = this.data.form.transfers;
  1370. console.log(this.data.form);
  1371. for (let i = 0; i < transList.length; i++) {
  1372. const element = transList[i];
  1373. if(element.applyDate == '' || element.remark == '' || element.expenditureAmount == '' || element.payer == '' || element.payeeList[0].payee == '' || element.payeeList[0].incomeAmount == '' || element.payeeList[0].incomeAmount == undefined){
  1374. UTIL.showToastNoneIcon('事项'+UTIL.convertToChinaNum(i+1)+'的信息填写不完整,检查后重试!');
  1375. return;
  1376. }
  1377. }
  1378. transList.push({
  1379. num:UTIL.convertToChinaNum(transList.length+1),
  1380. expenditureAmountTirme:false,
  1381. remarkTirme:false,
  1382. showCapitalExpenditureType:false,
  1383. showApplyDate:false,
  1384. showTransferType:false,
  1385. showProject:false,
  1386. showProjectFundType:false,
  1387. showAccount:false,
  1388. showDialog:false,
  1389. showContraction:false,
  1390. SJimage:[],
  1391. FPimage:[],
  1392. QTimage:[],
  1393. cashForm:{
  1394. payee:'',
  1395. phone:'',
  1396. unit:'',
  1397. leader:'',
  1398. remark:'',
  1399. },
  1400. showTitle:true,
  1401. capitalExpenditureType:'1',//资金支出类别
  1402. capitalExpenditureTypeText:'结算类',//资金支出类别(展示用)
  1403. succeedAmount:'',//成功支付金额
  1404. payer:'',//付款方
  1405. payerAccount:'',//付款方账户
  1406. bankType:'',//所属银行
  1407. bankTypeText:'',//所属银行(展示用)
  1408. isPeers:'N',//是否同行
  1409. operatorCode:'',//操作员代码
  1410. enterpriseCode:'',//企业编码
  1411. expenditureAmount:'',//支出总金额
  1412. applyDate:that.data.applyDate,//申请时间
  1413. transferStatus:'',//转账状态
  1414. auditStatus:'0',//审批状态
  1415. paymentState:'',//支付状态
  1416. approvalMode:'1',//审批模式
  1417. paymentTime:'',//支付时间
  1418. bankPriority:'',//银行处理优先级
  1419. clientPriority:'',//客户处理优先级
  1420. paymentPattern:'1',
  1421. transferType:'1',//付款方式
  1422. transferTypeText:'垫付报销:电子支付',//付款方式(展示用)
  1423. requiredTransferTime:'',//要求转账时间
  1424. remark:'',//付款事由
  1425. startTime:'',//开票日期
  1426. endTime:'',//到期日期
  1427. orderType:'',//汇票类型
  1428. bankAccountType:'2',//账户类别1 公户2私户
  1429. villageAccountType:'',//账户分类
  1430. payeeList:[{//收款方账户集合
  1431. payeeId:'0',//收款方id
  1432. payee:'',//收款方
  1433. bankDeposit:'',//开户行
  1434. incomeAmount:'0.00',//收入金额
  1435. bankType:'',//所属银行0其他银行1中国银行2农商行(山东省)3农业银行4建设银行5工商银行
  1436. payeeAccount:'',//收款账户
  1437. }],
  1438. projectForm:{
  1439. projectId:'',
  1440. projectName:'',
  1441. projectContractor:'',
  1442. projectAmount:'',
  1443. projectBillNum:'',
  1444. projectFundType:'',
  1445. outId:'',
  1446. ynType:'1',
  1447. },
  1448. contractionForm:{
  1449. contractionId:'',
  1450. name:'',
  1451. code:'',
  1452. totalAmount:'',
  1453. },
  1454. });
  1455. //村账户查询参数
  1456. var perames = {
  1457. pageNum:1,
  1458. pageSize:999,
  1459. accountType:'102',
  1460. method:'post',
  1461.   params: {
  1462.          "townAccountType":"0"
  1463.     }
  1464. }
  1465. // 付款方列表
  1466. UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, {
  1467. success: (res) => {
  1468. that.setData({
  1469. accountOptions:res.rows,
  1470. ["form.transfers[0].applyDate"]: UTIL.formatDate(new Date()),
  1471. applyDate: UTIL.formatDate(new Date()),
  1472. })
  1473. }
  1474. })
  1475. this.setData({
  1476. ["form.transfers"] : transList,
  1477. activeNames:transList.length-1
  1478. })
  1479. for (let i = 0; i < this.data.form.transfers.length; i++) {
  1480. const element = this.data.form.transfers[i];
  1481. this.setData({
  1482. ["form.transfers["+i+"].showTitle"] : false,
  1483. })
  1484. }
  1485. this.setData({
  1486. ["form.transfers["+(transList.length-1)+"].showTitle"] : true,
  1487. })
  1488. console.log(this.data.form);
  1489. },
  1490. openPreview(e){
  1491. let array = [];
  1492. console.log(e);
  1493. e.currentTarget.dataset.option.forEach(item=>{
  1494. array.push(item.tempFilePath)
  1495. })
  1496. console.log(array);
  1497. wx.previewImage({
  1498. urls: array,
  1499. showmenu:true,
  1500. current:array[e.currentTarget.dataset.index]
  1501. })
  1502. },
  1503. goKeep(){
  1504. var that = this;
  1505. let pages = getCurrentPages();
  1506. let currentPage = null; //当前页面
  1507. let prevPage = null; //上一个页面
  1508. currentPage = pages[pages.length - 1]; //获取当前页面,将其赋值
  1509. prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值
  1510. console.log(that.data.form);
  1511. if (prevPage) {
  1512. prevPage.setData({
  1513. form : that.data.form,//将想要传的信息赋值给上一个页面data中的值
  1514. })
  1515. that.back()
  1516. }
  1517. },
  1518. deleteTransfers(e){
  1519. var that = this ;
  1520. console.log(e.currentTarget.dataset.index);
  1521. // that.data.form.transfers[e.currentTarget.dataset.index].collapseDis = true;
  1522. that.setData({
  1523. ["form.transfers["+e.currentTarget.dataset.index+"].collapseDis"]:true
  1524. })
  1525. if(that.data.form.transfers.length<2){
  1526. UTIL.showToastNoneIcon('最少保留一条事项');
  1527. return;
  1528. }
  1529. that.data.form.transfers[e.currentTarget.dataset.index].expenditureAmount = that.data.form.transfers[e.currentTarget.dataset.index].expenditureAmount == '' ? '0' : that.data.form.transfers[e.currentTarget.dataset.index].expenditureAmount;
  1530. that.data.form.approvalItemTemplate.totalAmount = parseFloat(parseFloat(that.data.form.approvalItemTemplate.totalAmount)- parseFloat(that.data.form.transfers[e.currentTarget.dataset.index].expenditureAmount)).toFixed(2);
  1531. that.data.form.transfers.splice(e.currentTarget.dataset.index,1);
  1532. for (let i = 0; i < that.data.form.transfers.length; i++) {
  1533. that.data.form.transfers[i].num = UTIL.convertToChinaNum(i+1)
  1534. }
  1535. console.log(that.data.form);
  1536. that.setData({
  1537. form:that.data.form,
  1538. })
  1539. },
  1540. disabledNone(e){
  1541. console.log("b");
  1542. var that = this ;
  1543. that.setData({
  1544. ["form.transfers["+e.currentTarget.dataset.index+"].collapseDis"]:true
  1545. })
  1546. },
  1547. disabledBlock(e){
  1548. console.log("a");
  1549. var that = this ;
  1550. that.setData({
  1551. ["form.transfers["+e.currentTarget.dataset.index+"].collapseDis"]:false
  1552. })
  1553. },
  1554. onOpen(e){
  1555. var that = this ;
  1556. console.log(that.data.activeNames);
  1557. console.log(e);
  1558. for (let i = 0; i < this.data.form.transfers.length; i++) {
  1559. const element = this.data.form.transfers[i];
  1560. this.setData({
  1561. ["form.transfers["+i+"].showTitle"] : false,
  1562. })
  1563. }
  1564. that.setData({
  1565. ["form.transfers["+e.detail+"].showTitle"]:true
  1566. })
  1567. },
  1568. onCloseSecond(e){
  1569. var that = this ;
  1570. console.log(e);
  1571. that.setData({
  1572. ["form.transfers["+e.detail+"].showTitle"]:false
  1573. })
  1574. },
  1575. deleteimg(e){
  1576. let options = e.currentTarget.dataset.options;
  1577. console.log(options);
  1578. let file = this.data.form.transfers[e.currentTarget.dataset.parentsindex].fileForm;
  1579. for (let i = 0; i < file.length; i++) {
  1580. const element = file[i];
  1581. if(element.file == options[e.currentTarget.dataset.index].tempFilePath){
  1582. file.splice(i,1);
  1583. }
  1584. }
  1585. options.splice(e.currentTarget.dataset.index,1);
  1586. let length = this.data.form.transfers[e.currentTarget.dataset.parentsindex].fileNum - 1;
  1587. this.setData({
  1588. [e.currentTarget.dataset.name]:options,
  1589. ["form.transfers["+e.currentTarget.dataset.parentsindex+"].fileNum"]:length,
  1590. ["form.transfers["+e.currentTarget.dataset.parentsindex+"].fileForm"]:file,
  1591. })
  1592. UTIL.httpRequest(API.URL_GET_GETFILEREMOVE+e.currentTarget.dataset.id , {method:'GET'}, {
  1593. success: (res) => {
  1594. wx.showToast({
  1595. title: '删除成功!',
  1596. icon: 'success',
  1597. duration: 2000,
  1598. })
  1599. }
  1600. })
  1601. },
  1602. /**
  1603. * 生命周期函数--监听页面隐藏
  1604. */
  1605. onHide() {
  1606. },
  1607. /**
  1608. * 生命周期函数--监听页面卸载
  1609. */
  1610. onUnload() {
  1611. },
  1612. /**
  1613. * 页面相关事件处理函数--监听用户下拉动作
  1614. */
  1615. onPullDownRefresh() {
  1616. },
  1617. /**
  1618. * 页面上拉触底事件的处理函数
  1619. */
  1620. onReachBottom() {
  1621. },
  1622. /**
  1623. * 用户点击右上角分享
  1624. */
  1625. onShareAppMessage() {
  1626. }
  1627. })