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

fixedAssets.js 13 KiB

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