微信小程序
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

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