微信小程序
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

426 lignes
12 KiB

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