微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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