微信小程序
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

list.js 12 KiB

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