微信小程序
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

paymentManager.js 11 KiB

3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
3 lat temu
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  1. // pages/paymentManager/paymentManager.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. list:[],
  17. isLoading:false,
  18. pageNums:1,
  19. scrollHeight:"",
  20. name:"",
  21. showUpload:false,
  22. uploadOptions:[],
  23. fileList:[],
  24. showPopup:false,
  25. fileEvent:{},
  26. itemId:"",
  27. assetTypeOptions:[],
  28. option1: [
  29. { text: '支付状态', value: '' },
  30. { text: '待支付', value: '1' },
  31. { text: '银行受理', value: '3' },
  32. { text: '支付失败', value: '4' },
  33. { text: '部分失败', value: '5' },
  34. ],
  35. option2: [
  36. { text: '支出类别', value: '' },
  37. { text: '结算类', value: '1' },
  38. { text: '工程项目类', value: '2' },
  39. { text: '合同类', value: '4' },
  40. { text: '其他', value: '5' },
  41. ],
  42. option3: [
  43. { text: '申请类别', value: '' },
  44. { text: '银行卡转账', value: '1' },
  45. { text: '信用卡还款', value: '2' },
  46. ],
  47. value1: '',
  48. value2: '',
  49. value3: '',
  50. },
  51. goAdd(){
  52. wx.navigateTo({
  53. url: 'add/add',
  54. })
  55. },
  56. back:function(){
  57. wx.navigateBack({
  58. delta: 1
  59. })
  60. },
  61. assetTypeDict(val){
  62. this.data.assetTypeOptions.map(res => {
  63. if(res.dictValue == val){
  64. return res.dictLabel
  65. }
  66. })
  67. },
  68. /**
  69. * 生命周期函数--监听页面加载
  70. */
  71. onLoad(options) {
  72. var that = this;
  73. let qu = wx.createSelectorQuery()
  74. qu.select("#top_view1").boundingClientRect()
  75. qu.select("#top_ban").boundingClientRect()
  76. qu.exec(res => {
  77. that.setData({
  78. scrollHeight:wx.getSystemInfoSync().windowHeight-res[0].height-res[0].top
  79. })
  80. })
  81. this.getList();
  82. },
  83. /**
  84. * 生命周期函数--监听页面初次渲染完成
  85. */
  86. onReady() {
  87. //获取附件字典
  88. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bookkeeping_type', {method:'GET'}, {
  89. success: (res) => {
  90. if(res.data.length>0){
  91. this.setData({
  92. uploadOptions:res.data,
  93. })
  94. }
  95. }
  96. })
  97. },
  98. getList:function(){
  99. let params = {
  100. pageNum:this.data.pageNums,
  101. pageSize:10,
  102. name:this.data.name,
  103. paymentState:this.data.value1,
  104. capitalExpenditureType:this.data.value2,
  105. transferType:this.data.value3
  106. }
  107. UTIL.httpRequest(API.URL_GET_TRANSFERPAYLIST,params,{
  108. success: (res) => {
  109. let _this = this
  110. if(res.code == 200){
  111. if(this.data.pageNums!=1&&this.data.list.length<res.total){
  112. let lists = []
  113. res.rows.map((rr,index) => {
  114. rr.expenditureAmount = Number(rr.expenditureAmount ).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
  115. return $1 + ","; }).replace(/\.$/, "")
  116. if(index==(res.rows.length-1)){
  117. lists = _this.data.list.concat(res.rows)
  118. }
  119. })
  120. //获取资产类别
  121. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'asset_type', {method:'GET'}, {
  122. success: (r) => {
  123. if(r.data.length>0){
  124. let li = lists.map( res => {
  125. r.data.map(rr => {
  126. if(res.assetType == rr.dictValue){
  127. res.assetType = rr.dictLabel
  128. }
  129. })
  130. return res
  131. })
  132. _this.setData({list:li})
  133. }else{
  134. _this.setData({list:lists})
  135. }
  136. }
  137. })
  138. }else if(this.data.pageNums==1){
  139. //获取资产类别
  140. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'asset_type', {method:'GET'}, {
  141. success: (r) => {
  142. if(r.data.length>0){
  143. let li = res.rows.map( ress => {
  144. ress.originalValue = Number(ress.originalValue ).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
  145. return $1 + ","; }).replace(/\.$/, "")
  146. r.data.map(rr => {
  147. if(ress.assetType == rr.dictValue){
  148. ress.assetType = rr.dictLabel
  149. }
  150. })
  151. return ress
  152. })
  153. _this.setData({list:li})
  154. }else{
  155. _this.setData({list:res.rows})
  156. }
  157. }
  158. })
  159. }
  160. }else{
  161. UTIL.showToastNoneIcon(res.msg);
  162. }
  163. }
  164. })
  165. },
  166. paging(){
  167. this.setData({
  168. pageNums:this.data.pageNums+1,
  169. })
  170. this.getList();
  171. },
  172. goSearch(e){
  173. this.setData({name:e.detail});
  174. this.setData({pageNums:1});
  175. this.getList();
  176. },
  177. toPay(e){
  178. wx.navigateTo({
  179. url: '/pages/paymentManager/toPay/toPay?id='+e.currentTarget.dataset.ids
  180. })
  181. },
  182. toPayDetail(e){
  183. wx.navigateTo({
  184. url: '/pages/pay/detail?id='+e.currentTarget.dataset.id+'&&ids='+e.currentTarget.dataset.ids,
  185. })
  186. },
  187. scrap(e){
  188. console.log(e.currentTarget.dataset.data.id,e.currentTarget.dataset.data.index);
  189. if(e.currentTarget.dataset.data.assetStatus != 1){
  190. UTIL.showToastNoneIcon('只允许修改资产状态为正常的资产!');
  191. return false;
  192. }else if(e.currentTarget.dataset.data.useType == 3){
  193. UTIL.showToastNoneIcon('使用状态为出租或出借不允许操作!');
  194. return false;
  195. }else{
  196. UTIL.httpRequest(API.URL_GET_UPDATERSCRAP + e.currentTarget.dataset.data.id , {method:'GET'}, {
  197. success: (res) => {
  198. if(res.code==200){
  199. let new_list = this.data.list
  200. new_list.splice(e.currentTarget.dataset.data.index,1)
  201. this.setData({'list':new_list})
  202. UTIL.showToastNoneIcon('报废成功!');
  203. }else{
  204. UTIL.showToastNoneIcon('报废失败!:'+res.msg);
  205. }
  206. }
  207. })
  208. }
  209. },
  210. sell(e){
  211. console.log(e.currentTarget.dataset.data.id,e.currentTarget.dataset.data.index);
  212. if(e.currentTarget.dataset.data.assetStatus != 1){
  213. UTIL.showToastNoneIcon('只允许修改资产状态为正常的资产!');
  214. return false;
  215. }else if(e.currentTarget.dataset.data.useType == 3){
  216. UTIL.showToastNoneIcon('使用状态为出租或出借不允许操作!');
  217. return false;
  218. }else{
  219. UTIL.httpRequest(API.URL_GET_UPDATERSALE + e.currentTarget.dataset.data.id , {method:'GET'}, {
  220. success: (res) => {
  221. if(res.code==200){
  222. let new_list = this.data.list
  223. new_list.splice(e.currentTarget.dataset.data.index,1)
  224. this.setData({'list':new_list})
  225. UTIL.showToastNoneIcon('出售成功!');
  226. }else{
  227. UTIL.showToastNoneIcon('出售失败!:'+res.msg);
  228. }
  229. }
  230. })
  231. }
  232. },
  233. change(e){
  234. var that = this ;
  235. that.setData({value:e.detail,pageNum:1})
  236. this.getList()
  237. },
  238. changeTab(e){
  239. var that = this ;
  240. that.setData({value1:e.detail,pageNum:1})
  241. this.getList()
  242. },
  243. changeTab2(e){
  244. var that = this ;
  245. that.setData({value2:e.detail,pageNum:1})
  246. this.getList()
  247. },
  248. upload(e){
  249. this.setData({itemId:e.currentTarget.dataset.id});
  250. this.asyncFun(e.currentTarget.dataset.id)
  251. },
  252. asyncFun(id){
  253. this.setData({"fileList":[]})
  254. let uploadList = this.data.uploadOptions
  255. let _this = this
  256. uploadList.map( (res,idx) => {
  257. res.list=[]
  258. console.log(res);
  259. let oData = {
  260. tableId: id,
  261. tableName: "t_yinnong_transfer", //上传表
  262. bizPath: "transfer",
  263. fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字
  264. method:'GET'
  265. }
  266. UTIL.httpRequest(API.URL_GET_ATTACHMENTLIST, oData, {
  267. success: (rr) => {
  268. if(rr.rows.length>0){
  269. rr.rows.map((rrr,index) => {
  270. rrr.url = URL_PREFIX + rrr.fileUrl
  271. rrr.name = rrr.fileName
  272. if(index==rr.rows.length-1){
  273. res.list = rr.rows
  274. let lis = uploadList
  275. lis[idx] = res
  276. _this.setData({"fileList":lis});
  277. _this.setData({"showUpload":true})
  278. }
  279. })
  280. }
  281. else{
  282. _this.setData({"showUpload":true})
  283. }
  284. }
  285. })
  286. })
  287. },
  288. closeBox(){
  289. this.setData({"showUpload":false})
  290. },
  291. uploadFile(uploadFile,event) {
  292. let _this = this
  293. return new Promise((resolve, reject) => {
  294. wx.uploadFile({
  295. url: API.URL_GET_UPLOAD,
  296. filePath: uploadFile.file.file.url,
  297. name: 'file',
  298. header: {
  299. "Content-Type": "multipart/form-data",//记得设置
  300. "chartset":"utf-8",
  301. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  302. },
  303. formData:uploadFile,
  304. success: (res) => {
  305. res.data = JSON.parse(res.data);
  306. if(res.statusCode == 200){
  307. let files = _this.data.fileList
  308. let fName = res.data.fileUrl.split('/')
  309. let fLength = fName.length
  310. files[event.currentTarget.dataset.idx].list.push({
  311. "fileName": fName[fLength-1],
  312. "name":fName[fLength-1],
  313. "fileType": "0",
  314. "fileUrl":res.data.fileUrl ,
  315. "id": res.data.id,
  316. "tableId": 6,
  317. "url":URL_PREFIX+res.data.fileUrl
  318. })
  319. _this.setData({"fileList":files})
  320. wx.hideLoading()
  321. }
  322. },
  323. fail: (err) => {
  324. //上传失败:修改pedding为reject
  325. reject(err)
  326. }
  327. });
  328. })
  329. },
  330. afterRead(event) {
  331. let _this = this
  332. wx.showLoading({
  333. title: '上传中...'
  334. })
  335. let fileForm={
  336. file: event.detail,
  337. fileType:event.currentTarget.dataset.idx,
  338. tableName: "t_yinnong_transfer", //上传表
  339. bizPath: "transfer",
  340. tableId:_this.data.itemId
  341. }
  342. this.uploadFile(fileForm,event)
  343. },
  344. lookDown(e){
  345. let file =e
  346. // 获取指定字符串最后一次出现的位置,返回index
  347. var index1 = file.detail.url.lastIndexOf('.');
  348. // substr(start, length) 抽取从start下标开始的length个字符,返回新的字符串;
  349. var style = file.detail.url.substr(index1 + 1)
  350. //判断图片类型,不需要下载,不做处理
  351. if(style=='png'||style=='jpg'||style=='jpeg'||style=='bmp'||style=='gif'||style=='webp'||style=='psd'||style== 'svg'||style=='tiff'){
  352. //判断非图片类型
  353. }else{
  354. wx.downloadFile({
  355. url: file.detail.url,
  356. success(data){
  357. wx.openDocument({
  358. filePath: data.tempFilePath,
  359. fileType: style,
  360. showMenu:true,
  361. success(res){
  362. }
  363. })
  364. }
  365. })
  366. }
  367. },
  368. /**
  369. * 生命周期函数--监听页面显示
  370. */
  371. onShow() {
  372. this.setData({'pageNums':1})
  373. this.getList();
  374. },
  375. /**
  376. * 生命周期函数--监听页面隐藏
  377. */
  378. onHide() {
  379. },
  380. /**
  381. * 生命周期函数--监听页面卸载
  382. */
  383. onUnload() {
  384. },
  385. /**
  386. * 页面相关事件处理函数--监听用户下拉动作
  387. */
  388. onPullDownRefresh() {
  389. },
  390. /**
  391. * 页面上拉触底事件的处理函数
  392. */
  393. onReachBottom() {
  394. },
  395. /**
  396. * 用户点击右上角分享
  397. */
  398. onShareAppMessage() {
  399. }
  400. })