微信小程序
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.

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