微信小程序
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1149 行
39 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. showCapitalExpenditureType:false,
  21. showApplyDate:false,
  22. showTransferType:false,
  23. showProject:false,
  24. showProjectFundType:false,
  25. showAccount:false,
  26. showDialog:false,
  27. capitalExpenditureTypeOptions:[],
  28. transferTypeOptions:[],
  29. projectOptions:[],
  30. projectFundTypeOptions:[],
  31. contractionOptions:[],
  32. accountOptions:[],
  33. moneyorderOptions:[],
  34. form:{
  35. approvalItemTemplate:{
  36. approvalItems:'',//审批事项
  37. submitCompany:'',//提交单位
  38. submitDate:'',//提交日期
  39. submitter:'',//提交人
  40. telephone:'',//联系方式
  41. totalAmount:0,//合计金额
  42. templateName:'',//模板名称 选择保存模板的时候添加
  43. dataType:'',//数据类型
  44. },
  45. transfers:[{//事项信息集合以下是List对象信息
  46. num:"一",
  47. SJimage:[],
  48. FPimage:[],
  49. QTimage:[],
  50. capitalExpenditureType:'1',//资金支出类别
  51. capitalExpenditureTypeText:'结算类',//资金支出类别(展示用)
  52. succeedAmount:'',//成功支付金额
  53. payer:'',//付款方
  54. payerAccount:'',//付款方账户
  55. bankType:'',//所属银行
  56. bankTypeText:'',//所属银行(展示用)
  57. isPeers:'N',//是否同行
  58. operatorCode:'',//操作员代码
  59. enterpriseCode:'',//企业编码
  60. expenditureAmount:'',//支出总金额
  61. applyDate:'',//申请时间
  62. transferStatus:'',//转账状态
  63. auditStatus:'0',//审批状态
  64. paymentState:'',//支付状态
  65. approvalMode:'1',//审批模式
  66. paymentTime:'',//支付时间
  67. bankPriority:'',//银行处理优先级
  68. clientPriority:'',//客户处理优先级
  69. transferType:'1',//付款方式
  70. transferTypeText:'村账户转账',//付款方式(展示用)
  71. requiredTransferTime:'',//要求转账时间
  72. remark:'',//付款事由
  73. startTime:'',//开票日期
  74. endTime:'',//到期日期
  75. orderType:'',//汇票类型
  76. bankAccountType:'',//账户类别1 公户2私户
  77. villageAccountType:'',//账户分类
  78. payeeList:[{//收款方账户集合
  79. payeeId:'0',//收款方id
  80. payee:'',//收款方
  81. bankDeposit:'',//开户行
  82. incomeAmount:'',//收入金额
  83. bankType:'',//所属银行0其他银行1中国银行2农商行(山东省)3农业银行4建设银行5工商银行
  84. payeeAccount:'',//收款账户
  85. }],
  86. projectForm:{
  87. projectId:'',
  88. projectName:'',
  89. projectContractor:'',
  90. projectAmount:'',
  91. projectBillNum:'',
  92. projectFundType:'',
  93. outId:'',
  94. ynType:'1',
  95. },
  96. }],
  97. },
  98. contractionForm:{
  99. id:'',
  100. name:'',
  101. code:'',
  102. totalAmount:'',
  103. },
  104. accountForm:{},
  105. fileForm:[],
  106. isUpdate:false,
  107. SJimage: [],
  108. FPimage: [],
  109. QTimage: [],
  110. imgcount:0
  111. },
  112. /**
  113. * 生命周期函数--监听页面加载
  114. */
  115. onLoad(options) {
  116. var that = this;
  117. console.log(options);
  118. if(options.id){
  119. setTimeout(function(){
  120. UTIL.httpRequest(API.URL_GET_APPROVALITEMS+options.id, {method:'GET'}, {
  121. success: (res) => {
  122. if (res.code == API.SUCCESS_CODE) {
  123. console.log(that.data.capitalExpenditureTypeOptions);
  124. if(res.data.approvalItemTemplate == null){return;}
  125. res.data.transfers.forEach( (item,index) => {
  126. res.data.transfers[index].capitalExpenditureTypeText = UTIL.getTransform(item.capitalExpenditureType,that.data.capitalExpenditureTypeOptions);
  127. res.data.transfers[index].transferTypeText = UTIL.getTransform(item.transferType,that.data.transferTypeOptions);
  128. res.data.transfers[index].bankTypeText = UTIL.getTransform(item.bankType,that.data.bankTypeOptions);
  129. res.data.transfers[index].payeeList.forEach( (response,i) => {
  130. res.data.transfers[index].payeeList[i].bankTypeText = UTIL.getTransform(response.bankType,that.data.bankTypeOptions);
  131. })
  132. let prames = {
  133. outId:res.data.transfers[index].id,
  134. ynType: res.data.transfers[index].transferType=='1'||res.data.transfers[index].transferType=='2'||res.data.transfers[index].transferType=='4'?'1':'2'
  135. }
  136. // 工程项目查询
  137. UTIL.httpRequest(API.URL_GET_GETPROJECTTO , prames, {
  138. success: (res) => {
  139. res.data.projectFundTypeText = UTIL.getTransform(res.data.projectFundType,that.data.projectFundTypeOptions);
  140. that.setData({
  141. ["form.transfers["+index+"].projectForm"]:res.data,
  142. })
  143. }
  144. })
  145. UTIL.httpRequest(
  146. API.URL_GET_FINDLIST,
  147. {
  148. method:'GET',
  149. tableName:'t_yinnong_transfer',
  150. tableId:item.id,
  151. fileType:1
  152. },
  153. {
  154. success: (res) => {
  155. let list = [];
  156. res.data.forEach((item2,index2)=>{
  157. wx.downloadFile({
  158. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  159. success (response) {
  160. if (response.statusCode === 200) {
  161. let fileForm = item.fileForm?item.fileForm:[];
  162. fileForm.push({
  163. file: response.tempFilePath,
  164. fileType:'1',
  165. bizPath:'transfer',
  166. tableName:'t_yinnong_transfer',
  167. tableId:''
  168. })
  169. console.log("--------------fileForm2 start----------------");
  170. console.log(fileForm);
  171. console.log("--------------fileForm2 end----------------");
  172. list.push({
  173. tempFilePath:response.tempFilePath
  174. })
  175. that.setData({
  176. ["form.transfers["+index+"].SJimage"]:list,
  177. ["form.transfers["+index+"].fileForm"]:fileForm
  178. });
  179. }
  180. }
  181. })
  182. })
  183. }
  184. })
  185. //发票
  186. UTIL.httpRequest(
  187. API.URL_GET_FINDLIST,
  188. {
  189. method:'GET',
  190. tableName:'t_yinnong_transfer',
  191. tableId:item.id,
  192. fileType:2
  193. },
  194. {
  195. success: (res) => {
  196. let list = [];
  197. res.data.forEach((item2,index2)=>{
  198. wx.downloadFile({
  199. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  200. success (response) {
  201. if (response.statusCode === 200) {
  202. let fileForm = item.fileForm?item.fileForm:[];
  203. fileForm.push({
  204. file: response.tempFilePath,
  205. fileType:'2',
  206. bizPath:'transfer',
  207. tableName:'t_yinnong_transfer',
  208. tableId:item.id
  209. })
  210. list.push({
  211. tempFilePath:response.tempFilePath
  212. })
  213. that.setData({
  214. ["form.transfers["+index+"].FPimage"]:list,
  215. ["form.transfers["+index+"].fileForm"]:fileForm
  216. });
  217. }
  218. }
  219. })
  220. })
  221. }
  222. })
  223. //其他
  224. UTIL.httpRequest(
  225. API.URL_GET_FINDLIST,
  226. {
  227. method:'GET',
  228. tableName:'t_yinnong_transfer',
  229. tableId:item.id,
  230. fileType:3
  231. },
  232. {
  233. success: (res) => {
  234. let list = [];
  235. let fileForm = item.fileForm?item.fileForm:[];
  236. res.data.forEach((item2,index2)=>{
  237. wx.downloadFile({
  238. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  239. success (response) {
  240. if (response.statusCode === 200) {
  241. let fileForm = item.fileForm?item.fileForm:[];
  242. fileForm.push({
  243. file: response.tempFilePath,
  244. fileType:'3',
  245. bizPath:'transfer',
  246. tableName:'t_yinnong_transfer',
  247. tableId:item.id
  248. })
  249. list.push({
  250. tempFilePath:response.tempFilePath
  251. })
  252. that.setData({
  253. ["form.transfers["+index+"].QTimage"]:list,
  254. ["form.transfers["+index+"].fileForm"]:fileForm
  255. });
  256. }
  257. }
  258. })
  259. })
  260. }
  261. })
  262. })
  263. that.setData({
  264. form:res.data
  265. })
  266. }
  267. }
  268. })
  269. },1000)
  270. }else if(options.type == 'update'&!options.id){
  271. console.log(options);
  272. setTimeout(function(){
  273. let array = JSON.parse(options.array);
  274. array.transfers.forEach( (item,index) => {
  275. item.capitalExpenditureTypeText = UTIL.getTransform(item.capitalExpenditureType,that.data.capitalExpenditureTypeOptions);
  276. item.transferTypeText = UTIL.getTransform(item.transferType,that.data.transferTypeOptions);
  277. item.bankTypeText = UTIL.getTransform(item.bankType,that.data.bankTypeOptions);
  278. item.payeeList.forEach( (response,i) => {
  279. item.payeeList[i].bankTypeText = UTIL.getTransform(response.bankType,that.data.bankTypeOptions);
  280. })
  281. if(item.capitalExpenditureType == 2){
  282. let prames = {
  283. outId:item.id,
  284. ynType: item.transferType=='1'||item.transferType=='2'||item.transferType=='4'?'1':'2'
  285. }
  286. // 工程项目查询
  287. UTIL.httpRequest(API.URL_GET_GETPROJECTTO , prames, {
  288. success: (res) => {
  289. res.data.projectFundTypeText = UTIL.getTransform(res.data.projectFundType,that.data.projectFundTypeOptions);
  290. array.transfers[index].projectForm = res.data;
  291. }
  292. })
  293. }
  294. //收据附件
  295. UTIL.httpRequest(
  296. API.URL_GET_FINDLIST,
  297. {
  298. method:'GET',
  299. tableName:'t_yinnong_transfer',
  300. tableId:item.id,
  301. fileType:1
  302. },
  303. {
  304. success: (res) => {
  305. let list = [];
  306. res.data.forEach((item2,index2)=>{
  307. wx.downloadFile({
  308. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  309. success (response) {
  310. if (response.statusCode === 200) {
  311. let fileForm = item.fileForm?item.fileForm:[];
  312. fileForm.push({
  313. file: response.tempFilePath,
  314. fileType:'1',
  315. bizPath:'transfer',
  316. tableName:'t_yinnong_transfer',
  317. tableId:''
  318. })
  319. console.log("--------------fileForm2 start----------------");
  320. console.log(fileForm);
  321. console.log("--------------fileForm2 end----------------");
  322. list.push({
  323. tempFilePath:response.tempFilePath
  324. })
  325. that.setData({
  326. ["form.transfers["+index+"].SJimage"]:list,
  327. ["form.transfers["+index+"].fileForm"]:fileForm
  328. });
  329. }
  330. }
  331. })
  332. })
  333. }
  334. })
  335. //发票
  336. UTIL.httpRequest(
  337. API.URL_GET_FINDLIST,
  338. {
  339. method:'GET',
  340. tableName:'t_yinnong_transfer',
  341. tableId:item.id,
  342. fileType:2
  343. },
  344. {
  345. success: (res) => {
  346. let list = [];
  347. res.data.forEach((item2,index2)=>{
  348. wx.downloadFile({
  349. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  350. success (response) {
  351. if (response.statusCode === 200) {
  352. let fileForm = item.fileForm?item.fileForm:[];
  353. fileForm.push({
  354. file: response.tempFilePath,
  355. fileType:'2',
  356. bizPath:'transfer',
  357. tableName:'t_yinnong_transfer',
  358. tableId:item.id
  359. })
  360. list.push({
  361. tempFilePath:response.tempFilePath
  362. })
  363. that.setData({
  364. ["form.transfers["+index+"].FPimage"]:list,
  365. ["form.transfers["+index+"].fileForm"]:fileForm
  366. });
  367. }
  368. }
  369. })
  370. })
  371. }
  372. })
  373. //其他
  374. UTIL.httpRequest(
  375. API.URL_GET_FINDLIST,
  376. {
  377. method:'GET',
  378. tableName:'t_yinnong_transfer',
  379. tableId:item.id,
  380. fileType:3
  381. },
  382. {
  383. success: (res) => {
  384. let list = [];
  385. let fileForm = item.fileForm?item.fileForm:[];
  386. res.data.forEach((item2,index2)=>{
  387. wx.downloadFile({
  388. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  389. success (response) {
  390. if (response.statusCode === 200) {
  391. let fileForm = item.fileForm?item.fileForm:[];
  392. fileForm.push({
  393. file: response.tempFilePath,
  394. fileType:'3',
  395. bizPath:'transfer',
  396. tableName:'t_yinnong_transfer',
  397. tableId:item.id
  398. })
  399. list.push({
  400. tempFilePath:response.tempFilePath
  401. })
  402. that.setData({
  403. ["form.transfers["+index+"].QTimage"]:list,
  404. ["form.transfers["+index+"].fileForm"]:fileForm
  405. });
  406. }
  407. }
  408. })
  409. })
  410. }
  411. })
  412. })
  413. that.setData({
  414. form : array,
  415. isUpdate : true
  416. })
  417. if(options.add == "add"){
  418. that.addList();
  419. }
  420. },1000)
  421. }else{
  422. //村账户查询参数
  423. var perames = {
  424. pageNum:1,
  425. pageSize:999,
  426. accountType:'102',
  427. method:'post',
  428.   params: {
  429.          "townAccountType":"0"
  430.     }
  431. }
  432. // 付款方列表
  433. UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, {
  434. success: (res) => {
  435. that.setData({
  436. accountOptions:res.rows,
  437. })
  438. }
  439. })
  440. }
  441. },
  442. /**
  443. * 生命周期函数--监听页面初次渲染完成
  444. */
  445. onReady() {
  446. },
  447. /**
  448. * 生命周期函数--监听页面显示
  449. */
  450. onShow() {
  451. var that = this;
  452. UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, {
  453. success: (res) => {
  454. if (res.code == API.SUCCESS_CODE) {
  455. that.setData({
  456. ["form.approvalItemTemplate.submitCompany"]:res.user.bookName,
  457. ["form.approvalItemTemplate.submitDate"]:UTIL.js_date_time(new Date()),
  458. ["form.approvalItemTemplate.submitter"]:res.user.nickName,
  459. ["form.approvalItemTemplate.telephone"]:res.user.phonenumber,
  460. })
  461. }
  462. }
  463. })
  464. //所属银行
  465. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, {
  466. success: (res) => {
  467. this.setData({
  468. bankTypeOptions:res.data
  469. });
  470. }
  471. })
  472. // 资金支出类别字典查询
  473. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, {
  474. success: (res) => {
  475. that.setData({
  476. capitalExpenditureTypeOptions:res.data,
  477. })
  478. }
  479. })
  480. // 付款方式类型字典查询
  481. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'transfer_type', {method:'GET'}, {
  482. success: (res) => {
  483. that.setData({
  484. transferTypeOptions:res.data,
  485. })
  486. }
  487. })
  488. // 项目工程列表
  489. UTIL.httpRequest(API.URL_GET_GETPROJECTLIST , {method:'GET'}, {
  490. success: (res) => {
  491. that.setData({
  492. projectOptions:res.rows,
  493. })
  494. }
  495. })
  496. // 工程款类型字典查询
  497. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'project_fund_type', {method:'GET'}, {
  498. success: (res) => {
  499. that.setData({
  500. projectFundTypeOptions:res.data,
  501. })
  502. }
  503. })
  504. // 获取合同信息列表
  505. UTIL.httpRequest(API.URL_GET_CONTRACTIONLIST , {method:'GET'}, {
  506. success: (res) => {
  507. that.setData({
  508. contractionOptions:res.rows,
  509. })
  510. }
  511. })
  512. },
  513. openBox(even){
  514. this.setData({
  515. [even.currentTarget.dataset.name]:true
  516. })
  517. },
  518. closeBox(even){
  519. console.log(even.currentTarget.dataset.name);
  520. this.setData({
  521. [even.currentTarget.dataset.name]:false
  522. })
  523. },
  524. onConfirm(event) {
  525. this.setData({
  526. [event.currentTarget.dataset.name]: false,
  527. [event.currentTarget.dataset.value]: UTIL.formatDate(event.detail),
  528. });
  529. },
  530. onConfirmPick(event) {
  531. console.log(event);
  532. this.setData({
  533. [event.currentTarget.dataset.name]: false,
  534. [event.currentTarget.dataset.value]: event.detail.value.dictValue,
  535. [event.currentTarget.dataset.value+'Text']: event.detail.value.dictLabel,
  536. });
  537. },
  538. onConfirmAccount(event) {
  539. console.log(event);
  540. var that = this;
  541. // 所属银行字典查询
  542. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, {
  543. success: (res) => {
  544. let array = res.data.filter(function (e) { return e.dictValue == event.detail.value.bankType; });
  545. this.setData({
  546. [event.currentTarget.dataset.name]: false,
  547. [event.currentTarget.dataset.value+'.payer']: event.detail.value.accountName,
  548. [event.currentTarget.dataset.value+'.cashierId']: event.detail.value.id,
  549. [event.currentTarget.dataset.value+'.payerAccount']: event.detail.value.bankAccountNumber,
  550. [event.currentTarget.dataset.value+'.bankTypeText']: array[0].dictLabel,
  551. [event.currentTarget.dataset.value+'.bankType']: event.detail.value.bankType,
  552. balance:event.detail.value.balance,
  553. });
  554. }
  555. })
  556. },
  557. onConfirmaTransfer(event) {
  558. console.log(event);
  559. var that = this;
  560. let perames = {};
  561. this.setData({
  562. [event.currentTarget.dataset.value+'.payer']: '',
  563. [event.currentTarget.dataset.value+'.payerAccount']: '',
  564. [event.currentTarget.dataset.value+'.bankTypeText']: '',
  565. [event.currentTarget.dataset.value+'.bankType']: '',
  566. [event.currentTarget.dataset.value+'.bankAccountType']: '',
  567. [event.currentTarget.dataset.value+'.isPeers']: '',
  568. balance:0,
  569. });
  570. if(event.detail.value.dictValue == 1){//村账户查询参数
  571. perames = {
  572. pageNum:1,
  573. pageSize:999,
  574. accountType:'102',
  575. method:'post',
  576.   params: {
  577.          "townAccountType":"0"
  578.     }
  579. }
  580. // 付款方列表
  581. UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, {
  582. success: (res) => {
  583. that.setData({
  584. accountOptions:res.rows,
  585. })
  586. }
  587. })
  588. }
  589. if(event.detail.value.dictValue == 2 || event.detail.value.dictValue == 10){//公务卡和现金提现查询参数
  590. perames = {
  591. pageNum:1,
  592. pageSize:999,
  593. accountType:'102',
  594. method:'GET',
  595. villageAccountType:''
  596. }
  597. // 付款方列表
  598. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  599. success: (res) => {
  600. that.setData({
  601. accountOptions:res.rows,
  602. })
  603. }
  604. })
  605. }
  606. if(event.detail.value.dictValue == 11){//现金使用查询参数
  607. perames = {
  608. pageNum:1,
  609. pageSize:999,
  610. accountType:'101',
  611. method:'GET'
  612. }
  613. // 付款方列表
  614. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  615. success: (res) => {
  616. that.setData({
  617. accountOptions:res.rows
  618. })
  619. }
  620. })
  621. }
  622. if(event.detail.value.dictValue == 4){//代管账户查询参数
  623. perames = {
  624. pageNum:1,
  625. pageSize:999,
  626. accountType:'102',
  627. method:'GET',
  628. villageAccountType:'1'
  629. }
  630. // 付款方列表
  631. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  632. success: (res) => {
  633. that.setData({
  634. accountOptions:res.rows,
  635. })
  636. }
  637. })
  638. }
  639. if(event.detail.value.dictValue == 12){//汇票支出查询参数
  640. perames = {
  641. pageNum:1,
  642. pageSize:999,
  643. }
  644. // 付款方列表
  645. UTIL.httpRequest(API.URL_GET_MONEYORDERLIST , perames, {
  646. success: (res) => {
  647. that.setData({
  648. moneyorderOptions:res.rows,
  649. })
  650. }
  651. })
  652. }
  653. this.setData({
  654. [event.currentTarget.dataset.name]: false,
  655. [event.currentTarget.dataset.value+'.transferType']: event.detail.value.dictValue,
  656. [event.currentTarget.dataset.value+'.transferTypeText']: event.detail.value.dictLabel,
  657. });
  658. },
  659. onConfirmProject(event) {
  660. console.log(event);
  661. this.setData({
  662. [event.currentTarget.dataset.name]: false,
  663. [event.currentTarget.dataset.value+'.projectName']: event.detail.value.projectName,
  664. [event.currentTarget.dataset.value+'.projectId']: event.detail.value.id,
  665. [event.currentTarget.dataset.value+'.projectContractor']: event.detail.value.projectContractor,
  666. [event.currentTarget.dataset.value+'.projectAmount']: event.detail.value.projectAmount,
  667. });
  668. },
  669. onConfirmContraction(event) {
  670. console.log(event);
  671. this.setData({
  672. [event.currentTarget.dataset.name]: false,
  673. [event.currentTarget.dataset.value]: event.detail.value.name,
  674. ['contractionForm.code']: event.detail.value.code,
  675. ['contractionForm.totalAmount']: event.detail.value.totalAmount,
  676. ['contractionForm.id']: event.detail.value.id,
  677. });
  678. },
  679. onConfirmMoneyorder(event) {
  680. console.log(event);
  681. this.setData({
  682. [event.currentTarget.dataset.name]: false,
  683. [event.currentTarget.dataset.value]: event.detail.value.name,
  684. ['contractionForm.code']: event.detail.value.code,
  685. ['contractionForm.totalAmount']: event.detail.value.totalAmount,
  686. ['contractionForm.id']: event.detail.value.id,
  687. });
  688. },
  689. goPayeeList(event){
  690. console.log(event);
  691. if(event.currentTarget.dataset.payer == null || event.currentTarget.dataset.payer == ''){
  692. UTIL.showToastNoneIcon('请先选择付款方!');
  693. return;
  694. }
  695. if(event.currentTarget.dataset.accounttype == null ){
  696. event.currentTarget.dataset.accounttype = ''
  697. }
  698. wx.navigateTo({
  699. url: '/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,
  700. })
  701. },
  702. onChange(event){
  703. console.log(event);
  704. this.setData({
  705. [event.currentTarget.dataset.value]: event.detail,
  706. })
  707. },
  708. onChangeMoney(event){
  709. console.log(event);
  710. var that = this;
  711. this.setData({
  712. ["form.transfers["+event.currentTarget.dataset.index+"].payeeList["+event.currentTarget.dataset.childrenindex+"].incomeAmount"]: event.detail,
  713. // ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail,
  714. })
  715. var moneyCount = 0 ;
  716. for (let i = 0; i < that.data.form.transfers.length; i++) {
  717. const element = that.data.form.transfers[i];
  718. for (let j = 0; j < element.payeeList.length; j++) {
  719. const element2 = element.payeeList[j];
  720. var allCount = 0 ;
  721. moneyCount = parseFloat(moneyCount)+parseFloat(element2.incomeAmount);
  722. allCount = parseFloat(allCount)+parseFloat(element2.incomeAmount);
  723. this.setData({
  724. ["form.transfers["+i+"].expenditureAmount"]:allCount,
  725. })
  726. }
  727. }
  728. this.setData({
  729. ["form.approvalItemTemplate.totalAmount"]:moneyCount.toFixed(2),
  730. })
  731. console.log(moneyCount.toFixed(2));
  732. console.log(allCount.toFixed(2));
  733. },
  734. back:function(){
  735. wx.navigateBack({
  736. delta: 1
  737. })
  738. },
  739. goSubmitMB(){
  740. this.setData({
  741. showDialog:true
  742. })
  743. },
  744. onClose(){
  745. this.setData({
  746. showDialog:false
  747. })
  748. },
  749. bindNameInput(even){
  750. this.setData({
  751. ["form.approvalItemTemplate.templateName"]:even.detail.value
  752. })
  753. },
  754. goSubmit(e){
  755. var that = this;
  756. console.log(that.data.form);
  757. var list = that.data.form,
  758. approvalItems = list.approvalItemTemplate.approvalItems;
  759. if(approvalItems == ''){
  760. UTIL.showToastNoneIcon('请填写审批事项名称!');
  761. return;
  762. }
  763. for (let i = 0; i < list.transfers.length; i++) {
  764. const element = list.transfers[i];
  765. if(element.applyDate == ''){
  766. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的申请时间!');
  767. return;
  768. }
  769. if(element.remark == ''){
  770. UTIL.showToastNoneIcon('请填写事项'+UTIL.convertToChinaNum(i+1)+'的支出原因!');
  771. return;
  772. }
  773. if(element.payer == ''){
  774. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的付款方!');
  775. return;
  776. }
  777. if(element.payeeList[0].payee == ''){
  778. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的收款方!');
  779. return;
  780. }
  781. if(element.payeeList[0].incomeAmount == '' || element.payeeList[0].incomeAmount == undefined){
  782. UTIL.showToastNoneIcon('请填写事项'+UTIL.convertToChinaNum(i+1)+'收款方的收入金额!');
  783. return;
  784. }
  785. }
  786. if(e.currentTarget.dataset.type == 1){
  787. if(that.data.form.approvalItemTemplate.templateName == ''){
  788. UTIL.showToastNoneIcon('请输入模板名称!');
  789. return;
  790. }
  791. }
  792. if(e.currentTarget.dataset.type == 3){
  793. for (let i = 0; i < that.data.form.transfers.length; i++) {
  794. that.data.form.transfers[i].approvalMode = '2';
  795. }
  796. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type
  797. }
  798. that.data.form.method = 'POST';
  799. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type;
  800. UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, {
  801. success: (res) => {
  802. if (res.code == API.SUCCESS_CODE) {
  803. for (let j = 0; j < res.data.transfers.length; j++) {
  804. 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';
  805. that.data.form.transfers[j].projectForm.outId = res.data.transfers[j].id;
  806. that.data.form.transfers[j].projectForm.method = 'POST';
  807. // 工程项目提交
  808. UTIL.httpRequest(API.URL_GET_ADDPROJECTTO , that.data.form.transfers[j].projectForm, {
  809. success: (res) => {
  810. }
  811. })
  812. if(that.data.form.transfers[j].fileForm == undefined){continue;}
  813. for (let i = 0; i < that.data.form.transfers[j].fileForm.length; i++) {
  814. that.data.form.transfers[j].fileForm[i].tableId = res.data.transfers[j].id
  815. const element = that.data.form.transfers[j].fileForm[i];
  816. wx.uploadFile({
  817. url: API.URL_GET_UPLOAD,
  818. filePath: element.file,
  819. name: 'file',
  820. header: {
  821. "Content-Type": "multipart/form-data",//记得设置
  822. "chartset":"utf-8",
  823. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  824. },
  825. formData:element,
  826. success (response){
  827. console.log(res);
  828. },
  829. fail(res){
  830. console.log(res)
  831. }
  832. })
  833. }
  834. }
  835. if(e.currentTarget.dataset.type == 0){
  836. wx.navigateTo({
  837. url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId,
  838. })
  839. }
  840. // if(e.currentTarget.dataset.type != 0){
  841. // wx.showToast({
  842. // title: '保存成功',
  843. // icon: 'success',
  844. // duration: 2000,
  845. // complete(){
  846. // setTimeout(function(){
  847. // that.back();
  848. // },2000)
  849. // }
  850. // })
  851. // }
  852. if(e.currentTarget.dataset.type == 3){
  853. UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, {
  854. success: (res2) => {
  855. if (res2.code == API.SUCCESS_CODE) {
  856. wx.showToast({
  857. title: '操作成功',
  858. icon: 'success',
  859. duration: 2000,
  860. complete(){
  861. setTimeout(function(){
  862. that.back();
  863. },2000)
  864. }
  865. })
  866. }else{
  867. wx.showToast({
  868. title: '操作失败',
  869. icon: 'success',
  870. duration: 2000
  871. })
  872. }
  873. }
  874. })
  875. }
  876. }
  877. }
  878. })
  879. },
  880. bindKeyInput(even){
  881. this.setData({
  882. ["form.approvalItemTemplate.approvalItems"]: even.detail.value,
  883. })
  884. },
  885. SJtakephoto(e){
  886. var that = this;
  887. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  888. wx.chooseMedia({
  889. count: 9,
  890. mediaType: ['image','video'],
  891. sourceType: ['album', 'camera'],
  892. maxDuration: 30,
  893. camera: 'back',
  894. success(res) {
  895. console.log(res);
  896. res.tempFiles.forEach(item => {
  897. fileForm.push({
  898. file: item.tempFilePath,
  899. fileType:'1',
  900. bizPath:'transfer',
  901. tableName:'t_yinnong_transfer',
  902. tableId:''
  903. })
  904. })
  905. console.log(fileForm);
  906. that.setData({
  907. ["form.transfers["+e.currentTarget.dataset.index+"].SJimage"]:res.tempFiles,
  908. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm,
  909. })
  910. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  911. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  912. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  913. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  914. that.setData({
  915. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  916. })
  917. }
  918. })
  919. },
  920. FPtakephoto(e){
  921. var that = this;
  922. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  923. wx.chooseMedia({
  924. count: 9,
  925. mediaType: ['image','video'],
  926. sourceType: ['album', 'camera'],
  927. maxDuration: 30,
  928. camera: 'back',
  929. success(res) {
  930. console.log(res);
  931. res.tempFiles.forEach(item => {
  932. fileForm.push({
  933. file: item.tempFilePath,
  934. fileType:'2',
  935. bizPath:'transfer',
  936. tableName:'t_yinnong_transfer',
  937. tableId:''
  938. })
  939. })
  940. console.log(fileForm);
  941. that.setData({
  942. ["form.transfers["+e.currentTarget.dataset.index+"].FPimage"]:res.tempFiles,
  943. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm
  944. })
  945. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  946. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  947. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  948. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  949. that.setData({
  950. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  951. })
  952. }
  953. })
  954. },
  955. QTtakephoto(e){
  956. var that = this;
  957. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  958. wx.chooseMedia({
  959. count: 9,
  960. mediaType: ['image','video'],
  961. sourceType: ['album', 'camera'],
  962. maxDuration: 30,
  963. camera: 'back',
  964. success(res) {
  965. console.log(res);
  966. res.tempFiles.forEach(item => {
  967. fileForm.push({
  968. file: item.tempFilePath,
  969. fileType:'3',
  970. bizPath:'transfer',
  971. tableName:'t_yinnong_transfer',
  972. tableId:''
  973. })
  974. })
  975. console.log(fileForm);
  976. that.setData({
  977. ["form.transfers["+e.currentTarget.dataset.index+"].QTimage"]:res.tempFiles,
  978. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm
  979. })
  980. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  981. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  982. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  983. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  984. that.setData({
  985. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  986. })
  987. }
  988. })
  989. },
  990. addList(){
  991. let transList = this.data.form.transfers;
  992. transList.push({
  993. num:UTIL.convertToChinaNum(transList.length+1),
  994. SJimage:[],
  995. FPimage:[],
  996. QTimage:[],
  997. capitalExpenditureType:'',//资金支出类别
  998. capitalExpenditureTypeText:'',//资金支出类别(展示用)
  999. succeedAmount:'',//成功支付金额
  1000. payer:'',//付款方
  1001. payerAccount:'',//付款方账户
  1002. bankType:'',//所属银行
  1003. bankTypeText:'',//所属银行(展示用)
  1004. isPeers:'',//是否同行
  1005. operatorCode:'',//操作员代码
  1006. enterpriseCode:'',//企业编码
  1007. expenditureAmount:'',//支出总金额
  1008. applyDate:'',//申请时间
  1009. transferStatus:'',//转账状态
  1010. auditStatus:'0',//审批状态
  1011. paymentState:'',//支付状态
  1012. approvalMode:'1',//审批模式
  1013. paymentTime:'',//支付时间
  1014. bankPriority:'',//银行处理优先级
  1015. clientPriority:'',//客户处理优先级
  1016. transferType:'',//付款方式
  1017. transferTypeText:'',//付款方式(展示用)
  1018. requiredTransferTime:'',//要求转账时间
  1019. remark:'',//付款事由
  1020. startTime:'',//开票日期
  1021. endTime:'',//到期日期
  1022. orderType:'',//汇票类型
  1023. bankAccountType:'',//账户类别1 公户2私户
  1024. villageAccountType:'',//账户分类
  1025. payeeList:[{//收款方账户集合
  1026. payeeId:'0',//收款方id
  1027. payee:'',//收款方
  1028. bankDeposit:'',//开户行
  1029. incomeAmount:'',//收入金额
  1030. bankType:'',//所属银行0其他银行1中国银行2农商行(山东省)3农业银行4建设银行5工商银行
  1031. payeeAccount:'',//收款账户
  1032. }],
  1033. });
  1034. this.setData({
  1035. ["form.transfers"] : transList
  1036. })
  1037. },
  1038. openPreview(e){
  1039. let array = [];
  1040. console.log(e);
  1041. e.currentTarget.dataset.option.forEach(item=>{
  1042. array.push(item.tempFilePath)
  1043. })
  1044. console.log(array);
  1045. wx.previewImage({
  1046. urls: array,
  1047. showmenu:true,
  1048. current:array[e.currentTarget.dataset.index]
  1049. })
  1050. },
  1051. goKeep(){
  1052. var that = this;
  1053. let pages = getCurrentPages();
  1054. let currentPage = null; //当前页面
  1055. let prevPage = null; //上一个页面
  1056. currentPage = pages[pages.length - 1]; //获取当前页面,将其赋值
  1057. prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值
  1058. console.log(that.data.form);
  1059. if (prevPage) {
  1060. prevPage.setData({
  1061. form : that.data.form,//将想要传的信息赋值给上一个页面data中的值
  1062. })
  1063. that.back()
  1064. }
  1065. },
  1066. deleteTransfers(e){
  1067. var that = this ;
  1068. if(that.data.form.transfers.length<2){
  1069. UTIL.showToastNoneIcon('最少保留一条事项');
  1070. return;
  1071. }
  1072. that.data.form.transfers.splice(e.currentTarget.dataset.index,1);
  1073. that.setData({
  1074. form:that.data.form
  1075. })
  1076. },
  1077. /**
  1078. * 生命周期函数--监听页面隐藏
  1079. */
  1080. onHide() {
  1081. },
  1082. /**
  1083. * 生命周期函数--监听页面卸载
  1084. */
  1085. onUnload() {
  1086. },
  1087. /**
  1088. * 页面相关事件处理函数--监听用户下拉动作
  1089. */
  1090. onPullDownRefresh() {
  1091. },
  1092. /**
  1093. * 页面上拉触底事件的处理函数
  1094. */
  1095. onReachBottom() {
  1096. },
  1097. /**
  1098. * 用户点击右上角分享
  1099. */
  1100. onShareAppMessage() {
  1101. }
  1102. })