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

paymentTemplate.js 9.6 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  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 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. show: false,
  17. countMoney:0,
  18. form:{},
  19. SJimage: [],
  20. FPimage: [],
  21. QTimage: [],
  22. fileForm:[],
  23. },
  24. showPopup() {
  25. this.setData({ show: true });
  26. },
  27. bindNameInput(even){
  28. this.setData({
  29. ["form.approvalItemTemplate.templateName"]:even.detail.value
  30. })
  31. },
  32. goSubmit(e){
  33. var that = this;
  34. if(e.currentTarget.dataset.type == 1){
  35. if(that.data.form.approvalItemTemplate.templateName == ''){
  36. UTIL.showToastNoneIcon('请输入模板名称!');
  37. return;
  38. }
  39. }
  40. if(e.currentTarget.dataset.type == 3){
  41. for (let i = 0; i < that.data.form.transfers.length; i++) {
  42. that.data.form.transfers[i].approvalMode = '2';
  43. }
  44. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type
  45. }
  46. that.data.form.method = 'POST';
  47. that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type;
  48. that.data.form.approvalItemTemplate.id = null;
  49. for (let i = 0; i < that.data.form.transfers.length; i++) {
  50. that.data.form.transfers[i].id = null;
  51. }
  52. console.log(that.data.form);
  53. UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, {
  54. success: (res) => {
  55. if (res.code == API.SUCCESS_CODE) {
  56. for (let j = 0; j < res.data.transfers.length; j++) {
  57. for (let i = 0; i < that.data.form.transfers[j].fileForm.length; i++) {
  58. that.data.form.transfers[j].fileForm[i].tableId = res.data.transfers[j].id
  59. const element = that.data.form.transfers[j].fileForm[i];
  60. wx.uploadFile({
  61. url: API.URL_GET_UPLOAD,
  62. filePath: element.file,
  63. name: 'file',
  64. header: {
  65. "Content-Type": "multipart/form-data",//记得设置
  66. "chartset":"utf-8",
  67. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  68. },
  69. formData:element,
  70. success (response){
  71. console.log(res);
  72. if((j+1) == that.data.form.transfers.length && (i+1) == that.data.form.transfers[j].fileForm.length && e.currentTarget.dataset.type == 0){
  73. wx.navigateTo({
  74. url: '/pages/apply/approval/approval?id='+res.data.id,
  75. })
  76. }
  77. if((j+1) == that.data.form.transfers.length && (i+1) == that.data.form.transfers[j].fileForm.length && e.currentTarget.dataset.type != 0){
  78. UTIL.showToastNoneIcon('操作成功!');
  79. that.back();
  80. }
  81. },
  82. fail(res){
  83. console.log(res)
  84. }
  85. })
  86. }
  87. }
  88. }
  89. }
  90. })
  91. },
  92. onClose() {
  93. this.setData({ show: false });
  94. },
  95. goApproval(){
  96. wx.navigateTo({
  97. url: '../approval/approval',
  98. })
  99. },
  100. goSee(){
  101. wx.navigateTo({
  102. url: 'see/see',
  103. })
  104. },
  105. goUpdate(){
  106. let array = JSON.stringify(this.data.form)
  107. wx.navigateTo({
  108. url: 'add/add?type=update&array='+array,
  109. })
  110. },
  111. /**
  112. * 生命周期函数--监听页面加载
  113. */
  114. onLoad(options) {
  115. var that = this ;
  116. UTIL.httpRequest(API.URL_GET_APPROVALITEMS + options.id, {method:'GET'}, {
  117. success: (res) => {
  118. let transList = res.data.transfers;
  119. let countMoney = that.data.countMoney
  120. transList.forEach((item,index) => {
  121. item.num = UTIL.convertToChinaNum(index+1)
  122. countMoney += parseInt(item.expenditureAmount);
  123. //收据附件
  124. UTIL.httpRequest(
  125. API.URL_GET_FINDLIST,
  126. {
  127. method:'GET',
  128. tableName:'t_yinnong_transfer',
  129. tableId:item.id,
  130. fileType:1
  131. },
  132. {
  133. success: (res) => {
  134. let list = [];
  135. res.data.forEach((item2,index2)=>{
  136. wx.downloadFile({
  137. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  138. success (response) {
  139. if (response.statusCode === 200) {
  140. let fileForm = item.fileForm?item.fileForm:[];
  141. fileForm.push({
  142. file: response.tempFilePath,
  143. fileType:'1',
  144. bizPath:'transfer',
  145. tableName:'t_yinnong_transfer',
  146. tableId:''
  147. })
  148. console.log("--------------fileForm2 start----------------");
  149. console.log(fileForm);
  150. console.log("--------------fileForm2 end----------------");
  151. list.push({
  152. tempFilePath:response.tempFilePath
  153. })
  154. that.setData({
  155. ["form.transfers["+index+"].SJimage"]:list,
  156. ["form.transfers["+index+"].fileForm"]:fileForm
  157. });
  158. }
  159. }
  160. })
  161. })
  162. }
  163. })
  164. //发票
  165. UTIL.httpRequest(
  166. API.URL_GET_FINDLIST,
  167. {
  168. method:'GET',
  169. tableName:'t_yinnong_transfer',
  170. tableId:item.id,
  171. fileType:2
  172. },
  173. {
  174. success: (res) => {
  175. let list = [];
  176. res.data.forEach((item2,index2)=>{
  177. wx.downloadFile({
  178. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  179. success (response) {
  180. if (response.statusCode === 200) {
  181. let fileForm = item.fileForm?item.fileForm:[];
  182. fileForm.push({
  183. file: response.tempFilePath,
  184. fileType:'2',
  185. bizPath:'transfer',
  186. tableName:'t_yinnong_transfer',
  187. tableId:item.id
  188. })
  189. list.push({
  190. tempFilePath:response.tempFilePath
  191. })
  192. that.setData({
  193. ["form.transfers["+index+"].FPimage"]:list,
  194. ["form.transfers["+index+"].fileForm"]:fileForm
  195. });
  196. }
  197. }
  198. })
  199. })
  200. }
  201. })
  202. //其他
  203. UTIL.httpRequest(
  204. API.URL_GET_FINDLIST,
  205. {
  206. method:'GET',
  207. tableName:'t_yinnong_transfer',
  208. tableId:item.id,
  209. fileType:3
  210. },
  211. {
  212. success: (res) => {
  213. let list = [];
  214. let fileForm = item.fileForm?item.fileForm:[];
  215. res.data.forEach((item2,index2)=>{
  216. wx.downloadFile({
  217. url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源
  218. success (response) {
  219. if (response.statusCode === 200) {
  220. let fileForm = item.fileForm?item.fileForm:[];
  221. fileForm.push({
  222. file: response.tempFilePath,
  223. fileType:'3',
  224. bizPath:'transfer',
  225. tableName:'t_yinnong_transfer',
  226. tableId:item.id
  227. })
  228. list.push({
  229. tempFilePath:response.tempFilePath
  230. })
  231. that.setData({
  232. ["form.transfers["+index+"].QTimage"]:list,
  233. ["form.transfers["+index+"].fileForm"]:fileForm
  234. });
  235. }
  236. }
  237. })
  238. })
  239. }
  240. })
  241. });
  242. res.data.transfers = transList
  243. that.setData({
  244. form:res.data,
  245. countMoney:countMoney
  246. });
  247. }
  248. })
  249. },
  250. /**
  251. * 生命周期函数--监听页面初次渲染完成
  252. */
  253. onReady() {
  254. },
  255. goDelete(e){
  256. var that = this;
  257. if(that.data.form.transfers.length<2){
  258. UTIL.showToastNoneIcon('最少保留一条事项');
  259. return;
  260. }
  261. let countMoney = that.data.countMoney;
  262. console.log(that.data.form);
  263. countMoney -= parseInt(that.data.form.transfers[e.currentTarget.dataset.index].expenditureAmount);
  264. that.data.form.transfers.splice(e.currentTarget.dataset.index, 1);
  265. that.setData({
  266. form : that.data.form,
  267. countMoney:countMoney
  268. })
  269. UTIL.showToastNoneIcon('删除成功!');
  270. },
  271. back:function(){
  272. wx.navigateBack({
  273. delta: 1
  274. })
  275. },
  276. /**
  277. * 生命周期函数--监听页面显示
  278. */
  279. onShow() {
  280. },
  281. /**
  282. * 生命周期函数--监听页面隐藏
  283. */
  284. onHide() {
  285. },
  286. /**
  287. * 生命周期函数--监听页面卸载
  288. */
  289. onUnload() {
  290. },
  291. /**
  292. * 页面相关事件处理函数--监听用户下拉动作
  293. */
  294. onPullDownRefresh() {
  295. },
  296. /**
  297. * 页面上拉触底事件的处理函数
  298. */
  299. onReachBottom() {
  300. },
  301. /**
  302. * 用户点击右上角分享
  303. */
  304. onShareAppMessage() {
  305. }
  306. })