微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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