// pages/apply/paymentTemplate/add/add.js import * as UTIL from '../../../../utils/util.js'; import * as API from '../../../../utils/API.js'; let EVN_CONFIG = require('../../../../env/env'); const DISTRIBUTE_ENVIROMENT = 'IMGURL'; let { URL_PREFIX, } = EVN_CONFIG[DISTRIBUTE_ENVIROMENT]; const app = getApp(); Page({ /** * 页面的初始数据 */ data: { isIPX: app.globalData.isIPX, radio:'1', active:0, projectText:'', balance:0, showCapitalExpenditureType:false, showApplyDate:false, showTransferType:false, showProject:false, showProjectFundType:false, showAccount:false, showDialog:false, capitalExpenditureTypeOptions:[], transferTypeOptions:[], projectOptions:[], projectFundTypeOptions:[], contractionOptions:[], accountOptions:[], moneyorderOptions:[], form:{ approvalItemTemplate:{ approvalItems:'',//审批事项 submitCompany:'',//提交单位 submitDate:'',//提交日期 submitter:'',//提交人 telephone:'',//联系方式 totalAmount:0,//合计金额 templateName:'',//模板名称 选择保存模板的时候添加 dataType:'',//数据类型 }, transfers:[{//事项信息集合以下是List对象信息 num:"一", capitalExpenditureType:'',//资金支出类别 capitalExpenditureTypeText:'',//资金支出类别(展示用) succeedAmount:'',//成功支付金额 payer:'',//付款方 payerAccount:'',//付款方账户 bankType:'',//所属银行 bankTypeText:'',//所属银行(展示用) isPeers:'',//是否同行 operatorCode:'',//操作员代码 enterpriseCode:'',//企业编码 expenditureAmount:'',//支出总金额 applyDate:'',//申请时间 transferStatus:'',//转账状态 auditStatus:'0',//审批状态 paymentState:'',//支付状态 approvalMode:'1',//审批模式 paymentTime:'',//支付时间 bankPriority:'',//银行处理优先级 clientPriority:'',//客户处理优先级 transferType:'',//付款方式 transferTypeText:'',//付款方式(展示用) requiredTransferTime:'',//要求转账时间 remark:'',//付款事由 startTime:'',//开票日期 endTime:'',//到期日期 orderType:'',//汇票类型 bankAccountType:'',//账户类别1 公户2私户 villageAccountType:'',//账户分类 payeeList:[{//收款方账户集合 payeeId:'0',//收款方id payee:'',//收款方 bankDeposit:'',//开户行 incomeAmount:'',//收入金额 bankType:'',//所属银行0其他银行1中国银行2农商行(山东省)3农业银行4建设银行5工商银行 payeeAccount:'',//收款账户 }], }], }, projectForm:{ projectId:'', projectName:'', projectContractor:'', projectAmount:'', projectBillNum:'', projectFundType:'', outId:'', ynType:'1', }, contractionForm:{ id:'', name:'', code:'', totalAmount:'', }, accountForm:{}, fileForm:[], isUpdate:false, SJimage: [], FPimage: [], QTimage: [], imgcount:0 }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { var that = this; if(options.id){ setTimeout(function(){ UTIL.httpRequest(API.URL_GET_APPROVALITEMS+options.id, {method:'GET'}, { success: (res) => { if (res.code == API.SUCCESS_CODE) { console.log(that.data.capitalExpenditureTypeOptions); if(res.data.approvalItemTemplate == null){return;} res.data.transfers.forEach( (item,index) => { res.data.transfers[index].capitalExpenditureTypeText = UTIL.getTransform(item.capitalExpenditureType,that.data.capitalExpenditureTypeOptions); res.data.transfers[index].transferTypeText = UTIL.getTransform(item.transferType,that.data.transferTypeOptions); res.data.transfers[index].bankTypeText = UTIL.getTransform(item.bankType,that.data.bankTypeOptions); res.data.transfers[index].payeeList.forEach( (response,i) => { res.data.transfers[index].payeeList[i].bankTypeText = UTIL.getTransform(response.bankType,that.data.bankTypeOptions); }) }) that.setData({ form:res.data }) //收据附件 UTIL.httpRequest( API.URL_GET_FINDLIST, { method:'GET', tableName:'t_yinnong_transfer', tableId:res.data.approvalItemTemplate.id, fileType:1 }, { success: (res) => { let list = []; res.data.forEach(item=>{ list.push({ tempFilePath:URL_PREFIX+item.fileUrl }) }) that.setData({ SJimage:list }); } }) //发票 UTIL.httpRequest( API.URL_GET_FINDLIST, { method:'GET', tableName:'t_yinnong_transfer', tableId:res.data.approvalItemTemplate.id, fileType:2 }, { success: (res) => { let list = []; res.data.forEach(item=>{ list.push({ tempFilePath:URL_PREFIX+item.fileUrl }) }) that.setData({ FPimage:list }); } }) //其他 UTIL.httpRequest( API.URL_GET_FINDLIST, { method:'GET', tableName:'t_yinnong_transfer', tableId:res.data.approvalItemTemplate.id, fileType:3 }, { success: (res) => { let list = []; res.data.forEach(item=>{ list.push({ tempFilePath:URL_PREFIX+item.fileUrl }) }) that.setData({ QTimage:list }); } }) } } }) },1000) }else if(options.type == 'update'&!options.id){ console.log(options); setTimeout(function(){ let array = JSON.parse(options.array); array.transfers.forEach( (item,index) => { item.capitalExpenditureTypeText = UTIL.getTransform(item.capitalExpenditureType,that.data.capitalExpenditureTypeOptions); item.transferTypeText = UTIL.getTransform(item.transferType,that.data.transferTypeOptions); item.bankTypeText = UTIL.getTransform(item.bankType,that.data.bankTypeOptions); item.payeeList.forEach( (response,i) => { item.payeeList[i].bankTypeText = UTIL.getTransform(response.bankType,that.data.bankTypeOptions); }) //收据附件 UTIL.httpRequest( API.URL_GET_FINDLIST, { method:'GET', tableName:'t_yinnong_transfer', tableId:item.id, fileType:1 }, { success: (res) => { let list = []; res.data.forEach((item2,index2)=>{ wx.downloadFile({ url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源 success (response) { if (response.statusCode === 200) { let fileForm = item.fileForm?item.fileForm:[]; fileForm.push({ file: response.tempFilePath, fileType:'1', bizPath:'transfer', tableName:'t_yinnong_transfer', tableId:'' }) console.log("--------------fileForm2 start----------------"); console.log(fileForm); console.log("--------------fileForm2 end----------------"); list.push({ tempFilePath:response.tempFilePath }) that.setData({ ["form.transfers["+index+"].SJimage"]:list, ["form.transfers["+index+"].fileForm"]:fileForm }); } } }) }) } }) //发票 UTIL.httpRequest( API.URL_GET_FINDLIST, { method:'GET', tableName:'t_yinnong_transfer', tableId:item.id, fileType:2 }, { success: (res) => { let list = []; res.data.forEach((item2,index2)=>{ wx.downloadFile({ url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源 success (response) { if (response.statusCode === 200) { let fileForm = item.fileForm?item.fileForm:[]; fileForm.push({ file: response.tempFilePath, fileType:'2', bizPath:'transfer', tableName:'t_yinnong_transfer', tableId:item.id }) list.push({ tempFilePath:response.tempFilePath }) that.setData({ ["form.transfers["+index+"].FPimage"]:list, ["form.transfers["+index+"].fileForm"]:fileForm }); } } }) }) } }) //其他 UTIL.httpRequest( API.URL_GET_FINDLIST, { method:'GET', tableName:'t_yinnong_transfer', tableId:item.id, fileType:3 }, { success: (res) => { let list = []; let fileForm = item.fileForm?item.fileForm:[]; res.data.forEach((item2,index2)=>{ wx.downloadFile({ url: URL_PREFIX+item2.fileUrl, //仅为示例,并非真实的资源 success (response) { if (response.statusCode === 200) { let fileForm = item.fileForm?item.fileForm:[]; fileForm.push({ file: response.tempFilePath, fileType:'3', bizPath:'transfer', tableName:'t_yinnong_transfer', tableId:item.id }) list.push({ tempFilePath:response.tempFilePath }) that.setData({ ["form.transfers["+index+"].QTimage"]:list, ["form.transfers["+index+"].fileForm"]:fileForm }); } } }) }) } }) }) that.setData({ form : array, isUpdate : true }) },1000) } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { var that = this; UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, { success: (res) => { if (res.code == API.SUCCESS_CODE) { that.setData({ ["form.approvalItemTemplate.submitCompany"]:res.user.bookName, ["form.approvalItemTemplate.submitDate"]:UTIL.js_date_time(new Date()), ["form.approvalItemTemplate.submitter"]:res.user.nickName, ["form.approvalItemTemplate.telephone"]:res.user.phonenumber, }) } } }) //所属银行 UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, { success: (res) => { this.setData({ bankTypeOptions:res.data }); } }) // 资金支出类别字典查询 UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, { success: (res) => { that.setData({ capitalExpenditureTypeOptions:res.data, }) } }) // 付款方式类型字典查询 UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'transfer_type', {method:'GET'}, { success: (res) => { that.setData({ transferTypeOptions:res.data, }) } }) // 项目工程列表 UTIL.httpRequest(API.URL_GET_GETPROJECTLIST , {method:'GET'}, { success: (res) => { that.setData({ projectOptions:res.rows, }) } }) // 工程款类型字典查询 UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'project_fund_type', {method:'GET'}, { success: (res) => { that.setData({ projectFundTypeOptions:res.data, }) } }) // 获取合同信息列表 UTIL.httpRequest(API.URL_GET_CONTRACTIONLIST , {method:'GET'}, { success: (res) => { that.setData({ contractionOptions:res.rows, }) } }) }, openBox(even){ this.setData({ [even.currentTarget.dataset.name]:true }) }, closeBox(even){ console.log(even.currentTarget.dataset.name); this.setData({ [even.currentTarget.dataset.name]:false }) }, onConfirm(event) { this.setData({ [event.currentTarget.dataset.name]: false, [event.currentTarget.dataset.value]: UTIL.formatDate(event.detail), }); }, onConfirmPick(event) { console.log(event); this.setData({ [event.currentTarget.dataset.name]: false, [event.currentTarget.dataset.value]: event.detail.value.dictValue, [event.currentTarget.dataset.value+'Text']: event.detail.value.dictLabel, }); }, onConfirmAccount(event) { console.log(event); var that = this; // 所属银行字典查询 UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, { success: (res) => { let array = res.data.filter(function (e) { return e.dictValue == event.detail.value.bankType; }); this.setData({ [event.currentTarget.dataset.name]: false, [event.currentTarget.dataset.value+'.payer']: event.detail.value.accountName, [event.currentTarget.dataset.value+'.cashierId']: event.detail.value.id, [event.currentTarget.dataset.value+'.payerAccount']: event.detail.value.bankAccountNumber, [event.currentTarget.dataset.value+'.bankTypeText']: array[0].dictLabel, [event.currentTarget.dataset.value+'.bankType']: event.detail.value.bankType, balance:event.detail.value.balance, }); } }) }, onConfirmaTransfer(event) { console.log(event); var that = this; let perames = {}; this.setData({ [event.currentTarget.dataset.value+'.payer']: '', [event.currentTarget.dataset.value+'.payerAccount']: '', [event.currentTarget.dataset.value+'.bankTypeText']: '', [event.currentTarget.dataset.value+'.bankType']: '', [event.currentTarget.dataset.value+'.bankAccountType']: '', [event.currentTarget.dataset.value+'.isPeers']: '', balance:0, }); if(event.detail.value.dictValue == 1){//村账户查询参数 perames = { pageNum:1, pageSize:999, accountType:'102', method:'post',   params: {          "townAccountType":"0"     } } // 付款方列表 UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, { success: (res) => { that.setData({ accountOptions:res.rows, }) } }) } if(event.detail.value.dictValue == 2 || event.detail.value.dictValue == 10){//公务卡和现金提现查询参数 perames = { pageNum:1, pageSize:999, accountType:'102', method:'GET', villageAccountType:'' } // 付款方列表 UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, { success: (res) => { that.setData({ accountOptions:res.rows, }) } }) } if(event.detail.value.dictValue == 11){//现金使用查询参数 perames = { pageNum:1, pageSize:999, accountType:'101', method:'GET' } // 付款方列表 UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, { success: (res) => { that.setData({ accountOptions:res.rows }) } }) } if(event.detail.value.dictValue == 4){//代管账户查询参数 perames = { pageNum:1, pageSize:999, accountType:'102', method:'GET', villageAccountType:'1' } // 付款方列表 UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , perames, { success: (res) => { that.setData({ accountOptions:res.rows, }) } }) } if(event.detail.value.dictValue == 12){//汇票支出查询参数 perames = { pageNum:1, pageSize:999, } // 付款方列表 UTIL.httpRequest(API.URL_GET_MONEYORDERLIST , perames, { success: (res) => { that.setData({ moneyorderOptions:res.rows, }) } }) } this.setData({ [event.currentTarget.dataset.name]: false, [event.currentTarget.dataset.value+'.transferType']: event.detail.value.dictValue, [event.currentTarget.dataset.value+'.transferTypeText']: event.detail.value.dictLabel, }); }, onConfirmProject(event) { console.log(event); this.setData({ [event.currentTarget.dataset.name]: false, [event.currentTarget.dataset.value]: event.detail.value.projectName, ['projectForm.projectId']: event.detail.value.id, ['projectForm.projectContractor']: event.detail.value.projectContractor, ['projectForm.projectAmount']: event.detail.value.projectAmount, }); }, onConfirmContraction(event) { console.log(event); this.setData({ [event.currentTarget.dataset.name]: false, [event.currentTarget.dataset.value]: event.detail.value.name, ['contractionForm.code']: event.detail.value.code, ['contractionForm.totalAmount']: event.detail.value.totalAmount, ['contractionForm.id']: event.detail.value.id, }); }, onConfirmMoneyorder(event) { console.log(event); this.setData({ [event.currentTarget.dataset.name]: false, [event.currentTarget.dataset.value]: event.detail.value.name, ['contractionForm.code']: event.detail.value.code, ['contractionForm.totalAmount']: event.detail.value.totalAmount, ['contractionForm.id']: event.detail.value.id, }); }, goPayeeList(event){ console.log(event); wx.navigateTo({ url: '/pages/payee/index?isPeers='+event.currentTarget.dataset.ispeers+'&bankType='+event.currentTarget.dataset.banktype+'&accountType='+event.currentTarget.dataset.accounttype+'&transferType='+event.currentTarget.dataset.transfertype + '&index='+event.currentTarget.dataset.index, }) }, onChange(event){ console.log(event); this.setData({ [event.currentTarget.dataset.value]: event.detail, }) }, onChangeMoney(event){ console.log(event); var that = this; this.setData({ ["form.transfers["+event.currentTarget.dataset.index+"].payeeList["+event.currentTarget.dataset.childrenindex+"].incomeAmount"]: event.detail, ["form.transfers["+event.currentTarget.dataset.index+"].expenditureAmount"]:event.detail, }) }, back:function(){ wx.navigateBack({ delta: 1 }) }, goSubmitMB(){ this.setData({ showDialog:true }) }, onClose(){ this.setData({ showDialog:false }) }, bindNameInput(even){ this.setData({ ["form.approvalItemTemplate.templateName"]:even.detail.value }) }, goSubmit(e){ var that = this; if(e.currentTarget.dataset.type == 1){ if(that.data.form.approvalItemTemplate.templateName == ''){ UTIL.showToastNoneIcon('请输入模板名称!'); return; } } if(e.currentTarget.dataset.type == 3){ for (let i = 0; i < that.data.form.transfers.length; i++) { that.data.form.transfers[i].approvalMode = '2'; } that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type } that.data.form.method = 'POST'; that.data.form.approvalItemTemplate.dataType = e.currentTarget.dataset.type; let totalAmount = 0 ; for (let i = 0; i < that.data.form.transfers.length; i++) { totalAmount += parseInt(that.data.form.transfers[i].expenditureAmount); } that.data.form.approvalItemTemplate.totalAmount = totalAmount; UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, { success: (res) => { if (res.code == API.SUCCESS_CODE) { for (let j = 0; j < res.data.transfers.length; j++) { for (let i = 0; i < that.data.form.transfers[j].fileForm.length; i++) { that.data.form.transfers[j].fileForm[i].tableId = res.data.transfers[j].id const element = that.data.form.transfers[j].fileForm[i]; wx.uploadFile({ url: API.URL_GET_UPLOAD, filePath: element.file, name: 'file', header: { "Content-Type": "multipart/form-data",//记得设置 "chartset":"utf-8", 'Authorization':'Bearer '+getApp().globalData.userInfo.token }, formData:element, success (response){ console.log(res); if((j+1) == that.data.form.transfers[j].length && (i+1) == that.data.form.transfers[j].fileForm[i].length && e.currentTarget.dataset.type == 0){ wx.navigateTo({ url: '/pages/apply/approval/approval?id='+res.data.id, }) } }, fail(res){ console.log(res) } }) } } } } }) }, bindKeyInput(even){ this.setData({ ["form.approvalItemTemplate.approvalItems"]: even.detail.value, }) }, SJtakephoto(e){ var that = this; let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[]; wx.chooseMedia({ count: 9, mediaType: ['image','video'], sourceType: ['album', 'camera'], maxDuration: 30, camera: 'back', success(res) { console.log(res); res.tempFiles.forEach(item => { fileForm.push({ file: item.tempFilePath, fileType:'1', bizPath:'transfer', tableName:'t_yinnong_transfer', tableId:'' }) }) console.log(fileForm); that.setData({ ["form.transfers["+e.currentTarget.dataset.index+"].SJimage"]:res.tempFiles, ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm }) } }) }, FPtakephoto(e){ var that = this; let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[]; wx.chooseMedia({ count: 9, mediaType: ['image','video'], sourceType: ['album', 'camera'], maxDuration: 30, camera: 'back', success(res) { console.log(res); res.tempFiles.forEach(item => { fileForm.push({ file: item.tempFilePath, fileType:'2', bizPath:'transfer', tableName:'t_yinnong_transfer', tableId:'' }) }) console.log(fileForm); that.setData({ ["form.transfers["+e.currentTarget.dataset.index+"].FPimage"]:res.tempFiles, ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm }) } }) }, QTtakephoto(e){ var that = this; let fileForm = that.data.form.transfers[e.currentTarget.dataset.index].fileForm?that.data.form.transfers[e.currentTarget.dataset.index].fileForm:[]; wx.chooseMedia({ count: 9, mediaType: ['image','video'], sourceType: ['album', 'camera'], maxDuration: 30, camera: 'back', success(res) { console.log(res); res.tempFiles.forEach(item => { fileForm.push({ file: item.tempFilePath, fileType:'3', bizPath:'transfer', tableName:'t_yinnong_transfer', tableId:'' }) }) console.log(fileForm); that.setData({ ["form.transfers["+e.currentTarget.dataset.index+"].QTimage"]:res.tempFiles, ["form.transfers["+e.currentTarget.dataset.index+"].fileForm"]:fileForm }) } }) }, addList(){ let transList = this.data.form.transfers; transList.push({ num:UTIL.convertToChinaNum(transList.length+1), capitalExpenditureType:'',//资金支出类别 capitalExpenditureTypeText:'',//资金支出类别(展示用) succeedAmount:'',//成功支付金额 payer:'',//付款方 payerAccount:'',//付款方账户 bankType:'',//所属银行 bankTypeText:'',//所属银行(展示用) isPeers:'',//是否同行 operatorCode:'',//操作员代码 enterpriseCode:'',//企业编码 expenditureAmount:'',//支出总金额 applyDate:'',//申请时间 transferStatus:'',//转账状态 auditStatus:'0',//审批状态 paymentState:'',//支付状态 approvalMode:'1',//审批模式 paymentTime:'',//支付时间 bankPriority:'',//银行处理优先级 clientPriority:'',//客户处理优先级 transferType:'',//付款方式 transferTypeText:'',//付款方式(展示用) requiredTransferTime:'',//要求转账时间 remark:'',//付款事由 startTime:'',//开票日期 endTime:'',//到期日期 orderType:'',//汇票类型 bankAccountType:'',//账户类别1 公户2私户 villageAccountType:'',//账户分类 payeeList:[{//收款方账户集合 payeeId:'0',//收款方id payee:'',//收款方 bankDeposit:'',//开户行 incomeAmount:'',//收入金额 bankType:'',//所属银行0其他银行1中国银行2农商行(山东省)3农业银行4建设银行5工商银行 payeeAccount:'',//收款账户 }], }); this.setData({ ["form.transfers"] : transList }) }, openPreview(e){ let array = []; console.log(e); e.currentTarget.dataset.option.forEach(item=>{ array.push(item.tempFilePath) }) console.log(array); wx.previewImage({ urls: array, showmenu:true, current:array[e.currentTarget.dataset.index] }) }, goKeep(){ var that = this; let pages = getCurrentPages(); let currentPage = null; //当前页面 let prevPage = null; //上一个页面 currentPage = pages[pages.length - 1]; //获取当前页面,将其赋值 prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值 console.log(that.data.form); if (prevPage) { prevPage.setData({ form : that.data.form,//将想要传的信息赋值给上一个页面data中的值 }) that.back() } }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })