微信小程序
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

project.js 10 KiB

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