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

contract.js 8.5 KiB

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