微信小程序
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

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