微信小程序
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

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