微信小程序
Você não pode selecionar mais de 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.

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