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

1717 line
62 KiB

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