微信小程序
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.

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