微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

398 rivejä
10 KiB

  1. // pages/project/project.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. eventName:"",
  17. value:'',
  18. pageNums:1,
  19. showUpload:false,
  20. uploadOptions:[],
  21. fileList:[],
  22. itemId:"",
  23. itemIndex:"",
  24. list:[],
  25. fileEvent:{},
  26. showPopupDel:false,
  27. showPopupSubmit:false,
  28. },
  29. /**
  30. * 生命周期函数--监听页面加载
  31. */
  32. onLoad(options) {
  33. var _this = this;
  34. let qu = wx.createSelectorQuery()
  35. qu.select("#top_view").boundingClientRect()
  36. qu.exec(res => {
  37. _this.setData({
  38. scrollHeight:wx.getSystemInfoSync().windowHeight-res[0].height-res[0].top
  39. })
  40. })
  41. //获取附件字典
  42. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'common_attach', {method:'GET'}, {
  43. success: (res) => {
  44. this.setData({
  45. uploadOptions:res.data,
  46. })
  47. }
  48. })
  49. },
  50. /**
  51. * 生命周期函数--监听页面初次渲染完成
  52. */
  53. onReady() {
  54. this.onShow();
  55. },
  56. goSearch(e){
  57. this.setData({eventName:e.detail})
  58. this.onShow();
  59. },
  60. goAdd(){
  61. wx.navigateTo({
  62. url: 'add/add',
  63. })
  64. },
  65. back:function(){
  66. wx.navigateBack({
  67. delta: 1
  68. })
  69. },
  70. goUpdate(e){
  71. wx.navigateTo({
  72. url: 'add/add?id='+ e.currentTarget.dataset.id,
  73. })
  74. },
  75. /**
  76. * 生命周期函数--监听页面显示
  77. */
  78. onShow() {
  79. var that = this;
  80. let params = {
  81. pageNum : this.data.pageNum,
  82. pageSize: 10,
  83. eventName: this.data.eventName,
  84. method:'GET'
  85. }
  86. UTIL.httpRequest(API.URL_GET_MAJOREVENTLIST, params, {
  87. success: (res) => {
  88. this.setData({
  89. list:res.rows
  90. });
  91. }
  92. })
  93. },
  94. submit(e){
  95. this.setData({
  96. 'itemId':e.currentTarget.dataset.id,
  97. 'itemIndex':e.currentTarget.dataset.index,
  98. "showPopupSubmit":true
  99. });
  100. },
  101. confirmTemSub(){
  102. this.setData({
  103. "showPopupSubmit":false
  104. });
  105. UTIL.httpRequest(API.URL_GET_MAJOREVENTSUBMIT + this.data.itemId , {method:'GET'}, {
  106. success: (res) => {
  107. if(res.code==200){
  108. let new_list = this.data.list
  109. new_list[this.data.itemIndex].auditStatus = '1'
  110. this.setData({'list':new_list})
  111. UTIL.showToastNoneIcon('提交成功');
  112. }else{
  113. UTIL.showToastNoneIcon('提交失败!');
  114. }
  115. }
  116. })
  117. },
  118. cancelTemSub(){
  119. this.setData({
  120. "itemId":"",
  121. "itemIndex":"",
  122. "showPopupSubmit":false
  123. });
  124. },
  125. delete(e){
  126. this.setData({
  127. 'itemId':e.currentTarget.dataset.id,
  128. 'itemIndex':e.currentTarget.dataset.index,
  129. "showPopupDel":true
  130. });
  131. },
  132. cancelTemDel:function(e){
  133. this.setData({
  134. "itemId":"",
  135. "itemIndex":"",
  136. "showPopupDel":false
  137. });
  138. },
  139. confirmTemDel:function(e){
  140. this.setData({
  141. "showPopupDel":false
  142. });
  143. UTIL.httpRequest(API.URL_GET_MAJOREVENTDELETE + this.data.itemId , {method:'GET'}, {
  144. success: (res) => {
  145. if(res.code==200){
  146. let new_list = this.data.list
  147. new_list.splice(this.data.index,1)
  148. this.setData({'list':new_list})
  149. UTIL.showToastNoneIcon('删除成功!');
  150. }else{
  151. UTIL.showToastNoneIcon('删除失败!');
  152. }
  153. }
  154. })
  155. },
  156. changeTab(e){
  157. var that = this ;
  158. that.setData({value1:e.detail})
  159. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'order_type', {method:'GET'}, {
  160. success: (res) => {
  161. UTIL.httpRequest(API.URL_GET_GETMONEYORDERLIST, {method:'GET',orderType:that.data.value1,orderStatus:that.data.value2},{
  162. success: (response) => {
  163. if (response.code == API.SUCCESS_CODE) {
  164. for (let i = 0; i < response.rows.length; i++) {
  165. response.rows[i].orderTypeText = UTIL.getTransform(response.rows[i].orderType,res.data);
  166. response.rows[i].startTime = response.rows[i].startTime.replace(/-/g,".");
  167. response.rows[i].endTime = response.rows[i].endTime.replace(/-/g,".");
  168. response.rows[i].orderAmount = parseFloat(response.rows[i].orderAmount).toFixed(2);
  169. }
  170. that.setData({
  171. moneyorderList:response.rows
  172. })
  173. }
  174. }
  175. })
  176. }
  177. })
  178. },
  179. changeTab2(e){
  180. var that = this ;
  181. that.setData({value2:e.detail})
  182. UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'order_type', {method:'GET'}, {
  183. success: (res) => {
  184. UTIL.httpRequest(API.URL_GET_GETMONEYORDERLIST, {method:'GET',orderType:that.data.value1,orderStatus:that.data.value2},{
  185. success: (response) => {
  186. if (response.code == API.SUCCESS_CODE) {
  187. for (let i = 0; i < response.rows.length; i++) {
  188. response.rows[i].orderTypeText = UTIL.getTransform(response.rows[i].orderType,res.data);
  189. response.rows[i].startTime = response.rows[i].startTime.replace(/-/g,".");
  190. response.rows[i].endTime = response.rows[i].endTime.replace(/-/g,".");
  191. response.rows[i].orderAmount = parseFloat(response.rows[i].orderAmount).toFixed(2);
  192. }
  193. that.setData({
  194. moneyorderList:response.rows
  195. })
  196. }
  197. }
  198. })
  199. }
  200. })
  201. },
  202. upload(e){
  203. this.setData({itemId:e.currentTarget.dataset.id});
  204. this.asyncFun(e.currentTarget.dataset.id)
  205. },
  206. asyncFun(id){
  207. this.setData({"fileList":[]})
  208. let uploadList = this.data.uploadOptions
  209. let newList = []
  210. let _this = this
  211. uploadList.map( res => {
  212. let oData = {
  213. tableId: id,
  214. tableName: "t_yinnong_majorevent", //上传表
  215. bizPath: "yinnong",
  216. fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字
  217. method:'GET'
  218. }
  219. UTIL.httpRequest(API.URL_GET_ATTACHMENTLIST, oData, {
  220. success: (rr) => {
  221. if(rr.code==200&&rr.rows.length>0){
  222. rr.rows.map((rrr,index) => {
  223. rrr.url = URL_PREFIX + rrr.fileUrl
  224. if(index==rr.rows.length-1){
  225. newList.push(Object.assign({},res,{"list":rr.rows}))
  226. _this.setData({"fileList":_this.data.fileList.concat(newList)});
  227. _this.setData({"showUpload":true})
  228. }
  229. })
  230. }else{
  231. let newuploadList = uploadList
  232. newuploadList.map(rd => {
  233. rd.list = newList
  234. })
  235. _this.setData({"fileList":newuploadList});
  236. _this.setData({"showUpload":true})
  237. }
  238. },
  239. fail:(rr) =>{
  240. },
  241. complete:(rr) => {
  242. }
  243. })
  244. })
  245. },
  246. closeBox(){
  247. this.setData({"showUpload":false})
  248. },
  249. deleteImg(event){
  250. this.setData({"fileEvent":event})
  251. this.setData({"showPopup":true});
  252. },
  253. cancelTem:function(e){
  254. this.setData({"fileEvent":"{}"});
  255. this.setData({"showPopup":false});
  256. },
  257. confirmTem:function(e){
  258. let event = this.data.fileEvent
  259. UTIL.httpRequest(API.URL_GET_GETFILEREMOVE+event.detail.file.id , {method:'GET'}, {
  260. success: (res) => {
  261. if(res.code==200){
  262. let ll = this.data.fileList
  263. var jsonlist = ll[event.target.dataset.idx].list;
  264. jsonlist.splice(event.detail.index, 1)
  265. ll[event.target.dataset.idx].list = jsonlist
  266. this.setData({"fileList":ll})
  267. this.setData({showPopup:false});
  268. wx.showToast({
  269. title: '删除成功!',
  270. icon: 'success',
  271. duration: 2000,
  272. })
  273. }
  274. }
  275. })
  276. },
  277. uploadFile(uploadFile,event) {
  278. let _this = this
  279. return new Promise((resolve, reject) => {
  280. wx.uploadFile({
  281. url: API.URL_GET_UPLOAD,
  282. filePath: uploadFile.file.file.url,
  283. name: 'file',
  284. header: {
  285. "Content-Type": "multipart/form-data",//记得设置
  286. "chartset":"utf-8",
  287. 'Authorization':'Bearer '+getApp().globalData.userInfo.token
  288. },
  289. formData:uploadFile,
  290. success: (res) => {
  291. res.data = JSON.parse(res.data);
  292. if(res.statusCode == 200){
  293. let files = _this.data.fileList
  294. let fName = res.data.fileUrl.split('/')
  295. let fLength = fName.length
  296. files[event.currentTarget.dataset.idx].list.push({
  297. "fileName": fName[fLength-1],
  298. "fileType": "0",
  299. "fileUrl":res.data.fileUrl ,
  300. "id": res.data.id,
  301. "tableId": 6,
  302. "url":URL_PREFIX+res.data.fileUrl
  303. })
  304. _this.setData({"fileList":files})
  305. wx.hideLoading()
  306. }
  307. },
  308. fail: (err) => {
  309. //上传失败:修改pedding为reject
  310. reject(err)
  311. }
  312. });
  313. })
  314. },
  315. afterRead(event) {
  316. let _this = this
  317. wx.showLoading({
  318. title: '上传中...'
  319. })
  320. let fileForm={
  321. file: event.detail,
  322. fileType:event.currentTarget.dataset.idx,
  323. tableName: "t_yinnong_majorevent", //上传表
  324. bizPath: "yinnong",
  325. tableId:_this.data.itemId
  326. }
  327. this.uploadFile(fileForm,event)
  328. },
  329. lookDown(file,detail){
  330. // 获取指定字符串最后一次出现的位置,返回index
  331. var index1 = file.detail.url.lastIndexOf('.');
  332. // substr(start, length) 抽取从start下标开始的length个字符,返回新的字符串;
  333. var style = file.detail.url.substr(index1 + 1)
  334. //判断图片类型,不需要下载,不做处理
  335. if(style=='png'||style=='jpg'||style=='jpeg'||style=='bmp'||style=='gif'||style=='webp'||style=='psd'||style== 'svg'||style=='tiff'){
  336. //判断非图片类型
  337. }else{
  338. wx.downloadFile({
  339. url: file.detail.url,
  340. success(data){
  341. wx.openDocument({
  342. filePath: data.tempFilePath,
  343. fileType: style,
  344. showMenu:true,
  345. success(res){
  346. }
  347. })
  348. }
  349. })
  350. }
  351. },
  352. /**
  353. * 生命周期函数--监听页面隐藏
  354. */
  355. onHide() {
  356. },
  357. /**
  358. * 生命周期函数--监听页面卸载
  359. */
  360. onUnload() {
  361. },
  362. /**
  363. * 页面相关事件处理函数--监听用户下拉动作
  364. */
  365. onPullDownRefresh() {
  366. },
  367. /**
  368. * 页面上拉触底事件的处理函数
  369. */
  370. onReachBottom() {
  371. },
  372. /**
  373. * 用户点击右上角分享
  374. */
  375. onShareAppMessage() {
  376. }
  377. })