微信小程序
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

449 rindas
12 KiB

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