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

425 рядки
13 KiB

  1. // pages/apply/paymentTemplate/paymentTemplate.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 app = getApp();
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. isIPX: app.globalData.isIPX,
  12. show: false,
  13. countMoney:0,
  14. form:{},
  15. SJimage: [],
  16. FPimage: [],
  17. QTimage: [],
  18. fileForm:[],
  19. activeNames: ['1'],
  20. },
  21. showPopup() {
  22. this.setData({ show: true });
  23. },
  24. bindNameInput(even){
  25. this.setData({
  26. ["form.approvalItemTemplate.templateName"]:even.detail.value
  27. })
  28. },
  29. goSubmit(e){
  30. var that = this;
  31. if(e.currentTarget.dataset.type == 1){
  32. if(that.data.form.approvalItemTemplate.templateName == ''){
  33. UTIL.showToastNoneIcon('请输入模板名称!');
  34. return;
  35. }
  36. }
  37. if(e.currentTarget.dataset.type == 3){
  38. for (let i = 0; i < that.data.form.transfers.length; i++) {
  39. that.data.form.transfers[i].approvalMode = '2';
  40. }
  41. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type
  42. }
  43. that.data.form.method = 'POST';
  44. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type;
  45. that.data.form.approvalItemTemplate.id = null;
  46. for (let i = 0; i < that.data.form.transfers.length; i++) {
  47. that.data.form.transfers[i].id = null;
  48. }
  49. console.log(that.data.form);
  50. UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, {
  51. success: (res) => {
  52. if (res.code == API.SUCCESS_CODE) {
  53. console.log(that.data.form);
  54. for (let j = 0; j < res.data.transfers.length; j++) {
  55. if(that.data.form.transfers[j].fileForm == undefined){continue;}
  56. for (let i = 0; i < that.data.form.transfers[j].fileForm.length; i++) {
  57. that.data.form.transfers[j].fileForm[i].tableId = res.data.transfers[j].id
  58. const element = that.data.form.transfers[j].fileForm[i];
  59. wx.uploadFile({
  60. url: API.URL_GET_UPLOAD,
  61. filePath: element.file,
  62. name: 'file',
  63. header: {
  64. "Content-Type": "multipart/form-data",//记得设置
  65. "chartset":"utf-8",
  66. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  67. },
  68. formData:element,
  69. success (response){
  70. console.log(res);
  71. },
  72. fail(res){
  73. console.log(res)
  74. }
  75. })
  76. }
  77. }
  78. if(e.currentTarget.dataset.type == 0){
  79. wx.navigateTo({
  80. url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId,
  81. })
  82. }
  83. if(e.currentTarget.dataset.type == 3){
  84. UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, {
  85. success: (res2) => {
  86. if (res2.code == API.SUCCESS_CODE) {
  87. wx.showToast({
  88. title: '操作成功',
  89. icon: 'success',
  90. duration: 2000,
  91. complete(){
  92. setTimeout(function(){
  93. that.back();
  94. },2000)
  95. }
  96. })
  97. }else{
  98. wx.showToast({
  99. title: '操作失败',
  100. icon: 'success',
  101. duration: 2000
  102. })
  103. }
  104. }
  105. })
  106. }
  107. }
  108. }
  109. })
  110. },
  111. onClose() {
  112. this.setData({ show: false });
  113. },
  114. goApproval(){
  115. wx.navigateTo({
  116. url: '../approval/approval',
  117. })
  118. },
  119. goSee(){
  120. let array = JSON.stringify(this.data.form)
  121. wx.navigateTo({
  122. url: 'see/see?array='+array+"&index="+e.currentTarget.dataset.index,
  123. })
  124. },
  125. goUpdate(e){
  126. let array = JSON.stringify(this.data.form)
  127. wx.navigateTo({
  128. url: 'add/add?type=update&array='+array+'&add='+e.currentTarget.dataset.add,
  129. })
  130. },
  131. /**
  132. * 生命周期函数--监听页面加载
  133. */
  134. onLoad(options) {
  135. var that = this ;
  136. //所属银行
  137. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, {
  138. success: (res) => {
  139. this.setData({
  140. bankTypeOptions:res.data
  141. });
  142. }
  143. })
  144. // 资金支出类别字典查询
  145. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, {
  146. success: (res) => {
  147. that.setData({
  148. capitalExpenditureTypeOptions:res.data,
  149. })
  150. }
  151. })
  152. // 付款方式类型字典查询
  153. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'transfer_type', {method:'GET'}, {
  154. success: (res) => {
  155. that.setData({
  156. transferTypeOptions:res.data,
  157. })
  158. }
  159. })
  160. // 项目工程列表
  161. UTIL.httpRequest(API.URL_GET_GETPROJECTLIST , {method:'GET'}, {
  162. success: (res) => {
  163. that.setData({
  164. projectOptions:res.rows,
  165. })
  166. }
  167. })
  168. // 工程款类型字典查询
  169. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'project_fund_type', {method:'GET'}, {
  170. success: (res) => {
  171. that.setData({
  172. projectFundTypeOptions:res.data,
  173. })
  174. }
  175. })
  176. // 获取合同信息列表
  177. UTIL.httpRequest(API.URL_GET_CONTRACTIONLIST , {method:'GET'}, {
  178. success: (res) => {
  179. that.setData({
  180. contractionOptions:res.rows,
  181. })
  182. }
  183. })
  184. UTIL.httpRequest(API.URL_GET_APPROVALITEMS + options.id, {method:'GET'}, {
  185. success: (res) => {
  186. let transList = res.data.transfers;
  187. transList.forEach((item,index) => {
  188. item.num = UTIL.convertToChinaNum(index+1)
  189. transList[index].capitalExpenditureTypeText = UTIL.getTransform(item.capitalExpenditureType,that.data.capitalExpenditureTypeOptions);
  190. transList[index].transferTypeText = UTIL.getTransform(item.transferType,that.data.transferTypeOptions);
  191. transList[index].bankTypeText = UTIL.getTransform(item.bankType,that.data.bankTypeOptions);
  192. transList[index].payeeList.forEach( (response,i) => {
  193. transList[index].payeeList[i].bankTypeText = UTIL.getTransform(response.bankType,that.data.bankTypeOptions);
  194. })
  195. if(item.capitalExpenditureType == 2){
  196. let prames = {
  197. outId:item.id,
  198. ynType: item.transferType=='1'||item.transferType=='2'||item.transferType=='4'?'1':'2'
  199. }
  200. // 工程项目查询
  201. UTIL.httpRequest(API.URL_GET_GETPROJECTTO , prames, {
  202. success: (res) => {
  203. res.data.projectFundTypeText = UTIL.getTransform(res.data.projectFundType,that.data.projectFundTypeOptions);
  204. array.transfers[index].projectForm = res.data;
  205. }
  206. })
  207. }
  208. //收据附件
  209. UTIL.httpRequest(
  210. API.URL_GET_FINDLIST,
  211. {
  212. method:'GET',
  213. tableName:'t_yinnong_transfer',
  214. tableId:item.id,
  215. fileType:1
  216. },
  217. {
  218. success: (res) => {
  219. let list = [];
  220. res.data.forEach((item2,index2)=>{
  221. wx.downloadFile({
  222. url: wx.getStorageSync('dressCode')+item2.fileUrl, //仅为示例,并非真实的资源
  223. success (response) {
  224. if (response.statusCode === 200) {
  225. let fileForm = item.fileForm?item.fileForm:[];
  226. fileForm.push({
  227. file: response.tempFilePath,
  228. fileType:'1',
  229. bizPath:'transfer',
  230. tableName:'t_yinnong_transfer',
  231. tableId:''
  232. })
  233. console.log("--------------fileForm2 start----------------");
  234. console.log(fileForm);
  235. console.log("--------------fileForm2 end----------------");
  236. list.push({
  237. tempFilePath:response.tempFilePath
  238. })
  239. that.setData({
  240. ["form.transfers["+index+"].SJimage"]:list,
  241. ["form.transfers["+index+"].fileForm"]:fileForm
  242. });
  243. }
  244. }
  245. })
  246. })
  247. }
  248. })
  249. //发票
  250. UTIL.httpRequest(
  251. API.URL_GET_FINDLIST,
  252. {
  253. method:'GET',
  254. tableName:'t_yinnong_transfer',
  255. tableId:item.id,
  256. fileType:2
  257. },
  258. {
  259. success: (res) => {
  260. let list = [];
  261. res.data.forEach((item2,index2)=>{
  262. wx.downloadFile({
  263. url: wx.getStorageSync('dressCode')+item2.fileUrl, //仅为示例,并非真实的资源
  264. success (response) {
  265. if (response.statusCode === 200) {
  266. let fileForm = item.fileForm?item.fileForm:[];
  267. fileForm.push({
  268. file: response.tempFilePath,
  269. fileType:'2',
  270. bizPath:'transfer',
  271. tableName:'t_yinnong_transfer',
  272. tableId:item.id
  273. })
  274. list.push({
  275. tempFilePath:response.tempFilePath
  276. })
  277. that.setData({
  278. ["form.transfers["+index+"].FPimage"]:list,
  279. ["form.transfers["+index+"].fileForm"]:fileForm
  280. });
  281. }
  282. }
  283. })
  284. })
  285. }
  286. })
  287. //其他
  288. UTIL.httpRequest(
  289. API.URL_GET_FINDLIST,
  290. {
  291. method:'GET',
  292. tableName:'t_yinnong_transfer',
  293. tableId:item.id,
  294. fileType:3
  295. },
  296. {
  297. success: (res) => {
  298. let list = [];
  299. let fileForm = item.fileForm?item.fileForm:[];
  300. res.data.forEach((item2,index2)=>{
  301. wx.downloadFile({
  302. url: wx.getStorageSync('dressCode')+item2.fileUrl, //仅为示例,并非真实的资源
  303. success (response) {
  304. if (response.statusCode === 200) {
  305. let fileForm = item.fileForm?item.fileForm:[];
  306. fileForm.push({
  307. file: response.tempFilePath,
  308. fileType:'3',
  309. bizPath:'transfer',
  310. tableName:'t_yinnong_transfer',
  311. tableId:item.id
  312. })
  313. list.push({
  314. tempFilePath:response.tempFilePath
  315. })
  316. that.setData({
  317. ["form.transfers["+index+"].QTimage"]:list,
  318. ["form.transfers["+index+"].fileForm"]:fileForm
  319. });
  320. }
  321. }
  322. })
  323. })
  324. }
  325. })
  326. });
  327. res.data.transfers = transList
  328. that.setData({
  329. form:res.data,
  330. });
  331. }
  332. })
  333. },
  334. /**
  335. * 生命周期函数--监听页面初次渲染完成
  336. */
  337. onReady() {
  338. },
  339. goDelete(e){
  340. var that = this;
  341. if(that.data.form.transfers.length<2){
  342. UTIL.showToastNoneIcon('最少保留一条事项');
  343. return;
  344. }
  345. let countMoney = that.data.form.approvalItemTemplate.totalAmount;
  346. console.log(that.data.form);
  347. countMoney -= parseInt(that.data.form.transfers[e.currentTarget.dataset.index].expenditureAmount);
  348. that.data.form.transfers.splice(e.currentTarget.dataset.index, 1);
  349. that.setData({
  350. form : that.data.form,
  351. ["that.data.form.approvalItemTemplate.totalAmount"]:countMoney
  352. })
  353. UTIL.showToastNoneIcon('删除成功!');
  354. },
  355. back:function(){
  356. wx.navigateBack({
  357. delta: 1
  358. })
  359. },
  360. onChange(event) {
  361. this.setData({
  362. activeNames: event.detail,
  363. });
  364. },
  365. /**
  366. * 生命周期函数--监听页面显示
  367. */
  368. onShow() {
  369. },
  370. /**
  371. * 生命周期函数--监听页面隐藏
  372. */
  373. onHide() {
  374. },
  375. /**
  376. * 生命周期函数--监听页面卸载
  377. */
  378. onUnload() {
  379. },
  380. /**
  381. * 页面相关事件处理函数--监听用户下拉动作
  382. */
  383. onPullDownRefresh() {
  384. },
  385. /**
  386. * 页面上拉触底事件的处理函数
  387. */
  388. onReachBottom() {
  389. },
  390. /**
  391. * 用户点击右上角分享
  392. */
  393. onShareAppMessage() {
  394. }
  395. })