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

1831 рядки
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. onClosePayee(event){
  675. console.log("aaa");
  676. this.setData({
  677. ["form.transfers["+event.currentTarget.dataset.index+"].activeName"]:''
  678. });
  679. console.log(this.data.form.transfers[event.currentTarget.dataset.index]);
  680. },
  681. /**
  682. * 生命周期函数--监听页面初次渲染完成
  683. */
  684. onReady() {
  685. },
  686. /**
  687. * 生命周期函数--监听页面显示
  688. */
  689. onShow() {
  690. },
  691. openBox(even){
  692. console.log(even.currentTarget.dataset.name);
  693. this.setData({
  694. [even.currentTarget.dataset.name]:true
  695. })
  696. },
  697. closeBox(even){
  698. console.log(even.currentTarget.dataset.name);
  699. this.setData({
  700. [even.currentTarget.dataset.name]:false
  701. })
  702. },
  703. onConfirm(event) {
  704. this.setData({
  705. [event.currentTarget.dataset.name]: false,
  706. [event.currentTarget.dataset.value]: UTIL.formatDate(event.detail),
  707. });
  708. },
  709. onConfirmPick(event) {
  710. console.log(event);
  711. this.setData({
  712. [event.currentTarget.dataset.name]: false,
  713. [event.currentTarget.dataset.value]: event.detail.value.dictValue,
  714. [event.currentTarget.dataset.value+'Text']: event.detail.value.dictLabel,
  715. });
  716. },
  717. onConfirmAccount(event) {
  718. console.log(event);
  719. var that = this;
  720. // 所属银行字典查询
  721. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, {
  722. success: (res) => {
  723. this.setData({
  724. [event.currentTarget.dataset.name]: false,
  725. [event.currentTarget.dataset.value+'.payer']: event.detail.value.accountName,
  726. [event.currentTarget.dataset.value+'.cashierId']: event.detail.value.id,
  727. [event.currentTarget.dataset.value+'.payerAccount']: event.detail.value.bankAccountNumber,
  728. [event.currentTarget.dataset.value+'.bankTypeText']: UTIL.getTransform(event.detail.value.bankType,that.data.bankTypeOptions),
  729. [event.currentTarget.dataset.value+'.bankType']: event.detail.value.bankType,
  730. [event.currentTarget.dataset.value+'.payerAccount']:event.detail.value.balance,
  731. });
  732. }
  733. })
  734. },
  735. onConfirmaTransfer(event) {
  736. console.log(event);
  737. var that = this;
  738. let perames = {};
  739. this.setData({
  740. [event.currentTarget.dataset.value+'.payer']: '',
  741. [event.currentTarget.dataset.value+'.payerAccount']: '',
  742. [event.currentTarget.dataset.value+'.bankTypeText']: '',
  743. [event.currentTarget.dataset.value+'.bankType']: '',
  744. [event.currentTarget.dataset.value+'.bankAccountType']: '2',
  745. [event.currentTarget.dataset.value+'.isPeers']: '',
  746. [event.currentTarget.dataset.value+'.paymentPattern']: event.detail.value.dictValue,
  747. [event.currentTarget.dataset.value+'.amountReadonly']:false,
  748. [event.currentTarget.dataset.value+'.payeeList']:[{//收款方账户集合
  749. payeeId:'0',//收款方id
  750. payee:'',//收款方
  751. bankDeposit:'',//开户行
  752. incomeAmount:'',//收入金额
  753. bankType:'',//所属银行0其他银行1中国银行2农商行(山东省)3农业银行4建设银行5工商银行
  754. payeeAccount:'',//收款账户
  755. }],
  756. balance:0,
  757. });
  758. console.log(event.detail.value.dictValue);
  759. 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 ;}
  760. else if(event.detail.value.dictValue == 3){event.detail.value.dictValue = 2 ;}
  761. else if(event.detail.value.dictValue == 5){event.detail.value.dictValue = 12 ;}
  762. else if(event.detail.value.dictValue == 8){event.detail.value.dictValue = 11 ;}
  763. if(event.detail.value.dictValue == 1){//村账户查询参数
  764. perames = {
  765. pageNum:1,
  766. pageSize:999,
  767. accountType:'102',
  768. method:'post',
  769.   params: {
  770.          "townAccountType":"0"
  771.     }
  772. }
  773. // 付款方列表
  774. UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, {
  775. success: (res) => {
  776. that.setData({
  777. accountOptions:res.rows,
  778. })
  779. }
  780. })
  781. }
  782. if(event.detail.value.dictValue == 2 || event.detail.value.dictValue == 10){//公务卡和现金提现查询参数
  783. perames = {
  784. pageNum:1,
  785. pageSize:999,
  786. accountType:'102',
  787. method:'GET',
  788. villageAccountType:''
  789. }
  790. // 付款方列表
  791. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  792. success: (res) => {
  793. that.setData({
  794. accountOptions:res.rows,
  795. })
  796. }
  797. })
  798. }
  799. if(event.detail.value.dictValue == 11){//现金使用查询参数
  800. perames = {
  801. pageNum:1,
  802. pageSize:999,
  803. accountType:'101',
  804. method:'GET'
  805. }
  806. // 付款方列表
  807. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  808. success: (res) => {
  809. that.setData({
  810. accountOptions:res.rows
  811. })
  812. }
  813. })
  814. }
  815. if(event.detail.value.dictValue == 4){//代管账户查询参数
  816. perames = {
  817. pageNum:1,
  818. pageSize:999,
  819. accountType:'102',
  820. method:'GET',
  821. villageAccountType:'1'
  822. }
  823. // 付款方列表
  824. UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, {
  825. success: (res) => {
  826. that.setData({
  827. accountOptions:res.rows,
  828. })
  829. }
  830. })
  831. }
  832. if(event.detail.value.dictValue == 12){//汇票支出查询参数
  833. perames = {
  834. pageNum:1,
  835. pageSize:999,
  836. }
  837. // 付款方列表
  838. UTIL.httpRequest(API.URL_GET_MONEYORDERLIST , perames, {
  839. success: (res) => {
  840. that.setData({
  841. moneyorderOptions:res.rows,
  842. [event.currentTarget.dataset.value+'.amountReadonly']:true
  843. })
  844. }
  845. })
  846. }
  847. this.setData({
  848. [event.currentTarget.dataset.name]: false,
  849. [event.currentTarget.dataset.value+'.transferType']: event.detail.value.dictValue,
  850. [event.currentTarget.dataset.value+'.transferTypeText']: event.detail.value.dictLabel,
  851. });
  852. },
  853. onConfirmProject(event) {
  854. console.log(event);
  855. this.setData({
  856. [event.currentTarget.dataset.name]: false,
  857. [event.currentTarget.dataset.value+'.projectName']: event.detail.value.projectName,
  858. [event.currentTarget.dataset.value+'.projectId']: event.detail.value.id,
  859. [event.currentTarget.dataset.value+'.projectContractor']: event.detail.value.projectContractor,
  860. [event.currentTarget.dataset.value+'.projectAmount']: event.detail.value.projectAmount,
  861. });
  862. },
  863. onConfirmContraction(event) {
  864. console.log(event);
  865. this.setData({
  866. [event.currentTarget.dataset.name]: false,
  867. [event.currentTarget.dataset.value+".name"]: event.detail.value.name,
  868. [event.currentTarget.dataset.value+'.code']: event.detail.value.code,
  869. [event.currentTarget.dataset.value+'.totalAmount']: event.detail.value.totalAmount,
  870. [event.currentTarget.dataset.value+'.contractionId']: event.detail.value.id,
  871. });
  872. },
  873. onConfirmMoneyOrder(event) {
  874. console.log(event);
  875. var that = this ;
  876. this.setData({
  877. [event.currentTarget.dataset.name]: false,
  878. [event.currentTarget.dataset.value+'.moneyOrderForm']: event.detail.value,
  879. [event.currentTarget.dataset.value+'.expenditureAmount']: event.detail.value.orderAmount,
  880. [event.currentTarget.dataset.value+".payeeList[0].incomeAmount"]: event.detail.value.orderAmount,
  881. [event.currentTarget.dataset.value+'.payer']:event.detail.value.billPayUnit,
  882. [event.currentTarget.dataset.value+'.payerAccount'] : event.detail.value.orderNum,
  883. [event.currentTarget.dataset.value+'.cashierId'] : event.detail.value.id,
  884. [event.currentTarget.dataset.value+'.startTime'] : event.detail.value.startTime,
  885. [event.currentTarget.dataset.value+'.endTime'] : event.detail.value.endTime,
  886. [event.currentTarget.dataset.value+'.orderType'] : event.detail.value.orderType
  887. });
  888. var moneyCount = 0 ;
  889. for (let i = 0; i < that.data.form.transfers.length; i++) {
  890. const element = that.data.form.transfers[i];
  891. for (let j = 0; j < element.payeeList.length; j++) {
  892. const element2 = element.payeeList[j];
  893. var allCount = 0 ;
  894. moneyCount = parseFloat(moneyCount)+parseFloat(element2.incomeAmount);
  895. // allCount = parseFloat(allCount)+parseFloat(element2.incomeAmount);
  896. // this.setData({
  897. // ["form.transfers["+i+"].expenditureAmount"]:allCount,
  898. // })
  899. }
  900. }
  901. console.log(moneyCount.toFixed(2));
  902. this.setData({
  903. ["form.approvalItemTemplate.totalAmount"]:moneyCount.toFixed(2),
  904. })
  905. },
  906. goPayeeList(event){
  907. console.log(event.currentTarget.dataset.transfertype)
  908. if(event.currentTarget.dataset.payer == null || event.currentTarget.dataset.payer == ''){
  909. UTIL.showToastNoneIcon('请先选择付款方!');
  910. return;
  911. }
  912. if(this.data.form.transfers[event.currentTarget.dataset.index].payeeList.length>1){
  913. return;
  914. }
  915. if(event.currentTarget.dataset.accounttype == null ){
  916. event.currentTarget.dataset.accounttype = ''
  917. }
  918. // '/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
  919. wx.navigateTo({
  920. url: '/pages/payee/index?transferType='+event.currentTarget.dataset.transfertype+'&money='+this.data.form.transfers[event.currentTarget.dataset.index].expenditureAmount + '&index='+event.currentTarget.dataset.index,
  921. })
  922. },
  923. goPayee(event){
  924. wx.navigateTo({
  925. url: 'payeeList/payee?options='+JSON.stringify(event.currentTarget.dataset.option)
  926. })
  927. },
  928. onChange(event){
  929. console.log(event);
  930. this.setData({
  931. [event.currentTarget.dataset.value]: event.detail,
  932. })
  933. },
  934. onChangeTime(event){
  935. console.log(event);
  936. this.setData({
  937. applyDate: event.detail,
  938. })
  939. },
  940. onConfirmTime(event){
  941. this.setData({
  942. [event.currentTarget.dataset.name]: false,
  943. applyDate: UTIL.formatDate(event.detail),
  944. });
  945. for (let i = 0; i < this.data.form.transfers.length; i++) {
  946. this.setData({
  947. ["form.transfers["+i+"].applyDate"]:UTIL.formatDate(event.detail),
  948. })
  949. }
  950. },
  951. onChangeMoneyOut(event){
  952. console.log(event);
  953. var that = this;
  954. if( !(event.detail.value > -1)){
  955. this.setData({
  956. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:'',
  957. })
  958. return;
  959. }
  960. if( event.detail.value.indexOf('.')>0 && event.detail.value.toString().split(".")[1].length>2){
  961. this.setData({
  962. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail.value.toString().split(".")[0] + '.' + event.detail.value.toString().split(".")[1].substr(0,2),
  963. })
  964. return;
  965. }
  966. this.setData({
  967. // ["form.transfers["+event.currentTarget.dataset.index+"].payeeList["+event.currentTarget.dataset.childrenindex+"].incomeAmount"]: event.detail,
  968. ["form.transfers["+event.currentTarget.dataset.index+"].payeeList[0].incomeAmount"]: event.detail.value,
  969. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail.value,
  970. // ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail,
  971. })
  972. if(event.detail.value == ''){
  973. that.data.form.transfers[event.currentTarget.dataset.index].payeeList[0].incomeAmount = parseFloat(0).toFixed(2);
  974. that.data.form.transfers[event.currentTarget.dataset.index].expenditureAmount = parseFloat(0).toFixed(2);
  975. }
  976. var moneyCount = 0 ;
  977. for (let i = 0; i < that.data.form.transfers.length; i++) {
  978. const element = that.data.form.transfers[i];
  979. for (let j = 0; j < element.payeeList.length; j++) {
  980. const element2 = element.payeeList[j];
  981. console.log(element2.incomeAmount);
  982. var allCount = 0 ;
  983. moneyCount = parseFloat(moneyCount) + parseFloat(element2.incomeAmount);
  984. // allCount = parseFloat(allCount)+parseFloat(element2.incomeAmount);
  985. // this.setData({
  986. // ["form.transfers["+i+"].expenditureAmount"]:allCount,
  987. // })
  988. }
  989. }
  990. this.setData({
  991. ["form.approvalItemTemplate.totalAmount"]:moneyCount.toFixed(2),
  992. })
  993. },
  994. onChangeMoney(event){
  995. console.log(event);
  996. var that = this;
  997. if( !(event.detail > -1)){
  998. this.setData({
  999. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:'',
  1000. })
  1001. return;
  1002. }
  1003. if( event.detail.indexOf('.')>0 && event.detail.toString().split(".")[1].length>2){
  1004. this.setData({
  1005. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail.toString().split(".")[0] + '.' + event.detail.toString().split(".")[1].substr(0,2),
  1006. })
  1007. return;
  1008. }
  1009. this.setData({
  1010. // ["form.transfers["+event.currentTarget.dataset.index+"].payeeList["+event.currentTarget.dataset.childrenindex+"].incomeAmount"]: event.detail,
  1011. ["form.transfers["+event.currentTarget.dataset.index+"].payeeList[0].incomeAmount"]: event.detail,
  1012. ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail,
  1013. // ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail,
  1014. })
  1015. console.log(that.data.form);
  1016. var moneyCount = 0 ;
  1017. for (let i = 0; i < that.data.form.transfers.length; i++) {
  1018. const element = that.data.form.transfers[i];
  1019. for (let j = 0; j < element.payeeList.length; j++) {
  1020. const element2 = element.payeeList[j];
  1021. var allCount = 0 ;
  1022. moneyCount = parseFloat(moneyCount)+parseFloat(element2.incomeAmount);
  1023. // allCount = parseFloat(allCount)+parseFloat(element2.incomeAmount);
  1024. // this.setData({
  1025. // ["form.transfers["+i+"].expenditureAmount"]:allCount,
  1026. // })
  1027. }
  1028. }
  1029. console.log(moneyCount.toFixed(2));
  1030. this.setData({
  1031. ["form.approvalItemTemplate.totalAmount"]:moneyCount.toFixed(2),
  1032. })
  1033. console.log(that.data.form);
  1034. console.log(allCount.toFixed(2));
  1035. },
  1036. back:function(){
  1037. wx.navigateBack({
  1038. delta: 1
  1039. })
  1040. },
  1041. goSubmitMB(){
  1042. this.setData({
  1043. showDialog:true
  1044. })
  1045. },
  1046. onClose(){
  1047. this.setData({
  1048. showDialog:false
  1049. })
  1050. },
  1051. bindNameInput(even){
  1052. this.setData({
  1053. ["form.approvalItemTemplate.templateName"]:even.detail.value
  1054. })
  1055. },
  1056. goSubmit(e){
  1057. var that = this;
  1058. console.log(that.data.form);
  1059. var list = that.data.form,
  1060. approvalItems = list.approvalItemTemplate.approvalItems;
  1061. if(approvalItems == ''){
  1062. UTIL.showToastNoneIcon('请填写审批事项名称!');
  1063. that.setData({
  1064. topInputTirme:true
  1065. })
  1066. return;
  1067. }
  1068. for (let i = 0; i < list.transfers.length; i++) {
  1069. const element = list.transfers[i];
  1070. if(element.applyDate == ''){
  1071. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的申请时间!');
  1072. return;
  1073. }
  1074. if(element.remark == ''){
  1075. UTIL.showToastNoneIcon('请填写事项'+UTIL.convertToChinaNum(i+1)+'的支出原因!');
  1076. that.setData({
  1077. ["form.transfers["+i+"].remarkTirme"]:true
  1078. })
  1079. return;
  1080. }
  1081. if(element.expenditureAmount == ''){
  1082. UTIL.showToastNoneIcon('请填写事项'+UTIL.convertToChinaNum(i+1)+'的支出金额!');
  1083. that.setData({
  1084. ["form.transfers["+i+"].expenditureAmountTirme"]:true
  1085. })
  1086. return;
  1087. }
  1088. console.log(parseFloat(element.expenditureAmount).toFixed(2))
  1089. console.log(parseFloat(element.payerAccount).toFixed(2))
  1090. console.log(element.transferType);
  1091. if((parseFloat(element.expenditureAmount).toFixed(2) - parseFloat(element.payerAccount).toFixed(2) >0) && element.transferType == 11){
  1092. UTIL.showToastNoneIcon('事项'+UTIL.convertToChinaNum(i+1)+'的支出金额不能超过付款账户余额!');
  1093. return;
  1094. }
  1095. if(element.payer == ''&&element.transferType != 12){
  1096. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的付款方!');
  1097. return;
  1098. }
  1099. if(element.payeeList[0].payee == ''&&element.transferType!=12){
  1100. UTIL.showToastNoneIcon('请选择事项'+UTIL.convertToChinaNum(i+1)+'的收款方!');
  1101. return;
  1102. }
  1103. if((element.payeeList[0].incomeAmount == '' || element.payeeList[0].incomeAmount == undefined)&&element.transferType!=12){
  1104. UTIL.showToastNoneIcon('请填写事项'+UTIL.convertToChinaNum(i+1)+'收款方的收入金额!');
  1105. return;
  1106. }
  1107. if(element.transferType == '12'){
  1108. list.transfers[i].payer = list.transfers[i].moneyOrderForm.billPayUnit;
  1109. list.transfers[i].payerAccount = list.transfers[i].moneyOrderForm.orderNum;
  1110. list.transfers[i].cashierId = list.transfers[i].moneyOrderForm.id;
  1111. list.transfers[i].startTime = list.transfers[i].moneyOrderForm.startTime;
  1112. list.transfers[i].endTime = list.transfers[i].moneyOrderForm.endTime;
  1113. list.transfers[i].orderType = list.transfers[i].moneyOrderForm.orderType;
  1114. }
  1115. }
  1116. if(e.currentTarget.dataset.type == 1){
  1117. if(that.data.form.approvalItemTemplate.templateName == ''){
  1118. UTIL.showToastNoneIcon('请输入模板名称!');
  1119. return;
  1120. }
  1121. }
  1122. if(e.currentTarget.dataset.type == 3){
  1123. for (let i = 0; i < that.data.form.transfers.length; i++) {
  1124. that.data.form.transfers[i].approvalMode = '2';
  1125. }
  1126. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type
  1127. }
  1128. that.data.form.method = 'POST';
  1129. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type;
  1130. console.log(that.data.form);
  1131. UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, {
  1132. success: (res) => {
  1133. if (res.code == API.SUCCESS_CODE) {
  1134. for (let j = 0; j < res.data.transfers.length; j++) {
  1135. if(that.data.form.transfers[j].capitalExpenditureType == 2){
  1136. 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';
  1137. that.data.form.transfers[j].projectForm.outId = res.data.transfers[j].id;
  1138. that.data.form.transfers[j].projectForm.method = 'POST';
  1139. // 工程项目提交
  1140. UTIL.httpRequest(API.URL_GET_ADDPROJECTTO , that.data.form.transfers[j].projectForm, {
  1141. success: (res) => {
  1142. }
  1143. })
  1144. }
  1145. if(that.data.form.transfers[j].capitalExpenditureType == 4){
  1146. that.data.form.transfers[j].contractionForm.transferId = res.data.transfers[j].id;
  1147. that.data.form.transfers[j].contractionForm.id = '';
  1148. that.data.form.transfers[j].contractionForm.method = 'POST';
  1149. // 关联合同提交
  1150. UTIL.httpRequest(API.URL_GET_GETRELATIONADD , that.data.form.transfers[j].contractionForm, {
  1151. success: (res) => {
  1152. }
  1153. })
  1154. }
  1155. // if(that.data.form.transfers[j].transferType == '12'){
  1156. // console.log(that.data.form.transfers[j].cashForm);
  1157. // that.data.form.transfers[j].cashForm.cashId = res.data.transfers[j].id;
  1158. // that.data.form.transfers[j].cashForm.method = 'POST';
  1159. // if(that.data.form.transfers[j].cashierType == 'edit'){
  1160. // // 收票方信息增加
  1161. // UTIL.httpRequest(API.URL_GET_GETCASHDETAILEDIT , that.data.form.transfers[j].cashForm, {
  1162. // success: (res) => {
  1163. // }
  1164. // })
  1165. // }else{
  1166. // // 收票方信息修改
  1167. // UTIL.httpRequest(API.URL_GET_GETCASHDETAILADD , that.data.form.transfers[j].cashForm, {
  1168. // success: (res) => {
  1169. // }
  1170. // })
  1171. // }
  1172. // }
  1173. if(that.data.form.transfers[j].fileForm == undefined){continue;}
  1174. console.log(that.data.form.transfers[j].fileForm);
  1175. for (let i = 0; i < that.data.form.transfers[j].fileForm.length; i++) {
  1176. that.data.form.transfers[j].fileForm[i].tableId = res.data.transfers[j].id
  1177. const element = that.data.form.transfers[j].fileForm[i];
  1178. wx.uploadFile({
  1179. url: API.URL_GET_UPLOAD,
  1180. filePath: element.file,
  1181. name: 'file',
  1182. header: {
  1183. "Content-Type": "multipart/form-data",//记得设置
  1184. "chartset":"utf-8",
  1185. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  1186. },
  1187. formData:element,
  1188. success (response){
  1189. console.log(res);
  1190. },
  1191. fail(res){
  1192. console.log(res)
  1193. }
  1194. })
  1195. }
  1196. }
  1197. if(e.currentTarget.dataset.type == 0){
  1198. wx.navigateTo({
  1199. 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),
  1200. })
  1201. }
  1202. if(e.currentTarget.dataset.type == 2){
  1203. wx.showToast({
  1204. title: '保存成功',
  1205. icon: 'success',
  1206. duration: 2000,
  1207. })
  1208. }
  1209. if(e.currentTarget.dataset.type == 1){
  1210. console.log("aaa");
  1211. wx.showToast({
  1212. title: '保存成功',
  1213. icon: 'success',
  1214. duration: 2000,
  1215. complete(){
  1216. setTimeout(function(){
  1217. that.back();
  1218. },2000)
  1219. }
  1220. })
  1221. }
  1222. if(e.currentTarget.dataset.type == 3){
  1223. UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, {
  1224. success: (res2) => {
  1225. if (res2.code == API.SUCCESS_CODE) {
  1226. wx.showToast({
  1227. title: '操作成功',
  1228. icon: 'success',
  1229. duration: 2000,
  1230. complete(){
  1231. setTimeout(function(){
  1232. that.back();
  1233. },2000)
  1234. }
  1235. })
  1236. }else{
  1237. wx.showToast({
  1238. title: '操作失败',
  1239. icon: 'error',
  1240. duration: 2000
  1241. })
  1242. }
  1243. }
  1244. })
  1245. }
  1246. }
  1247. }
  1248. })
  1249. },
  1250. bindKeyInput(even){
  1251. console.log(even);
  1252. this.setData({
  1253. ["form.approvalItemTemplate.approvalItems"]: even.detail,
  1254. })
  1255. },
  1256. errorPd(e){
  1257. console.log(e);
  1258. this.setData({
  1259. [e.currentTarget.dataset.formname+"Tirme"]:e.detail.value == '' ? true:false
  1260. })
  1261. },
  1262. errorJE(e){
  1263. console.log(e);
  1264. this.setData({
  1265. [e.currentTarget.dataset.formname+"Tirme"]:e.detail.value == '' ? true:false
  1266. })
  1267. },
  1268. errorYY(e){
  1269. console.log(e);
  1270. this.setData({
  1271. [e.currentTarget.dataset.formname+"Tirme"]:e.detail.value == '' ? true:false
  1272. })
  1273. },
  1274. SJtakephoto(e){
  1275. var that = this;
  1276. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  1277. wx.chooseMedia({
  1278. mediaType: ['image'],
  1279. sourceType: ['album', 'camera'],
  1280. camera: 'back',
  1281. success(res) {
  1282. console.log(res);
  1283. res.tempFiles.forEach(item => {
  1284. fileForm.push({
  1285. file: item.tempFilePath,
  1286. fileType:'1',
  1287. bizPath:'transfer',
  1288. tableName:'t_yinnong_transfer',
  1289. tableId:''
  1290. })
  1291. })
  1292. console.log(fileForm);
  1293. let tem = that.data.form.transfers[e.currentTarget.dataset.index].SJimage?that.data.form.transfers[e.currentTarget.dataset.index].SJimage:[];
  1294. res.tempFiles.forEach(r=>{
  1295. tem.push({
  1296. tempFilePath:r.tempFilePath
  1297. })
  1298. })
  1299. console.log(tem);
  1300. that.setData({
  1301. ["form.transfers["+e.currentTarget.dataset.index+"].SJimage"]:tem,
  1302. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm,
  1303. })
  1304. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  1305. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  1306. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  1307. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  1308. that.setData({
  1309. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  1310. })
  1311. },fail(err){
  1312. console.log(err);
  1313. }
  1314. })
  1315. },
  1316. FPtakephoto(e){
  1317. var that = this;
  1318. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  1319. console.log(fileForm);
  1320. wx.chooseMedia({
  1321. mediaType: ['image'],
  1322. sourceType: ['album', 'camera'],
  1323. camera: 'back',
  1324. success(res) {
  1325. console.log(res);
  1326. res.tempFiles.forEach(item => {
  1327. fileForm.push({
  1328. file: item.tempFilePath,
  1329. fileType:'2',
  1330. bizPath:'transfer',
  1331. tableName:'t_yinnong_transfer',
  1332. tableId:''
  1333. })
  1334. })
  1335. let tem = that.data.form.transfers[e.currentTarget.dataset.index].FPimage?that.data.form.transfers[e.currentTarget.dataset.index].FPimage:[];
  1336. res.tempFiles.forEach(r=>{
  1337. tem.push({
  1338. tempFilePath:r.tempFilePath
  1339. })
  1340. })
  1341. console.log(tem);
  1342. that.setData({
  1343. ["form.transfers["+e.currentTarget.dataset.index+"].FPimage"]:tem,
  1344. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm
  1345. })
  1346. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  1347. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  1348. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  1349. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  1350. that.setData({
  1351. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  1352. })
  1353. },fail(err){
  1354. console.log(err);
  1355. }
  1356. })
  1357. },
  1358. QTtakephoto(e){
  1359. var that = this;
  1360. let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[];
  1361. wx.chooseMedia({
  1362. mediaType: ['image'],
  1363. sourceType: ['album', 'camera'],
  1364. camera: 'back',
  1365. success(res) {
  1366. console.log(res);
  1367. res.tempFiles.forEach(item => {
  1368. fileForm.push({
  1369. file: item.tempFilePath,
  1370. fileType:'3',
  1371. bizPath:'transfer',
  1372. tableName:'t_yinnong_transfer',
  1373. tableId:''
  1374. })
  1375. })
  1376. console.log(fileForm);
  1377. let tem = that.data.form.transfers[e.currentTarget.dataset.index].QTimage?that.data.form.transfers[e.currentTarget.dataset.index].QTimage:[];
  1378. res.tempFiles.forEach(r=>{
  1379. tem.push({
  1380. tempFilePath:r.tempFilePath
  1381. })
  1382. })
  1383. that.setData({
  1384. ["form.transfers["+e.currentTarget.dataset.index+"].QTimage"]:tem,
  1385. ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm
  1386. })
  1387. let SJlength = that.data.form.transfers[e.currentTarget.dataset.index].SJimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].SJimage.length;
  1388. let FPlength = that.data.form.transfers[e.currentTarget.dataset.index].FPimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].FPimage.length;
  1389. let QTlength = that.data.form.transfers[e.currentTarget.dataset.index].QTimage == undefined ? 0:that.data.form.transfers[e.currentTarget.dataset.index].QTimage.length;
  1390. let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
  1391. that.setData({
  1392. ["form.transfers["+e.currentTarget.dataset.index+"].fileNum"]:fileNum,
  1393. })
  1394. },fail(err){
  1395. console.log(err);
  1396. }
  1397. })
  1398. },
  1399. addList(){
  1400. var that = this;
  1401. let transList = this.data.form.transfers;
  1402. console.log(this.data.form);
  1403. for (let i = 0; i < transList.length; i++) {
  1404. const element = transList[i];
  1405. if(element.applyDate == '' || element.remark == '' || element.expenditureAmount == '' || element.payer == '' || element.payeeList[0].payee == '' || element.payeeList[0].incomeAmount == '' || element.payeeList[0].incomeAmount == undefined){
  1406. UTIL.showToastNoneIcon('事项'+UTIL.convertToChinaNum(i+1)+'的信息填写不完整,检查后重试!');
  1407. return;
  1408. }
  1409. }
  1410. transList.push({
  1411. num:UTIL.convertToChinaNum(transList.length+1),
  1412. expenditureAmountTirme:false,
  1413. remarkTirme:false,
  1414. showCapitalExpenditureType:false,
  1415. showApplyDate:false,
  1416. showTransferType:false,
  1417. showProject:false,
  1418. showProjectFundType:false,
  1419. showAccount:false,
  1420. showDialog:false,
  1421. showContraction:false,
  1422. SJimage:[],
  1423. FPimage:[],
  1424. QTimage:[],
  1425. activeName:0,
  1426. cashForm:{
  1427. payee:'',
  1428. phone:'',
  1429. unit:'',
  1430. leader:'',
  1431. remark:'',
  1432. },
  1433. showTitle:true,
  1434. capitalExpenditureType:'1',//资金支出类别
  1435. capitalExpenditureTypeText:'结算类',//资金支出类别(展示用)
  1436. succeedAmount:'',//成功支付金额
  1437. payer:'',//付款方
  1438. payerAccount:'',//付款方账户
  1439. bankType:'',//所属银行
  1440. bankTypeText:'',//所属银行(展示用)
  1441. isPeers:'N',//是否同行
  1442. operatorCode:'',//操作员代码
  1443. enterpriseCode:'',//企业编码
  1444. expenditureAmount:'',//支出总金额
  1445. applyDate:that.data.applyDate,//申请时间
  1446. transferStatus:'',//转账状态
  1447. auditStatus:'0',//审批状态
  1448. paymentState:'',//支付状态
  1449. approvalMode:'1',//审批模式
  1450. paymentTime:'',//支付时间
  1451. bankPriority:'',//银行处理优先级
  1452. clientPriority:'',//客户处理优先级
  1453. paymentPattern:'1',
  1454. transferType:'1',//付款方式
  1455. transferTypeText:'垫付报销:电子支付',//付款方式(展示用)
  1456. requiredTransferTime:'',//要求转账时间
  1457. remark:'',//付款事由
  1458. startTime:'',//开票日期
  1459. endTime:'',//到期日期
  1460. orderType:'',//汇票类型
  1461. bankAccountType:'2',//账户类别1 公户2私户
  1462. villageAccountType:'',//账户分类
  1463. payeeList:[{//收款方账户集合
  1464. payeeId:'0',//收款方id
  1465. payee:'',//收款方
  1466. bankDeposit:'',//开户行
  1467. incomeAmount:'0.00',//收入金额
  1468. bankType:'',//所属银行0其他银行1中国银行2农商行(山东省)3农业银行4建设银行5工商银行
  1469. payeeAccount:'',//收款账户
  1470. }],
  1471. projectForm:{
  1472. projectId:'',
  1473. projectName:'',
  1474. projectContractor:'',
  1475. projectAmount:'',
  1476. projectBillNum:'',
  1477. projectFundType:'',
  1478. outId:'',
  1479. ynType:'1',
  1480. },
  1481. contractionForm:{
  1482. contractionId:'',
  1483. name:'',
  1484. code:'',
  1485. totalAmount:'',
  1486. },
  1487. });
  1488. //村账户查询参数
  1489. var perames = {
  1490. pageNum:1,
  1491. pageSize:999,
  1492. accountType:'102',
  1493. method:'post',
  1494.   params: {
  1495.          "townAccountType":"0"
  1496.     }
  1497. }
  1498. // 付款方列表
  1499. UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, {
  1500. success: (res) => {
  1501. that.setData({
  1502. accountOptions:res.rows,
  1503. ["form.transfers[0].applyDate"]: UTIL.formatDate(new Date()),
  1504. applyDate: UTIL.formatDate(new Date()),
  1505. })
  1506. }
  1507. })
  1508. this.setData({
  1509. ["form.transfers"] : transList,
  1510. activeNames:transList.length-1
  1511. })
  1512. for (let i = 0; i < this.data.form.transfers.length; i++) {
  1513. const element = this.data.form.transfers[i];
  1514. this.setData({
  1515. ["form.transfers["+i+"].showTitle"] : false,
  1516. })
  1517. }
  1518. this.setData({
  1519. ["form.transfers["+(transList.length-1)+"].showTitle"] : true,
  1520. })
  1521. console.log(this.data.form);
  1522. },
  1523. openPreview(e){
  1524. let array = [];
  1525. console.log(e);
  1526. e.currentTarget.dataset.option.forEach(item=>{
  1527. array.push(item.tempFilePath)
  1528. })
  1529. console.log(array);
  1530. wx.previewImage({
  1531. urls: array,
  1532. showmenu:true,
  1533. current:array[e.currentTarget.dataset.index]
  1534. })
  1535. },
  1536. goKeep(){
  1537. var that = this;
  1538. let pages = getCurrentPages();
  1539. let currentPage = null; //当前页面
  1540. let prevPage = null; //上一个页面
  1541. currentPage = pages[pages.length - 1]; //获取当前页面,将其赋值
  1542. prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值
  1543. console.log(that.data.form);
  1544. if (prevPage) {
  1545. prevPage.setData({
  1546. form : that.data.form,//将想要传的信息赋值给上一个页面data中的值
  1547. })
  1548. that.back()
  1549. }
  1550. },
  1551. deleteTransfers(e){
  1552. var that = this ;
  1553. console.log(e.currentTarget.dataset.index);
  1554. // that.data.form.transfers[e.currentTarget.dataset.index].collapseDis = true;
  1555. that.setData({
  1556. ["form.transfers["+e.currentTarget.dataset.index+"].collapseDis"]:true
  1557. })
  1558. if(that.data.form.transfers.length<2){
  1559. UTIL.showToastNoneIcon('最少保留一条事项');
  1560. return;
  1561. }
  1562. 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;
  1563. that.data.form.approvalItemTemplate.totalAmount = parseFloat(parseFloat(that.data.form.approvalItemTemplate.totalAmount)- parseFloat(that.data.form.transfers[e.currentTarget.dataset.index].expenditureAmount)).toFixed(2);
  1564. that.data.form.transfers.splice(e.currentTarget.dataset.index,1);
  1565. for (let i = 0; i < that.data.form.transfers.length; i++) {
  1566. that.data.form.transfers[i].num = UTIL.convertToChinaNum(i+1)
  1567. }
  1568. console.log(that.data.form);
  1569. that.setData({
  1570. form:that.data.form,
  1571. })
  1572. },
  1573. disabledNone(e){
  1574. console.log("b");
  1575. var that = this ;
  1576. that.setData({
  1577. ["form.transfers["+e.currentTarget.dataset.index+"].collapseDis"]:true
  1578. })
  1579. },
  1580. disabledBlock(e){
  1581. console.log("a");
  1582. var that = this ;
  1583. that.setData({
  1584. ["form.transfers["+e.currentTarget.dataset.index+"].collapseDis"]:false
  1585. })
  1586. },
  1587. onOpen(e){
  1588. var that = this ;
  1589. console.log(that.data.activeNames);
  1590. console.log(e);
  1591. for (let i = 0; i < this.data.form.transfers.length; i++) {
  1592. const element = this.data.form.transfers[i];
  1593. this.setData({
  1594. ["form.transfers["+i+"].showTitle"] : false,
  1595. })
  1596. }
  1597. that.setData({
  1598. ["form.transfers["+e.detail+"].showTitle"]:true
  1599. })
  1600. },
  1601. onCloseSecond(e){
  1602. var that = this ;
  1603. console.log(e);
  1604. that.setData({
  1605. ["form.transfers["+e.detail+"].showTitle"]:false
  1606. })
  1607. },
  1608. deleteimg(e){
  1609. let options = e.currentTarget.dataset.options;
  1610. console.log(options);
  1611. let file = this.data.form.transfers[e.currentTarget.dataset.parentsindex].fileForm;
  1612. for (let i = 0; i < file.length; i++) {
  1613. const element = file[i];
  1614. if(element.file == options[e.currentTarget.dataset.index].tempFilePath){
  1615. file.splice(i,1);
  1616. }
  1617. }
  1618. options.splice(e.currentTarget.dataset.index,1);
  1619. let length = this.data.form.transfers[e.currentTarget.dataset.parentsindex].fileNum - 1;
  1620. this.setData({
  1621. [e.currentTarget.dataset.name]:options,
  1622. ["form.transfers["+e.currentTarget.dataset.parentsindex+"].fileNum"]:length,
  1623. ["form.transfers["+e.currentTarget.dataset.parentsindex+"].fileForm"]:file,
  1624. })
  1625. UTIL.httpRequest(API.URL_GET_GETFILEREMOVE+e.currentTarget.dataset.id , {method:'GET'}, {
  1626. success: (res) => {
  1627. wx.showToast({
  1628. title: '删除成功!',
  1629. icon: 'success',
  1630. duration: 2000,
  1631. })
  1632. }
  1633. })
  1634. },
  1635. uploadFile(e){
  1636. var that = this;
  1637. if(e.currentTarget.dataset.payer == null || e.currentTarget.dataset.payer == ''){
  1638. UTIL.showToastNoneIcon('请先选择付款方!');
  1639. return;
  1640. }
  1641. console.log(e);
  1642. let moneyParents = e.currentTarget.dataset.totalamount == ''?'0.00':e.currentTarget.dataset.totalamount;
  1643. let moneyChildren = e.currentTarget.dataset.expenditureamount == ''?'0.00':e.currentTarget.dataset.expenditureamount
  1644. let totalAmount = parseFloat(moneyParents) - parseFloat(moneyChildren);
  1645. console.log(moneyParents);
  1646. console.log(moneyChildren);
  1647. wx.navigateTo({
  1648. url: 'upLoad/upLoad?bankType='+e.currentTarget.dataset.banktype+'&&index='+e.currentTarget.dataset.index+'&&totalAmount='+totalAmount
  1649. })
  1650. return;
  1651. wx.chooseMessageFile({
  1652. count: 1,
  1653. type: 'file',
  1654. success (res) {
  1655. console.log(res);
  1656. // tempFilePath可以作为 img 标签的 src 属性显示图片
  1657. const tempFilePaths = res.tempFiles
  1658. wx.uploadFile({
  1659. url: API.URL_GET_UPLOADFILE,
  1660. filePath: tempFilePaths[0].path,
  1661. name: 'file',
  1662. header: {
  1663. "Content-Type": "multipart/form-data",//记得设置
  1664. "chartset":"utf-8",
  1665. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  1666. },
  1667. formData:{
  1668. bankType:'2',
  1669. accountType:'1',
  1670. isPeers:'Y'
  1671. },
  1672. success (response){
  1673. console.log(response);
  1674. let list = JSON.parse(response.data);
  1675. console.log(list);
  1676. that.setData({
  1677. ['form.transfers[0].payeeList']:list.rows
  1678. })
  1679. },
  1680. fail(res){
  1681. }
  1682. })
  1683. }
  1684. })
  1685. },
  1686. downLoad(){
  1687. wx.downloadFile({
  1688. url: API.URL_GET_DOWNFILE, //仅为示例,并非真实的资源
  1689. success (res) {
  1690. console.log(res);
  1691. // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
  1692. if (res.statusCode === 200) {
  1693. var fs = wx.getFileSystemManager();
  1694. fs.saveFile({
  1695. tempFilePath:res.tempFilePath,
  1696. success:function(response){
  1697. console.log(response);
  1698. }
  1699. })
  1700. // wx.saveFile({
  1701. // tempFilePath: res.tempFilePath,
  1702. // success:function(response){
  1703. // console.log(response);
  1704. // }
  1705. // })
  1706. // wx.playVoice({
  1707. // filePath: res.tempFilePath
  1708. // })
  1709. }
  1710. }
  1711. })
  1712. },
  1713. /**
  1714. * 生命周期函数--监听页面隐藏
  1715. */
  1716. onHide() {
  1717. },
  1718. /**
  1719. * 生命周期函数--监听页面卸载
  1720. */
  1721. onUnload() {
  1722. },
  1723. /**
  1724. * 页面相关事件处理函数--监听用户下拉动作
  1725. */
  1726. onPullDownRefresh() {
  1727. },
  1728. /**
  1729. * 页面上拉触底事件的处理函数
  1730. */
  1731. onReachBottom() {
  1732. },
  1733. /**
  1734. * 用户点击右上角分享
  1735. */
  1736. onShareAppMessage() {
  1737. }
  1738. })