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

fixedAssets.js 9.6 KiB

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