| @@ -111,9 +111,6 @@ | |||||
| </view> | </view> | ||||
| </van-swipe-cell> | </van-swipe-cell> | ||||
| </scroll-view> | </scroll-view> | ||||
| <van-empty wx:if="{{templateList.length == 0}}" description="暂无审批模板" /> | <van-empty wx:if="{{templateList.length == 0}}" description="暂无审批模板" /> | ||||
| </van-action-sheet> | </van-action-sheet> | ||||
| <modal hidden="{{!showPopup}}" mask="{{true}}" title="审批模板" confirm-text="保存" cancel-text="取消" bindcancel="cancelTem" bindconfirm="confirmTem"> | <modal hidden="{{!showPopup}}" mask="{{true}}" title="审批模板" confirm-text="保存" cancel-text="取消" bindcancel="cancelTem" bindconfirm="confirmTem"> | ||||
| @@ -17,9 +17,9 @@ | |||||
| <text class="zt">{{item.bankUseType == 1 ?'基本户':'一般户'}}</text> | <text class="zt">{{item.bankUseType == 1 ?'基本户':'一般户'}}</text> | ||||
| <image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | <image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | ||||
| <image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | <image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | ||||
| <view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':'bank_other'}}"> | |||||
| <view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':iOf.indexOf(item.bankTypeText,'民生') > -1 ? 'MSYH':'bank_other'}}"> | |||||
| <view class="bankName"> | <view class="bankName"> | ||||
| <image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':'other'}}.png" style="width: 25px" mode="widthFix"></image> | |||||
| <image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':iOf.indexOf(item.bankTypeText,'民生') > -1 ? 'MSYH':'other'}}.png" style="width: 25px" mode="widthFix"></image> | |||||
| <text>{{item.accountName}}</text> | <text>{{item.accountName}}</text> | ||||
| </view> | </view> | ||||
| @@ -72,6 +72,10 @@ | |||||
| background:url('https://www.nongshen.net/static/wechat/bank_ZYB.png') no-repeat center; | background:url('https://www.nongshen.net/static/wechat/bank_ZYB.png') no-repeat center; | ||||
| background-size: 105% 105%; | background-size: 105% 105%; | ||||
| } | } | ||||
| .MSYH{ | |||||
| background:url('https://www.nongshen.net/static/wechat/bank_MSYH.png') no-repeat center; | |||||
| background-size: 105% 105%; | |||||
| } | |||||
| .bank_other{ | .bank_other{ | ||||
| background:url('https://www.nongshen.net/static/wechat/bank_other.png') no-repeat center; | background:url('https://www.nongshen.net/static/wechat/bank_other.png') no-repeat center; | ||||
| background-size: 105% 105%; | background-size: 105% 105%; | ||||
| @@ -85,12 +85,16 @@ | |||||
| <text>三、农业银行</text> | <text>三、农业银行</text> | ||||
| <text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text> | <text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text> | ||||
| <text>2、联行号为必填项。</text> | <text>2、联行号为必填项。</text> | ||||
| <text>四、建设银行</text> | |||||
| <text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text> | |||||
| <text>2、单笔跨行、批量跨行转账时联行号为必填项。</text> | |||||
| <text>五、农商行(重庆)</text> | |||||
| <text>四、农商行(重庆)</text> | |||||
| <text>1、导入收款方最多可以有500条。</text> | <text>1、导入收款方最多可以有500条。</text> | ||||
| <text>2、联行号为必填项。</text> | <text>2、联行号为必填项。</text> | ||||
| <text>五、其他银行</text> | |||||
| <text>1、联行号为必填项。</text> | |||||
| <!-- <text>四、建设银行</text> | |||||
| <text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text> | |||||
| <text>2、单笔跨行、批量跨行转账时联行号为必填项。</text> --> | |||||
| <view style="height: 10vh;"></view> | |||||
| </scroll-view> | </scroll-view> | ||||
| <view class="bottom"> | <view class="bottom"> | ||||
| <!-- <view class="btn1" data-type="3" bindtap="goSubmit">提交复核</view> --> | <!-- <view class="btn1" data-type="3" bindtap="goSubmit">提交复核</view> --> | ||||
| @@ -164,6 +164,7 @@ Page({ | |||||
| SJimage:[], | SJimage:[], | ||||
| FPimage:[], | FPimage:[], | ||||
| QTimage:[], | QTimage:[], | ||||
| SYLGKimage:[], | |||||
| activeName:0, | activeName:0, | ||||
| showTitle:true, | showTitle:true, | ||||
| collapseDis:false, | collapseDis:false, | ||||
| @@ -177,7 +178,7 @@ Page({ | |||||
| payerAccount:'',//付款方账户 | payerAccount:'',//付款方账户 | ||||
| bankType:'',//所属银行 | bankType:'',//所属银行 | ||||
| bankTypeText:'',//所属银行(展示用) | bankTypeText:'',//所属银行(展示用) | ||||
| isPeers:'N',//是否同行 | |||||
| isPeers:'',//是否同行 | |||||
| operatorCode:'',//操作员代码 | operatorCode:'',//操作员代码 | ||||
| enterpriseCode:'',//企业编码 | enterpriseCode:'',//企业编码 | ||||
| expenditureAmount:'',//支出总金额 | expenditureAmount:'',//支出总金额 | ||||
| @@ -197,6 +198,7 @@ Page({ | |||||
| endTime:'',//到期日期 | endTime:'',//到期日期 | ||||
| orderType:'',//汇票类型 | orderType:'',//汇票类型 | ||||
| bankAccountType:'2',//账户类别1 公户2私户 | bankAccountType:'2',//账户类别1 公户2私户 | ||||
| accountType:'1',//账户类别1 公户2私户 | |||||
| villageAccountType:'',//账户分类 | villageAccountType:'',//账户分类 | ||||
| payeeList:[{//收款方账户集合 | payeeList:[{//收款方账户集合 | ||||
| payeeId:'0',//收款方id | payeeId:'0',//收款方id | ||||
| @@ -250,6 +252,7 @@ Page({ | |||||
| SJimage: [], | SJimage: [], | ||||
| FPimage: [], | FPimage: [], | ||||
| QTimage: [], | QTimage: [], | ||||
| SYLGKimage: [], | |||||
| imgcount:0, | imgcount:0, | ||||
| activeNames: 0, | activeNames: 0, | ||||
| applyDate:'', | applyDate:'', | ||||
| @@ -257,6 +260,7 @@ Page({ | |||||
| showFile:false, | showFile:false, | ||||
| showCapitalExpenditureType:false, | showCapitalExpenditureType:false, | ||||
| showSteps:false, | showSteps:false, | ||||
| showAccountType:false, | |||||
| activeStepsNames: 0, | activeStepsNames: 0, | ||||
| }, | }, | ||||
| @@ -302,6 +306,13 @@ Page({ | |||||
| }) | }) | ||||
| } | } | ||||
| }) | }) | ||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_account_type', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| that.setData({ | |||||
| bankAccountTypeOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| // 项目工程列表 | // 项目工程列表 | ||||
| UTIL.httpRequest(API.URL_GET_GETPROJECTLIST , {method:'GET'}, { | UTIL.httpRequest(API.URL_GET_GETPROJECTLIST , {method:'GET'}, { | ||||
| success: (res) => { | success: (res) => { | ||||
| @@ -343,7 +354,6 @@ Page({ | |||||
| ["form.approvalTemplateId"]:res.rows[0].id, | ["form.approvalTemplateId"]:res.rows[0].id, | ||||
| ["form.approvalTemplateName"]:res.rows[0].name, | ["form.approvalTemplateName"]:res.rows[0].name, | ||||
| }) | }) | ||||
| // 审批模板 | // 审批模板 | ||||
| UTIL.httpRequest(API.URL_GET_selectApprovalByTemplateId+res.rows[0].id , {method:'GET'}, { | UTIL.httpRequest(API.URL_GET_selectApprovalByTemplateId+res.rows[0].id , {method:'GET'}, { | ||||
| success: (rres) => { | success: (rres) => { | ||||
| @@ -525,6 +535,39 @@ Page({ | |||||
| }) | }) | ||||
| } | } | ||||
| }) | }) | ||||
| //四议两公开 | |||||
| UTIL.httpRequest( | |||||
| API.URL_GET_FINDLIST, | |||||
| { | |||||
| method:'GET', | |||||
| tableName:'t_yinnong_transfer', | |||||
| tableId:res.data.id, | |||||
| fileType:4 | |||||
| }, | |||||
| { | |||||
| success: (res) => { | |||||
| let list = []; | |||||
| res.data.forEach((item2,index2)=>{ | |||||
| let fileForm = res.data.fileForm?res.data.fileForm:[]; | |||||
| fileForm.push({ | |||||
| file: wx.getStorageSync('dressCode')+item2.fileUrl, | |||||
| fileType:'4', | |||||
| bizPath:'transfer', | |||||
| tableName:'t_yinnong_transfer', | |||||
| tableId:res.data.id | |||||
| }) | |||||
| list.push({ | |||||
| tempFilePath:wx.getStorageSync('dressCode')+item2.fileUrl, | |||||
| id:item2.id | |||||
| }) | |||||
| that.setData({ | |||||
| ["form.fileNum"]:that.data.form.fileNum+1, | |||||
| ["form.SYLGKimage"]:list, | |||||
| ["form.fileForm"]:fileForm | |||||
| }); | |||||
| }) | |||||
| } | |||||
| }) | |||||
| let query = { | let query = { | ||||
| method:'GET', | method:'GET', | ||||
| @@ -696,6 +739,12 @@ Page({ | |||||
| // 所属银行字典查询 | // 所属银行字典查询 | ||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, { | UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, { | ||||
| success: (res) => { | success: (res) => { | ||||
| if(event.detail.value.bankType != 10){ | |||||
| this.setData({ | |||||
| ['form.accountType']: '' | |||||
| }) | |||||
| } | |||||
| this.setData({ | this.setData({ | ||||
| [event.currentTarget.dataset.name]: false, | [event.currentTarget.dataset.name]: false, | ||||
| [event.currentTarget.dataset.value+'.payer']: event.detail.value.accountName, | [event.currentTarget.dataset.value+'.payer']: event.detail.value.accountName, | ||||
| @@ -705,7 +754,7 @@ Page({ | |||||
| [event.currentTarget.dataset.value+'.bankType']: event.detail.value.bankType, | [event.currentTarget.dataset.value+'.bankType']: event.detail.value.bankType, | ||||
| [event.currentTarget.dataset.value+'.payerAccount']:event.detail.value.bankAccountNumber, | [event.currentTarget.dataset.value+'.payerAccount']:event.detail.value.bankAccountNumber, | ||||
| [event.currentTarget.dataset.value+'.balance']:event.detail.value.balance, | [event.currentTarget.dataset.value+'.balance']:event.detail.value.balance, | ||||
| [event.currentTarget.dataset.value+'.isPeers']:"N", | |||||
| [event.currentTarget.dataset.value+'.isPeers']:"", | |||||
| [event.currentTarget.dataset.value+'.payeeList'] : [{//收款方账户集合 | [event.currentTarget.dataset.value+'.payeeList'] : [{//收款方账户集合 | ||||
| payeeId:'0',//收款方id | payeeId:'0',//收款方id | ||||
| payee:'',//收款方 | payee:'',//收款方 | ||||
| @@ -898,15 +947,28 @@ Page({ | |||||
| UTIL.showToastNoneIcon('请先选择付款方!'); | UTIL.showToastNoneIcon('请先选择付款方!'); | ||||
| return; | return; | ||||
| } | } | ||||
| if(event.currentTarget.dataset.banktype == 10){ | |||||
| if(event.currentTarget.dataset.childaccounttype == null || event.currentTarget.dataset.childaccounttype == ''){ | |||||
| UTIL.showToastNoneIcon('请先选择账户类型!'); | |||||
| return; | |||||
| } | |||||
| }else{ | |||||
| event.currentTarget.dataset.accounttype = ''; | |||||
| this.setData({ | |||||
| ['form.accountType']: '' | |||||
| }) | |||||
| } | |||||
| if(this.data.form.payeeList.length>10){ | if(this.data.form.payeeList.length>10){ | ||||
| return; | return; | ||||
| } | } | ||||
| if(event.currentTarget.dataset.accounttype == null ){ | |||||
| event.currentTarget.dataset.accounttype = '' | |||||
| } | |||||
| // if(event.currentTarget.dataset.accounttype == null ){ | |||||
| // event.currentTarget.dataset.accounttype = '' | |||||
| // } | |||||
| // '/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+'&money='+this.data.form.transfers | // '/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+'&money='+this.data.form.transfers | ||||
| console.log(this.data.form.isPeers); | |||||
| console.log(event.currentTarget.dataset.isPeers); | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: '/pages/payee/index?transferType='+event.currentTarget.dataset.transfertype+'&money='+this.data.form.expenditureAmount + '&index='+event.currentTarget.dataset.index + '&isPeers='+this.data.form.isPeers+'&bankType='+event.currentTarget.dataset.banktype, | |||||
| url: '/pages/payee/index?transferType='+event.currentTarget.dataset.transfertype+'&money='+this.data.form.expenditureAmount + '&index='+event.currentTarget.dataset.index + '&isPeers='+event.currentTarget.dataset.ispeers+'&bankType='+event.currentTarget.dataset.banktype+'&accountType='+event.currentTarget.dataset.accounttype, | |||||
| }) | }) | ||||
| }, | }, | ||||
| goPayee(event){ | goPayee(event){ | ||||
| @@ -1406,6 +1468,12 @@ Page({ | |||||
| showFile:true | showFile:true | ||||
| }) | }) | ||||
| // console.log(that.data.form) | // console.log(that.data.form) | ||||
| }else{ | |||||
| wx.showToast({ | |||||
| title: res.msg, | |||||
| icon: 'error', | |||||
| duration: 2000 | |||||
| }) | |||||
| } | } | ||||
| } | } | ||||
| }) | }) | ||||
| @@ -1563,7 +1631,7 @@ Page({ | |||||
| goCustomSubmit(){ | goCustomSubmit(){ | ||||
| var that = this; | var that = this; | ||||
| UTIL.httpRequest(API.URL_GET_TRANSFERCUSTOMSUBMIT+this.data.form.id, {method : 'POST'}, { | |||||
| UTIL.httpRequest(API.URL_GET_TRANSFERCUSTOMSUBMIT2+this.data.form.id, {method : 'POST'}, { | |||||
| success: (res) => { | success: (res) => { | ||||
| if (res.code == API.SUCCESS_CODE) { | if (res.code == API.SUCCESS_CODE) { | ||||
| wx.showToast({ | wx.showToast({ | ||||
| @@ -1576,6 +1644,12 @@ Page({ | |||||
| },2000) | },2000) | ||||
| } | } | ||||
| }) | }) | ||||
| }else{ | |||||
| wx.showToast({ | |||||
| title: res.msg, | |||||
| icon: 'error', | |||||
| duration: 2000 | |||||
| }) | |||||
| } | } | ||||
| } | } | ||||
| }) | }) | ||||
| @@ -1588,7 +1662,7 @@ Page({ | |||||
| }) | }) | ||||
| that.goKeepNew(); | that.goKeepNew(); | ||||
| setTimeout(() => { | setTimeout(() => { | ||||
| UTIL.httpRequest(API.URL_GET_TRANSFERCUSTOMSUBMIT+this.data.form.id, {method : 'POST'}, { | |||||
| UTIL.httpRequest(API.URL_GET_TRANSFERCUSTOMSUBMIT2+this.data.form.id, {method : 'POST'}, { | |||||
| success: (res) => { | success: (res) => { | ||||
| if (res.code == API.SUCCESS_CODE) { | if (res.code == API.SUCCESS_CODE) { | ||||
| wx.hideLoading(); | wx.hideLoading(); | ||||
| @@ -1602,6 +1676,12 @@ Page({ | |||||
| },2000) | },2000) | ||||
| } | } | ||||
| }) | }) | ||||
| }else{ | |||||
| wx.showToast({ | |||||
| title: res.msg, | |||||
| icon: 'error', | |||||
| duration: 2000 | |||||
| }) | |||||
| } | } | ||||
| } | } | ||||
| }) | }) | ||||
| @@ -1640,7 +1720,7 @@ Page({ | |||||
| mediaType: ['image'], | mediaType: ['image'], | ||||
| sourceType: ['album', 'camera'], | sourceType: ['album', 'camera'], | ||||
| camera: 'back', | camera: 'back', | ||||
| count: 1, | |||||
| count: 9, | |||||
| success(res) { | success(res) { | ||||
| console.log(res); | console.log(res); | ||||
| res.tempFiles.forEach(item => { | res.tempFiles.forEach(item => { | ||||
| @@ -1653,47 +1733,54 @@ Page({ | |||||
| }) | }) | ||||
| }) | }) | ||||
| console.log(fileForm); | console.log(fileForm); | ||||
| let tem = that.data.form.SJimage?that.data.form.SJimage:[]; | |||||
| res.tempFiles.forEach(r=>{ | |||||
| tem.push({ | |||||
| tempFilePath:r.tempFilePath | |||||
| }) | |||||
| }) | |||||
| console.log(tem); | |||||
| that.setData({ | |||||
| ["form.SJimage"]:tem, | |||||
| ["form.fileForm"]:fileForm, | |||||
| }) | |||||
| let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length; | |||||
| let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length; | |||||
| let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length; | |||||
| let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ; | |||||
| that.setData({ | |||||
| ["form.fileNum"]:fileNum, | |||||
| }) | |||||
| const element = fileForm[0]; | const element = fileForm[0]; | ||||
| wx.uploadFile({ | |||||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||||
| filePath: res.tempFiles[0].tempFilePath, | |||||
| name: 'file', | |||||
| header: { | |||||
| "Content-Type": "multipart/form-data",//记得设置 | |||||
| "chartset":"utf-8", | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||||
| }, | |||||
| formData:element, | |||||
| success (response){ | |||||
| wx.showToast({ | |||||
| title: '上传成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| }) | |||||
| }, | |||||
| fail(res){ | |||||
| console.log(res) | |||||
| } | |||||
| let tem = that.data.form.SJimage?that.data.form.SJimage:[]; | |||||
| fileForm.forEach( (rr,index) => { | |||||
| wx.uploadFile({ | |||||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||||
| filePath: rr.file, | |||||
| name: 'file', | |||||
| header: { | |||||
| "Content-Type": "multipart/form-data",//记得设置 | |||||
| "chartset":"utf-8", | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||||
| }, | |||||
| formData:rr, | |||||
| success (response){ | |||||
| let data = JSON.parse(response.data); | |||||
| console.log(data); | |||||
| tem.push({ | |||||
| tempFilePath:wx.getStorageSync('dressCode')+data.fileUrl, | |||||
| id:data.id | |||||
| }) | |||||
| console.log(tem); | |||||
| that.setData({ | |||||
| ["form.SJimage"]:tem, | |||||
| ["form.fileForm"]:fileForm, | |||||
| }) | |||||
| let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length; | |||||
| let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length; | |||||
| let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length; | |||||
| let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length; | |||||
| let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ; | |||||
| that.setData({ | |||||
| ["form.fileNum"]:fileNum, | |||||
| }) | |||||
| wx.showToast({ | |||||
| title: '上传成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| }) | |||||
| }, | |||||
| fail(res){ | |||||
| console.log(res) | |||||
| } | |||||
| }) | |||||
| }) | }) | ||||
| },fail(err){ | },fail(err){ | ||||
| console.log(err); | console.log(err); | ||||
| @@ -1708,7 +1795,7 @@ Page({ | |||||
| mediaType: ['image'], | mediaType: ['image'], | ||||
| sourceType: ['album', 'camera'], | sourceType: ['album', 'camera'], | ||||
| camera: 'back', | camera: 'back', | ||||
| count: 1, | |||||
| count: 9, | |||||
| success(res) { | success(res) { | ||||
| console.log(res); | console.log(res); | ||||
| res.tempFiles.forEach(item => { | res.tempFiles.forEach(item => { | ||||
| @@ -1723,47 +1810,48 @@ Page({ | |||||
| let tem = that.data.form.FPimage?that.data.form.FPimage:[]; | let tem = that.data.form.FPimage?that.data.form.FPimage:[]; | ||||
| res.tempFiles.forEach(r=>{ | |||||
| tem.push({ | |||||
| tempFilePath:r.tempFilePath | |||||
| }) | |||||
| }) | |||||
| fileForm.forEach( rr => { | |||||
| wx.uploadFile({ | |||||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||||
| filePath: rr.file, | |||||
| name: 'file', | |||||
| header: { | |||||
| "Content-Type": "multipart/form-data",//记得设置 | |||||
| "chartset":"utf-8", | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||||
| }, | |||||
| formData:rr, | |||||
| success (response){ | |||||
| let data = JSON.parse(response.data); | |||||
| console.log(data); | |||||
| tem.push({ | |||||
| tempFilePath:wx.getStorageSync('dressCode')+data.fileUrl, | |||||
| id:data.id | |||||
| }) | |||||
| console.log(tem); | |||||
| that.setData({ | |||||
| ["form.FPimage"]:tem, | |||||
| ["form.fileForm"]:fileForm | |||||
| }) | |||||
| let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length; | |||||
| let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length; | |||||
| let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length; | |||||
| let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ; | |||||
| that.setData({ | |||||
| ["form.fileNum"]:fileNum, | |||||
| }) | |||||
| const element = fileForm[0]; | |||||
| console.log(element); | |||||
| wx.uploadFile({ | |||||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||||
| filePath: res.tempFiles[0].tempFilePath, | |||||
| name: 'file', | |||||
| header: { | |||||
| "Content-Type": "multipart/form-data",//记得设置 | |||||
| "chartset":"utf-8", | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||||
| }, | |||||
| formData:element, | |||||
| success (response){ | |||||
| wx.showToast({ | |||||
| title: '上传成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| }) | |||||
| }, | |||||
| fail(res){ | |||||
| console.log(res) | |||||
| } | |||||
| console.log(tem); | |||||
| that.setData({ | |||||
| ["form.FPimage"]:tem, | |||||
| ["form.fileForm"]:fileForm | |||||
| }) | |||||
| let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length; | |||||
| let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length; | |||||
| let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length; | |||||
| let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length; | |||||
| let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ; | |||||
| that.setData({ | |||||
| ["form.fileNum"]:fileNum, | |||||
| }) | |||||
| wx.showToast({ | |||||
| title: '上传成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| }) | |||||
| }, | |||||
| fail(res){ | |||||
| console.log(res) | |||||
| } | |||||
| }) | |||||
| }) | }) | ||||
| },fail(err){ | },fail(err){ | ||||
| console.log(err); | console.log(err); | ||||
| @@ -1777,7 +1865,7 @@ Page({ | |||||
| mediaType: ['image'], | mediaType: ['image'], | ||||
| sourceType: ['album', 'camera'], | sourceType: ['album', 'camera'], | ||||
| camera: 'back', | camera: 'back', | ||||
| count: 1, | |||||
| count: 9, | |||||
| success(res) { | success(res) { | ||||
| console.log(res); | console.log(res); | ||||
| res.tempFiles.forEach(item => { | res.tempFiles.forEach(item => { | ||||
| @@ -1792,44 +1880,115 @@ Page({ | |||||
| console.log(fileForm); | console.log(fileForm); | ||||
| let tem = that.data.form.QTimage?that.data.form.QTimage:[]; | let tem = that.data.form.QTimage?that.data.form.QTimage:[]; | ||||
| res.tempFiles.forEach(r=>{ | |||||
| tem.push({ | |||||
| tempFilePath:r.tempFilePath | |||||
| fileForm.forEach( rr => { | |||||
| wx.uploadFile({ | |||||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||||
| filePath: rr.file, | |||||
| name: 'file', | |||||
| header: { | |||||
| "Content-Type": "multipart/form-data",//记得设置 | |||||
| "chartset":"utf-8", | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||||
| }, | |||||
| formData:rr, | |||||
| success (response){ | |||||
| let data = JSON.parse(response.data); | |||||
| console.log(data); | |||||
| tem.push({ | |||||
| tempFilePath:wx.getStorageSync('dressCode')+data.fileUrl, | |||||
| id:data.id | |||||
| }) | |||||
| that.setData({ | |||||
| ["form.QTimage"]:tem, | |||||
| ["form.fileForm"]:fileForm | |||||
| }) | |||||
| let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length; | |||||
| let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length; | |||||
| let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length; | |||||
| let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length; | |||||
| let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ; | |||||
| that.setData({ | |||||
| ["form.fileNum"]:fileNum, | |||||
| }) | |||||
| wx.showToast({ | |||||
| title: '上传成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| }) | |||||
| }, | |||||
| fail(res){ | |||||
| console.log(res) | |||||
| } | |||||
| }) | }) | ||||
| }) | }) | ||||
| that.setData({ | |||||
| ["form.QTimage"]:tem, | |||||
| ["form.fileForm"]:fileForm | |||||
| }) | |||||
| let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length; | |||||
| let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length; | |||||
| let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length; | |||||
| let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ; | |||||
| that.setData({ | |||||
| ["form.fileNum"]:fileNum, | |||||
| },fail(err){ | |||||
| console.log(err); | |||||
| } | |||||
| }) | |||||
| }, | |||||
| SYLGKtakephoto(e){ | |||||
| var that = this; | |||||
| let fileForm = []; | |||||
| wx.chooseMedia({ | |||||
| mediaType: ['image'], | |||||
| sourceType: ['album', 'camera'], | |||||
| camera: 'back', | |||||
| count: 9, | |||||
| success(res) { | |||||
| console.log(res); | |||||
| res.tempFiles.forEach(item => { | |||||
| fileForm.push({ | |||||
| file: item.tempFilePath, | |||||
| fileType:'4', | |||||
| bizPath:'transfer', | |||||
| tableName:'t_yinnong_transfer', | |||||
| tableId:that.data.form.id | |||||
| }) | |||||
| }) | }) | ||||
| console.log(fileForm); | |||||
| let tem = that.data.form.SYLGKimage?that.data.form.SYLGKimage:[]; | |||||
| const element = fileForm[0]; | |||||
| wx.uploadFile({ | |||||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||||
| filePath: res.tempFiles[0].tempFilePath, | |||||
| name: 'file', | |||||
| header: { | |||||
| "Content-Type": "multipart/form-data",//记得设置 | |||||
| "chartset":"utf-8", | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||||
| }, | |||||
| formData:element, | |||||
| success (response){ | |||||
| wx.showToast({ | |||||
| title: '上传成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| }) | |||||
| }, | |||||
| fail(res){ | |||||
| console.log(res) | |||||
| } | |||||
| fileForm.forEach( rr => { | |||||
| wx.uploadFile({ | |||||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||||
| filePath: rr.file, | |||||
| name: 'file', | |||||
| header: { | |||||
| "Content-Type": "multipart/form-data",//记得设置 | |||||
| "chartset":"utf-8", | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||||
| }, | |||||
| formData:rr, | |||||
| success (response){ | |||||
| let data = JSON.parse(response.data); | |||||
| console.log(data); | |||||
| tem.push({ | |||||
| tempFilePath:wx.getStorageSync('dressCode')+data.fileUrl, | |||||
| id:data.id | |||||
| }) | |||||
| that.setData({ | |||||
| ["form.SYLGKimage"]:tem, | |||||
| ["form.fileForm"]:fileForm | |||||
| }) | |||||
| let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length; | |||||
| let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length; | |||||
| let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length; | |||||
| let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length; | |||||
| let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ; | |||||
| that.setData({ | |||||
| ["form.fileNum"]:fileNum, | |||||
| }) | |||||
| wx.showToast({ | |||||
| title: '上传成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| }) | |||||
| }, | |||||
| fail(res){ | |||||
| console.log(res) | |||||
| } | |||||
| }) | |||||
| }) | }) | ||||
| },fail(err){ | },fail(err){ | ||||
| @@ -2114,6 +2273,12 @@ Page({ | |||||
| } | } | ||||
| }) | }) | ||||
| }else{ | |||||
| wx.showToast({ | |||||
| title: res.msg, | |||||
| icon: 'error', | |||||
| duration: 2000 | |||||
| }) | |||||
| } | } | ||||
| } | } | ||||
| }) | }) | ||||
| @@ -2198,13 +2363,13 @@ Page({ | |||||
| } | } | ||||
| options.splice(e.currentTarget.dataset.index,1); | options.splice(e.currentTarget.dataset.index,1); | ||||
| let length = this.data.form.fileNum - 1; | let length = this.data.form.fileNum - 1; | ||||
| this.setData({ | |||||
| [e.currentTarget.dataset.name]:options, | |||||
| ["form.fileNum"]:length, | |||||
| ["form.fileForm"]:file, | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETFILEREMOVE+e.currentTarget.dataset.id , {method:'GET'}, { | UTIL.httpRequest(API.URL_GET_GETFILEREMOVE+e.currentTarget.dataset.id , {method:'GET'}, { | ||||
| success: (res) => { | success: (res) => { | ||||
| this.setData({ | |||||
| [e.currentTarget.dataset.name]:options, | |||||
| ["form.fileNum"]:length, | |||||
| ["form.fileForm"]:file, | |||||
| }) | |||||
| wx.showToast({ | wx.showToast({ | ||||
| title: '删除成功!', | title: '删除成功!', | ||||
| icon: 'success', | icon: 'success', | ||||
| @@ -2296,6 +2461,10 @@ Page({ | |||||
| }, | }, | ||||
| addPayee(){ | addPayee(){ | ||||
| console.log(this.data.form.payeeList); | console.log(this.data.form.payeeList); | ||||
| if(this.data.form.payeeList.length > 10){ | |||||
| UTIL.showToastNoneIcon('收款方过多,请使用批量上传功能'); | |||||
| return; | |||||
| } | |||||
| for(let i = 0 ; i < this.data.form.payeeList.length ; i++ ){ | for(let i = 0 ; i < this.data.form.payeeList.length ; i++ ){ | ||||
| if(!this.data.form.payeeList[i].payee && !this.data.form.payeeList[i].payeeAccount && !this.data.form.payeeList[i].bankDeposit && !this.data.form.payeeList[i].bankTypeText){ | if(!this.data.form.payeeList[i].payee && !this.data.form.payeeList[i].payeeAccount && !this.data.form.payeeList[i].bankDeposit && !this.data.form.payeeList[i].bankTypeText){ | ||||
| UTIL.showToastNoneIcon('请勿添加多个空付款人'); | UTIL.showToastNoneIcon('请勿添加多个空付款人'); | ||||
| @@ -2312,6 +2481,15 @@ Page({ | |||||
| ["form.payeeList"]:this.data.form.payeeList, | ["form.payeeList"]:this.data.form.payeeList, | ||||
| }) | }) | ||||
| }, | }, | ||||
| removePayer(e){ | |||||
| console.log(e); | |||||
| let i = e.currentTarget.dataset.index; | |||||
| let list = this.data.form.payeeList; | |||||
| list.splice(i,1); | |||||
| this.setData({ | |||||
| ["form.payeeList"]:list, | |||||
| }) | |||||
| }, | |||||
| onChangePayeeMoney(event){ | onChangePayeeMoney(event){ | ||||
| console.log(event); | console.log(event); | ||||
| this.setData({ | this.setData({ | ||||
| @@ -240,7 +240,7 @@ | |||||
| </view> | </view> | ||||
| <!-- 转账附言 start --> | <!-- 转账附言 start --> | ||||
| <view class="main-box table-box" style="margin-top: 10px;"> | <view class="main-box table-box" style="margin-top: 10px;"> | ||||
| <van-field value="{{form.remark}}" required label="转账附言" type="textarea" maxlength="{{form.bankType == '5'?'10':form.bankType == '6' || form.bankType == '7'?'20':'30'}}" show-word-limit="true" autosize="{{autosize}}" placeholder="附言请尽量简洁减少标点符号的使用,详情可在”说明情况“中描述" border="{{ false }}" input-align="right" bind:input="onChangeZZFY" data-value="form.remark"/> | |||||
| <van-field value="{{form.remark}}" required label="转账附言" type="textarea" maxlength="{{form.bankType == '5'?'10':form.bankType == '6' || form.bankType == '7'?'20':'30'}}" show-word-limit="true" autosize="{{autosize}}" placeholder="附言请尽量简洁并减少标点符号的使用,对私转账时不要出现工资、奖金和劳务费,详情可在‘说明情况’中描述。" border="{{ false }}" input-align="right" bind:input="onChangeZZFY" data-value="form.remark"/> | |||||
| </view> | </view> | ||||
| <!-- 转账附言 end --> | <!-- 转账附言 end --> | ||||
| @@ -251,13 +251,13 @@ | |||||
| <!-- 说明情况 end --> | <!-- 说明情况 end --> | ||||
| <view class="payee_box"> | <view class="payee_box"> | ||||
| <text class="title">收款方信息</text> | <text class="title">收款方信息</text> | ||||
| <view data-index="{{index}}" data-payer="{{form.payer}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-expenditureAmount="{{form.expenditureAmount}}" data-accountType="{{ form.bankAccountType }}" data-totalAmount="{{form.approvalItemTemplate.totalAmount}}" bindtap="uploadFile"> | |||||
| <view data-index="{{index}}" data-payer="{{form.payer}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-expenditureAmount="{{form.expenditureAmount}}" data-accountType="{{ form.accountType }}" data-totalAmount="{{form.approvalItemTemplate.totalAmount}}" bindtap="uploadFile"> | |||||
| <image src="/image/apply/icon_exel.png" style="width: 15px;height: 15px;"></image> | <image src="/image/apply/icon_exel.png" style="width: 15px;height: 15px;"></image> | ||||
| <text>批量上传</text> | <text>批量上传</text> | ||||
| </view> | </view> | ||||
| <view class="add" bind:tap="addPayee">+</view> | |||||
| <!-- <view class="add" bind:tap="addPayee">+</view> --> | |||||
| </view> | </view> | ||||
| <view class="main-box table-box" style="margin-bottom: 10px;" wx:if="{{form.bankType == 2 || form.bankType == 3 || form.bankType == 4}}"> | |||||
| <view class="main-box table-box" style="margin-bottom: 10px;" wx:if="{{form.bankType == 2 || form.bankType == 3}}"> | |||||
| <van-field required input-align="right" label="行内转账" center border="{{false}}"> | <van-field required input-align="right" label="行内转账" center border="{{false}}"> | ||||
| <view slot="input" style="margin-left: auto;"> | <view slot="input" style="margin-left: auto;"> | ||||
| <van-radio-group | <van-radio-group | ||||
| @@ -273,9 +273,32 @@ | |||||
| </view> | </view> | ||||
| </van-field> | </van-field> | ||||
| </view> | </view> | ||||
| <view class="main-box table-box" style="margin-bottom: 10px;"wx:if="{{form.bankType == 10}}"> | |||||
| <!-- --> | |||||
| <van-field required input-align="right" label="账户类型" center border="{{false}}"> | |||||
| <view slot="input" style="margin-left: auto;"> | |||||
| <van-radio-group | |||||
| value="{{ form.accountType }}" | |||||
| bind:change="onChangeHnzz" | |||||
| data-value="form.accountType" | |||||
| direction="horizontal" | |||||
| style="margin-left: auto;" | |||||
| > | |||||
| <van-radio name="1" checked-color="#2C8E68">公户</van-radio> | |||||
| <van-radio name="2" checked-color="#2C8E68">私户</van-radio> | |||||
| </van-radio-group> | |||||
| </view> | |||||
| </van-field> | |||||
| </view> | |||||
| <view class="center-box"> | <view class="center-box"> | ||||
| <view class="main-box table-box" wx:for="{{form.payeeList}}" wx:if="{{form.payeeList.length <= 10}}" wx:for-index="childrenIndex" wx:key="payeeId"> | <view class="main-box table-box" wx:for="{{form.payeeList}}" wx:if="{{form.payeeList.length <= 10}}" wx:for-index="childrenIndex" wx:key="payeeId"> | ||||
| <van-field required readonly value="{{ form.payeeList[childrenIndex].payee }}" placeholder="请选择收款方" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="goPayeeList" data-payer="{{form.payer}}" data-index="{{childrenIndex}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-accountType="{{ form.bankAccountType }}" data-transferType="{{ form.transferType }}"> | |||||
| <view style="background-color: #2C8E68;display: inline-block;width: 20px;height: 20px;text-align: center;border-radius: 50%;position: absolute;top: -10px;right: {{childrenIndex == 0 ? 0 : 30}}px;" wx:if="{{ childrenIndex+1 == form.payeeList.length}}" data-index="{{childrenIndex}}" bind:tap="addPayee"> | |||||
| <van-icon name="plus" color="#ffffff" /> | |||||
| </view> | |||||
| <view style="background-color: red;display: inline-block;width: 20px;height: 20px;text-align: center;border-radius: 50%;position: absolute;top: -10px;right: 0;" wx:if="{{ childrenIndex > 0}}" data-index="{{childrenIndex}}" bind:tap="removePayer"> | |||||
| <van-icon name="minus" color="#ffffff" /> | |||||
| </view> | |||||
| <van-field required readonly value="{{ form.payeeList[childrenIndex].payee }}" placeholder="请选择收款方" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="goPayeeList" data-payer="{{form.payer}}" data-index="{{childrenIndex}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-accountType="{{ form.accountType }}" data-transferType="{{ form.transferType }}"> | |||||
| <view slot="label" style="color: var(--field-label-color,#646566);"> | <view slot="label" style="color: var(--field-label-color,#646566);"> | ||||
| 收款方<van-tag plain type="danger" color="#5CAE77" round style="margin-left:10px;">选择</van-tag> | 收款方<van-tag plain type="danger" color="#5CAE77" round style="margin-left:10px;">选择</van-tag> | ||||
| </view> | </view> | ||||
| @@ -316,11 +339,11 @@ | |||||
| <!-- wx:if="{{showFile}}" --> | <!-- wx:if="{{showFile}}" --> | ||||
| <view class="file_box" wx:if="{{showFile}}"> | |||||
| <view class="file_box" wx:if="{{showFile}}" > | |||||
| <view class="title">上传附件</view> | <view class="title">上传附件</view> | ||||
| <view class="add van-cell-text">总数<van-tag round color="#5CAE77" plain style="margin-left: 10px;"> {{form.fileNum?form.fileNum:0}}张 </van-tag></view> | <view class="add van-cell-text">总数<van-tag round color="#5CAE77" plain style="margin-left: 10px;"> {{form.fileNum?form.fileNum:0}}张 </van-tag></view> | ||||
| </view> | </view> | ||||
| <view class="main-box" wx:if="{{showFile}}"> | |||||
| <view class="main-box" wx:if="{{showFile}}" > | |||||
| <view class="fj-box"> | <view class="fj-box"> | ||||
| <view class="fj-li"> | <view class="fj-li"> | ||||
| <view class="fj-tt"> | <view class="fj-tt"> | ||||
| @@ -365,6 +388,20 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="fj-li"> | |||||
| <view class="fj-tt"> | |||||
| <text>四议两公开</text><van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> | |||||
| </view> | |||||
| <view class="img_box"> | |||||
| <view class="img_list" wx:for="{{form.SYLGKimage}}" wx:for-index="childrenIndex" wx:key="id"> | |||||
| <image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.SYLGKimage}}" data-index="{{childrenIndex}}" bindtap="openPreview" ></image> | |||||
| <van-icon name="/image/apply/img_delete.png" size="14px" data-index="{{childrenIndex}}" data-parentsIndex="{{index}}" data-name="form.SYLGKimage" data-options="{{form.SYLGKimage}}" data-id="{{item.id}}" bindtap="deleteimg" /> | |||||
| </view> | |||||
| <view class="img_list"> | |||||
| <image class="img_li img_add" src="/image/apply/fj_upload.png" data-index="{{index}}" bindtap="SYLGKtakephoto"></image> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -54,6 +54,7 @@ text{display: block;} | |||||
| margin: 0 auto; | margin: 0 auto; | ||||
| border-radius: 10px; | border-radius: 10px; | ||||
| box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | ||||
| position: relative; | |||||
| } | } | ||||
| .main-box block{ | .main-box block{ | ||||
| float: right; | float: right; | ||||
| @@ -251,7 +251,7 @@ Page({ | |||||
| upload(e){ | upload(e){ | ||||
| this.setData({itemId:e.currentTarget.dataset.id}); | this.setData({itemId:e.currentTarget.dataset.id}); | ||||
| this.asyncFun(e.currentTarget.dataset.id) | this.asyncFun(e.currentTarget.dataset.id) | ||||
| this.setData({"fileList":[]}) | |||||
| this.setData({fileList:[]}) | |||||
| }, | }, | ||||
| asyncFun(id){ | asyncFun(id){ | ||||
| let uploadList = this.data.uploadOptions | let uploadList = this.data.uploadOptions | ||||
| @@ -260,7 +260,7 @@ Page({ | |||||
| uploadList.map( res => { | uploadList.map( res => { | ||||
| let oData = { | let oData = { | ||||
| tableId: id, | tableId: id, | ||||
| tableName: "t_contraction_info", //上传表 | |||||
| tableName: "t_contraction_fill", //上传表 | |||||
| bizPath: "contraction", | bizPath: "contraction", | ||||
| fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字 | fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字 | ||||
| method:'GET' | method:'GET' | ||||
| @@ -367,7 +367,7 @@ Page({ | |||||
| let fileForm={ | let fileForm={ | ||||
| file: event.detail, | file: event.detail, | ||||
| fileType:event.currentTarget.dataset.idx, | fileType:event.currentTarget.dataset.idx, | ||||
| tableName: "t_contraction_info", //上传表 | |||||
| tableName: "t_contraction_fill", //上传表 | |||||
| bizPath: "contraction", //上传目录 | bizPath: "contraction", //上传目录 | ||||
| tableId:_this.data.itemId | tableId:_this.data.itemId | ||||
| } | } | ||||
| @@ -0,0 +1,183 @@ | |||||
| // pages/contract/add/add.js | |||||
| import * as UTIL from '../../../utils/util.js'; | |||||
| import * as API from '../../../utils/API.js'; | |||||
| const app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| isIPX: app.globalData.isIPX, | |||||
| id:null, | |||||
| voteTypeOptions: [], | |||||
| voteStatusOptions: [], | |||||
| voteResultOptions: [], | |||||
| fileList: [], | |||||
| form:{} | |||||
| }, | |||||
| back:function(){ | |||||
| wx.navigateBack({ | |||||
| delta: 1 | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad(options) { | |||||
| this.setData({id:options.id}) | |||||
| }, | |||||
| goForm(e){ | |||||
| wx.navigateTo({ | |||||
| url: '../form/form?id='+e.currentTarget.dataset.id, | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow() { | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_type', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| voteTypeOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_status', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| voteStatusOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_result', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| voteResultOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| //获取收入合同状态 | |||||
| UTIL.httpRequest(API.URL_GET_VOTEDETAIL + this.data.id , {method:'GET'}, { | |||||
| success: (res) => { | |||||
| res.data.voteStatusText = UTIL.getTransform(res.data.voteStatus,this.data.voteStatusOptions); | |||||
| res.data.voteTypeText = UTIL.getTransform(res.data.voteType,this.data.voteTypeOptions); | |||||
| res.data.yesForm = []; | |||||
| res.data.noForm = []; | |||||
| res.data.everForm = []; | |||||
| res.data.detailList.map(rr=>{ | |||||
| rr.voteResultText = UTIL.getTransform(rr.voteResult,this.data.voteResultOptions); | |||||
| if(rr.voteResult == 1){ | |||||
| res.data.yesForm.push(rr); | |||||
| } | |||||
| if(rr.voteResult == 2){ | |||||
| res.data.noForm.push(rr); | |||||
| } | |||||
| if(rr.voteResult == 3){ | |||||
| res.data.everForm.push(rr); | |||||
| } | |||||
| }) | |||||
| console.log(res.data); | |||||
| this.setData({'form':res.data}); | |||||
| this.asyncFun(this.data.id); | |||||
| } | |||||
| }) | |||||
| }, | |||||
| asyncFun(id){ | |||||
| this.data.form.fileList = []; | |||||
| let uploadList = this.data.uploadOptions | |||||
| let newList = [] | |||||
| let _this = this | |||||
| let oData = { | |||||
| tableId: id, | |||||
| tableName: "t_hz_vote", //上传表 | |||||
| bizPath: "subcontract", | |||||
| method:'GET' | |||||
| } | |||||
| UTIL.httpRequest(API.URL_GET_ATTACHMENTLIST, oData, { | |||||
| success: (rr) => { | |||||
| if(rr.code==200&&rr.rows.length>0){ | |||||
| rr.rows.map((rrr,index) => { | |||||
| rrr.url = wx.getStorageSync('dressCode') + rrr.fileUrl | |||||
| if(index==rr.rows.length-1){ | |||||
| newList.push(Object.assign({},{"list":rr.rows})) | |||||
| _this.setData({"form.fileList":_this.data.fileList.concat(newList)}); | |||||
| } | |||||
| }) | |||||
| console.log(this.data.fileList); | |||||
| }else{ | |||||
| let newuploadList = uploadList | |||||
| newuploadList.map(rd => { | |||||
| rd.list = newList | |||||
| }) | |||||
| _this.setData({"form.fileList":newuploadList}); | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| lookDown(file,detail){ | |||||
| // 获取指定字符串最后一次出现的位置,返回index | |||||
| var index1 = file.detail.url.lastIndexOf('.'); | |||||
| // substr(start, length) 抽取从start下标开始的length个字符,返回新的字符串; | |||||
| var style = file.detail.url.substr(index1 + 1) | |||||
| //判断图片类型,不需要下载,不做处理 | |||||
| if(style=='png'||style=='jpg'||style=='jpeg'||style=='bmp'||style=='gif'||style=='webp'||style=='psd'||style== 'svg'||style=='tiff'){ | |||||
| //判断非图片类型 | |||||
| }else{ | |||||
| wx.downloadFile({ | |||||
| url: file.detail.url, | |||||
| success(data){ | |||||
| wx.openDocument({ | |||||
| filePath: data.tempFilePath, | |||||
| fileType: style, | |||||
| showMenu:true, | |||||
| success(res){ | |||||
| } | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload() { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh() { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom() { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage() { | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,8 @@ | |||||
| { | |||||
| "navigationStyle": "custom", | |||||
| "usingComponents": { | |||||
| "van-cell": "@vant/weapp/cell/index", | |||||
| "van-upload": "@vant/weapp/uploader/index", | |||||
| "van-cell-group": "@vant/weapp/cell-group/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,44 @@ | |||||
| <!--pages/contract/add/add.wxml--> | |||||
| <view class="ns" style="height:{{isIPX?'88px':'64px'}};"> | |||||
| <image src="../../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image> | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">查看四议表决</text> | |||||
| </view> | |||||
| <view class="main-box table-box" style="margin-top:{{isIPX?'100px':'75px'}};"> | |||||
| <view class="table-boxs"> | |||||
| <van-cell title="事项名称" value="{{form.itemName}}" /> | |||||
| <van-cell title="事项描述" border="{{false}}" /> | |||||
| <van-cell label="{{form.itemContent}}" /> | |||||
| <van-cell title="表决阶段" value="{{form.voteTypeText}}" /> | |||||
| <van-cell title="事项状态" value="{{form.voteStatusText}}" /> | |||||
| <van-cell title="表决附件" border="{{false}}" /> | |||||
| <van-upload wx:for="{{form.fileList}}" deletable="{{false}}" file-list="{{ item.list }}" bind:click-preview="lookDown" data-idx="{{index}}" show-upload="{{false}}"></van-upload> | |||||
| <van-cell title="表决情况" value="{{form.itemAt}}" border="{{false}}" /> | |||||
| <view> | |||||
| <view style="text-align: right;"> | |||||
| <text style="color: rgb(26, 196, 111);margin-right: 10px;">{{form.yesForm.length}}人同意</text> | |||||
| <text style="color: red;margin-right: 10px;">{{form.noForm.length}}人不同意</text> | |||||
| <text style="color: #999999;">{{form.everForm.length}}人弃权</text> | |||||
| </view> | |||||
| <view style="background-color: #f8f8f8;padding: 0 20px;"> | |||||
| <view style="color: rgb(26, 196, 111);">同意: | |||||
| <text wx:for="{{form.yesForm}}">{{item.voteBy}}</text> | |||||
| <text wx:if="{{form.yesForm.length == 0}}">无</text> | |||||
| </view> | |||||
| <view style="color: red;">不同意: | |||||
| <text wx:for="{{form.noForm}}">{{item.voteBy}}</text> | |||||
| <text wx:if="{{form.noForm.length == 0}}">无</text> | |||||
| </view> | |||||
| <view style="color: #999999;">弃权: | |||||
| <text wx:for="{{form.everForm}}">{{item.voteBy}}<block wx:if="{{form.everForm.length != (index + 1)}}">、</block></text> | |||||
| <text wx:if="{{form.everForm.length == 0}}">无</text> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="btn2" wx:if="{{form.voteStatus == 1 && form.voteYN != 'Y'}}" bind:tap="goForm" data-id="{{form.id}}"> | |||||
| 我要表决 | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="ipXbtn"></view> | |||||
| @@ -0,0 +1,46 @@ | |||||
| /* pages/payee/add/add.wxss */ | |||||
| .main-box{ | |||||
| background: #ffffff; | |||||
| padding: 20px; | |||||
| width: 94%; | |||||
| margin: 0 auto; | |||||
| border-radius: 10px; | |||||
| box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | |||||
| } | |||||
| .van-cell{ | |||||
| padding-left: 0!important; | |||||
| padding-right: 0!important; | |||||
| } | |||||
| .tit{ | |||||
| line-height: 20px; | |||||
| font-size: 16px; | |||||
| font-weight: bold; | |||||
| } | |||||
| .bottom{ | |||||
| width: 100%; | |||||
| margin: 0 auto; | |||||
| text-align: center; | |||||
| margin-top: 30px; | |||||
| margin-bottom: 30px; | |||||
| display: flex; | |||||
| } | |||||
| .bottom view { | |||||
| width: 47%; | |||||
| margin: 0 auto; | |||||
| border-radius: 30px; | |||||
| display: inline-block; | |||||
| } | |||||
| .btn2{ | |||||
| background-image: linear-gradient(to right, #49CDFC, #2C6BF6); | |||||
| color: #fff; | |||||
| text-align: center; | |||||
| width: 40%; | |||||
| border-radius: 100px; | |||||
| margin: 5vh auto 3vh; | |||||
| } | |||||
| .table-boxs>view{ | |||||
| line-height: 80rpx; | |||||
| } | |||||
| @@ -0,0 +1,242 @@ | |||||
| // pages/contract/add/add.js | |||||
| import * as UTIL from '../../../utils/util.js'; | |||||
| import * as API from '../../../utils/API.js'; | |||||
| import SignaturePad from '../../../utils/signature_pad'; | |||||
| let signaturePad = {}; | |||||
| let pix = 7; | |||||
| let penColor = 'black'; | |||||
| let lineWidth = 0.6; | |||||
| const app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| isIPX: app.globalData.isIPX, | |||||
| id:null, | |||||
| autosize:{ maxHeight: 100, minHeight: 50 }, | |||||
| form:{ | |||||
| voteResult: '1' | |||||
| }, | |||||
| penColor: 'black', | |||||
| lineWidth: 0.6, | |||||
| isEmpty: true, | |||||
| baseItem:"", | |||||
| item:{}, | |||||
| url:"", | |||||
| isShow:false | |||||
| }, | |||||
| back:function(){ | |||||
| wx.navigateBack({ | |||||
| delta: 2 | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad(options) { | |||||
| this.setData({id:options.id}) | |||||
| this.getUserInfo(); | |||||
| this.getBaseUrl() | |||||
| //获取收入合同状态 | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload() { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh() { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom() { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage() { | |||||
| }, | |||||
| onChange(event) { | |||||
| console.log(event.detail); | |||||
| this.setData({ | |||||
| [event.currentTarget.dataset.value]: event.detail, | |||||
| }); | |||||
| }, | |||||
| /* 获取用户信息*/ | |||||
| getUserInfo(){ | |||||
| UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, { | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| this.setData({item:res.user}) | |||||
| // if(this.data.item.electronicSignature==null||this.data.item.electronicSignature==""){ | |||||
| // this.setData({isShow:false}) | |||||
| var ctx = wx.createCanvasContext('handWriting'); | |||||
| const data = { | |||||
| devicePixelRatio: pix, | |||||
| }; | |||||
| signaturePad = new SignaturePad(ctx, data); | |||||
| // }else{ | |||||
| // this.setData({isShow:true}) | |||||
| // } | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| getBaseUrl:function(){ | |||||
| let params={ | |||||
| configKey: "system.attachment.url"} | |||||
| UTIL.httpRequest(API.URL_GET_SYSCONFIG,params,{ | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| console.log(res.rows[0].configValue+this.data.item.electronicSignature) | |||||
| this.setData({url:res.rows[0].configValue+this.data.item.electronicSignature}) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| uploadScaleStart(e) { | |||||
| const item = { | |||||
| penColor: penColor, | |||||
| lineWidth: lineWidth | |||||
| }; | |||||
| signaturePad._handleTouchStart(e, item); | |||||
| }, | |||||
| uploadScaleMove(e) { | |||||
| signaturePad._handleTouchMove(e); | |||||
| }, | |||||
| uploadScaleEnd: function(e) { | |||||
| signaturePad._handleTouchEnd(e); | |||||
| const isEmpty = signaturePad.isEmpty(); | |||||
| this.setData({ | |||||
| isEmpty: isEmpty | |||||
| }) | |||||
| }, | |||||
| retDraw: function() { | |||||
| this.setData({isShow:false}) | |||||
| var ctx = wx.createCanvasContext('handWriting'); | |||||
| const data = { | |||||
| devicePixelRatio: pix, | |||||
| }; | |||||
| signaturePad = new SignaturePad(ctx, data); | |||||
| signaturePad.clear(); | |||||
| const isEmpty = signaturePad.isEmpty(); | |||||
| this.setData({ | |||||
| isEmpty: isEmpty | |||||
| }) | |||||
| }, | |||||
| getSysInfo: function() { | |||||
| var that = this | |||||
| wx.getSystemInfo({ | |||||
| success: function(res) { | |||||
| pix = res.pixelRatio | |||||
| that.setData({ | |||||
| width: res.windowWidth * pix, | |||||
| height: res.windowHeight * pix | |||||
| }) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| //保存canvas图像 | |||||
| subCanvas: function() { | |||||
| let _this = this | |||||
| if (this.data.isEmpty) { | |||||
| wx.showToast({ | |||||
| title: '请签字后提交', | |||||
| duration: 2000, | |||||
| icon:"none" | |||||
| }) | |||||
| return false | |||||
| } | |||||
| wx.canvasToTempFilePath({ | |||||
| canvasId: 'handWriting', | |||||
| success: function(res) { | |||||
| _this.data.form.voteId = _this.data.id; | |||||
| _this.data.form.file = res.tempFilePath; | |||||
| _this.data.form.voteBy = _this.data.item.userName; | |||||
| wx.uploadFile({ | |||||
| url: wx.getStorageSync('dressCode')+API.votedetailAdd, //服务器地址 | |||||
| filePath:res.tempFilePath,//本地照片地址 | |||||
| name: 'file', | |||||
| formData: _this.data.form, | |||||
| header: { | |||||
| 'Content-Type': 'multipart/form-data', | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token, //如果需要token的话要传 | |||||
| }, | |||||
| success (res){ | |||||
| let dd = JSON.parse(res.data) | |||||
| if(dd.code==200){ | |||||
| wx.showToast({ | |||||
| title: dd.msg, | |||||
| duration: 2000, | |||||
| icon:"success" | |||||
| }) | |||||
| setTimeout(() => { | |||||
| _this.back() | |||||
| }, 2000); | |||||
| }else{ | |||||
| wx.showToast({ | |||||
| title: dd.msg, | |||||
| duration: 2000, | |||||
| icon:"none" | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| fail: function(res) { | |||||
| console.log(res) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| // 保存电子签名 | |||||
| saveESign : function(item){ | |||||
| UTIL.httpRequest(API.URL_POST_USEREDIT,item,{ | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| wx.showToast({ | |||||
| title: "保存成功!", | |||||
| duration: 2000, | |||||
| icon:"success" | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,10 @@ | |||||
| { | |||||
| "navigationStyle": "custom", | |||||
| "usingComponents": { | |||||
| "van-field": "@vant/weapp/field/index", | |||||
| "van-radio": "@vant/weapp/radio/index", | |||||
| "van-cell": "@vant/weapp/cell/index", | |||||
| "van-icon": "@vant/weapp/icon/index", | |||||
| "van-radio-group": "@vant/weapp/radio-group/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,36 @@ | |||||
| <!--pages/contract/add/add.wxml--> | |||||
| <view class="ns" style="height:{{isIPX?'88px':'64px'}};"> | |||||
| <image src="../../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image> | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">四议表决</text> | |||||
| </view> | |||||
| <view class="main-box table-box" style="margin-top:{{isIPX?'100px':'75px'}};"> | |||||
| <view class="table-boxs"> | |||||
| <van-field label="意见" readonly required label-width="auto" border="{{false}}"></van-field> | |||||
| <van-field label-width="auto"> | |||||
| <van-radio-group value="{{ form.voteResult }}" data-value="form.voteResult" bind:change="onChange" slot="input" direction="horizontal"> | |||||
| <van-radio name="1">同意</van-radio> | |||||
| <van-radio name="2">不同意</van-radio> | |||||
| <van-radio name="3">弃权</van-radio> | |||||
| </van-radio-group> | |||||
| </van-field> | |||||
| <van-field label="备注" readonly label-width="auto" border="{{false}}"></van-field> | |||||
| <van-field value="{{ form.remark }}" maxlength="150" show-word-limit type="textarea" autosize="{{autosize}}" bind:change="onChange" placeholder="请输入备注" data-value="form.remark"></van-field> | |||||
| <van-cell title="签字" required> | |||||
| <view style="color: rgb(112, 205, 248);" bind:tap="retDraw"> | |||||
| <van-icon name="edit" />重签 | |||||
| </view> | |||||
| </van-cell> | |||||
| <view class="wrapper"> | |||||
| <view class="hand-center"> | |||||
| <canvas class="hand-writing" disable-scroll="true" bindtouchstart="uploadScaleStart" bindtouchmove="uploadScaleMove" bindtouchend="uploadScaleEnd" canvas-id="handWriting"> | |||||
| </canvas> | |||||
| <!-- <image mode="scaleToFill" class="hand-writing" wx:if="{{isShow}}" src="{{url}}"></image> --> | |||||
| </view> | |||||
| </view> | |||||
| <view class="btn2" bind:tap="subCanvas"> | |||||
| 保存 | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="ipXbtn"></view> | |||||
| @@ -0,0 +1,92 @@ | |||||
| /* pages/payee/add/add.wxss */ | |||||
| .main-box{ | |||||
| background: #ffffff; | |||||
| padding: 20px 0; | |||||
| width: 94%; | |||||
| margin: 0 auto; | |||||
| border-radius: 10px; | |||||
| box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | |||||
| } | |||||
| .tit{ | |||||
| line-height: 20px; | |||||
| font-size: 16px; | |||||
| font-weight: bold; | |||||
| } | |||||
| .bottom{ | |||||
| width: 100%; | |||||
| margin: 0 auto; | |||||
| text-align: center; | |||||
| margin-top: 30px; | |||||
| margin-bottom: 30px; | |||||
| display: flex; | |||||
| } | |||||
| .bottom view { | |||||
| width: 47%; | |||||
| margin: 0 auto; | |||||
| border-radius: 30px; | |||||
| display: inline-block; | |||||
| } | |||||
| .btn2{ | |||||
| background-image: linear-gradient(to right, #49CDFC, #2C6BF6); | |||||
| color: #fff; | |||||
| text-align: center; | |||||
| width: 40%; | |||||
| border-radius: 100px; | |||||
| margin: 5vh auto 3vh; | |||||
| } | |||||
| .table-boxs>view{ | |||||
| line-height: 80rpx; | |||||
| } | |||||
| .wrapper { | |||||
| width: 100%; | |||||
| height: 20vh; | |||||
| overflow: hidden; | |||||
| display: flex; | |||||
| align-content: center; | |||||
| flex-direction: row; | |||||
| justify-content: center; | |||||
| font-size: 28rpx; | |||||
| position: relative; | |||||
| } | |||||
| .hand-writing { | |||||
| background: #f9f9f9; | |||||
| width: 100%; | |||||
| height: 20vh; | |||||
| } | |||||
| .hand-right { | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| } | |||||
| .hand-center { | |||||
| border: 1rpx dashed #e9e9e9; | |||||
| flex: 1; | |||||
| overflow: hidden; | |||||
| box-sizing: border-box; | |||||
| } | |||||
| .del-btn { | |||||
| color: #02d000; | |||||
| } | |||||
| .del-btn image { | |||||
| position: absolute; | |||||
| top: 13rpx; | |||||
| left: 25rpx; | |||||
| } | |||||
| .sub-btn { | |||||
| position: absolute; | |||||
| bottom: 52rpx; | |||||
| color: #999999; | |||||
| transform: rotate(90deg); | |||||
| margin-bottom: 30rpx; | |||||
| } | |||||
| @@ -0,0 +1,136 @@ | |||||
| // pages/project/project.js | |||||
| import * as UTIL from '../../utils/util.js'; | |||||
| import * as API from '../../utils/API.js'; | |||||
| let EVN_CONFIG = require('../../env/env'); | |||||
| const app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| isIPX: app.globalData.isIPX, | |||||
| name:"", | |||||
| value:'', | |||||
| pageNums:1, | |||||
| showUpload:false, | |||||
| uploadOptions:[], | |||||
| voteTypeOptions:[], | |||||
| fileList:[], | |||||
| itemId:"", | |||||
| itemIndex:"", | |||||
| list:[], | |||||
| fileEvent:{}, | |||||
| projectList:[] | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad(options) { | |||||
| var _this = this; | |||||
| let qu = wx.createSelectorQuery() | |||||
| qu.select("#top_view").boundingClientRect() | |||||
| qu.exec(res => { | |||||
| _this.setData({ | |||||
| scrollHeight:wx.getSystemInfoSync().windowHeight-res[0].height-res[0].top | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| goDetail(e){ | |||||
| console.log('aaaaaaaaa'); | |||||
| wx.navigateTo({ | |||||
| url: 'detail/detail?id='+e.currentTarget.dataset.id, | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady() { | |||||
| this.onShow(); | |||||
| }, | |||||
| goSearch(e){ | |||||
| this.setData({name:e.detail}) | |||||
| this.onShow(); | |||||
| }, | |||||
| back:function(){ | |||||
| wx.navigateBack({ | |||||
| delta: 1 | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow() { | |||||
| var that = this; | |||||
| //获取附件字典 | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_status', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| voteStatusOptions:res.data, | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_type', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| voteTypeOptions:res.data, | |||||
| }) | |||||
| let params= { | |||||
| itemName:this.data.name, | |||||
| method:'GET' | |||||
| } | |||||
| UTIL.httpRequest(API.URL_GET_VOTELIST, params,{ | |||||
| success: (response) => { | |||||
| if (response.code == API.SUCCESS_CODE) { | |||||
| response.rows.map(rr=>{ | |||||
| rr.voteStatusText = UTIL.getTransform(rr.voteStatus,that.data.voteStatusOptions); | |||||
| rr.voteTypeText = UTIL.getTransform(rr.voteType,that.data.voteTypeOptions); | |||||
| }) | |||||
| that.setData({ | |||||
| projectList:response.rows | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload() { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh() { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom() { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage() { | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,17 @@ | |||||
| { | |||||
| "usingComponents": { | |||||
| "van-checkbox": "@vant/weapp/checkbox/index", | |||||
| "van-checkbox-group": "@vant/weapp/checkbox-group/index", | |||||
| "van-cell": "@vant/weapp/cell/index", | |||||
| "van-cell-group": "@vant/weapp/cell-group/index", | |||||
| "van-search": "@vant/weapp/search/index", | |||||
| "van-radio": "@vant/weapp/radio/index", | |||||
| "van-radio-group": "@vant/weapp/radio-group/index", | |||||
| "van-swipe-cell": "@vant/weapp/swipe-cell/index", | |||||
| "van-dropdown-menu": "@vant/weapp/dropdown-menu/index", | |||||
| "van-dropdown-item": "@vant/weapp/dropdown-item/index", | |||||
| "van-tag": "@vant/weapp/tag/index", | |||||
| "van-action-sheet": "@vant/weapp/action-sheet/index", | |||||
| "van-upload": "@vant/weapp/uploader/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,42 @@ | |||||
| <!--pages/project/project.wxml--> | |||||
| <view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};"> | |||||
| <image src="../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image> | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">四议表决</text> | |||||
| </view> | |||||
| <view class="search_box" id="top_view" style="margin-top:{{isIPX?'100px':'75px'}};"> | |||||
| <van-search | |||||
| value="{{ name }}" | |||||
| shape="round" | |||||
| background="transparent" | |||||
| placeholder="请输入四议名称" | |||||
| clearable | |||||
| bind:change="goSearch" | |||||
| /> | |||||
| <!-- <view class="add_btn" bindtap="goAdd"><text>新增</text></view> --> | |||||
| </view> | |||||
| <scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100"> | |||||
| <van-swipe-cell right-width="{{ 0 }}" class="workflow" wx:for="{{projectList}}" wx:key="index"> | |||||
| <view class="li" bindtap="goDetail" data-id="{{item.id}}"> | |||||
| <view class="tit_box"> | |||||
| <view class="tit_box_left"> | |||||
| <image src="/image/icon/icon_gc.png" style="width: 17px; height: 15px;flex-shrink: 0;"></image> | |||||
| <text class="tit">{{item.itemName}}</text> | |||||
| </view> | |||||
| <view class="tit_type"> | |||||
| <text>{{item.voteStatusText}}</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class="detail_time_box"> | |||||
| <view class="detail_time"> | |||||
| <image src="/image/icon/icon_date.png" style="width: 14px;height: 14px;"></image> | |||||
| <text>{{item.itemAt}}</text> | |||||
| </view> | |||||
| <view class="detail_time"> | |||||
| <text class="detail_box_money">{{item.voteTypeText}}</text> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </van-swipe-cell> | |||||
| </scroll-view> | |||||
| @@ -0,0 +1,348 @@ | |||||
| /* pages/bank/bank.wxss */ | |||||
| .van-search__content { | |||||
| border: 1px solid #5CAE77!important; | |||||
| background: #fff!important; | |||||
| } | |||||
| van-search { | |||||
| flex: 1; | |||||
| } | |||||
| .search_box{ | |||||
| display: flex; | |||||
| } | |||||
| .add_btn{ | |||||
| flex: 0.2; | |||||
| padding: var(--search-padding,10px 12px); | |||||
| padding-left: 0; | |||||
| } | |||||
| .add_btn text{ | |||||
| background-color: #62AD66; | |||||
| display: block; | |||||
| height: 100%; | |||||
| text-align: center; | |||||
| line-height: 36px; | |||||
| color: #fff; | |||||
| border-radius: 36px; | |||||
| box-shadow: 0px 5px 5px #ddd; | |||||
| } | |||||
| text{display: block;} | |||||
| .work_plan{ | |||||
| padding: 40rpx 32.5rpx 30rpx; | |||||
| display: flex; | |||||
| } | |||||
| .work_plan .menu_item{ | |||||
| background-color: #fff; | |||||
| box-shadow: 2px 5px 5px #ddd; | |||||
| border-radius: 60rpx; | |||||
| text-align: center; | |||||
| position: relative; | |||||
| margin-right: 20px; | |||||
| padding: 8px 10px; | |||||
| } | |||||
| .work_plan .menu_item.active{ | |||||
| background-color: #2C8E68; | |||||
| color: #fff; | |||||
| } | |||||
| .work_plan .menu_item .remind{ | |||||
| height: 30rpx; | |||||
| background: #e90101; | |||||
| color: #fff; | |||||
| font-size: 26rpx; | |||||
| position: absolute; | |||||
| line-height: 30rpx; | |||||
| padding:0 10rpx; | |||||
| border-radius: 25px; | |||||
| top: -10rpx; | |||||
| right: -10rpx; | |||||
| } | |||||
| .work_plan .more{ | |||||
| flex: 1; | |||||
| text-align: center; | |||||
| line-height: 60rpx; | |||||
| font-size: 36rpx; | |||||
| color: #31936c; | |||||
| } | |||||
| .deleteBox{ | |||||
| width: 130px; | |||||
| text-align: center; | |||||
| height: 100%; | |||||
| background: #F6F6F6; | |||||
| align-items: center; | |||||
| display: flex; | |||||
| } | |||||
| .workflow .workflow_list{ | |||||
| height: 150rpx; | |||||
| background-color: #fff; | |||||
| border-radius: 24rpx; | |||||
| box-shadow:0rpx 0rpx 10rpx rgba(0,0,0,.1); | |||||
| margin-bottom: 20rpx; | |||||
| padding:15rpx 25rpx 10rpx 35rpx; | |||||
| } | |||||
| .workflow .workflow_list .process_intro{ | |||||
| display: flex; | |||||
| height: 62rpx; | |||||
| align-items: center; | |||||
| } | |||||
| .workflow .process_intro .name{ | |||||
| width: 390rpx; | |||||
| font-size: 34rpx; | |||||
| margin-right: 30rpx; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: center; | |||||
| } | |||||
| .workflow .process_intro .name .name_tit{ | |||||
| width: 290rpx; | |||||
| overflow: hidden; | |||||
| text-overflow: ellipsis; | |||||
| white-space: nowrap; | |||||
| } | |||||
| .van-swipe-cell { | |||||
| width: 94%; | |||||
| background: #fff; | |||||
| border-radius: 10px; | |||||
| box-shadow: 2px 5px 5px #ddd; | |||||
| margin: 0 auto; | |||||
| margin-bottom: 15px; | |||||
| } | |||||
| .li{ | |||||
| width: 100%; | |||||
| padding: 14px; | |||||
| } | |||||
| .tit_box{ | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .tit_box_left{ | |||||
| display: flex; | |||||
| align-items: center; | |||||
| } | |||||
| .detail_box{ | |||||
| margin-top: 10px; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .detail_box text{ | |||||
| color:#878787; | |||||
| } | |||||
| .fkmc { | |||||
| line-height: 20px; | |||||
| font-size: 16px; | |||||
| } | |||||
| .detail_time .detail_box_money{ | |||||
| font-size: 14px; | |||||
| } | |||||
| .detail_time_box{ | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| margin-top: 10px; | |||||
| } | |||||
| .detail_time{ | |||||
| display: flex; | |||||
| align-items: center; | |||||
| padding-left: 3px; | |||||
| } | |||||
| .detail_time text{ | |||||
| font-size: 12px; | |||||
| margin-left: 5px; | |||||
| color: #878787; | |||||
| } | |||||
| .li .detail_box_left text{ | |||||
| text-align: center; | |||||
| } | |||||
| .li .detail_box_left .fkdw{ | |||||
| color: #B5B5B5; | |||||
| font-size: 14px; | |||||
| margin-top: 5px; | |||||
| } | |||||
| .li .detail_box_center{ | |||||
| color: #666666; | |||||
| font-size: 12px; | |||||
| text-align: center; | |||||
| } | |||||
| .li .detail_box_right text{ | |||||
| text-align: center; | |||||
| } | |||||
| .li .detail_box_right .skdw{ | |||||
| color: #B5B5B5; | |||||
| font-size: 14px; | |||||
| margin-top: 5px; | |||||
| } | |||||
| .li .fksr{ | |||||
| display: flex; | |||||
| align-items: center; | |||||
| margin-top: 15px; | |||||
| color: #2C8E68; | |||||
| font-size: 16px; | |||||
| } | |||||
| .li .wtj{ | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| padding: 3px 8px; | |||||
| border-radius: 5px; | |||||
| font-size: 14px; | |||||
| } | |||||
| .no{ | |||||
| background-color:#fbe3e3; | |||||
| color: #e90000; | |||||
| } | |||||
| .white{ | |||||
| background-color:#feeadc; | |||||
| color: #fc9a55; | |||||
| } | |||||
| .yes{ | |||||
| background-color:#ddeee3; | |||||
| color: #5cae77; | |||||
| } | |||||
| .other{ | |||||
| background-color:#f0f1f6; | |||||
| color: #878787; | |||||
| } | |||||
| .li .tit{ | |||||
| font-size: 16px; | |||||
| color: #333333; | |||||
| line-height: 25px; | |||||
| display: -webkit-box; | |||||
| -webkit-box-orient: vertical; | |||||
| -webkit-line-clamp: 1; | |||||
| word-break: break-all; | |||||
| overflow: hidden; | |||||
| margin-left: 5px; | |||||
| } | |||||
| .li .fj_name{ | |||||
| font-size: 14px; | |||||
| color: #B3DB62; | |||||
| line-height: 25px; | |||||
| } | |||||
| .li .time{ | |||||
| font-size: 14px; | |||||
| color: #9B9CAA; | |||||
| } | |||||
| .li .money{ | |||||
| font-size: 18px; | |||||
| color: #5CAE77; | |||||
| } | |||||
| .tit_type{ | |||||
| display: flex; | |||||
| align-items: center; | |||||
| flex-shrink: 0; | |||||
| } | |||||
| .tit_type text{ | |||||
| background: rgba(92, 174, 119, 0.2); | |||||
| color: #5CAE77; | |||||
| padding: 2px 10px; | |||||
| } | |||||
| .van-checkbox__label { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| width: 100%; | |||||
| } | |||||
| .van-checkbox__icon-wrap { | |||||
| border-radius: 5px; | |||||
| } | |||||
| .van-checkbox__icon { | |||||
| border-radius: 5px; | |||||
| border: 2px solid #2C8E68!important; | |||||
| background-color: rgba(44, 142, 104, 0.2); | |||||
| } | |||||
| .bottom{ | |||||
| width: 100%; | |||||
| margin: 0 auto; | |||||
| text-align: center; | |||||
| padding: 15px 0; | |||||
| display: flex; | |||||
| position: fixed; | |||||
| bottom: 0%; | |||||
| background: #fff; | |||||
| box-shadow: 0 0 5px #ddd; | |||||
| } | |||||
| .bottom view { | |||||
| width: 47%; | |||||
| margin: 0 auto; | |||||
| border-radius: 30px; | |||||
| display: inline-block; | |||||
| } | |||||
| .bottom .btn2{ | |||||
| border: 1px solid transparent; | |||||
| padding: 10px 0px; | |||||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||||
| color: #fff; | |||||
| } | |||||
| .downView{ | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| padding: 0 20px; | |||||
| border: 1px solid #5CAE77; | |||||
| border-radius: 50px; | |||||
| background: #fff; | |||||
| margin-left: auto; | |||||
| } | |||||
| .downView image{ | |||||
| width: 10px; | |||||
| height: 8px; | |||||
| margin-left: 10px; | |||||
| } | |||||
| .hp_type{ | |||||
| padding: 4vw 3%; | |||||
| display: flex; | |||||
| border-bottom: 1px solid #eee; | |||||
| } | |||||
| .hp_type view{ | |||||
| padding: 2vw 6%; | |||||
| background: #EEEEEE; | |||||
| border-radius: 60px; | |||||
| margin-right: 3%; | |||||
| width: 30vw; | |||||
| text-align: center; | |||||
| } | |||||
| .hp_button{ | |||||
| display: flex; | |||||
| justify-content: space-around; | |||||
| padding:4vw 0 6vw; | |||||
| } | |||||
| .hp_button view{ | |||||
| padding: 3vw 6%; | |||||
| background: #EEEEEE; | |||||
| border-radius: 60px; | |||||
| width: 30vw; | |||||
| text-align: center; | |||||
| } | |||||
| .van-dropdown-menu { | |||||
| margin-bottom: 15px; | |||||
| } | |||||
| .fj-box text{ | |||||
| background-color: #5CAE77; | |||||
| color: #ffffff; | |||||
| text-align: center; | |||||
| border-radius: 5px; | |||||
| white-space:pre-wrap; | |||||
| padding: 5rpx 8rpx; | |||||
| width: 50rpx; | |||||
| margin: 0px 14px; | |||||
| font-size: 24rpx; | |||||
| } | |||||
| .fj-li{ | |||||
| margin-top: 20px; | |||||
| display: flex; | |||||
| /* flex-wrap: wrap; */ | |||||
| } | |||||
| .fj-li .img_li{ | |||||
| width: 100%; | |||||
| height: 18.5vw; | |||||
| } | |||||
| .fj-li .img_add{ | |||||
| overflow: hidden; | |||||
| } | |||||
| .van-icon-description{ | |||||
| font-size: 60px; | |||||
| } | |||||
| @@ -0,0 +1,166 @@ | |||||
| // pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.js | |||||
| import * as UTIL from '../../../utils/util.js'; | |||||
| import * as API from '../../../utils/API.js'; | |||||
| const app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| isIPX: app.globalData.isIPX, | |||||
| expressionOptions:[], | |||||
| // 格数据 | |||||
| loading: false, | |||||
| finished: false, | |||||
| pageDataList: [], | |||||
| searchDate: { | |||||
| bookDate: "", | |||||
| templateName: '收支公开榜', | |||||
| signature: false, // 添加底部落款 | |||||
| }, | |||||
| // 查询参数 | |||||
| queryParams: { | |||||
| // 分页 | |||||
| pageNum: 1, | |||||
| pageSize: 50, | |||||
| startYyyy_MM: null, | |||||
| endYyyy_MM: null, | |||||
| title: '收支公开榜', | |||||
| combineTitle: false, | |||||
| // 查询排序 | |||||
| //orderByColumn: "id", | |||||
| //isAsc: "desc", | |||||
| }, | |||||
| list: [], | |||||
| accountingYear: "", | |||||
| accountingMonth: "", | |||||
| // 显示搜索条件 | |||||
| visible: false, | |||||
| showPickerTime: false, | |||||
| minDate: new Date(2020, 0, 1), | |||||
| maxDate: new Date().getTime(), | |||||
| currentDate: new Date(), | |||||
| date:'' | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad(options) { | |||||
| UTIL.httpRequest(API.getLoginBook,{}, { | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| let currentDays = res.data.currentDay; | |||||
| if (currentDays == null) { | |||||
| UTIL.showToastNoneIcon("当前账套未开启!"); | |||||
| return false; | |||||
| } | |||||
| let mindate = res.data.startDay.split('-') | |||||
| let dealDays = currentDays.split("-"); | |||||
| this.setData({ | |||||
| accountingYear:dealDays[0], | |||||
| accountingMonth:dealDays[1], | |||||
| date: dealDays[0]+'年'+dealDays[1]+'月', | |||||
| ['searchDate.bookDate']:currentDays, | |||||
| ['queryParams.startYyyy_MM']:res.data.currentDay, | |||||
| ['queryParams.endYyyy_MM']:res.data.currentDay, | |||||
| minDate: new Date(mindate[0],mindate[1]-1).getTime(), | |||||
| ['queryParams.deptId']:JSON.parse(wx.getStorageSync('user')).loginDeptId, | |||||
| ['queryParams.bookType']:JSON.parse(wx.getStorageSync('user')).bookType, | |||||
| ['queryParams.bookId']:JSON.parse(wx.getStorageSync('user')).loginBookId, | |||||
| bookName:JSON.parse(wx.getStorageSync('user')).bookName, | |||||
| }) | |||||
| this.initPage() | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| initPage() { | |||||
| var that = this; | |||||
| UTIL.httpRequest(API.financialIncomeExpenditurePublic,this.data.queryParams, { | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| pageDataList:res.rows, | |||||
| total:res.total | |||||
| }) | |||||
| } | |||||
| }); | |||||
| }, | |||||
| onConfirm(time) { | |||||
| console.log(time.detail); | |||||
| let date = UTIL.formatDates(time.detail).split('-'); | |||||
| this.setData({ | |||||
| date:date[0] + '年' + date[1] + '月', | |||||
| ['queryParams.startDate']:UTIL.formatDates(time.detail), | |||||
| showPickerTime : false | |||||
| }) | |||||
| this.getList(); | |||||
| }, | |||||
| back:function(){ | |||||
| wx.navigateBack({ | |||||
| delta: 1 | |||||
| }) | |||||
| }, | |||||
| openPick(){ | |||||
| this.setData({ | |||||
| showPickerTime:true | |||||
| }) | |||||
| }, | |||||
| closePick(){ | |||||
| this.setData({ | |||||
| showPickerTime:false | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload() { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh() { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom() { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage() { | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,6 @@ | |||||
| { | |||||
| "usingComponents": { | |||||
| "van-popup": "@vant/weapp/popup/index", | |||||
| "van-datetime-picker": "@vant/weapp/datetime-picker/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,68 @@ | |||||
| <!--pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxml--> | |||||
| <view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};"> | |||||
| <image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">公开表</text> | |||||
| </view> | |||||
| <view class="home_wrapper" style="margin-top:{{isIPX?'88px':'64px'}};"> | |||||
| <view class="search_info"> | |||||
| <view class="date_box" bind:tap="openPick"> | |||||
| <image src="/image/icon/date_icon.png"></image> | |||||
| <p>{{date}}</p> | |||||
| </view> | |||||
| <van-popup show="{{showPickerTime}}" position="bottom"> | |||||
| <van-datetime-picker | |||||
| value="{{currentDate}}" | |||||
| type="year-month" | |||||
| title="选择年月" | |||||
| min-date="{{minDate}}" | |||||
| max-date="{{maxDate}}" | |||||
| bind:confirm="onConfirm" | |||||
| bind:cancel="closePick" | |||||
| /> | |||||
| </van-popup> | |||||
| <!-- <view class="search_block"> | |||||
| <image src="/image/apply/fixedAssets_icon_1.png" mode="" class="icon"/> | |||||
| <input readonly type="text" class="ipt" value="{{subjectName}}" placeholder="请选择科目查询" bind:tap="" /> | |||||
| <image src="/image/apply/delete_icon_input.png" mode="" class="delete_icon" wx:if="{{subjectName}}" bind:tap="emptyInput"/> | |||||
| </view> --> | |||||
| <!-- visible=true <view class="total">共{{listLength}}个资产</view> @input="getSearch"--> | |||||
| </view> | |||||
| <view class="balance-main"> | |||||
| <view class="main-title"> | |||||
| <view class="company">单位:{{ bookName }}</view> | |||||
| <view class="nper">{{ accountingYear }}年{{ accountingMonth }}期</view> | |||||
| <view class="amountOf">金额:元</view> | |||||
| </view> | |||||
| <view class="main-center"> | |||||
| <view class="datagrid"> | |||||
| <view class="header"> | |||||
| <view class="header-title income" >收入</view> | |||||
| <view class="header-title expenditure ">支出</view> | |||||
| </view> | |||||
| <view class="header"> | |||||
| <view class="xmmc">日期</view> | |||||
| <view class="qj">项目</view> | |||||
| <view class="zy">金额</view> | |||||
| <view class="dfje">日期</view> | |||||
| <view class="fx">项目</view> | |||||
| <view class="ye">金额</view> | |||||
| </view> | |||||
| <view class="mok_list"> | |||||
| <ul class="list"> | |||||
| <li wx:for="{{pageDataList}}" wx:key="index"> | |||||
| <view class="xmmc">{{ item.incomeDate == null ? '' : item.incomeDate }}</view> | |||||
| <view class="qj">{{ item.incomeSummary == null ? '' : item.incomeSummary }}</view> | |||||
| <view class="zy">{{ item.incomeAmount == null ? '' : item.incomeAmount }}</view> | |||||
| <view class="dfje">{{ item.expenditureDate == null ? '' : item.expenditureDate }}</view> | |||||
| <view class="fx">{{ item.expenditureSummary == null ? '' : item.expenditureSummary }}</view> | |||||
| <view class="ye">{{ item.expenditureAmount == null ? '' : item.expenditureAmount }}</view> | |||||
| </li> | |||||
| </ul> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -0,0 +1,221 @@ | |||||
| /* pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxss */ | |||||
| @charset "UTF-8"; | |||||
| .balance-main { | |||||
| background: #fff; | |||||
| } | |||||
| .balance-main .main-title { | |||||
| margin-bottom: 5PX; | |||||
| padding: 0 10PX; | |||||
| height: 33PX; | |||||
| line-height: 33PX; | |||||
| color: #333; | |||||
| font-size: 13PX; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .balance-main .main-title .nper { | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-title .amountOf { | |||||
| text-align: right; | |||||
| } | |||||
| .balance-main .main-center { | |||||
| border: 1PX solid #CACBCC; | |||||
| border-bottom: 0; | |||||
| overflow-x: scroll; | |||||
| } | |||||
| .balance-main .main-center .datagrid { | |||||
| min-height: 100PX; | |||||
| width: 250%; | |||||
| /* 确保收入和支出部分的宽度相同 */ | |||||
| } | |||||
| .balance-main .main-center .datagrid .header { | |||||
| background: #f8f8f9; | |||||
| font-weight: bold; | |||||
| display: flex; | |||||
| } | |||||
| .balance-main .main-center .datagrid .header-title { | |||||
| font-weight: bold; | |||||
| text-align: center; | |||||
| margin-bottom: 5px; /* 根据需要调整间距 */ | |||||
| } | |||||
| .balance-main .main-center .datagrid .header-title.income, .balance-main .main-center .datagrid .header.income { | |||||
| width: 50%; | |||||
| border-bottom: 1PX solid #CACBCC; | |||||
| } | |||||
| .balance-main .main-center .datagrid .header-title.expenditure, .balance-main .main-center .datagrid .header.expenditure { | |||||
| width: 50%; | |||||
| border-bottom: 1PX solid #CACBCC; | |||||
| } | |||||
| .balance-main .main-center .datagrid .kmbm, | |||||
| .balance-main .main-center .datagrid .header-title.expenditure, | |||||
| .balance-main .main-center .datagrid .header-title.income, | |||||
| .balance-main .main-center .datagrid .xmmc, | |||||
| .balance-main .main-center .datagrid .qj, | |||||
| .balance-main .main-center .datagrid .zy, | |||||
| .balance-main .main-center .datagrid .jfje, | |||||
| .balance-main .main-center .datagrid .dfje, | |||||
| .balance-main .main-center .datagrid .fx, | |||||
| .balance-main .main-center .datagrid .ye { | |||||
| height: 29PX; | |||||
| line-height: 29PX; | |||||
| font-size: 13PX; | |||||
| border-bottom: 1PX solid #CACBCC; | |||||
| border-right: 1PX solid #CACBCC; | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-center .datagrid .xmmc { | |||||
| width: 12%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .qj { | |||||
| width: 26%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .zy { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .dfje { | |||||
| width: 12%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .fx { | |||||
| width: 26%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .ye { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| border-right: 0; | |||||
| } | |||||
| .balance-main .main-center .datagrid .mok_list { | |||||
| display: block; | |||||
| overflow-y: scroll; | |||||
| height: calc(100vh - 200PX); | |||||
| } | |||||
| .balance-main .main-center .datagrid .list { | |||||
| width: 100%; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul { | |||||
| margin: 0; | |||||
| padding: 0; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li { | |||||
| display: block; | |||||
| overflow: hidden; | |||||
| list-style: none; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li.header { | |||||
| background: #f8f8f9; | |||||
| font-weight: bold; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .kmbm, | |||||
| .balance-main .main-center .datagrid ul li .xmmc, | |||||
| .balance-main .main-center .datagrid ul li .qj, | |||||
| .balance-main .main-center .datagrid ul li .zy, | |||||
| .balance-main .main-center .datagrid ul li .jfje, | |||||
| .balance-main .main-center .datagrid ul li .dfje, | |||||
| .balance-main .main-center .datagrid ul li .fx, | |||||
| .balance-main .main-center .datagrid ul li .ye { | |||||
| height: 29PX; | |||||
| line-height: 29PX; | |||||
| float: left; | |||||
| font-size: 13PX; | |||||
| border-bottom: 1PX solid #CACBCC; | |||||
| border-right: 1PX solid #CACBCC; | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .xmmc { | |||||
| width: 12%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .qj { | |||||
| width: 26%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .zy { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .dfje { | |||||
| width: 12%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .fx { | |||||
| width: 26%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .ye { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| border-right: 0; | |||||
| } | |||||
| .date_box { | |||||
| display: flex; | |||||
| align-items: center; | |||||
| } | |||||
| .date_box image { | |||||
| width: 30PX; | |||||
| height: 30px; | |||||
| border-radius: 100%; | |||||
| box-shadow: 0px 6px 10px rgba(63, 68, 75, 0.5); | |||||
| } | |||||
| .date_box p { | |||||
| font-size: 14PX; | |||||
| margin-left: 5PX; | |||||
| color: #2facfe; | |||||
| } | |||||
| .search_info { | |||||
| padding: 20px 23px; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: center; | |||||
| } | |||||
| .search_info .search_block { | |||||
| height: 35px; | |||||
| flex: 1; | |||||
| border-radius: 59px; | |||||
| background: #fff; | |||||
| display: flex; | |||||
| padding-right: 35px; | |||||
| align-items: center; | |||||
| box-shadow: 0px 6px 5px rgba(63, 68, 75, 0.2); | |||||
| } | |||||
| .search_info .search_block .icon { | |||||
| width: 15px; | |||||
| height: 15px; | |||||
| display: block; | |||||
| margin: 0 8px 0 26px; | |||||
| } | |||||
| .search_info .search_block .delete_icon { | |||||
| width: 15PX; | |||||
| height: 15PX; | |||||
| display: block; | |||||
| margin: 0 8px 0 26px; | |||||
| } | |||||
| .search_info .search_block .ipt { | |||||
| flex: 1; | |||||
| font-size: 14px; | |||||
| background: none; | |||||
| border: 0 none; | |||||
| line-height: 59px; | |||||
| } | |||||
| .home_wrapper{ | |||||
| background: #e9e9e9; | |||||
| /* min-height: 100vh; */ | |||||
| width: 100vw; | |||||
| } | |||||
| @@ -0,0 +1,222 @@ | |||||
| // pages/finance/detailed_liabilities/detailed_liabilities.js | |||||
| import * as UTIL from '../../../utils/util.js'; | |||||
| import * as API from '../../../utils/API.js'; | |||||
| const app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| isIPX: app.globalData.isIPX, | |||||
| expressionOptions:[], | |||||
| searchDate: { | |||||
| bookDate: "", | |||||
| templateName: '资产负债表', | |||||
| signature: false, // 添加底部落款 | |||||
| }, | |||||
| list: [], | |||||
| accountingYear: "", | |||||
| accountingMonth: "", | |||||
| // 显示搜索条件 | |||||
| visible: false, | |||||
| showPickerTime: false, | |||||
| subjectName:'请选择科目查询', | |||||
| minDate: new Date().getTime(), | |||||
| maxDate: new Date().getTime(), | |||||
| currentDate: new Date(), | |||||
| date:'' | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad(options) { | |||||
| UTIL.httpRequest(API.getLoginBook,{}, { | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| let currentDays = res.data.currentDay; | |||||
| if (currentDays == null) { | |||||
| UTIL.showToastNoneIcon("当前账套未开启!"); | |||||
| return false; | |||||
| } | |||||
| let mindate = res.data.startDay.split('-') | |||||
| let dealDays = currentDays.split("-"); | |||||
| this.setData({ | |||||
| accountingYear:dealDays[0], | |||||
| accountingMonth:dealDays[1], | |||||
| date: dealDays[0]+'年'+dealDays[1]+'月', | |||||
| ['searchDate.bookDate']:currentDays, | |||||
| minDate: new Date(mindate[0],mindate[1]-1).getTime(), | |||||
| }) | |||||
| this.initPage() | |||||
| } | |||||
| } | |||||
| }); | |||||
| UTIL.httpRequest(API.expressionReportByCategory+'资产负债表',{}, { | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| let content = res.data; | |||||
| this.setData({ | |||||
| expressionOptions:content | |||||
| }) | |||||
| } | |||||
| } | |||||
| }); | |||||
| }, | |||||
| initPage() { | |||||
| var that = this; | |||||
| UTIL.httpRequest(API.assetLiabilityReportByExpTpl,this.data.searchDate, { | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| let content = res.data; | |||||
| this.setData({ | |||||
| list:content.list.map((x) => { | |||||
| x.ncyeLeft = that.formatNum(x.ncyeLeft); | |||||
| x.qmyeLeft = that.formatNum(x.qmyeLeft); | |||||
| x.ncyeRight = that.formatNum(x.ncyeRight); | |||||
| x.qmyeRight = that.formatNum(x.qmyeRight); | |||||
| return x; | |||||
| }) | |||||
| }) | |||||
| } | |||||
| } | |||||
| }); | |||||
| }, | |||||
| formatNum(value) { | |||||
| if(value === undefined || value === null) | |||||
| return ''; | |||||
| if(typeof(value) === "string") | |||||
| { | |||||
| if(value.indexOf(',') !== -1) | |||||
| return value; | |||||
| value = Number(value); | |||||
| if(isNaN(value)) | |||||
| return ''; | |||||
| } | |||||
| if(value === 0) | |||||
| return ''; | |||||
| return this.numFormat(value); | |||||
| }, | |||||
| numFormat(value) { | |||||
| if (value == null) { | |||||
| return ""; | |||||
| } | |||||
| if (!value) return "0.00"; | |||||
| value = value.toFixed(2); | |||||
| let is_neg = value < 0; | |||||
| var intPart = Math.abs(Math.trunc(value)); // 获取整数部分 | |||||
| var intPartFormat = intPart.toString() | |||||
| .replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"); // 将整数部分逢三一断 | |||||
| if(is_neg) | |||||
| intPartFormat = '-' + intPartFormat; | |||||
| var floatPart = ".00"; // 预定义小数部分 | |||||
| var value2Array = value.split("."); | |||||
| // =2表示数据有小数位 | |||||
| if (value2Array.length === 2) { | |||||
| floatPart = value2Array[1].toString(); // 拿到小数部分 | |||||
| if (floatPart.length === 1) { | |||||
| // 补0,实际上用不着 | |||||
| return intPartFormat + "." + floatPart + "0"; | |||||
| } else { | |||||
| return intPartFormat + "." + floatPart; | |||||
| } | |||||
| } else { | |||||
| return intPartFormat + floatPart; | |||||
| } | |||||
| }, | |||||
| openPick(){ | |||||
| this.setData({ | |||||
| showPickerTime:true | |||||
| }) | |||||
| }, | |||||
| closePick(){ | |||||
| this.setData({ | |||||
| showPickerTime:false | |||||
| }) | |||||
| }, | |||||
| onConfirm(time) { | |||||
| console.log(time.detail); | |||||
| let date = UTIL.formatDates(time.detail).split('-'); | |||||
| this.setData({ | |||||
| date:date[0] + '年' + date[1] + '月', | |||||
| ['queryParams.startDate']:UTIL.formatDates(time.detail), | |||||
| showPickerTime : false | |||||
| }) | |||||
| this.getList(); | |||||
| }, | |||||
| back:function(){ | |||||
| wx.navigateBack({ | |||||
| delta: 1 | |||||
| }) | |||||
| }, | |||||
| closePickEx(){ | |||||
| this.setData({ | |||||
| visible : false | |||||
| }) | |||||
| }, | |||||
| openPickEx(){ | |||||
| this.setData({ | |||||
| visible : true | |||||
| }) | |||||
| }, | |||||
| onConfirmExpression(data){ | |||||
| console.log(data); | |||||
| this.setData({ | |||||
| subjectName:data.detail.value.name, | |||||
| ['searchDate.templateName']: data.detail.value.name, | |||||
| visible : false | |||||
| }) | |||||
| this.initPage(); | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload() { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh() { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom() { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage() { | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,7 @@ | |||||
| { | |||||
| "usingComponents": { | |||||
| "van-popup": "@vant/weapp/popup/index", | |||||
| "van-picker": "@vant/weapp/picker/index", | |||||
| "van-datetime-picker": "@vant/weapp/datetime-picker/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,71 @@ | |||||
| <!--pages/finance/detailed_liabilities/detailed_liabilities.wxml--> | |||||
| <view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};"> | |||||
| <image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">负债表</text> | |||||
| </view> | |||||
| <view class="home_wrapper" style="margin-top:{{isIPX?'88px':'64px'}};"> | |||||
| <view class="search_info"> | |||||
| <view class="date_box" bind:tap="openPick"> | |||||
| <image src="/image/icon/date_icon.png"></image> | |||||
| <p>{{date}}</p> | |||||
| </view> | |||||
| <van-popup show="{{showPickerTime}}" position="bottom"> | |||||
| <van-datetime-picker | |||||
| value="{{currentDate}}" | |||||
| type="year-month" | |||||
| title="选择年月" | |||||
| min-date="{{minDate}}" | |||||
| max-date="{{maxDate}}" | |||||
| bind:confirm="onConfirm" | |||||
| bind:cancel="closePick" | |||||
| /> | |||||
| </van-popup> | |||||
| <view class="search_block"> | |||||
| <image src="/image/apply/fixedAssets_icon_1.png" mode="" class="icon"/> | |||||
| <view class="ipt" bind:tap="openPickEx">{{searchDate.templateName}}</view> | |||||
| </view> | |||||
| <van-popup show="{{visible}}" position="bottom"> | |||||
| <van-picker | |||||
| show-toolbar | |||||
| columns="{{expressionOptions}}" | |||||
| value-key="name" | |||||
| bind:confirm="onConfirmExpression" | |||||
| bind:cancel="closePickEx" | |||||
| /> | |||||
| </van-popup> | |||||
| <!-- visible=true <view class="total">共{{listLength}}个资产</view> @input="getSearch"--> | |||||
| </view> | |||||
| <view class="balance-main"> | |||||
| <view class="main-title"> | |||||
| <view class="company">单位:{{ this.$store.getters.bookName }}</view> | |||||
| <view class="nper">{{ accountingYear }}年{{ accountingMonth }}期</view> | |||||
| <view class="amountOf">金额:元</view> | |||||
| </view> | |||||
| <view class="main-center"> | |||||
| <view class="datagrid"> | |||||
| <view class="header"> | |||||
| <view class="xmmc">资产</view> | |||||
| <view class="qj">年初余额</view> | |||||
| <view class="zy">期末余额</view> | |||||
| <view class="dfje">负债与所有者权益</view> | |||||
| <view class="fx">年初余额</view> | |||||
| <view class="ye">期末余额</view> | |||||
| </view> | |||||
| <view class="mok_list"> | |||||
| <ul class="list"> | |||||
| <li wx:for="{{list}}" wx:key="index"> | |||||
| <view class="xmmc">{{ item.subjectNameLeft }}</view> | |||||
| <view class="qj">{{ item.ncyeLeft }}</view> | |||||
| <view class="zy">{{ item.qmyeLeft }}</view> | |||||
| <view class="dfje">{{ item.subjectNameRight }}</view> | |||||
| <view class="fx">{{ item.ncyeRight }}</view> | |||||
| <view class="ye">{{ item.qmyeRight }}</view> | |||||
| </li> | |||||
| </ul> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -0,0 +1,214 @@ | |||||
| /* pages/finance/detailed_liabilities/detailed_liabilities.wxss */ | |||||
| .balance-main { | |||||
| background: #fff; | |||||
| } | |||||
| .balance-main .main-title { | |||||
| margin-bottom: 5PX; | |||||
| padding: 0 10PX; | |||||
| height: 33PX; | |||||
| line-height: 33PX; | |||||
| color: #333; | |||||
| font-size: 13PX; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .balance-main .main-title .nper { | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-title .amountOf { | |||||
| text-align: right; | |||||
| } | |||||
| .balance-main .main-center { | |||||
| border: 1PX solid #CACBCC; | |||||
| border-bottom: 0; | |||||
| overflow-x: scroll; | |||||
| } | |||||
| .balance-main .main-center .datagrid { | |||||
| min-height: 100PX; | |||||
| width: 250%; | |||||
| } | |||||
| .balance-main .main-center .datagrid .header { | |||||
| background: #f8f8f9; | |||||
| font-weight: bold; | |||||
| display: flex; | |||||
| color: #278dff; | |||||
| } | |||||
| .balance-main .main-center .datagrid .kmbm, | |||||
| .balance-main .main-center .datagrid .xmmc, | |||||
| .balance-main .main-center .datagrid .qj, | |||||
| .balance-main .main-center .datagrid .zy, | |||||
| .balance-main .main-center .datagrid .jfje, | |||||
| .balance-main .main-center .datagrid .dfje, | |||||
| .balance-main .main-center .datagrid .fx, | |||||
| .balance-main .main-center .datagrid .ye { | |||||
| height: 29PX; | |||||
| line-height: 29PX; | |||||
| font-size: 13PX; | |||||
| border-bottom: 1PX solid #CACBCC; | |||||
| border-right: 1PX solid #CACBCC; | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-center .datagrid .xmmc { | |||||
| width: 26%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .qj { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .zy { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .dfje { | |||||
| width: 26%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .fx { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .ye { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| border-right: 0; | |||||
| } | |||||
| .balance-main .main-center .datagrid .mok_list { | |||||
| display: block; | |||||
| overflow-y: scroll; | |||||
| height: calc(100vh - 200PX); | |||||
| } | |||||
| .balance-main .main-center .datagrid .list { | |||||
| width: 100%; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul { | |||||
| margin: 0; | |||||
| padding: 0; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li { | |||||
| display: block; | |||||
| overflow: hidden; | |||||
| list-style: none; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li.header { | |||||
| background: #f8f8f9; | |||||
| font-weight: bold; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li:nth-child(even) { | |||||
| background: #e9e9e9; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .kmbm, | |||||
| .balance-main .main-center .datagrid ul li .xmmc, | |||||
| .balance-main .main-center .datagrid ul li .qj, | |||||
| .balance-main .main-center .datagrid ul li .zy, | |||||
| .balance-main .main-center .datagrid ul li .jfje, | |||||
| .balance-main .main-center .datagrid ul li .dfje, | |||||
| .balance-main .main-center .datagrid ul li .fx, | |||||
| .balance-main .main-center .datagrid ul li .ye { | |||||
| height: 29PX; | |||||
| line-height: 29PX; | |||||
| float: left; | |||||
| font-size: 13PX; | |||||
| border-bottom: 1PX solid #CACBCC; | |||||
| border-right: 1PX solid #CACBCC; | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .xmmc { | |||||
| width: 26%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .qj { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .zy { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .dfje { | |||||
| width: 26%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .fx { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .ye { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| border-right: 0; | |||||
| } | |||||
| .radio_box{ | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: center; | |||||
| padding:20px 23px; | |||||
| } | |||||
| .date_box { | |||||
| display: flex; | |||||
| align-items: center; | |||||
| } | |||||
| .date_box image { | |||||
| width: 30PX; | |||||
| height: 30px; | |||||
| border-radius: 100%; | |||||
| box-shadow: 0px 6px 10px rgba(63, 68, 75, 0.5); | |||||
| } | |||||
| .date_box p { | |||||
| font-size: 14PX; | |||||
| margin-left: 5PX; | |||||
| color: #2facfe; | |||||
| } | |||||
| .search_info { | |||||
| padding: 20px 23px; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: center; | |||||
| } | |||||
| .search_info .search_block { | |||||
| height: 35px; | |||||
| flex: 1; | |||||
| border-radius: 59px; | |||||
| background: #fff; | |||||
| display: flex; | |||||
| padding-right: 35px; | |||||
| align-items: center; | |||||
| box-shadow: 0px 6px 5px rgba(63, 68, 75, 0.2); | |||||
| margin-left: 20px; | |||||
| } | |||||
| .search_info .search_block .icon { | |||||
| width: 15px; | |||||
| height: 15px; | |||||
| display: block; | |||||
| margin: 0 8px 0 15px; | |||||
| } | |||||
| .search_info .search_block .delete_icon { | |||||
| width: 15PX; | |||||
| height: 15PX; | |||||
| display: block; | |||||
| margin: 0 8px 0 26px; | |||||
| } | |||||
| .search_info .search_block .ipt { | |||||
| flex: 1; | |||||
| font-size: 14px; | |||||
| background: none; | |||||
| border: 0 none; | |||||
| line-height: 59px; | |||||
| } | |||||
| .home_wrapper{ | |||||
| background: #e9e9e9; | |||||
| /* min-height: 100vh; */ | |||||
| width: 100vw; | |||||
| } | |||||
| @@ -11,7 +11,25 @@ Page({ | |||||
| isIPX: app.globalData.isIPX, | isIPX: app.globalData.isIPX, | ||||
| list:[] | list:[] | ||||
| }, | }, | ||||
| goList(e){ | |||||
| let type = e.currentTarget.dataset.type; | |||||
| if(type == 'yeb'){ | |||||
| wx.navigateTo({ | |||||
| url: 'list_balance_ranking/list_balance_ranking', | |||||
| }) | |||||
| } | |||||
| if(type == 'fzb'){ | |||||
| wx.navigateTo({ | |||||
| url: 'detailed_liabilities/detailed_liabilities', | |||||
| }) | |||||
| } | |||||
| if(type == 'gkb'){ | |||||
| wx.navigateTo({ | |||||
| url: 'detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic', | |||||
| }) | |||||
| } | |||||
| }, | |||||
| /** | /** | ||||
| * 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
| */ | */ | ||||
| @@ -43,8 +61,12 @@ Page({ | |||||
| if(res.code == 200){ | if(res.code == 200){ | ||||
| for (let i = 0; i < res.rows.length; i++) { | for (let i = 0; i < res.rows.length; i++) { | ||||
| const element = res.rows[i]; | const element = res.rows[i]; | ||||
| element.openPic = element.openPic.split(','); | |||||
| element.openFile = element.openFile.split(','); | |||||
| if(element.openPic){ | |||||
| element.openPic = element.openPic.split(','); | |||||
| } | |||||
| if(element.openFile){ | |||||
| element.openFile = element.openFile.split(','); | |||||
| } | |||||
| } | } | ||||
| // wx.getStorageSync('dressCode')+ | // wx.getStorageSync('dressCode')+ | ||||
| if (res.rows.length>0) { | if (res.rows.length>0) { | ||||
| @@ -13,6 +13,8 @@ | |||||
| "van-dropdown-menu": "@vant/weapp/dropdown-menu/index", | "van-dropdown-menu": "@vant/weapp/dropdown-menu/index", | ||||
| "van-popup": "@vant/weapp/popup/index", | "van-popup": "@vant/weapp/popup/index", | ||||
| "van-dialog": "@vant/weapp/dialog/index", | "van-dialog": "@vant/weapp/dialog/index", | ||||
| "van-grid": "@vant/weapp/grid/index", | |||||
| "van-grid-item": "@vant/weapp/grid-item/index", | |||||
| "van-dropdown-item": "@vant/weapp/dropdown-item/index" | "van-dropdown-item": "@vant/weapp/dropdown-item/index" | ||||
| } | } | ||||
| } | } | ||||
| @@ -13,7 +13,20 @@ | |||||
| bind:change="goSearch" | bind:change="goSearch" | ||||
| /> | /> | ||||
| </view> | </view> | ||||
| <view class="grid_main"> | |||||
| <view bind:tap="goList" data-type="yeb"> | |||||
| <image src="/image/index/index_block_04.png" mode="heightFix"/> | |||||
| <text>余额表</text> | |||||
| </view> | |||||
| <view text="负债表" bind:tap="goList" data-type="fzb"> | |||||
| <image src="/image/index/index_block_23.png" mode="heightFix"/> | |||||
| <text>负债表</text> | |||||
| </view> | |||||
| <view text="公开表" bind:tap="goList" data-type="gkb"> | |||||
| <image src="/image/index/index_block_26.png" mode="heightFix"/> | |||||
| <text>公开表</text> | |||||
| </view> | |||||
| </view> | |||||
| <scroll-view scroll-y refresher-threshold="0" style="height:100%" bindscrolltolower="paging" lower-threshold="100"> | <scroll-view scroll-y refresher-threshold="0" style="height:100%" bindscrolltolower="paging" lower-threshold="100"> | ||||
| <!-- wx:for="{{list}}" wx:key="index" wx:for-item="item" right-width="{{ 50 }}" --> | <!-- wx:for="{{list}}" wx:key="index" wx:for-item="item" right-width="{{ 50 }}" --> | ||||
| <van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{list}}" wx:key="index" > | <van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{list}}" wx:key="index" > | ||||
| @@ -3,6 +3,37 @@ | |||||
| border: 1px solid #5CAE77!important; | border: 1px solid #5CAE77!important; | ||||
| background: #fff!important; | background: #fff!important; | ||||
| } | } | ||||
| .van-grid-item__content--square { | |||||
| padding-top: 0; | |||||
| padding-bottom: 0; | |||||
| } | |||||
| .grid_main{ | |||||
| width: 94%; | |||||
| margin: 0 auto 2vh; | |||||
| overflow: hidden; | |||||
| border-radius: 15px; | |||||
| box-shadow: 0 8px 20px rgba(3, 3, 67, .1); | |||||
| display: flex; | |||||
| justify-content: space-around; | |||||
| align-items: center; | |||||
| background-color: #ffffff; | |||||
| padding: 2vh 0; | |||||
| } | |||||
| .grid_main view{ | |||||
| font-size: 14px; | |||||
| color: #333333; | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| align-items: center; | |||||
| } | |||||
| .grid_main view text{ | |||||
| font-size: 14px; | |||||
| color: #333333; | |||||
| margin-top: 5px; | |||||
| } | |||||
| .grid_main view image{ | |||||
| height: 43px; | |||||
| } | |||||
| van-search { | van-search { | ||||
| flex: 0.8; | flex: 0.8; | ||||
| } | } | ||||
| @@ -0,0 +1,319 @@ | |||||
| // pages/finance/list_balance_ranking/list_balance_ranking.js | |||||
| import * as UTIL from '../../../utils/util.js'; | |||||
| import * as API from '../../../utils/API.js'; | |||||
| const app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| popupVisible:false, | |||||
| subjects:[], | |||||
| isIPX: app.globalData.isIPX, | |||||
| subjectName:'', | |||||
| visible:false, | |||||
| subjectId:'', | |||||
| radio:'1', | |||||
| applicationList:[], | |||||
| applicationListSecond:[], | |||||
| assetStatusOptions:[], | |||||
| auditStatus:[], | |||||
| loading: false, | |||||
| finished: false, | |||||
| show: false, | |||||
| showTab: false, | |||||
| showPickerTime: false, | |||||
| fileList:[], | |||||
| listLength:'0', | |||||
| searchInput:'', | |||||
| queryParams:{ | |||||
| pageNum:1, | |||||
| pageSize:999, | |||||
| startDate:'', | |||||
| startSubjectId:'', | |||||
| endSubjectId:'', | |||||
| showSubSubject:false | |||||
| }, | |||||
| uploadFiles1:[], | |||||
| projectId:'', | |||||
| projectIndex:'', | |||||
| showBtn:true, | |||||
| yearMonth:[], | |||||
| deptName:'', | |||||
| minDate: new Date().getTime(), | |||||
| maxDate: new Date().getTime(), | |||||
| currentDate: new Date(), | |||||
| date:'' | |||||
| }, | |||||
| changeTabItem(e){ | |||||
| console.log(e.detail.currentTarget.dataset.item); | |||||
| console.log(e); | |||||
| this.setData({ | |||||
| subjectName:e.detail.currentTarget.dataset.item.subjectId+ " " + e.detail.currentTarget.dataset.item.subjectName, | |||||
| ['queryParams.endSubjectId']:e.detail.currentTarget.dataset.item.subjectId, | |||||
| popupVisible:false | |||||
| }) | |||||
| this.getList(); | |||||
| }, | |||||
| showSub(event){ | |||||
| this.setData({ | |||||
| ['queryParams.showSubSubject']:event.detail | |||||
| }) | |||||
| this.getList(); | |||||
| }, | |||||
| onClose(e){ | |||||
| console.log(e); | |||||
| this.setData({ | |||||
| popupVisible:false | |||||
| }) | |||||
| }, | |||||
| openTabs(e){ | |||||
| console.log(e); | |||||
| this.setData({ | |||||
| tabsVisible:true | |||||
| }) | |||||
| this.selectComponent('#tabs').resize(); | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad(options) { | |||||
| UTIL.httpRequest(API.getLoginBook,{}, { | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| if (res.data.currentDay != null || res.data.startDay != null){ | |||||
| let resDate = res.data.currentDay != null ? res.data.currentDay : res.data.startDay != null ? res.data.startDay : UTIL.formatDates(new Date()) | |||||
| let date = resDate.split('-'); | |||||
| let mindate = res.data.startDay.split('-') | |||||
| this.setData({ | |||||
| date:date[0] + '年' + date[1] + '月', | |||||
| currentDate:new Date(date[0], date[1]-1, 1).getTime(), | |||||
| ['queryParams.startDate']:resDate, | |||||
| minDate: new Date(mindate[0],mindate[1]-1).getTime(), | |||||
| }) | |||||
| this.getList(); | |||||
| this.getSubjects(); | |||||
| } | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| getList(){ | |||||
| var _this = this; | |||||
| setTimeout(() => { | |||||
| UTIL.httpRequest(API.trailBalanceList,_this.data.queryParams, { | |||||
| success: (response) => { | |||||
| // _this.data.listLength = response.total; | |||||
| response.rows.map(res=>{ | |||||
| res.bqjffs = Number(res.bqjffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
| return $1 + ","; }).replace(/\.$/, ""); | |||||
| res.bqdffs = Number(res.bqdffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
| return $1 + ","; }).replace(/\.$/, ""); | |||||
| res.qcjfye = Number(res.qcjfye).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
| return $1 + ","; }).replace(/\.$/, ""); | |||||
| res.qcdfye = Number(res.qcdfye).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
| return $1 + ","; }).replace(/\.$/, ""); | |||||
| res.qmjffs = Number(res.qmjffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
| return $1 + ","; }).replace(/\.$/, ""); | |||||
| res.qmdffs = Number(res.qmdffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
| return $1 + ","; }).replace(/\.$/, ""); | |||||
| }) | |||||
| // _this.data.applicationList = response.rows; | |||||
| _this.setData({ | |||||
| listLength:response.total, | |||||
| applicationList:response.rows, | |||||
| }) | |||||
| } | |||||
| }); | |||||
| }, 1000); | |||||
| }, | |||||
| openPick(){ | |||||
| this.setData({ | |||||
| showPickerTime:true | |||||
| }) | |||||
| }, | |||||
| closePick(){ | |||||
| this.setData({ | |||||
| showPickerTime:false | |||||
| }) | |||||
| }, | |||||
| onConfirm(time) { | |||||
| console.log(time.detail); | |||||
| let date = UTIL.formatDates(time.detail).split('-'); | |||||
| this.setData({ | |||||
| date:date[0] + '年' + date[1] + '月', | |||||
| ['queryParams.startDate']:UTIL.formatDates(time.detail), | |||||
| showPickerTime : false | |||||
| }) | |||||
| this.getList(); | |||||
| }, | |||||
| back:function(){ | |||||
| wx.navigateBack({ | |||||
| delta: 1 | |||||
| }) | |||||
| }, | |||||
| getSubjects() { | |||||
| this.data.subjects = []; | |||||
| var that = this; | |||||
| let map = {}; | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'subject_type', {method:'GET'}, { | |||||
| success: (resp) => { | |||||
| this.setData({ | |||||
| subjects:resp.data.map((x) => { | |||||
| let item = { | |||||
| subjectId: x.dictValue, | |||||
| subjectName: x.dictLabel, | |||||
| subjectNameAll: x.dictLabel, | |||||
| subjectType: x.dictValue, | |||||
| subjectLevel: 0, | |||||
| children: [], | |||||
| visible: true, | |||||
| }; | |||||
| map[x.dictValue] = item; | |||||
| return item; | |||||
| }) | |||||
| }); | |||||
| console.log(this.data.subjects); | |||||
| UTIL.httpRequest('/finance/subject/listAll',{year:this.data.queryParams.startDate ? this.data.queryParams.startDate.substr(0, 4) : null}, { | |||||
| success: (resp) => { | |||||
| let list = this.makeTree(resp.rows || resp.data); | |||||
| console.log(list); | |||||
| for(let v of list) | |||||
| { | |||||
| if(v.subjectId.length === 3) | |||||
| { | |||||
| map[v.subjectType].children.push(v); | |||||
| } | |||||
| } | |||||
| this.setData({ | |||||
| subjects:this.data.subjects | |||||
| }) | |||||
| } | |||||
| }); | |||||
| } | |||||
| }) | |||||
| // this.getDicts('subject_type').then((resp) => { | |||||
| // let url = '/finance/subject/listAll?year='+this.yearNews; // '/open/villageAffairs/public/subjects/153' | |||||
| // request(url).then((resp) => { | |||||
| // }) | |||||
| // }); | |||||
| }, | |||||
| makeTree(list) { | |||||
| function isnull(p) { | |||||
| return p === null || p === undefined || p === ''; | |||||
| } | |||||
| function makeTree_r(l, p) { | |||||
| const isRoot = isnull(p); | |||||
| let res = []; | |||||
| for(let v of l) | |||||
| { | |||||
| if((isRoot && isnull(v.parentId)) || (!isRoot && v.parentId == p)) | |||||
| { | |||||
| let arr = makeTree_r(l, v.subjectId); | |||||
| if(arr.length > 0) | |||||
| v.children = arr; | |||||
| else | |||||
| delete v.children; | |||||
| res.push(v); | |||||
| } | |||||
| } | |||||
| return res; | |||||
| } | |||||
| return makeTree_r(list.map((x) => { | |||||
| x.visible = true; | |||||
| return x; | |||||
| })); | |||||
| }, | |||||
| openPup(){ | |||||
| this.setData({ | |||||
| popupVisible:true | |||||
| }) | |||||
| }, | |||||
| onTabChanged(){ | |||||
| this.setData({searchValue:''}) | |||||
| this.onSearch(); | |||||
| }, | |||||
| onSearch(value) { | |||||
| function handleTree_r(l, func) { | |||||
| let res = 0; | |||||
| for(let v of l) | |||||
| { | |||||
| let r = func(v) ? 1 : 0; | |||||
| if(v.children && Array.isArray(v.children) && v.children.length > 0) | |||||
| { | |||||
| r += handleTree_r(v.children, func); | |||||
| } | |||||
| v.visible = r > 0; | |||||
| res += r; | |||||
| } | |||||
| return res; | |||||
| } | |||||
| for(let v of this.data.subjects) | |||||
| { | |||||
| if(v.subjectId === this.data.active && value) | |||||
| { | |||||
| handleTree_r(v.children, (x) => x.subjectId.startsWith(value) || x.subjectName.indexOf(value) !== -1); | |||||
| } | |||||
| else | |||||
| { | |||||
| handleTree_r(v.children, (x) => true); | |||||
| } | |||||
| } | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload() { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh() { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom() { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage() { | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,13 @@ | |||||
| { | |||||
| "usingComponents": { | |||||
| "childrenPage":"/component/SubjectTreeChooserNodeItem/childrenPage", | |||||
| "van-popup": "@vant/weapp/popup/index", | |||||
| "van-datetime-picker": "@vant/weapp/datetime-picker/index", | |||||
| "van-checkbox": "@vant/weapp/checkbox/index", | |||||
| "van-tab": "@vant/weapp/tab/index", | |||||
| "van-tabs": "@vant/weapp/tabs/index", | |||||
| "van-collapse": "@vant/weapp/collapse/index", | |||||
| "van-collapse-item": "@vant/weapp/collapse-item/index", | |||||
| "van-checkbox-group": "@vant/weapp/checkbox-group/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,94 @@ | |||||
| <!--pages/finance/list_balance_ranking/list_balance_ranking.wxml--> | |||||
| <view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};"> | |||||
| <image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">余额表</text> | |||||
| </view> | |||||
| <view class="home_wrapper" style="margin-top:{{isIPX?'88px':'64px'}};"> | |||||
| <view class="search_info"> | |||||
| <view class="date_box" bind:tap="openPick"> | |||||
| <image src="/image/icon/date_icon.png"></image> | |||||
| <p>{{date}}</p> | |||||
| </view> | |||||
| <van-popup show="{{showPickerTime}}" position="bottom"> | |||||
| <van-datetime-picker | |||||
| value="{{currentDate}}" | |||||
| type="year-month" | |||||
| title="选择年月" | |||||
| min-date="{{minDate}}" | |||||
| max-date="{{maxDate}}" | |||||
| bind:confirm="onConfirm" | |||||
| bind:cancel="closePick" | |||||
| /> | |||||
| </van-popup> | |||||
| <view class="search_block"> | |||||
| <image src="/image/apply/fixedAssets_icon_1.png" mode="" class="icon"/> | |||||
| <view class="ipt" bind:tap="openPup" >{{subjectName==''?'请选择科目查询':subjectName}}</view> | |||||
| <image src="/image/apply/delete_icon_input.png" mode="" class="delete_icon" wx:if="{{subjectName}}" bind:tap="emptyInput"/> | |||||
| </view> | |||||
| <!-- visible=true <view class="total">共{{listLength}}个资产</view> @input="getSearch"--> | |||||
| </view> | |||||
| <view class="radio_box"> | |||||
| <van-checkbox value="{{queryParams.showSubSubject}}" bind:change="showSub" checked-color="#2facfe">显示明细</van-checkbox> | |||||
| <view class="total">共{{listLength}}条</view> | |||||
| </view> | |||||
| <view class="balance-main"> | |||||
| <!-- <view class="main-title">--> | |||||
| <!-- <view class="company">单位:{{ this.$store.getters.bookName }}</view>--> | |||||
| <!-- <view class="nper">{{ accountingYear }}年{{ accountingMonth }}期</view>--> | |||||
| <!-- <view class="amountOf">金额:元</view>--> | |||||
| <!-- </view>--> | |||||
| <view class="main-center"> | |||||
| <view class="datagrid"> | |||||
| <view class="header"> | |||||
| <view class="xmmc">科目</view> | |||||
| <view class="qj">期初余额</view> | |||||
| <view class="zy">本期发生</view> | |||||
| <view class="dfje">期末余额</view> | |||||
| </view> | |||||
| <view class="header header_sec"> | |||||
| <view class="xmmc">编码</view> | |||||
| <view class="qj">名称</view> | |||||
| <view class="zy">本期发生</view> | |||||
| <view class="dfje">期末余额</view> | |||||
| <view class="xmmc">科目</view> | |||||
| <view class="qj">期初余额</view> | |||||
| <view class="zy">本期发生</view> | |||||
| <view class="dfje">期末余额</view> | |||||
| </view> | |||||
| <view class="mok_list"> | |||||
| <ul class="list"> | |||||
| <li class="header_sec" wx:for="{{applicationList}}" wx:key="id"> | |||||
| <view class="xmmc">{{ item.subjectId }}</view> | |||||
| <view class="xmmc">{{item.subjectName}}</view> | |||||
| <view class="qj">{{ item.qcjfye }}</view> | |||||
| <view class="qj">{{item.qcdfye}}</view> | |||||
| <view class="zy">{{item.bqjffs}}</view> | |||||
| <view class="zy">{{item.bqdffs}}</view> | |||||
| <view class="dfje">{{item.qmjffs}}</view> | |||||
| <view class="dfje">{{item.qmdffs}}</view> | |||||
| </li> | |||||
| </ul> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <!-- <SubjectTreeChooser :visible.sync="visible" @select="getSearch" v-model="queryParams.startSubjectId" :year="queryParams.startDate ? queryParams.startDate.substr(0, 4) : null" :can-select-non-leaf="true" height="480px"></SubjectTreeChooser> --> | |||||
| <van-popup show="{{popupVisible}}" root-portal position="bottom" close-on-click-overlay bind:after-enter="openTabs" bind:close="onClose"> | |||||
| <!-- <van-search | |||||
| v-model="searchValue" | |||||
| placeholder="按科目编码/名称筛选" | |||||
| @input="onSearch" | |||||
| /> --> | |||||
| <van-tabs wx:if="{{tabsVisible}}" animated sticky id="tabs" bind:change="onTabChanged"> | |||||
| <van-tab title="{{item.subjectName}}" name="{{item.subjectId}}" wx:for="{{subjects}}" wx:key="index"> | |||||
| <view style="height: 480px;"> | |||||
| <childrenPage bind:cancel="changeTabItem" subjects="{{item.children}}"></childrenPage> | |||||
| </view> | |||||
| </van-tab> | |||||
| </van-tabs> | |||||
| </van-popup> | |||||
| </view> | |||||
| @@ -0,0 +1,229 @@ | |||||
| .balance-main { | |||||
| background: #fff; | |||||
| } | |||||
| .balance-main .main-title { | |||||
| margin-bottom: 5PX; | |||||
| padding: 0 10PX; | |||||
| height: 33PX; | |||||
| line-height: 33PX; | |||||
| color: #333; | |||||
| font-size: 13PX; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .balance-main .main-title .nper { | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-title .amountOf { | |||||
| text-align: right; | |||||
| } | |||||
| .balance-main .main-center { | |||||
| border: 1PX solid #CACBCC; | |||||
| border-bottom: 0; | |||||
| overflow-x: scroll; | |||||
| } | |||||
| .balance-main .main-center .datagrid { | |||||
| min-height: 100PX; | |||||
| width: 250%; | |||||
| } | |||||
| .balance-main .main-center .datagrid .header { | |||||
| background: #f8f8f9; | |||||
| font-weight: bold; | |||||
| display: flex; | |||||
| color: #278dff; | |||||
| } | |||||
| .balance-main .main-center .datagrid .header_sec view { | |||||
| width: 12.5%; | |||||
| } | |||||
| .balance-main .main-center .datagrid .kmbm, | |||||
| .balance-main .main-center .datagrid .xmmc, | |||||
| .balance-main .main-center .datagrid .qj, | |||||
| .balance-main .main-center .datagrid .zy, | |||||
| .balance-main .main-center .datagrid .jfje, | |||||
| .balance-main .main-center .datagrid .dfje, | |||||
| .balance-main .main-center .datagrid .fx, | |||||
| .balance-main .main-center .datagrid .ye { | |||||
| height: 29PX; | |||||
| line-height: 29PX; | |||||
| font-size: 13PX; | |||||
| border-bottom: 1PX solid #CACBCC; | |||||
| border-right: 1PX solid #CACBCC; | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-center .datagrid .xmmc { | |||||
| width: 25%; | |||||
| text-align: center; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .qj { | |||||
| width: 25%; | |||||
| text-align: center; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .zy { | |||||
| width: 25%; | |||||
| text-align: center; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .dfje { | |||||
| width: 25%; | |||||
| text-align: center; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .fx { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid .ye { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| border-right: 0; | |||||
| } | |||||
| .balance-main .main-center .datagrid .mok_list { | |||||
| display: block; | |||||
| overflow-y: scroll; | |||||
| height: calc(100vh - 310PX); | |||||
| } | |||||
| .balance-main .main-center .datagrid .list { | |||||
| width: 100%; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul { | |||||
| margin: 0; | |||||
| padding: 0; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li { | |||||
| display: block; | |||||
| overflow: hidden; | |||||
| list-style: none; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li.header { | |||||
| background: #f8f8f9; | |||||
| font-weight: bold; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li.header_sec view { | |||||
| width: 12.5%; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li:nth-child(even) { | |||||
| background: #e9e9e9; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .kmbm, | |||||
| .balance-main .main-center .datagrid ul li .xmmc, | |||||
| .balance-main .main-center .datagrid ul li .qj, | |||||
| .balance-main .main-center .datagrid ul li .zy, | |||||
| .balance-main .main-center .datagrid ul li .jfje, | |||||
| .balance-main .main-center .datagrid ul li .dfje, | |||||
| .balance-main .main-center .datagrid ul li .fx, | |||||
| .balance-main .main-center .datagrid ul li .ye { | |||||
| height: 29PX; | |||||
| line-height: 29PX; | |||||
| float: left; | |||||
| font-size: 13PX; | |||||
| border-bottom: 1PX solid #CACBCC; | |||||
| border-right: 1PX solid #CACBCC; | |||||
| text-align: center; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .xmmc { | |||||
| width: 26%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .qj { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .zy { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .dfje { | |||||
| width: 26%; | |||||
| text-align: left; | |||||
| padding-left: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .fx { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| } | |||||
| .balance-main .main-center .datagrid ul li .ye { | |||||
| width: 12%; | |||||
| text-align: right; | |||||
| padding-right: 10PX; | |||||
| border-right: 0; | |||||
| } | |||||
| .search_info { | |||||
| padding: 20px 23px 0; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: center; | |||||
| } | |||||
| .search_info .search_block { | |||||
| height: 35px; | |||||
| flex: 1; | |||||
| border-radius: 59px; | |||||
| background: #fff; | |||||
| display: flex; | |||||
| padding-right: 35px; | |||||
| align-items: center; | |||||
| box-shadow: 0px 6px 5px rgba(63, 68, 75, 0.2); | |||||
| margin-left: 20px; | |||||
| } | |||||
| .search_info .search_block .icon { | |||||
| width: 15px; | |||||
| height: 15px; | |||||
| display: block; | |||||
| margin: 0 8px 0 15px; | |||||
| } | |||||
| .search_info .search_block .delete_icon { | |||||
| width: 15PX; | |||||
| height: 15PX; | |||||
| display: block; | |||||
| margin: 0 8px 0 26px; | |||||
| } | |||||
| .search_info .search_block .ipt { | |||||
| flex: 1; | |||||
| font-size: 14px; | |||||
| background: none; | |||||
| border: 0 none; | |||||
| line-height: 59px; | |||||
| display: -webkit-box; | |||||
| -webkit-box-orient: vertical; | |||||
| -webkit-line-clamp: 1; | |||||
| word-break: break-all; | |||||
| overflow: hidden; | |||||
| } | |||||
| .total{ | |||||
| font-size: 14PX; | |||||
| color: #858585; | |||||
| } | |||||
| .home_wrapper{ | |||||
| background: #e9e9e9; | |||||
| /* min-height: 100vh; */ | |||||
| width: 100vw; | |||||
| } | |||||
| .date_box { | |||||
| display: flex; | |||||
| align-items: center; | |||||
| flex-shrink: 0; | |||||
| } | |||||
| .date_box image { | |||||
| width: 30PX; | |||||
| height: 30px; | |||||
| border-radius: 100%; | |||||
| box-shadow: 0px 6px 10px rgba(63, 68, 75, 0.5); | |||||
| } | |||||
| .date_box p { | |||||
| font-size: 14PX; | |||||
| margin-left: 5PX; | |||||
| color: #2facfe; | |||||
| } | |||||
| .radio_box{ | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: center; | |||||
| padding:20px 23px; | |||||
| } | |||||
| @@ -16,7 +16,7 @@ | |||||
| <view class="add_btn" bindtap="goAdd"><text>填报</text></view> | <view class="add_btn" bindtap="goAdd"><text>填报</text></view> | ||||
| </view> | </view> | ||||
| <scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100"> | <scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100"> | ||||
| <van-swipe-cell right-width="{{ 100 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" > | |||||
| <van-swipe-cell right-width="{{ 150 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" > | |||||
| <view class="li" bindtap="goUpdate" data-id="{{item.id}}"> | <view class="li" bindtap="goUpdate" data-id="{{item.id}}"> | ||||
| <view class="tit_box"> | <view class="tit_box"> | ||||
| <image src="/image/icon/fixedAssets_icon.png" style="width: 15px;height: 15px;margin-right: 10px;" referrer="no-referrer|origin|unsafe-url"></image> | <image src="/image/icon/fixedAssets_icon.png" style="width: 15px;height: 15px;margin-right: 10px;" referrer="no-referrer|origin|unsafe-url"></image> | ||||
| @@ -80,6 +80,22 @@ | |||||
| <text style="color: #62AD66;">附件</text> | <text style="color: #62AD66;">附件</text> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(239,135,7,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}"> | |||||
| <view> | |||||
| <image src="../../image/icon/relevance_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | |||||
| </view> | |||||
| <view> | |||||
| <text style="color: rgb(239,135,7);">处置</text> | |||||
| </view> | |||||
| </view> | |||||
| <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(238,95,0,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}"> | |||||
| <view> | |||||
| <image src="../../image/icon/sell_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | |||||
| </view> | |||||
| <view> | |||||
| <text style="color: rgb(238,95,0);">出租</text> | |||||
| </view> | |||||
| </view> | |||||
| <!-- <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(239,135,7,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}"> | <!-- <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(239,135,7,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}"> | ||||
| <view> | <view> | ||||
| <image src="../../image/icon/relevance_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | <image src="../../image/icon/relevance_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | ||||
| @@ -64,7 +64,7 @@ text{display: block;} | |||||
| color: #31936c; | color: #31936c; | ||||
| } | } | ||||
| .deleteBox{ | .deleteBox{ | ||||
| width: 100px; | |||||
| width: 150px; | |||||
| text-align: center; | text-align: center; | ||||
| height: 100%; | height: 100%; | ||||
| background: #F6F6F6; | background: #F6F6F6; | ||||
| @@ -14,6 +14,7 @@ Page({ | |||||
| active:0, | active:0, | ||||
| spsxOptions:[], | spsxOptions:[], | ||||
| paymentPatternOptions:[], | paymentPatternOptions:[], | ||||
| transferStatusOptions:[], | |||||
| nickName:'', | nickName:'', | ||||
| comment:'', | comment:'', | ||||
| activeNames: 0, | activeNames: 0, | ||||
| @@ -56,6 +57,19 @@ Page({ | |||||
| }); | }); | ||||
| } | } | ||||
| }) | }) | ||||
| //所属银行 | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'transfer_status', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| transferStatusOptions:res.data | |||||
| }); | |||||
| } | |||||
| }) | |||||
| //所属银行 | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'audit_status', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| } | |||||
| }) | |||||
| // 资金支出类别字典查询 | // 资金支出类别字典查询 | ||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, { | UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, { | ||||
| success: (res) => { | success: (res) => { | ||||
| @@ -294,6 +308,39 @@ Page({ | |||||
| }) | }) | ||||
| } | } | ||||
| }) | }) | ||||
| //四议两公开 | |||||
| UTIL.httpRequest( | |||||
| API.URL_GET_FINDLIST, | |||||
| { | |||||
| method:'GET', | |||||
| tableName:'t_yinnong_transfer', | |||||
| tableId:res.data.id, | |||||
| fileType:4 | |||||
| }, | |||||
| { | |||||
| success: (res) => { | |||||
| let list = []; | |||||
| res.data.forEach((item2,index2)=>{ | |||||
| let fileForm = res.data.fileForm?res.data.fileForm:[]; | |||||
| fileForm.push({ | |||||
| file: wx.getStorageSync('dressCode')+item2.fileUrl, | |||||
| fileType:'4', | |||||
| bizPath:'transfer', | |||||
| tableName:'t_yinnong_transfer', | |||||
| tableId:res.data.id | |||||
| }) | |||||
| list.push({ | |||||
| tempFilePath:wx.getStorageSync('dressCode')+item2.fileUrl, | |||||
| id:item2.id | |||||
| }) | |||||
| that.setData({ | |||||
| ["form.fileNum"]:that.data.form.fileNum+1, | |||||
| ["form.SYLGKimage"]:list, | |||||
| ["form.fileForm"]:fileForm | |||||
| }); | |||||
| }) | |||||
| } | |||||
| }) | |||||
| let query = { | let query = { | ||||
| method:'GET', | method:'GET', | ||||
| @@ -307,6 +354,7 @@ Page({ | |||||
| if (res.code == API.SUCCESS_CODE) { | if (res.code == API.SUCCESS_CODE) { | ||||
| for(let i = 0 ; i < response.rows.length ; i++){ | for(let i = 0 ; i < response.rows.length ; i++){ | ||||
| response.rows[i].bankTypeText = UTIL.getTransform(response.rows[i].bankType,that.data.bankTypeOptions); | response.rows[i].bankTypeText = UTIL.getTransform(response.rows[i].bankType,that.data.bankTypeOptions); | ||||
| response.rows[i].transferStatusText = UTIL.getTransform(response.rows[i].transferStatus,that.data.transferStatusOptions); | |||||
| } | } | ||||
| that.setData({ | that.setData({ | ||||
| ["form.payeeList"]:response.rows | ["form.payeeList"]:response.rows | ||||
| @@ -336,33 +384,46 @@ Page({ | |||||
| }) | }) | ||||
| // 查询审批事项流转进度 | // 查询审批事项流转进度 | ||||
| UTIL.httpRequest(API.URL_GET_GETPROCESS+options.id , {method:'GET'}, { | |||||
| UTIL.httpRequest(API.URL_GET_GETPROCESSNEW+options.id , {method:'GET'}, { | |||||
| success: (res) => { | success: (res) => { | ||||
| console.log(res); | console.log(res); | ||||
| for (let i = 0; i < res.data.processSchedule.审批事项.length; i++) { | |||||
| for (let i = 0; i < res.data.length; i++) { | |||||
| const element = res.data.processSchedule.审批事项[i]; | const element = res.data.processSchedule.审批事项[i]; | ||||
| if (element.electronicSignature!=null) { | if (element.electronicSignature!=null) { | ||||
| element.electronicSignature = wx.getStorageSync('dressCode')+element.electronicSignature; | element.electronicSignature = wx.getStorageSync('dressCode')+element.electronicSignature; | ||||
| } | } | ||||
| } | } | ||||
| if(res.data.processSchedule != null){ | |||||
| that.setData({spsxOptions:res.data.processSchedule.审批事项}) | |||||
| } | |||||
| that.setData({instanceId:res.data.instanceId}) | |||||
| if(options.business == 'xj'){ | |||||
| console.log(that.data.instanceId) | |||||
| // 查询现金审批事项流转进度 | |||||
| UTIL.httpRequest(API.URL_GET_REVIEWPROCESS+that.data.instanceId , {method:'GET'}, { | |||||
| success: (res) => { | |||||
| console.log(res); | |||||
| if(res.data.processSchedule.审批事项){ | |||||
| that.setData({spsxOptions:res.data.processSchedule.审批事项}) | |||||
| const arr = []; | |||||
| for (let key in res.data) { | |||||
| if (res.data.hasOwnProperty(key)) { // 确保键在对象自身上,而不是从原型链继承 | |||||
| for (let i = 0; i < res.data[key].length; i++) { | |||||
| const element = res.data[key][i]; | |||||
| console.log(`Key: ${key}, Value: ${res.data[key][i].electronicSignature}`); | |||||
| if (element.electronicSignature!=null) { | |||||
| element.electronicSignature = wx.getStorageSync('dressCode')+element.electronicSignature; | |||||
| } | } | ||||
| that.setData({instanceId:res.data.instanceId}) | |||||
| } | } | ||||
| }) | |||||
| arr.push([key,res.data[key]]) | |||||
| // that.setData({instanceId:res.data.instanceId}) | |||||
| } | |||||
| } | } | ||||
| that.setData({spsxOptions:arr}) | |||||
| // if(options.business == 'xj'){ | |||||
| // console.log(that.data.instanceId) | |||||
| // // 查询现金审批事项流转进度 | |||||
| // UTIL.httpRequest(API.URL_GET_REVIEWPROCESS+that.data.instanceId , {method:'GET'}, { | |||||
| // success: (res) => { | |||||
| // console.log(res); | |||||
| // if(res.data.processSchedule.审批事项){ | |||||
| // that.setData({spsxOptions:res.data.processSchedule.审批事项}) | |||||
| // } | |||||
| // that.setData({instanceId:res.data.instanceId}) | |||||
| // } | |||||
| // }) | |||||
| // } | |||||
| } | } | ||||
| }) | }) | ||||
| UTIL.hideLoadingHaveMask(); | UTIL.hideLoadingHaveMask(); | ||||
| @@ -462,6 +523,76 @@ Page({ | |||||
| } | } | ||||
| }) | }) | ||||
| }, | }, | ||||
| goAgreeNew(){//2024-7-15审批功能修改 字段名称、接口地址、请求参数格式发生变动 | |||||
| var that = this ; | |||||
| let data = { | |||||
| taskId:that.data.taskId, | |||||
| auditbatchNo:that.data.form.auditbatchNo, | |||||
| pass:true, | |||||
| remark:that.data.comment == '' ? '同意':that.data.comment, | |||||
| deptId:JSON.parse(wx.getStorageSync('user')).deptId, | |||||
| method:'POST' | |||||
| }; | |||||
| console.log(data); | |||||
| UTIL.httpRequest(API.A_audit ,data, { | |||||
| success: (res) => { | |||||
| console.log(res); | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| wx.showToast({ | |||||
| title: '审批成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| complete(){ | |||||
| setTimeout(function(){ | |||||
| that.back(); | |||||
| },2000) | |||||
| } | |||||
| }) | |||||
| }else{ | |||||
| wx.showToast({ | |||||
| title: '操作失败', | |||||
| icon: 'error', | |||||
| duration: 2000 | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| goDisNew(){//2024-7-15审批功能修改 字段名称、接口地址、请求参数格式发生变动 | |||||
| var that = this ; | |||||
| let data = { | |||||
| taskId:that.data.taskId, | |||||
| auditbatchNo:that.data.form.auditbatchNo, | |||||
| pass:false, | |||||
| remark:that.data.comment == '' ? '驳回':that.data.comment, | |||||
| deptId:JSON.parse(wx.getStorageSync('user')).deptId, | |||||
| method:'POST' | |||||
| }; | |||||
| console.log(data); | |||||
| UTIL.httpRequest(API.A_audit ,data, { | |||||
| success: (res) => { | |||||
| console.log(res); | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| wx.showToast({ | |||||
| title: '审批成功', | |||||
| icon: 'success', | |||||
| duration: 2000, | |||||
| complete(){ | |||||
| setTimeout(function(){ | |||||
| that.back(); | |||||
| },2000) | |||||
| } | |||||
| }) | |||||
| }else{ | |||||
| wx.showToast({ | |||||
| title: '操作失败', | |||||
| icon: 'error', | |||||
| duration: 2000 | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| commentInput(e){ | commentInput(e){ | ||||
| console.log(e); | console.log(e); | ||||
| var that = this; | var that = this; | ||||
| @@ -18,6 +18,7 @@ | |||||
| "van-dialog": "@vant/weapp/dialog/index", | "van-dialog": "@vant/weapp/dialog/index", | ||||
| "van-collapse": "@vant/weapp/collapse/index", | "van-collapse": "@vant/weapp/collapse/index", | ||||
| "van-collapse-item": "@vant/weapp/collapse-item/index", | "van-collapse-item": "@vant/weapp/collapse-item/index", | ||||
| "van-empty": "@vant/weapp/empty/index" | |||||
| "van-empty": "@vant/weapp/empty/index", | |||||
| "van-divider": "@vant/weapp/divider/index" | |||||
| } | } | ||||
| } | } | ||||
| @@ -323,6 +323,9 @@ | |||||
| <van-field required readonly label="开户银行" value="{{ form.payeeList[childrenIndex].bankDeposit }}" placeholder="请输入开户银行" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down"/> | <van-field required readonly label="开户银行" value="{{ form.payeeList[childrenIndex].bankDeposit }}" placeholder="请输入开户银行" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down"/> | ||||
| <van-field required readonly label="收入金额" value="{{ form.payeeList[childrenIndex].incomeAmount }}" placeholder="请输入收入金额" border="{{ false }}" input-align="right" bind:input="onChangePayeeMoney" data-value="form.payeeList[{{childrenIndex}}].incomeAmount"/> | <van-field required readonly label="收入金额" value="{{ form.payeeList[childrenIndex].incomeAmount }}" placeholder="请输入收入金额" border="{{ false }}" input-align="right" bind:input="onChangePayeeMoney" data-value="form.payeeList[{{childrenIndex}}].incomeAmount"/> | ||||
| <van-field required readonly label="所属银行" value="{{ form.payeeList[childrenIndex].bankTypeText }}" placeholder="请输入所属银行" border="{{ false }}" input-align="right"/> | <van-field required readonly label="所属银行" value="{{ form.payeeList[childrenIndex].bankTypeText }}" placeholder="请输入所属银行" border="{{ false }}" input-align="right"/> | ||||
| <van-field wx:if="{{form.paymentState == '4' || form.paymentState == '5'}}" required readonly label="转账状态" value="{{ form.payeeList[childrenIndex].transferStatusText }}" placeholder="转账状态" border="{{ false }}" input-align="right"/> | |||||
| <van-field wx:if="{{form.paymentState == '4' || form.paymentState == '5'}}" required readonly label="交易结果描述" value="{{ form.payeeList[childrenIndex].causeFailure }}" placeholder="交易结果描述" border="{{ false }}" input-align="right" type="textarea" autosize="{{autosize}}"/> | |||||
| </view> | </view> | ||||
| <view class="main-box table-box payeeList" wx:if="{{form.payeeList.length > 10}}"> | <view class="main-box table-box payeeList" wx:if="{{form.payeeList.length > 10}}"> | ||||
| @@ -369,45 +372,64 @@ | |||||
| <view class="fj-box"> | <view class="fj-box"> | ||||
| <view class="fj-li"> | <view class="fj-li"> | ||||
| <view class="fj-tt"> | <view class="fj-tt"> | ||||
| <text>收据</text><van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> | |||||
| <text>收据</text> | |||||
| <!-- <van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> --> | |||||
| </view> | </view> | ||||
| <view class="img_box"> | <view class="img_box"> | ||||
| <view class="img_list" wx:for="{{form.SJimage}}" wx:for-index="childrenIndex" wx:key="id"> | <view class="img_list" wx:for="{{form.SJimage}}" wx:for-index="childrenIndex" wx:key="id"> | ||||
| <image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.SJimage}}" data-index="{{childrenIndex}}" bindtap="openPreview"></image> | <image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.SJimage}}" data-index="{{childrenIndex}}" bindtap="openPreview"></image> | ||||
| </view> | </view> | ||||
| <view class="img_list" wx:if="{{!form.SJimage}}"> | |||||
| <!-- <view class="img_list" wx:if="{{!form.SJimage}}"> | |||||
| <image class="img_li img_add" src="/image/apply/fj_upload.png"></image> | <image class="img_li img_add" src="/image/apply/fj_upload.png"></image> | ||||
| </view> | |||||
| <!-- <van-empty wx:if="{{!form.SJimage}}" description="暂无收据" style="margin: 0 auto;" /> --> | |||||
| </view> --> | |||||
| <van-empty wx:if="{{!form.SJimage}}" description="暂无收据" style="margin: 0 auto;" /> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="fj-li"> | <view class="fj-li"> | ||||
| <view class="fj-tt"> | <view class="fj-tt"> | ||||
| <text>发票</text><van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> | |||||
| <text>发票</text> | |||||
| <!-- <van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> --> | |||||
| </view> | </view> | ||||
| <view class="img_box"> | <view class="img_box"> | ||||
| <view class="img_list" wx:for="{{form.FPimage}}" wx:for-index="childrenIndex" wx:key="id"> | <view class="img_list" wx:for="{{form.FPimage}}" wx:for-index="childrenIndex" wx:key="id"> | ||||
| <image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.FPimage}}" data-index="{{childrenIndex}}" bindtap="openPreview"></image> | <image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.FPimage}}" data-index="{{childrenIndex}}" bindtap="openPreview"></image> | ||||
| </view> | </view> | ||||
| <view class="img_list" wx:if="{{!form.FPimage}}"> | |||||
| <!-- <view class="img_list" wx:if="{{!form.FPimage}}"> | |||||
| <image class="img_li img_add" src="/image/apply/fj_upload.png"></image> | <image class="img_li img_add" src="/image/apply/fj_upload.png"></image> | ||||
| </view> | |||||
| </view> --> | |||||
| <van-empty wx:if="{{!form.FPimage}}" description="暂无发票" style="margin: 0 auto;" /> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="fj-li"> | <view class="fj-li"> | ||||
| <view class="fj-tt"> | <view class="fj-tt"> | ||||
| <text>其他</text><van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> | |||||
| <text>其他</text> | |||||
| <!-- <van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> --> | |||||
| </view> | </view> | ||||
| <view class="img_box"> | <view class="img_box"> | ||||
| <view class="img_list" wx:for="{{form.QTimage}}" wx:for-index="childrenIndex" wx:key="id"> | <view class="img_list" wx:for="{{form.QTimage}}" wx:for-index="childrenIndex" wx:key="id"> | ||||
| <image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.QTimage}}" data-index="{{childrenIndex}}" bindtap="openPreview" ></image> | <image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.QTimage}}" data-index="{{childrenIndex}}" bindtap="openPreview" ></image> | ||||
| </view> | </view> | ||||
| <view class="img_list" wx:if="{{!form.QTimage}}"> | |||||
| <!-- <view class="img_list" wx:if="{{!form.QTimage}}"> | |||||
| <image class="img_li img_add" src="/image/apply/fj_upload.png"></image> | <image class="img_li img_add" src="/image/apply/fj_upload.png"></image> | ||||
| </view> --> | |||||
| <van-empty wx:if="{{!form.QTimage}}" description="暂无其他" style="margin: 0 auto;" /> | |||||
| </view> | |||||
| </view> | |||||
| <view class="fj-li"> | |||||
| <view class="fj-tt"> | |||||
| <text>四议两公开</text> | |||||
| </view> | |||||
| <view class="img_box"> | |||||
| <view class="img_list" wx:for="{{form.SYLGKimage}}" wx:for-index="childrenIndex" wx:key="id"> | |||||
| <image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.SYLGKimage}}" data-index="{{childrenIndex}}" bindtap="openPreview" ></image> | |||||
| </view> | </view> | ||||
| <van-empty wx:if="{{!form.SYLGKimage}}" description="暂无四议两公开" style="margin: 0 auto;" /> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -450,57 +472,60 @@ | |||||
| </view> | </view> | ||||
| <text class="title" style="padding: 0 calc(3% + 20px);">审批流程</text> | <text class="title" style="padding: 0 calc(3% + 20px);">审批流程</text> | ||||
| <view class="main-box steps-box"> | |||||
| <view class="main-box steps-box" style="padding: 10px 0;"> | |||||
| <!-- <view class="steps-tit">审批流程</view> --> | <!-- <view class="steps-tit">审批流程</view> --> | ||||
| <van-row wx:for="{{spsxOptions}}" wx:key="index"> | |||||
| <van-col span="3"> | |||||
| <view class="index {{(item.approverStatus != null||index==0) ? 'active':'' }}">{{index+1}}</view> | |||||
| <!-- :class="{'indexCenter':index==0 ? false : true}" --> | |||||
| <block wx:if="{{index==0}}"> | |||||
| <view class="indexBorder"> | |||||
| <view class="ssT" wx:if="{{index>0}}"></view> | |||||
| <view class="yq"></view> | |||||
| <view class="ss" wx:if="{{spsxOptions.length != index+1}}"></view> | |||||
| </view> | |||||
| </block> | |||||
| <block wx:else> | |||||
| <view class="indexBorder indexCenter"> | |||||
| <view class="ssT" wx:if="{{index>0}}"></view> | |||||
| <view class="yq"></view> | |||||
| <view class="ss" wx:if="{{spsxOptions.length != index+1}}"></view> | |||||
| </view> | |||||
| </block> | |||||
| </van-col> | |||||
| <van-col span="21" style="height: 77px;"> | |||||
| <van-cell center="{{true}}" border="{{false}}"> | |||||
| <view slot="title" class="cellTit"> | |||||
| <text wx:if="{{item.electronicSignature == null}}">{{item.assigneeName}}</text> | |||||
| <image wx:else src="{{item.electronicSignature}}" style="height: 24px;width: 48px;"></image> | |||||
| <text wx:if="{{item.deptLabel != null}}">{{item.deptLabel}}</text> | |||||
| </view> | |||||
| <view class="agree" wx:if="{{item.approverStatus=='2'}}">同意</view> | |||||
| <view class="in" wx:elif="{{(item.assigneeName==nickName && pageType!='see')}}">审核中</view> | |||||
| <view class="disagree" wx:elif="{{item.approverStatus=='3'}}">驳回</view> | |||||
| </van-cell> | |||||
| <van-cell center border="{{false}}"> | |||||
| <view slot="title" style="margin-top: 10px;"> | |||||
| <view style="color: #999999;line-height: 32px;">{{ item.comment }}</view> | |||||
| </view> | |||||
| <view style="color: #999999;font-size: 12px;margin-top: 10px;line-height: 32px;">{{ sub.times(item.time) }}</view> | |||||
| </van-cell> | |||||
| <block wx:for="{{spsxOptions}}" wx:for-index="childrenIndex" wx:for-item="childrenItem" wx:key="childrenIndex"> | |||||
| <van-divider contentPosition="center">批次号:{{childrenItem[0]}}</van-divider> | |||||
| <van-row wx:for="{{childrenItem[1]}}" wx:key="index"> | |||||
| <van-col span="3"> | |||||
| <view class="index">{{index+1}}</view> | |||||
| <!-- :class="{'indexCenter':index==0 ? false : true}" {{(item.approverStatus != null||index==0) ? 'active':'' }}--> | |||||
| <block wx:if="{{index==0}}"> | |||||
| <view class="indexBorder"> | |||||
| <view class="ssT" wx:if="{{index>0}}"></view> | |||||
| <view class="yq"></view> | |||||
| <view class="ss" wx:if="{{spsxOptions.length != index+1}}"></view> | |||||
| </view> | |||||
| </block> | |||||
| <block wx:else> | |||||
| <view class="indexBorder indexCenter"> | |||||
| <view class="ssT" wx:if="{{index>0}}"></view> | |||||
| <view class="yq"></view> | |||||
| <view class="ss" wx:if="{{childrenItem[1].length != index+1}}"></view> | |||||
| </view> | |||||
| </block> | |||||
| </van-col> | |||||
| <van-col span="21" style="height: 77px;"> | |||||
| <van-cell center="{{true}}" border="{{false}}"> | |||||
| <view slot="title" class="cellTit"> | |||||
| <text wx:if="{{item.electronicSignature == null}}">{{item.actorName}}</text> | |||||
| <image wx:else src="{{item.electronicSignature}}" style="height: 24px;width: 48px;"></image> | |||||
| <text wx:if="{{item.auditBy != null}}">{{item.auditBy}}</text> | |||||
| </view> | |||||
| <view class="agree" wx:if="{{item.auditStatus=='3'}}">同意</view> | |||||
| <view class="in" wx:elif="{{(item.auditStatus=='1')}}">审核中</view> | |||||
| <view class="disagree" wx:elif="{{item.auditStatus=='2'}}">驳回</view> | |||||
| </van-cell> | |||||
| </van-col> | |||||
| </van-row> | |||||
| <van-cell center border="{{false}}"> | |||||
| <view slot="title" style="margin-top: 10px;"> | |||||
| <view style="color: #999999;">{{ item.auditRemark==null?'无':item.auditRemark }}</view> | |||||
| </view> | |||||
| <view style="color: #999999;font-size: 12px;margin-top: 10px;" wx:if="{{item.auditTime}}">{{ sub.times(item.auditTime) }}</view> | |||||
| </van-cell> | |||||
| </van-col> | |||||
| </van-row> | |||||
| </block> | |||||
| </view> | </view> | ||||
| <van-empty wx:if="{{spsxOptions.length<1&&pageType=='see'}}" description="暂无审核数据" /> | <van-empty wx:if="{{spsxOptions.length<1&&pageType=='see'}}" description="暂无审核数据" /> | ||||
| <view class="main-box" wx:if="{{pageType!='see'}}"> | |||||
| <view class="main-box" style="margin-top: 15px;" wx:if="{{pageType!='see'}}"> | |||||
| <input class="input_tit" value="{{comment}}" placeholder="请输入审批意见" bindinput="commentInput" style="margin-top: 10px;margin-bottom: 0;"/> | <input class="input_tit" value="{{comment}}" placeholder="请输入审批意见" bindinput="commentInput" style="margin-top: 10px;margin-bottom: 0;"/> | ||||
| <!-- --> | <!-- --> | ||||
| </view> | </view> | ||||
| <view class="bottom" style="margin-bottom: 0px;" wx:if="{{pageType!='see'}}"> | <view class="bottom" style="margin-bottom: 0px;" wx:if="{{pageType!='see'}}"> | ||||
| <button type="warn" plain class="btnDis" bindtap="goDis">驳回</button> | |||||
| <button type="primary" class="btnAgree" bindtap="goAgree">同意</button> | |||||
| <button type="warn" plain class="btnDis" bindtap="goDisNew">驳回</button> | |||||
| <button type="primary" class="btnAgree" bindtap="goAgreeNew">同意</button> | |||||
| </view> | </view> | ||||
| <!-- <view class="bottom" wx:if="{{pageType!='see'}}"> | <!-- <view class="bottom" wx:if="{{pageType!='see'}}"> | ||||
| <button type="primary" plain class="btnOther" bindtap="goAgree">转办</button> | <button type="primary" plain class="btnOther" bindtap="goAgree">转办</button> | ||||
| @@ -0,0 +1,170 @@ | |||||
| // pages/mainBody/detail/detail.js | |||||
| import * as UTIL from '../../../utils/util.js'; | |||||
| import * as API from '../../../utils/API.js'; | |||||
| const app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| isIPX: app.globalData.isIPX, | |||||
| // 主体类别字典 | |||||
| statisticsTypeIdOptions: [], | |||||
| // 示范社类型字典 | |||||
| modelSocietyTypeOptions: [], | |||||
| // 经营状态字典 | |||||
| registrationStatusOptions: [], | |||||
| // 企业类型字典 | |||||
| enterpriseTypeOptions: [], | |||||
| //产业分类字典项 | |||||
| industryClassificationTypeOptions: [], | |||||
| // 审核状态字典 | |||||
| reviewStatusOptions: [], | |||||
| }, | |||||
| back:function(){ | |||||
| wx.navigateBack({ | |||||
| delta: 1 | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad(options) { | |||||
| var that = this; | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'newBusinessEntity_statistics_project', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| that.setData({ | |||||
| statisticsTypeIdOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'model_society_type', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| that.setData({ | |||||
| modelSocietyTypeOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'registration_status', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| that.setData({ | |||||
| registrationStatusOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'enterprise_type', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| that.setData({ | |||||
| enterpriseTypeOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'Industrial_classification_type', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| that.setData({ | |||||
| industryClassificationTypeOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'sys_yes_no', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| that.setData({ | |||||
| reviewStatusOptions:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| let data = { | |||||
| method: 'GET' | |||||
| } | |||||
| UTIL.httpRequest(API.URL_GET_ENTITYDETAIL + options.id ,data,{ | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| res.data.statisticsTypeIdText = UTIL.getTransform(res.data.statisticsTypeId,that.data.statisticsTypeIdOptions); | |||||
| res.data.industryClassificationTypeText = UTIL.getTransform(res.data.industryClassificationType,that.data.industryClassificationTypeOptions); | |||||
| res.data.modelSocietyTypeText = UTIL.getTransform(res.data.modelSocietyType,that.data.modelSocietyTypeOptions); | |||||
| res.data.registrationStatusText = UTIL.getTransform(res.data.registrationStatus,that.data.registrationStatusOptions); | |||||
| res.data.enterpriseTypeText = UTIL.getTransform(res.data.enterpriseType,that.data.enterpriseTypeOptions); | |||||
| UTIL.httpRequest('/system/dept/treeselectByDeptId', {deptId: res.data.serviceDeptId,method:'GET'}, { | |||||
| success: (res2) => { | |||||
| res.data.serviceDeptIdName = res2.data[0].label; | |||||
| } | |||||
| }) | |||||
| let fileList = res.data.masterMap.split(','); | |||||
| let fileImg = [] | |||||
| fileList.map((rr,index) => { | |||||
| fileImg.push({ | |||||
| url: wx.getStorageSync('dressCode') + rr, | |||||
| name: '图片' + index, | |||||
| isImage: true, | |||||
| }); | |||||
| }) | |||||
| res.data.fileImg = fileImg; | |||||
| console.log(fileImg); | |||||
| UTIL.httpRequest('/finance/book/list', {deptId: 0,method:'GET'}, { | |||||
| success: (res2) => { | |||||
| console.log(res2.rows.filter(function (e) { return e.id == res.data.bookId; })[0]); | |||||
| res.data.bookName = res2.rows.filter(function (e) { return e.id == res.data.bookId; })[0].bookName; | |||||
| this.setData({ | |||||
| detail:res.data, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload() { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh() { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom() { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage() { | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,8 @@ | |||||
| { | |||||
| "usingComponents": { | |||||
| "van-cell": "@vant/weapp/cell/index", | |||||
| "van-cell-group": "@vant/weapp/cell-group/index", | |||||
| "van-divider": "@vant/weapp/divider/index", | |||||
| "van-uploader": "@vant/weapp/uploader/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,37 @@ | |||||
| <!--pages/mainBody/detail/detail.wxml--> | |||||
| <view class="ns" style="height:{{isIPX?'88px':'64px'}};"> | |||||
| <image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">主体名录</text> | |||||
| </view> | |||||
| <view class="main-box" style="margin-top:{{isIPX?'103px':'79px'}};"> | |||||
| <van-divider contentPosition="center">基本信息</van-divider> | |||||
| <van-cell title="主体名称" value="{{detail.entityName}}" /> | |||||
| <van-cell title="主体类别" value="{{detail.statisticsTypeIdText}}" /> | |||||
| <van-cell title="社会信用代码" value="{{detail.socialCreditCode}}" /> | |||||
| <van-cell title="法人代表" value="{{detail.corporateRepresentativeName}}" /> | |||||
| <van-cell title="所属行业" value="{{detail.industryClassificationTypeText}}" /> | |||||
| <van-cell title="示范类型" value="{{detail.modelSocietyTypeText}}" /> | |||||
| <van-cell title="主体住址" value="{{detail.entityAddress}}" /> | |||||
| <van-cell title="成立时间" value="{{detail.registerTime}}" /> | |||||
| <van-cell title="经营状态" value="{{detail.registrationStatusText}}" /> | |||||
| <van-cell title="企业类型" value="{{detail.enterpriseTypeText}}" /> | |||||
| <van-cell title="营业期限" value="{{detail.operatingPeriod}}" /> | |||||
| <van-cell title="经营范围" value="{{detail.businessScope}}" /> | |||||
| </view> | |||||
| <view class="main-box" style="margin-top:15px;"> | |||||
| <van-divider contentPosition="center">其他信息</van-divider> | |||||
| <van-cell title="负责人" value="{{detail.principalName}}" /> | |||||
| <van-cell title="联系电话" value="{{detail.tal}}" /> | |||||
| <van-cell title="开户银行" value="{{detail.depositBankName}}" /> | |||||
| <van-cell title="银行账号" value="{{detail.accountNumber}}" /> | |||||
| <van-cell title="网站网址" value="{{detail.webLinks}}" /> | |||||
| <van-cell title="关联账套" value="{{detail.bookName}}" /> | |||||
| <van-cell title="服务区域" value="{{detail.serviceDeptIdName}}" /> | |||||
| <van-cell title="评分" value="{{detail.score}}" /> | |||||
| <van-cell title="主图" border="{{false}}" /> | |||||
| <view style="padding: 0 20px;"> | |||||
| <van-uploader file-list="{{ detail.fileImg }}" show-upload="{{false}}" deletable="{{false}}" /> | |||||
| </view> | |||||
| </view> | |||||
| @@ -0,0 +1,11 @@ | |||||
| /* pages/mainBody/detail/detail.wxss */ | |||||
| .main-box{ | |||||
| background: #ffffff; | |||||
| width: 94%; | |||||
| margin: 0 auto; | |||||
| border-radius: 10px; | |||||
| box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | |||||
| position: relative; | |||||
| overflow: hidden; | |||||
| } | |||||
| @@ -0,0 +1,141 @@ | |||||
| // pages/index/policy/list/list.js | |||||
| import * as UTIL from '../../../utils/util.js'; | |||||
| import * as API from '../../../utils/API.js'; | |||||
| const app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| //自定义导航栏 | |||||
| isIPX: app.globalData.isIPX, | |||||
| value:'', | |||||
| total:0, | |||||
| list:[], | |||||
| pageNums:1, | |||||
| title:'', | |||||
| entityName:'', | |||||
| option1: [ | |||||
| { text: '专业合作社', value: 1 }, | |||||
| { text: '家庭农场', value: 2 }, | |||||
| { text: '龙头企业', value: 3 }, | |||||
| { text: '农业庄园', value: 4 }, | |||||
| { text: '专业大户', value: 5 } | |||||
| ], | |||||
| value1: 0, | |||||
| statisticsTypeId: 1 | |||||
| }, | |||||
| goDetail(e) { | |||||
| wx.navigateTo({ | |||||
| url: '/pages/mainBody/detail/detail?id='+e.currentTarget.dataset.id, | |||||
| }) | |||||
| }, | |||||
| changeTab(e){ | |||||
| var that = this ; | |||||
| console.log(e.detail); | |||||
| that.setData({statisticsTypeId:e.detail}); | |||||
| this.getList(); | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad(options) { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow() { | |||||
| this.getList(); | |||||
| }, | |||||
| paging(){ | |||||
| this.setData({ | |||||
| pageNums:this.data.pageNums+1, | |||||
| }) | |||||
| this.getList(); | |||||
| }, | |||||
| getList(){ | |||||
| let data = { | |||||
| pageNum:this.data.pageNums, | |||||
| pageSize:10, | |||||
| translate_dict:true, | |||||
| entityName:this.data.entityName, | |||||
| statisticsTypeId:this.data.statisticsTypeId, | |||||
| method: 'GET' | |||||
| } | |||||
| UTIL.httpRequest(API.URL_GET_ENTITYLIST,data,{ | |||||
| success: (res) => { | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| let arr = this.data.list; | |||||
| if (arr.length>=res.total){return;} | |||||
| res.rows.map(rr=>{ | |||||
| rr.releaseTime = rr.releaseTime == null?'':rr.releaseTime.substr(0,10); | |||||
| arr.push(rr) | |||||
| }) | |||||
| this.setData({ | |||||
| total:res.total, | |||||
| list:arr | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| goSearch(e){ | |||||
| this.setData({ | |||||
| pageNums:1, | |||||
| entityName:e.detail, | |||||
| list:[] | |||||
| }) | |||||
| this.getList(); | |||||
| }, | |||||
| back:function(){ | |||||
| wx.navigateBack({ | |||||
| delta: 1 | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide() { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload() { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh() { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom() { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage() { | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,10 @@ | |||||
| { | |||||
| "navigationStyle":"custom", | |||||
| "usingComponents": { | |||||
| "van-search": "@vant/weapp/search/index", | |||||
| "van-icon": "@vant/weapp/icon/index", | |||||
| "van-cell": "@vant/weapp/cell/index", | |||||
| "van-dropdown-menu": "@vant/weapp/dropdown-menu/index", | |||||
| "van-dropdown-item": "@vant/weapp/dropdown-item/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,49 @@ | |||||
| <!--pages/index/policy/list/list.wxml--> | |||||
| <view class="ns" style="height:{{isIPX?'88px':'64px'}};"> | |||||
| <image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">主体名录</text> | |||||
| </view> | |||||
| <view style="margin-top:{{isIPX?'88px':'64px'}};background: linear-gradient(to right, #429a68, #9ecf67);"> | |||||
| <van-search | |||||
| value="{{ value }}" | |||||
| shape="round" | |||||
| background="transparent" | |||||
| placeholder="请输入相关内容搜索" | |||||
| clearable | |||||
| bind:change="goSearch" | |||||
| use-left-icon-slot | |||||
| > | |||||
| <van-icon slot="left-icon" name="search" size="20" color="#2962EF" style="margin-right: 10px;" /> | |||||
| </van-search> | |||||
| </view> | |||||
| <van-dropdown-menu> | |||||
| <van-dropdown-item value="{{ statisticsTypeId }}" options="{{ option1 }}" bind:change="changeTab" /> | |||||
| </van-dropdown-menu> | |||||
| <scroll-view scroll-y refresher-threshold="0" style="height:76vh" bindscrolltolower="paging" lower-threshold="100"> | |||||
| <!-- <view class="flex_main" bind:tap="goDetail"> | |||||
| <van-cell use-label-slot border="{{false}}"> | |||||
| <view slot="icon" style="border-right: 3px solid #9ecf67;height: 16px;margin-top: .5vh;margin-right: 5px;"></view> | |||||
| <view slot="title"> | |||||
| <text class="title">主体名称主体名称主体名称主体名称主体名称{{statisticsTypeId}}</text> | |||||
| </view> | |||||
| <view slot="label" class="label"> | |||||
| <text>法人姓名</text> | |||||
| <text>主体地址主体地址主体地址主体地址</text> | |||||
| </view> | |||||
| </van-cell> | |||||
| </view> --> | |||||
| <view class="flex_main" wx:for="{{list}}" data-id="{{item.id}}" bind:tap="goDetail"> | |||||
| <van-cell use-label-slot border="{{false}}"> | |||||
| <view slot="icon" style="border-right: 3px solid #9ecf67;height: 16px;margin-top: .5vh;margin-right: 5px;"></view> | |||||
| <view slot="title"> | |||||
| <text class="title">{{item.entityName}}</text> | |||||
| </view> | |||||
| <view slot="label" class="label"> | |||||
| <text>{{item.corporateRepresentativeName}}</text> | |||||
| <text>{{item.entityAddress}}</text> | |||||
| </view> | |||||
| </van-cell> | |||||
| </view> | |||||
| </scroll-view> | |||||
| @@ -0,0 +1,42 @@ | |||||
| /* pages/index/policy/list/list.wxss */ | |||||
| page{ | |||||
| height: 100vh; | |||||
| overflow: hidden; | |||||
| } | |||||
| .label{ | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .title{ | |||||
| display: -webkit-box; | |||||
| -webkit-box-orient: vertical; | |||||
| -webkit-line-clamp: 1; | |||||
| word-break: break-all; | |||||
| overflow: hidden; | |||||
| } | |||||
| .flex_main{ | |||||
| width: 92%; | |||||
| background-color: #ffffff; | |||||
| margin: 1.5vh auto 0; | |||||
| padding: 1vw 1vw; | |||||
| border-radius: 15px; | |||||
| box-shadow: 0 8px 20px rgba(3, 3, 67, .1); | |||||
| } | |||||
| .van-search { | |||||
| width: 90%; | |||||
| margin: 0 auto; | |||||
| } | |||||
| .van-search__content { | |||||
| padding-top: 5px ; | |||||
| padding-bottom: 5px ; | |||||
| } | |||||
| .list_num{ | |||||
| font-size: 24rpx; | |||||
| width: 85%; | |||||
| margin: 0 auto; | |||||
| } | |||||
| .list_num text{ | |||||
| font-weight: bold; | |||||
| color: #2A63EF; | |||||
| } | |||||
| @@ -25,6 +25,28 @@ Page({ | |||||
| */ | */ | ||||
| onLoad(options) { | onLoad(options) { | ||||
| let that = this | let that = this | ||||
| //所属银行 | |||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'major_type', {method:'GET'}, { | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| majorTypeOptions:res.data | |||||
| }); | |||||
| } | |||||
| }) | |||||
| let templateQueryParams = { | |||||
| // 分页 | |||||
| type:'5' | |||||
| }; | |||||
| UTIL.httpRequest(API.URL_GET_TEMPLATELIST , templateQueryParams, { | |||||
| success: (res) => { | |||||
| that.setData({ | |||||
| approvalTemplateList:res.rows, | |||||
| ["form.approvalTemplateId"]:res.rows[0].id, | |||||
| ["form.approvalTemplateName"]:res.rows[0].name, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| if(options.id!=null&&options.id!=""){ | if(options.id!=null&&options.id!=""){ | ||||
| this.setData({id:options.id}) | this.setData({id:options.id}) | ||||
| UTIL.httpRequest(API.URL_GET_MAJOREVENTGET + this.data.id, {method:'GET'}, { | UTIL.httpRequest(API.URL_GET_MAJOREVENTGET + this.data.id, {method:'GET'}, { | ||||
| @@ -33,35 +55,59 @@ Page({ | |||||
| if(res.data.auditStatus!='0'&&res.data.auditStatus!='2'){ | if(res.data.auditStatus!='0'&&res.data.auditStatus!='2'){ | ||||
| this.setData({'showBtn':false}); | this.setData({'showBtn':false}); | ||||
| } | } | ||||
| res.data.majorTypeText = UTIL.getTransform(res.data.majorType,that.data.majorTypeOptions); | |||||
| let op = that.data.approvalTemplateList.filter(function (e) { return e.id == res.data.approvalTemplateId; }); | |||||
| res.data.approvalTemplateName = op[0].name; | |||||
| this.setData({'form':res.data}) | this.setData({'form':res.data}) | ||||
| this.selectComponent('#hf_editor').setHtml(res.data.eventContent); | this.selectComponent('#hf_editor').setHtml(res.data.eventContent); | ||||
| this.selectComponent('#hf_editor2').setHtml(res.data.dzbty); | |||||
| this.selectComponent('#hf_editor3').setHtml(res.data.lwhsy); | |||||
| this.selectComponent('#hf_editor4').setHtml(res.data.dqyshsyhjy); | |||||
| this.selectComponent('#hf_editor5').setHtml(res.data.cydbhjy); | |||||
| this.selectComponent('#hf_editor6').setHtml(res.data.jcjggk); | |||||
| this.selectComponent('#hf_editor7').setHtml(res.data.ssqkgk); | |||||
| } | } | ||||
| }) | }) | ||||
| }else{ | }else{ | ||||
| this.onShow() | this.onShow() | ||||
| } | } | ||||
| }, | }, | ||||
| onConfirmPickApproval(event) { | |||||
| console.log(event); | |||||
| var that = this; | |||||
| this.setData({ | |||||
| ["form.showApprovalTemplateName"]: false, | |||||
| ["form.approvalTemplateName"]: event.detail.value.name, | |||||
| ["form.approvalTemplateId"]: event.detail.value.id, | |||||
| }); | |||||
| }, | |||||
| onConfirmEventTime(e){ | onConfirmEventTime(e){ | ||||
| let data = this.getNewDate(new Date(e.detail.value)); | let data = this.getNewDate(new Date(e.detail.value)); | ||||
| this.setData({'form.eventTime':data}); | this.setData({'form.eventTime':data}); | ||||
| }, | }, | ||||
| getHtml(e) {//从组件获取值 | getHtml(e) {//从组件获取值 | ||||
| this.data.form.eventContent = e.detail.content.html | |||||
| this.setData({ | |||||
| [e.currentTarget.dataset.name]:e.detail.content.html | |||||
| }); | |||||
| }, | }, | ||||
| insertImage(){ //图片上传插入示例 | |||||
| wx.chooseImage({ | |||||
| insertImage(e){ //图片上传插入示例 | |||||
| wx.chooseMedia({ | |||||
| count: 1, | count: 1, | ||||
| success: r => { | success: r => { | ||||
| // 本地测试图片插入 | // 本地测试图片插入 | ||||
| // this.selectComponent('#hf_editor').insertSrc(res.tempFilePaths[0]); | // this.selectComponent('#hf_editor').insertSrc(res.tempFilePaths[0]); | ||||
| console.log(r.tempFiles[0]); | |||||
| wx.uploadFile({ //调用图片上传接口 | wx.uploadFile({ //调用图片上传接口 | ||||
| url: wx.getStorageSync('dressCode')+'/common/upload', | url: wx.getStorageSync('dressCode')+'/common/upload', | ||||
| filePath: r.tempFilePaths[0], | |||||
| name: 'imgFile', | |||||
| filePath: r.tempFiles[0].tempFilePath, | |||||
| header: { | |||||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||||
| }, | |||||
| name: 'file', | |||||
| success: res => { | success: res => { | ||||
| console.log(); | |||||
| let imgUrl = JSON.parse(res.data).url | |||||
| this.selectComponent('#hf_editor').insertSrc(wx.getStorageSync('dressCode')+'/common/upload' + imgUrl);//调用组件insertSrc方法 | |||||
| console.log(111111); | |||||
| let imgUrl = JSON.parse(res.data).fileName | |||||
| this.selectComponent('#'+e.currentTarget.dataset.id).insertSrc(wx.getStorageSync('dressCode')+imgUrl);//调用组件insertSrc方法 | |||||
| } | } | ||||
| }) | }) | ||||
| } | } | ||||
| @@ -123,11 +169,33 @@ Page({ | |||||
| }else if(this.data.form.eventContent===''||this.data.form.eventContent==null){ //事项内容 | }else if(this.data.form.eventContent===''||this.data.form.eventContent==null){ //事项内容 | ||||
| UTIL.showToastNoneIcon('事项内容不能为空!'); | UTIL.showToastNoneIcon('事项内容不能为空!'); | ||||
| return false; | return false; | ||||
| }else if(this.data.form.dzbty===''||this.data.form.dzbty==null){ //事项内容 | |||||
| UTIL.showToastNoneIcon('村党支部提议不能为空!'); | |||||
| return false; | |||||
| }else if(this.data.form.lwhsy===''||this.data.form.lwhsy==null){ //事项内容 | |||||
| UTIL.showToastNoneIcon('两委会商议不能为空!'); | |||||
| return false; | |||||
| }else if(this.data.form.dqyshsyhjy===''||this.data.form.dqyshsyhjy==null){ //事项内容 | |||||
| UTIL.showToastNoneIcon('党群议事会审议和决议不能为空!'); | |||||
| return false; | |||||
| }else if(this.data.form.jcjggk===''||this.data.form.jcjggk==null){ //事项内容 | |||||
| UTIL.showToastNoneIcon('决策结果公开不能为空!'); | |||||
| return false; | |||||
| }else if(this.data.form.ssqkgk===''||this.data.form.ssqkgk==null){ //事项内容 | |||||
| UTIL.showToastNoneIcon('实施情况公开不能为空!'); | |||||
| return false; | |||||
| }else if(this.data.status=='0'){ | }else if(this.data.status=='0'){ | ||||
| this.setData({'status':'1'}) | this.setData({'status':'1'}) | ||||
| var that = this; | var that = this; | ||||
| that.data.form.method = 'POST'; | that.data.form.method = 'POST'; | ||||
| that.data.form.eventContent = that.data.form.eventContent.replace(/\\/g,"/") | that.data.form.eventContent = that.data.form.eventContent.replace(/\\/g,"/") | ||||
| that.data.form.eventContent = that.data.form.eventContent.replace(/"/g,"'") | |||||
| that.data.form.dzbty = that.data.form.dzbty.replace(/"/g,"'") | |||||
| that.data.form.lwhsy = that.data.form.lwhsy.replace(/"/g,"'") | |||||
| that.data.form.dqyshsyhjy = that.data.form.dqyshsyhjy.replace(/"/g,"'") | |||||
| that.data.form.cydbhjy = that.data.form.cydbhjy.replace(/"/g,"'") | |||||
| that.data.form.jcjggk = that.data.form.jcjggk.replace(/"/g,"'") | |||||
| that.data.form.ssqkgk = that.data.form.ssqkgk.replace(/"/g,"'") | |||||
| console.log(that.data.form); | console.log(that.data.form); | ||||
| if(that.data.form.id==""||that.data.form.id==null){ | if(that.data.form.id==""||that.data.form.id==null){ | ||||
| UTIL.httpRequest(API.URL_POST_MAJOREVENTADD, that.data.form , { | UTIL.httpRequest(API.URL_POST_MAJOREVENTADD, that.data.form , { | ||||
| @@ -187,6 +255,13 @@ Page({ | |||||
| delta: 1 | delta: 1 | ||||
| }) | }) | ||||
| }, | }, | ||||
| onConfirm(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, | |||||
| }); | |||||
| }, | |||||
| /** | /** | ||||
| * 生命周期函数--监听页面隐藏 | * 生命周期函数--监听页面隐藏 | ||||
| */ | */ | ||||
| @@ -4,24 +4,80 @@ | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">{{form.id?"":"新增"}}重大项目</text> | <text style="top:{{isIPX?'54px':'30px'}};">{{form.id?"":"新增"}}重大项目</text> | ||||
| </view> | </view> | ||||
| <view class="main-box table-box table-boxs" style="margin-top:{{isIPX?'100px':'75px'}};"> | <view class="main-box table-box table-boxs" style="margin-top:{{isIPX?'100px':'75px'}};"> | ||||
| <van-field label="项目名称" value="{{ form.eventName }}" placeholder="项目名称" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.eventName"/> | |||||
| <van-field label="项目名称" value="{{ form.eventName }}" placeholder="项目名称" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.eventName"/> | |||||
| <view class="section" style="margin-top: -28rpx;"> | <view class="section" style="margin-top: -28rpx;"> | ||||
| <view class="section__title"><text style="color:red;margin-right: 8rpx;">*</text>发生日期</view> | |||||
| <picker mode="date" value="{{form.eventTime}}" bindchange="onConfirmEventTime"> | |||||
| <view class="picker"> | |||||
| {{form.eventTime?form.eventTime:'发生日期'}} | |||||
| </view> | |||||
| </picker> | |||||
| <view class="section__title"><text style="color:red;margin-right: 8rpx;">*</text>发生日期</view> | |||||
| <picker mode="date" value="{{form.eventTime}}" bindchange="onConfirmEventTime"> | |||||
| <view class="picker"> | |||||
| {{form.eventTime?form.eventTime:'发生日期'}} | |||||
| </view> | |||||
| </picker> | |||||
| </view> | |||||
| <van-popup show="{{form.showMajorType}}" round position="bottom" bind:close="closeBox" data-name="form.showMajorType"> | |||||
| <van-picker | |||||
| columns="{{majorTypeOptions}}" | |||||
| show-toolbar | |||||
| value-key="dictLabel" | |||||
| bind:cancel="closeBox" | |||||
| bind:confirm="onConfirm" | |||||
| data-name="form.showMajorType" | |||||
| data-value="form.majorType" | |||||
| /> | |||||
| </van-popup> | |||||
| <van-field required label="事项类型" readonly value="{{ form.majorTypeText }}" placeholder="请选择事项类型" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="form.showMajorType"/> | |||||
| <van-popup show="{{form.showApprovalTemplateName}}" round position="bottom" bind:close="closeBox" data-name="form.showApprovalTemplateName"> | |||||
| <van-picker | |||||
| columns="{{approvalTemplateList}}" | |||||
| show-toolbar | |||||
| value-key="name" | |||||
| bind:cancel="closeBox" | |||||
| bind:confirm="onConfirmPickApproval" | |||||
| data-name="form.showApprovalTemplateName" | |||||
| data-value="form.approvalTemplateId" | |||||
| /> | |||||
| </van-popup> | |||||
| <van-field required label="审批流程" readonly value="{{ form.approvalTemplateName }}" placeholder="请选择审批流程" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction="down" bindtap="openBox" data-name="form.showApprovalTemplateName"/> | |||||
| <van-field required label="事项内容" readonly border="{{ false }}" /> | |||||
| <view style="width:100%;margin-bottom: 15px;"> | |||||
| <hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.eventContent" bind:insertImage="insertImage" data-id='hf_editor' id="hf_editor"/> | |||||
| </view> | </view> | ||||
| <view style="width:100%;"> | |||||
| <hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" bind:insertImage="insertImage" id="hf_editor"/> | |||||
| <van-field required label="理事会提议" readonly border="{{ false }}"/> | |||||
| <view style="width:100%;margin-bottom: 15px;"> | |||||
| <hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.dzbty" bind:insertImage="insertImage" id="hf_editor2" data-id='hf_editor2'/> | |||||
| </view> | </view> | ||||
| <view style="margin-bottom: 15px;"></view> | |||||
| <van-field label="村党支部和理事会商议" border="{{ false }}" required/> | |||||
| <view style="width:100%;margin-bottom: 15px;"> | |||||
| <hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.lwhsy" bind:insertImage="insertImage" id="hf_editor3" data-id='hf_editor3'/> | |||||
| </view> | |||||
| <van-field label="党员会审议" border="{{ false }}" required/> | |||||
| <view style="width:100%;margin-bottom: 15px;"> | |||||
| <hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.dqyshsyhjy" bind:insertImage="insertImage" id="hf_editor4" data-id='hf_editor4'/> | |||||
| </view> | |||||
| <van-field label="成员(代表)会决议" border="{{ false }}" required/> | |||||
| <view style="width:100%;margin-bottom: 15px;"> | |||||
| <hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.cydbhjy" bind:insertImage="insertImage" id="hf_editor5" data-id='hf_editor5'/> | |||||
| </view> | |||||
| <van-field label="决策结果公开" border="{{ false }}" required/> | |||||
| <view style="width:100%;margin-bottom: 15px;"> | |||||
| <hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.jcjggk" bind:insertImage="insertImage" id="hf_editor6" data-id='hf_editor6'/> | |||||
| </view> | |||||
| <van-field label="实施情况公开" border="{{ false }}" required/> | |||||
| <view style="width:100%;margin-bottom: 15px;"> | |||||
| <hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.ssqkgk" bind:insertImage="insertImage" id="hf_editor7" data-id='hf_editor7'/> | |||||
| </view> | |||||
| <van-field label="备注" value="{{ form.remark }}" placeholder="备注" border="{{ false }}" bind:change="onChange" input-align="right" data-value="form.remark"/> | <van-field label="备注" value="{{ form.remark }}" placeholder="备注" border="{{ false }}" bind:change="onChange" input-align="right" data-value="form.remark"/> | ||||
| </view> | |||||
| <view class="bottom" wx:if="{{showBtn}}"> | |||||
| <view class="btn2" bindtap="goSubmit">保存</view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="bottom" wx:if="{{showBtn}}"> | |||||
| <view class="btn2" bindtap="goSubmit">保存</view> | |||||
| </view> | |||||
| <view style="height: 30px;"></view> | |||||
| @@ -1,4 +1,7 @@ | |||||
| /* pages/payee/add/add.wxss */ | /* pages/payee/add/add.wxss */ | ||||
| .van-cell__title, .van-cell__value { | |||||
| max-width: 50%!important; | |||||
| } | |||||
| .main-box{ | .main-box{ | ||||
| background: #ffffff; | background: #ffffff; | ||||
| padding: 20px; | padding: 20px; | ||||
| @@ -40,8 +43,6 @@ | |||||
| margin-top: 30px; | margin-top: 30px; | ||||
| margin-bottom: 30px; | margin-bottom: 30px; | ||||
| display: flex; | display: flex; | ||||
| position: absolute; | |||||
| bottom: 10%; | |||||
| } | } | ||||
| .bottom view { | .bottom view { | ||||
| @@ -1,2 +1,2 @@ | |||||
| <!--pages/noLoginIndex.wxml--> | <!--pages/noLoginIndex.wxml--> | ||||
| <image src="https://www.nongshen.net/static/wechat/index_no_login.jpg" style="width: 100%;" mode="widthFix"></image> | |||||
| <image src="https://www.nongshen.net/static/wechat/index_no_login.jpg" style="width: 100%;" mode="widthFix" bind:tap="goLogin"></image> | |||||
| @@ -95,22 +95,21 @@ Page({ | |||||
| bindKeyInput(e){ | bindKeyInput(e){ | ||||
| console.log(e.detail); | console.log(e.detail); | ||||
| var that = this; | var that = this; | ||||
| var str = e.detail.value; | |||||
| var numArr = str.match(/\d+/g) | |||||
| var nameArr = str.match(/[\u4e00-\u9fa5]/g).join("") | |||||
| var str = e.detail.value.replace(/\s/g, ""); | |||||
| console.log(str); | |||||
| var numArr = str.match(/\d+/g); | |||||
| var nameArr = str.match(/[\u4e00-\u9fa5]/g).join(""); | |||||
| if (numArr) { | if (numArr) { | ||||
| numArr.map(rr=>{ | numArr.map(rr=>{ | ||||
| if (rr.length>16) { | |||||
| console.log(rr); | console.log(rr); | ||||
| console.log(UTIL.isBankCard(rr)); | console.log(UTIL.isBankCard(rr)); | ||||
| const carId = UTIL.isBankCard(rr); | |||||
| if (carId) { | |||||
| // const carId = UTIL.isBankCard(rr); | |||||
| // if (carId) { | |||||
| that.setData({ | that.setData({ | ||||
| ["form.payee"]:nameArr, | ["form.payee"]:nameArr, | ||||
| ["form.payeeAccount"]:rr | ["form.payeeAccount"]:rr | ||||
| }) | }) | ||||
| } | |||||
| } | |||||
| // } | |||||
| }) | }) | ||||
| } | } | ||||
| }, | }, | ||||
| @@ -251,7 +250,7 @@ Page({ | |||||
| }else{ | }else{ | ||||
| wx.hideLoading(); | wx.hideLoading(); | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "提交失败!", | |||||
| title: res.msg, | |||||
| duration: 2000, | duration: 2000, | ||||
| icon:"error" | icon:"error" | ||||
| }) | }) | ||||
| @@ -50,7 +50,7 @@ | |||||
| value="{{ form.accountType }}" | value="{{ form.accountType }}" | ||||
| bind:change="onChange" | bind:change="onChange" | ||||
| direction="horizontal" | direction="horizontal" | ||||
| data-value="form.accountType" | |||||
| data-formname="form.accountType" | |||||
| > | > | ||||
| <van-radio name="1" checked-color="#2C8E68">公户</van-radio> | <van-radio name="1" checked-color="#2C8E68">公户</van-radio> | ||||
| <van-radio name="2" checked-color="#2C8E68">私户</van-radio> | <van-radio name="2" checked-color="#2C8E68">私户</van-radio> | ||||
| @@ -24,7 +24,7 @@ Page({ | |||||
| that.setData({ | that.setData({ | ||||
| isPeers:options.isPeers,//是否同行 | isPeers:options.isPeers,//是否同行 | ||||
| bankType:options.bankType,//所属银行 | bankType:options.bankType,//所属银行 | ||||
| // accountType:options.accountType,//账户类型 | |||||
| accountType:options.accountType,//账户类型 | |||||
| payeeType:options.transferType,//申请转帐类型 | payeeType:options.transferType,//申请转帐类型 | ||||
| money:options.money,//申请转帐类型 | money:options.money,//申请转帐类型 | ||||
| index:options.index | index:options.index | ||||
| @@ -37,7 +37,7 @@ Page({ | |||||
| isAsc:'desc', | isAsc:'desc', | ||||
| isPeers:that.data.isPeers,//是否同行 | isPeers:that.data.isPeers,//是否同行 | ||||
| bankType:that.data.bankType,//所属银行 | bankType:that.data.bankType,//所属银行 | ||||
| // accountType:that.data.accountType,//账户类型 | |||||
| accountType:that.data.accountType,//账户类型 | |||||
| // payeeType:that.data.payeeType,//申请转帐类型 | // payeeType:that.data.payeeType,//申请转帐类型 | ||||
| status:'0', | status:'0', | ||||
| method:'GET' | method:'GET' | ||||
| @@ -91,7 +91,7 @@ Page({ | |||||
| isAsc:'asc', | isAsc:'asc', | ||||
| // isPeers:that.data.isPeers,//是否同行 | // isPeers:that.data.isPeers,//是否同行 | ||||
| // bankType:that.data.bankType,//所属银行 | // bankType:that.data.bankType,//所属银行 | ||||
| // accountType:that.data.accountType,//账户类型 | |||||
| accountType:that.data.accountType,//账户类型 | |||||
| // payeeType:that.data.payeeType,//申请转帐类型 | // payeeType:that.data.payeeType,//申请转帐类型 | ||||
| status:'0', | status:'0', | ||||
| name:e.detail, | name:e.detail, | ||||
| @@ -187,7 +187,7 @@ Page({ | |||||
| } | } | ||||
| prevPage.setData({ | prevPage.setData({ | ||||
| ["form.payeeList["+that.data.index+"]"]: array[0],//将想要传的信息赋值给上一个页面data中的值 | ["form.payeeList["+that.data.index+"]"]: array[0],//将想要传的信息赋值给上一个页面data中的值 | ||||
| ["form.accountType"]:array[0].accountType | |||||
| // ["form.accountType"]:array[0].accountType | |||||
| }) | }) | ||||
| that.back() | that.back() | ||||
| } | } | ||||
| @@ -104,9 +104,11 @@ Page({ | |||||
| remark:this.data.name, | remark:this.data.name, | ||||
| paymentState:this.data.value1, | paymentState:this.data.value1, | ||||
| capitalExpenditureType:this.data.value2, | capitalExpenditureType:this.data.value2, | ||||
| transferType:this.data.value3 | |||||
| transferType:this.data.value3, | |||||
| auditStatus:'3', | |||||
| method:'POST' | |||||
| } | } | ||||
| UTIL.httpRequest(API.URL_GET_TRANSFERPAYLIST,params,{ | |||||
| UTIL.httpRequest(API.URL_GET_TRANSFERLIST,params,{ | |||||
| success: (res) => { | success: (res) => { | ||||
| let _this = this | let _this = this | ||||
| if(res.code == 200){ | if(res.code == 200){ | ||||
| @@ -194,6 +196,33 @@ Page({ | |||||
| url: '/pages/handle/expenditureAuditNew/expenditureAuditNew?id='+e.currentTarget.dataset.ids+'&&ids='+e.currentTarget.dataset.ids+'&&type=see', | url: '/pages/handle/expenditureAuditNew/expenditureAuditNew?id='+e.currentTarget.dataset.ids+'&&ids='+e.currentTarget.dataset.ids+'&&type=see', | ||||
| }) | }) | ||||
| }, | }, | ||||
| toPayReapply(e){ | |||||
| let that = this; | |||||
| wx.showModal({ | |||||
| title: '提示', | |||||
| content: '此操作会将单据中支付失败的记录重新申请,请先确保在【首页-收款方】中已修改准确,再执行此操作!', | |||||
| success (res) { | |||||
| if (res.confirm) { | |||||
| UTIL.httpRequest(API.reapply + e.currentTarget.dataset.ids, {method:'GET'}, { | |||||
| success: (res) => { | |||||
| if(res.code == 200){ | |||||
| wx.showToast({ | |||||
| title: '重新申请成功', | |||||
| icon: 'success', | |||||
| duration: 2000 | |||||
| }) | |||||
| that.getList(); | |||||
| }else{ | |||||
| UTIL.showToastNoneIcon('申请失败'); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } else if (res.cancel) { | |||||
| console.log('用户点击取消') | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| scrap(e){ | scrap(e){ | ||||
| console.log(e.currentTarget.dataset.data.id,e.currentTarget.dataset.data.index); | console.log(e.currentTarget.dataset.data.id,e.currentTarget.dataset.data.index); | ||||
| if(e.currentTarget.dataset.data.assetStatus != 1){ | if(e.currentTarget.dataset.data.assetStatus != 1){ | ||||
| @@ -50,11 +50,32 @@ | |||||
| <text style="font-size: 10px;display: inline;">¥</text>{{item.expenditureAmount}} | <text style="font-size: 10px;display: inline;">¥</text>{{item.expenditureAmount}} | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view style="text-align: right;" wx-if="{{(item.paymentState==4 || item.paymentState==5) && item.downId != null}}"> | |||||
| <view style="color:red;font-size: 18px;"> | |||||
| <text style="font-size: 12px;display: inline;">(已申请)</text> | |||||
| </view> | |||||
| </view> | |||||
| <view style="text-align: right;" wx-if="{{(item.paymentState==4 || item.paymentState==5) && item.downId == null}}"> | |||||
| <view style="color:rgb(26,173,25);font-size: 18px;"> | |||||
| <text style="font-size: 12px;display: inline;">可重新申请</text> | |||||
| </view> | |||||
| </view> | |||||
| <view style="text-align: right;"> | <view style="text-align: right;"> | ||||
| <button wx-if="{{item.paymentState==1}}" type="primary" size="mini" style="border-radius: 15px;" bindtap="toPay" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}">待支付</button> | <button wx-if="{{item.paymentState==1}}" type="primary" size="mini" style="border-radius: 15px;" bindtap="toPay" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}">待支付</button> | ||||
| <button wx-if="{{item.paymentState==3}}" type="primary" size="mini" style="border-radius: 15px;background-color: #B3DB62;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">银行受理</button> | <button wx-if="{{item.paymentState==3}}" type="primary" size="mini" style="border-radius: 15px;background-color: #B3DB62;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">银行受理</button> | ||||
| <button wx-if="{{item.paymentState==4}}" type="warn" size="mini" style="border-radius: 15px;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">支付失败</button> | |||||
| <button wx-if="{{item.paymentState==5}}" type="primary" size="mini" style="border-radius: 15px;background-color: #FC9A55;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">部分失败</button> | |||||
| <button wx-if="{{item.paymentState==4 && item.downId == null}}" type="warn" size="mini" style="border-radius: 15px;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayReapply">支付失败</button> | |||||
| <button wx-if="{{item.paymentState==5 && item.downId == null}}" type="primary" size="mini" style="border-radius: 15px;background-color: #FC9A55;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayReapply">部分失败</button> | |||||
| <button wx-if="{{item.paymentState==4 && item.downId != null}}" type="warn" size="mini" style="border-radius: 15px;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">支付失败</button> | |||||
| <button wx-if="{{item.paymentState==5 && item.downId != null}}" type="primary" size="mini" style="border-radius: 15px;background-color: #FC9A55;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">部分失败</button> | |||||
| <button wx-if="{{item.paymentState==6}}" type="primary" size="mini" style="border-radius: 15px;">支付成功</button> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -111,8 +111,8 @@ Page({ | |||||
| confirmText: '确定', | confirmText: '确定', | ||||
| success: function (e) { | success: function (e) { | ||||
| //非建行 | //非建行 | ||||
| if(_this.data.data.accountPassword==null||_this.data.data.accountPassword.length<1){ | |||||
| UTIL.showToastNoneIcon("请输入支付口令!"); | |||||
| if(_this.data.data.alternateField1==null||_this.data.data.alternateField1.length<1){ | |||||
| UTIL.showToastNoneIcon("请输入验证码!"); | |||||
| }else{ | }else{ | ||||
| _this.setData({'showPopup':true}) | _this.setData({'showPopup':true}) | ||||
| } | } | ||||
| @@ -145,10 +145,34 @@ Page({ | |||||
| confirmPay(){ | confirmPay(){ | ||||
| let _this = this | let _this = this | ||||
| this.setData({'showPopup':false}) | this.setData({'showPopup':false}) | ||||
| if(this.data.data.bankType!=4){ | |||||
| console.log(this.data.data.bankType); | |||||
| if(this.data.data.bankType==4){ | |||||
| let params = { | let params = { | ||||
| id : this.data.data.id, | id : this.data.data.id, | ||||
| accountPassword:this.data.data.accountPassword | |||||
| alternateField1:this.data.data.alternateField1, | |||||
| bankType: this.data.data.bankType | |||||
| } | |||||
| UTIL.httpRequest(API.URL_GET_PAY,params,{ | |||||
| success: (res) => { | |||||
| wx.showModal({ | |||||
| title: "", | |||||
| showCancel: false, | |||||
| content: "支付成功,请等待银行进行处理,稍后可通过查询结果按钮查询银行处理结果。", | |||||
| confirmText: '确定', | |||||
| success: function (e) { | |||||
| _this.back() | |||||
| } | |||||
| }) | |||||
| }, | |||||
| fail:(res) => { | |||||
| UTIL.showToastNoneIcon(res) | |||||
| } | |||||
| }) | |||||
| }else{ | |||||
| let params = { | |||||
| id : this.data.data.id, | |||||
| accountPassword:this.data.data.accountPassword, | |||||
| bankType: this.data.data.bankType | |||||
| } | } | ||||
| UTIL.httpRequest(API.URL_GET_PAY,params,{ | UTIL.httpRequest(API.URL_GET_PAY,params,{ | ||||
| success: (res) => { | success: (res) => { | ||||
| @@ -169,7 +193,7 @@ Page({ | |||||
| content: res.msg, | content: res.msg, | ||||
| confirmText: '确定', | confirmText: '确定', | ||||
| success: function (e) { | success: function (e) { | ||||
| _this.back() | |||||
| } | } | ||||
| }) | }) | ||||
| } | } | ||||
| @@ -178,27 +202,6 @@ Page({ | |||||
| UTIL.showToastNoneIcon(res) | UTIL.showToastNoneIcon(res) | ||||
| } | } | ||||
| }) | }) | ||||
| }else{ | |||||
| let params = { | |||||
| id : this.data.data.id, | |||||
| accountPassword:this.data.data.accountPassword | |||||
| } | |||||
| UTIL.httpRequest(API.URL_GET_PAY,params,{ | |||||
| success: (res) => { | |||||
| wx.showModal({ | |||||
| title: "", | |||||
| showCancel: false, | |||||
| content: "支付成功,请等待银行进行处理,稍后可通过查询结果按钮查询银行处理结果。", | |||||
| confirmText: '确定', | |||||
| success: function (e) { | |||||
| _this.back() | |||||
| } | |||||
| }) | |||||
| }, | |||||
| fail:(res) => { | |||||
| UTIL.showToastNoneIcon(res) | |||||
| } | |||||
| }) | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -208,28 +211,36 @@ Page({ | |||||
| sendMsg(){ | sendMsg(){ | ||||
| let _this = this | let _this = this | ||||
| let params = { | let params = { | ||||
| id : this.data.data.id | |||||
| id : this.data.data.id, | |||||
| bankType: this.data.data.bankType | |||||
| } | } | ||||
| if(this.data.msgTime>0){ | if(this.data.msgTime>0){ | ||||
| return false | return false | ||||
| } | } | ||||
| UTIL.httpRequest(API.URL_GET_SENDMSG,params,{ | UTIL.httpRequest(API.URL_GET_SENDMSG,params,{ | ||||
| success: (res) => { | success: (res) => { | ||||
| if (res.toString().indexOf('短信发送失败') == -1){ | |||||
| _this.setData({'msgText':180+'s后可重新发送','msgTime':180}) | |||||
| _this.msgTimer = setInterval(()=>{ | |||||
| let tt = _this.data.msgTime | |||||
| _this.setData({'msgText':tt--+'s后可重新发送','msgTime':tt}) | |||||
| if (_this.data.msgTime == 0){ | |||||
| clearInterval(_this.msgTimer); | |||||
| _this.msgTime = 0 ; | |||||
| _this.smsText = ''; | |||||
| } | |||||
| },1000) | |||||
| if (res.code == API.SUCCESS_CODE) { | |||||
| if (res.toString().indexOf('短信发送失败') == -1){ | |||||
| _this.setData({'msgText':180+'s后可重新发送','msgTime':180}) | |||||
| _this.msgTimer = setInterval(()=>{ | |||||
| let tt = _this.data.msgTime | |||||
| _this.setData({'msgText':tt--+'s后可重新发送','msgTime':tt}) | |||||
| if (_this.data.msgTime == 0){ | |||||
| clearInterval(_this.msgTimer); | |||||
| _this.msgTime = 0 ; | |||||
| _this.smsText = ''; | |||||
| } | |||||
| },1000) | |||||
| }else{ | |||||
| UTIL.showToastNoneIcon("短信发送失败,请联系管理员!"); | |||||
| } | |||||
| }else{ | }else{ | ||||
| UTIL.showToastNoneIcon("短信发送失败,请联系管理员!"); | |||||
| UTIL.showToastNoneIcon(res.msg); | |||||
| } | } | ||||
| } | |||||
| }, | |||||
| fail:(res) => { | |||||
| UTIL.showToastNoneIcon(res) | |||||
| } | |||||
| }) | }) | ||||
| }, | }, | ||||
| bindPickerChange:function(e){ | bindPickerChange:function(e){ | ||||
| @@ -45,25 +45,33 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;" wx:if="{{data.bankType!=4}}"> | |||||
| <input type="number" placeholder="请输入口令" value="{{data.accountPassword}}" bindinput="bindNewInput" data-name="data.accountPassword"/> | |||||
| </view> | |||||
| <view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;position:relative;" wx:if="{{data.bankType==4}}"> | |||||
| <input type="number" placeholder="输入验证码" value="{{data.alternateField1}}" bindinput="bindNewInput" data-name="data.alternateField1"/> | |||||
| <button type="primary" plain="true" size="mini" style="position: absolute;right: 4px;top: 5px;z-index: 999;" bind:disabled="{{msgTime>0}}" | |||||
| bindtap="sendMsg" hover-class="btnView">发送验证码</button> | |||||
| </view> | |||||
| <view style="padding:10px;width:90%;" wx:if="{{msgText!=''}}"> | |||||
| <text style="color: red;">*{{msgText}}</text> | |||||
| <view wx:if="{{data.doubleConfirmationStatus == 'Y'}}" style="margin-top: 20px;" class="main-box top-box topBox"> | |||||
| <view wx:if="{{data.doubleConfirmationUser == '' || data.doubleConfirmationUser == null}}"> | |||||
| <text style="text-align: center">等待领导复核中。。。</text> | |||||
| </view> | |||||
| <view wx:else> | |||||
| <text style="text-align: center">{{ data.doubleConfirmationUser +'已于'+data.doubleConfirmationTime +'进行复核。'}}</text> | |||||
| </view> | |||||
| </view> | </view> | ||||
| <block> | |||||
| <view class="bottom"> | |||||
| <view class="btn1" bindtap="back">取消</view> | |||||
| <view class="btn2" data-type="0" bindtap="goSubmit" hover-class="btnView">支付</view> | |||||
| <view wx:if="{{data.doubleConfirmationStatus != 'Y' || !(data.doubleConfirmationUser == '' || data.doubleConfirmationUser == null)}}"> | |||||
| <view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;" wx:if="{{data.bankType == '1' || data.bankType == '2' || data.bankType == '3' || data.bankType == '5' || data.bankType == '9' || data.bankType == '10' || data.bankType == '18'}}"> | |||||
| <input type="number" placeholder="请输入口令" value="{{data.accountPassword}}" bindinput="bindNewInput" data-name="data.accountPassword"/> | |||||
| </view> | </view> | ||||
| </block> | |||||
| <modal hidden="{{!showPopup}}" title="确认支付?" confirm-text="是" cancel-text="否" bindcancel="cancelPay" bindconfirm="confirmPay"> | |||||
| </modal> | |||||
| <view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;position:relative;" wx:else> | |||||
| <input type="number" placeholder="输入验证码" value="{{data.alternateField1}}" bindinput="bindNewInput" data-name="data.alternateField1"/> | |||||
| <button type="primary" plain="true" size="mini" style="position: absolute;right: 4px;top: 5px;z-index: 999;" bind:disabled="{{msgTime>0}}" bindtap="sendMsg" hover-class="btnView">发送验证码</button> | |||||
| </view> | |||||
| <view style="padding:10px;width:90%;" wx:if="{{msgText!=''}}"> | |||||
| <text style="color: red;">*{{msgText}}</text> | |||||
| </view> | |||||
| <block> | |||||
| <view class="bottom"> | |||||
| <view class="btn1" bindtap="back">取消</view> | |||||
| <view class="btn2" data-type="0" bindtap="goSubmit" hover-class="btnView">支付</view> | |||||
| </view> | |||||
| </block> | |||||
| <modal hidden="{{!showPopup}}" title="确认支付?" confirm-text="是" cancel-text="否" bindcancel="cancelPay" bindconfirm="confirmPay"></modal> | |||||
| </view> | |||||
| @@ -14,6 +14,7 @@ Page({ | |||||
| option1: [], | option1: [], | ||||
| option2: [], | option2: [], | ||||
| option3: [], | option3: [], | ||||
| list: [], | |||||
| value1: '', | value1: '', | ||||
| value2: '', | value2: '', | ||||
| value3: '', | value3: '', | ||||
| @@ -39,7 +40,21 @@ Page({ | |||||
| }); | }); | ||||
| }, | }, | ||||
| projectId:'', | projectId:'', | ||||
| projectValue:'' | |||||
| projectValue:'', | |||||
| pageNums:1, | |||||
| params:{ | |||||
| actacn:'' , //付款账户 | |||||
| payeeActacn: '' , //收款账号 | |||||
| payeeToname:'' , //收款人 | |||||
| transtype:'' ,// 业务类型 数据字典:trans_type | |||||
| direction:'' ,// 来往账标识 数据字典:direction | |||||
| pageSize:'10', | |||||
| pageNum:1, | |||||
| method:'POST', | |||||
| }, | |||||
| recordform: {}, | |||||
| formSms: {}, | |||||
| recordopen4: false | |||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -47,6 +62,17 @@ Page({ | |||||
| */ | */ | ||||
| onLoad(options) { | onLoad(options) { | ||||
| var that = this; | var that = this; | ||||
| let qu = wx.createSelectorQuery() | |||||
| qu.select("#top_view").boundingClientRect() | |||||
| qu.select("#top_ban").boundingClientRect() | |||||
| qu.select("#top_view1").boundingClientRect() | |||||
| qu.select("#top_view2").boundingClientRect() | |||||
| qu.exec(res => { | |||||
| console.log(res); | |||||
| that.setData({ | |||||
| scrollHeight:wx.getWindowInfo().windowHeight-res[3].top | |||||
| }) | |||||
| }) | |||||
| // 对账状态字典查询 | // 对账状态字典查询 | ||||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'check_status', {method:'GET'}, { | UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'check_status', {method:'GET'}, { | ||||
| success: (res) => { | success: (res) => { | ||||
| @@ -99,11 +125,9 @@ Page({ | |||||
| method:'GET', | method:'GET', | ||||
| accountType:102 | accountType:102 | ||||
| } | } | ||||
| UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{ | UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{ | ||||
| success: (res) => { | success: (res) => { | ||||
| console.log(res.rows) | console.log(res.rows) | ||||
| let option1 = []; | let option1 = []; | ||||
| res.rows.map(rr=>{ | res.rows.map(rr=>{ | ||||
| console.log(rr); | console.log(rr); | ||||
| @@ -111,28 +135,51 @@ Page({ | |||||
| text: rr.accountName, value: rr.bankAccountNumber | text: rr.accountName, value: rr.bankAccountNumber | ||||
| }) | }) | ||||
| }) | }) | ||||
| that.setData({ | that.setData({ | ||||
| option1:option1, | option1:option1, | ||||
| value1:res.rows[0].bankAccountNumber, | value1:res.rows[0].bankAccountNumber, | ||||
| result1:res.rows[0].bankAccountNumber, | result1:res.rows[0].bankAccountNumber, | ||||
| accountList:res.rows | accountList:res.rows | ||||
| }) | }) | ||||
| let perames = {method:'POST',actacn:res.rows[0].bankAccountNumber,pageSize:'10'} | |||||
| //交易明细列表 | |||||
| UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , perames, { | |||||
| success: (res) => { | |||||
| res.rows.map(rrr=>{ | |||||
| rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions); | |||||
| }) | |||||
| that.setData({ | |||||
| list:res.rows | |||||
| }) | |||||
| } | |||||
| console.log(res.rows[0].bankAccountNumber); | |||||
| let actacnName = (that.data.option1).filter(function (e) { return e.value == that.data.result1; }); | |||||
| that.setData({ | |||||
| actacnName:actacnName[0].text, | |||||
| ["params.actacn"]:res.rows[0].bankAccountNumber | |||||
| }) | }) | ||||
| that.getData(); | |||||
| } | } | ||||
| }) | }) | ||||
| }, | }, | ||||
| getData(){ | |||||
| var that = this; | |||||
| let data = that.data.list; | |||||
| //交易明细列表 | |||||
| UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , this.data.params, { | |||||
| success: (res) => { | |||||
| console.log(res); | |||||
| console.log(res.total +'---------------------'+ data.length); | |||||
| if(res.total <= data.length){ | |||||
| return; | |||||
| }else{ | |||||
| res.rows.map(rrr=>{ | |||||
| rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions); | |||||
| data.push(rrr); | |||||
| }) | |||||
| that.setData({ | |||||
| list:data | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| paging(){ | |||||
| this.setData({ | |||||
| pageNums:this.data.pageNums+1, | |||||
| }) | |||||
| this.getData(); | |||||
| }, | |||||
| goSubmit(){ | goSubmit(){ | ||||
| var that = this ; | var that = this ; | ||||
| let form = { | let form = { | ||||
| @@ -171,13 +218,13 @@ Page({ | |||||
| bindDateBeginChange: function(e) { | bindDateBeginChange: function(e) { | ||||
| console.log('picker发送选择改变,携带值为', e.detail.value) | console.log('picker发送选择改变,携带值为', e.detail.value) | ||||
| this.setData({ | this.setData({ | ||||
| beginApplyDate: e.detail.value | |||||
| ['params.params.beginApplyDate']:e.detail.value, | |||||
| }) | }) | ||||
| }, | }, | ||||
| bindDateEndChange: function(e) { | bindDateEndChange: function(e) { | ||||
| console.log('picker发送选择改变,携带值为', e.detail.value) | console.log('picker发送选择改变,携带值为', e.detail.value) | ||||
| this.setData({ | this.setData({ | ||||
| endApplyDate: e.detail.value | |||||
| ['params.params.endApplyDate']:e.detail.value, | |||||
| }) | }) | ||||
| }, | }, | ||||
| reset(){ | reset(){ | ||||
| @@ -202,7 +249,10 @@ Page({ | |||||
| }) | }) | ||||
| }, | }, | ||||
| onClose() { | onClose() { | ||||
| this.setData({ showPopup: false }); | |||||
| this.setData({ | |||||
| showPopup: false, | |||||
| recordopen4: false | |||||
| }); | |||||
| }, | }, | ||||
| onChangeZH(event) { | onChangeZH(event) { | ||||
| console.log(event.detail); | console.log(event.detail); | ||||
| @@ -225,106 +275,46 @@ Page({ | |||||
| changeTab1(event){ | changeTab1(event){ | ||||
| var that = this ; | var that = this ; | ||||
| let actacnName = (that.data.option1).filter(function (e) { return e.value == event.detail; }); | let actacnName = (that.data.option1).filter(function (e) { return e.value == event.detail; }); | ||||
| console.log(actacnName); | |||||
| this.setData({ | this.setData({ | ||||
| result1: event.detail, | result1: event.detail, | ||||
| value1: event.detail, | value1: event.detail, | ||||
| actacnName:actacnName[0].text | |||||
| actacnName:actacnName[0].text, | |||||
| ['params.actacn']:event.detail, | |||||
| ['params.pageNum']:1, | |||||
| list:[] | |||||
| }); | }); | ||||
| let form = { | |||||
| actacn:that.data.result1 , //付款账户 | |||||
| transtype:that.data.result2 ,// 业务类型 数据字典:trans_type | |||||
| direction:that.data.result3 ,// 来往账标识 数据字典:direction | |||||
| pageNum:'1', | |||||
| pageSize:'10', | |||||
| method:'POST', | |||||
| } | |||||
| console.log(form); | |||||
| UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, { | |||||
| success: (res) => { | |||||
| res.rows.map(rrr=>{ | |||||
| rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions); | |||||
| }) | |||||
| that.setData({ | |||||
| list:res.rows, | |||||
| showPopup:false | |||||
| }) | |||||
| } | |||||
| }) | |||||
| // UTIL.httpRequest(API.URL_GET_GETRECONCILIATIONMOBILE , form, { | |||||
| // success: (res) => { | |||||
| // res.rows.map(rrr=>{ | |||||
| // rrr.checkStatusText = UTIL.getTransform(rrr.checkStatus,that.data.checkStatusOptions); | |||||
| // }) | |||||
| // that.setData({ | |||||
| // list:res.rows, | |||||
| // showPopup:false | |||||
| // }) | |||||
| // } | |||||
| // }) | |||||
| this.getData(); | |||||
| }, | }, | ||||
| changeTab2(event){ | changeTab2(event){ | ||||
| this.setData({ | this.setData({ | ||||
| result2: event.detail, | result2: event.detail, | ||||
| value2: event.detail | |||||
| value2: event.detail, | |||||
| ['params.transtype']:event.detail, | |||||
| ['params.pageNum']:1, | |||||
| list:[] | |||||
| }); | }); | ||||
| var that = this ; | |||||
| let form = { | |||||
| actacn:that.data.result1 , //付款账户 | |||||
| transtype:that.data.result2 ,// 业务类型 数据字典:trans_type | |||||
| direction:that.data.result3 ,// 来往账标识 数据字典:direction | |||||
| pageSize:'10', | |||||
| method:'POST', | |||||
| } | |||||
| console.log(form); | |||||
| UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, { | |||||
| success: (res) => { | |||||
| res.rows.map(rrr=>{ | |||||
| rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions); | |||||
| }) | |||||
| that.setData({ | |||||
| list:res.rows, | |||||
| showPopup:false | |||||
| }) | |||||
| } | |||||
| }) | |||||
| this.getData(); | |||||
| }, | }, | ||||
| changeTab3(event){ | changeTab3(event){ | ||||
| this.setData({ | this.setData({ | ||||
| result3: event.detail, | result3: event.detail, | ||||
| value3: event.detail | |||||
| value3: event.detail, | |||||
| ['params.direction']:event.detail, | |||||
| ['params.pageNum']:1, | |||||
| list:[] | |||||
| }); | }); | ||||
| var that = this ; | |||||
| let form = { | |||||
| actacn:that.data.result1 , //付款账户 | |||||
| transtype:that.data.result2 ,// 业务类型 数据字典:trans_type | |||||
| direction:that.data.result3 ,// 来往账标识 数据字典:direction | |||||
| pageSize:'10', | |||||
| method:'POST', | |||||
| } | |||||
| console.log(form); | |||||
| UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, { | |||||
| success: (res) => { | |||||
| res.rows.map(rrr=>{ | |||||
| rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions); | |||||
| }) | |||||
| that.setData({ | |||||
| list:res.rows, | |||||
| showPopup:false | |||||
| }) | |||||
| } | |||||
| }) | |||||
| this.getData(); | |||||
| }, | }, | ||||
| minInput(e){ | minInput(e){ | ||||
| var that = this ; | var that = this ; | ||||
| that.setData({ | that.setData({ | ||||
| txnamtMin: e.detail.value, //金额范围 最小 | |||||
| ['params.params.txnamtMin']:e.detail.value, | |||||
| }) | }) | ||||
| }, | }, | ||||
| maxInput(e){ | maxInput(e){ | ||||
| var that = this ; | var that = this ; | ||||
| that.setData({ | that.setData({ | ||||
| xnamtMax: e.detail.value, //金额范围最大 | |||||
| ['params.params.xnamtMax']:e.detail.value, | |||||
| }) | }) | ||||
| }, | }, | ||||
| openDZ(e){ | openDZ(e){ | ||||
| @@ -440,8 +430,6 @@ Page({ | |||||
| }) | }) | ||||
| } | } | ||||
| } | } | ||||
| }, | }, | ||||
| showTransactionDialog(){ | showTransactionDialog(){ | ||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| @@ -452,31 +440,30 @@ Page({ | |||||
| console.log(e); | console.log(e); | ||||
| var that = this; | var that = this; | ||||
| let form = { | let form = { | ||||
| actacn:that.data.result1 , //付款账户 | |||||
| payeeActacn: '' , //收款账号 | |||||
| payeeToname:e.detail , //收款人 | payeeToname:e.detail , //收款人 | ||||
| transtype:that.data.result2 ,// 业务类型 数据字典:trans_type | |||||
| direction:that.data.result3 ,// 来往账标识 数据字典:direction | |||||
| params:{ | params:{ | ||||
| beginTxnDate:that.data.beginApplyDate, | beginTxnDate:that.data.beginApplyDate, | ||||
| endTxnDate:that.data.endApplyDate, | endTxnDate:that.data.endApplyDate, | ||||
| txnamtMin:that.data.txnamtMin, | txnamtMin:that.data.txnamtMin, | ||||
| txnamtMax:that.data.xnamtMax, | txnamtMax:that.data.xnamtMax, | ||||
| }, | }, | ||||
| pageSize:'10', | |||||
| method:'POST', | |||||
| } | } | ||||
| UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, { | |||||
| success: (res) => { | |||||
| res.rows.map(rrr=>{ | |||||
| rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions); | |||||
| }) | |||||
| that.setData({ | |||||
| list:res.rows, | |||||
| showPopup:false | |||||
| }) | |||||
| } | |||||
| }) | |||||
| this.setData({ | |||||
| list:[], | |||||
| ['params.payeeToname']:e.detail | |||||
| }); | |||||
| this.getData(); | |||||
| // UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, { | |||||
| // success: (res) => { | |||||
| // res.rows.map(rrr=>{ | |||||
| // rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions); | |||||
| // }) | |||||
| // that.setData({ | |||||
| // list:res.rows, | |||||
| // showPopup:false | |||||
| // }) | |||||
| // } | |||||
| // }) | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 生命周期函数--监听页面初次渲染完成 | * 生命周期函数--监听页面初次渲染完成 | ||||
| @@ -525,5 +512,259 @@ Page({ | |||||
| */ | */ | ||||
| onShareAppMessage() { | onShareAppMessage() { | ||||
| }, | |||||
| handleHuidan(rows) { | |||||
| console.log(rows); | |||||
| this.data.recordform.id = rows.currentTarget.dataset.row.id; | |||||
| this.data.recordform.method = 'GET'; | |||||
| this.data.recordListOpen = false; | |||||
| UTIL.httpRequest(API.transactionDetailsQuery2OnlyQuery , this.data.recordform, { | |||||
| success: (response) => { | |||||
| this.setData({ | |||||
| tYinnongTradingRecordDetailList: response.data, | |||||
| recordListOpen: true, | |||||
| title: "查看回单列表数据" | |||||
| }) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| handleView1(rows){ | |||||
| let dataRow = rows.currentTarget.dataset.row; | |||||
| if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){ | |||||
| this.showfileFunction(dataRow.alternateField2); | |||||
| } else{ | |||||
| UTIL.showToastNoneIcon("暂无回单,请到村账户模块查询电子回单!"); | |||||
| } | |||||
| }, | |||||
| handleView2(rows){ | |||||
| this.checkId = rows.currentTarget.dataset.row.id; | |||||
| this.yinnongTransfersIndexOpen = false; | |||||
| this.tYinnongTransferDetaiList = []; | |||||
| const baseURL = wx.getStorageSync('dressCode'); | |||||
| //console.info(baseURL); | |||||
| const id = rows.currentTarget.dataset.row.id || this.ids | |||||
| if(rows.currentTarget.dataset.row.alternateField2 != null && rows.currentTarget.dataset.row.alternateField2 != "" && rows.currentTarget.dataset.row.alternateField2.indexOf('失败') == -1){ | |||||
| this.receiptUrl = baseURL+rows.currentTarget.dataset.row.alternateField2; | |||||
| this.recordopen = true; | |||||
| if(rows.currentTarget.dataset.row.transferId != null){ | |||||
| this.yinnongTransfersListOpen = true; | |||||
| this.yinnongTransfersIndexApplyOpen = false; | |||||
| this.tYinnongTransferDetaiList=[]; | |||||
| queryTransferDetail(rows.currentTarget.dataset.row.transferId).then((res) => { | |||||
| this.yinnongTransfersIndexOpen = true; | |||||
| for (let i = 0 ; i < res.rows.length; i++){ | |||||
| res.rows[i].transferStatus = this.transferStatusFormat(res.rows[i]) | |||||
| this.tYinnongTransferDetaiList.push(res.rows[i]) | |||||
| } | |||||
| }); | |||||
| }else{ | |||||
| this.yinnongTransfersListOpen = false; | |||||
| } | |||||
| } else { | |||||
| bankReceiptPhoto(rows.currentTarget.dataset.row.id).then((response) => { | |||||
| //console.info(response); | |||||
| if (response.code === 200) { | |||||
| this.receiptUrl =baseURL+ response.msg; | |||||
| this.recordopen = true; | |||||
| this.getList(); | |||||
| } | |||||
| }); | |||||
| } | |||||
| }, | |||||
| handleView3(rows){ | |||||
| const id = rows.currentTarget.dataset.row.id; | |||||
| let dataRow = rows.currentTarget.dataset.row; | |||||
| if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){ | |||||
| this.showfileFunction(dataRow.alternateField2); | |||||
| } else{ | |||||
| UTIL.httpRequest(API.getDianzihuidan + id , {method: 'GET'}, { | |||||
| success: (response) => { | |||||
| if(response.data.alternateField2 != null && response.data.alternateField2 != "" && response.data.alternateField2.indexOf('失败') ==-1){ | |||||
| this.showfileFunction(response.data.alternateField2); | |||||
| } else{ | |||||
| UTIL.showToastNoneIcon(response.data.alternateField2); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| handleView4(rows){ | |||||
| let row = rows.currentTarget.dataset.row; | |||||
| if(row.alternateField2 != null && row.alternateField2 != "" && row.alternateField2.indexOf('失败') == -1){ | |||||
| this.showfileFunction(row.alternateField2); | |||||
| } else { | |||||
| UTIL.httpRequest(API.queryReceiptPhoto4 + row.id , {method: 'GET'}, { | |||||
| success: (response) => { | |||||
| this.setData({ | |||||
| recordopen4: true | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| handleView5(rows){ | |||||
| let dataRow = rows.currentTarget.dataset.row; | |||||
| if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){ | |||||
| this.showfileFunction(dataRow.alternateField2); | |||||
| } else { | |||||
| UTIL.httpRequest(API.queryReceiptPhoto5 + dataRow.id , {method: 'GET'}, { | |||||
| success: (response) => { | |||||
| if (response.code === 200) { | |||||
| this.showfileFunction(response.msg); | |||||
| }else{ | |||||
| UTIL.showToastNoneIcon(response.msg); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| handleView6(rows){ | |||||
| let dataRow = rows.currentTarget.dataset.row; | |||||
| if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){ | |||||
| const filenames = dataRow.alternateField2.split("|"); | |||||
| if(filenames.length == 1){ | |||||
| this.showfileFunction(filenames[0]); | |||||
| }else{ | |||||
| for (var i=0;i<filenames.length;i++){ | |||||
| this.showfileFunction(filenames[i]); | |||||
| } | |||||
| } | |||||
| } else { | |||||
| UTIL.httpRequest(API.queryReceiptPhoto6 + dataRow.id , {method: 'GET'}, { | |||||
| success: (response) => { | |||||
| if (response.code === 200) { | |||||
| const filenames = response.msg.split("|"); | |||||
| if(filenames.length == 1){ | |||||
| this.showfileFunction(filenames[0]); | |||||
| }else{ | |||||
| for (var i=0;i<filenames.length;i++){ | |||||
| this.showfileFunction(filenames[i]); | |||||
| } | |||||
| } | |||||
| }else{ | |||||
| UTIL.showToastNoneIcon(response.msg); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| handleView8(rows){ | |||||
| let dataRow = rows.currentTarget.dataset.row; | |||||
| if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){ | |||||
| const filenames = dataRow.alternateField2.split("|"); | |||||
| if(filenames.length == 1){ | |||||
| this.showfileFunction(filenames[0]); | |||||
| }else{ | |||||
| for (var i=0;i<filenames.length;i++){ | |||||
| this.showfileFunction(filenames[i]); | |||||
| } | |||||
| } | |||||
| } else { | |||||
| UTIL.httpRequest(API.queryReceiptPhoto8 + dataRow.id , {method: 'GET'}, { | |||||
| success: (response) => { | |||||
| if (response.code === 200) { | |||||
| const filenames = response.msg.split("|"); | |||||
| if(filenames.length == 1){ | |||||
| this.showfileFunction(filenames[0]); | |||||
| }else{ | |||||
| for (var i=0;i<filenames.length;i++){ | |||||
| this.showfileFunction(filenames[i]); | |||||
| } | |||||
| } | |||||
| }else{ | |||||
| UTIL.showToastNoneIcon(response.msg); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| handleView18(rows){ | |||||
| let dataRow = rows.currentTarget.dataset.row; | |||||
| if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){ | |||||
| this.showfileFunction(dataRow.alternateField2); | |||||
| } else{ | |||||
| UTIL.httpRequest(API.queryReceiptPhoto18 + dataRow.id , {method: 'GET'}, { | |||||
| success: (response) => { | |||||
| if (response.code === 200) { | |||||
| if(response.data.alternateField2 != null && response.data.alternateField2 != "" && response.data.alternateField2.indexOf('失败') ==-1){ | |||||
| this.showfileFunction(response.data.alternateField2); | |||||
| } else{ | |||||
| UTIL.showToastNoneIcon(response.msg); | |||||
| } | |||||
| }else{ | |||||
| UTIL.showToastNoneIcon(response.msg); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| handleView10(rows){ | |||||
| let dataRow = rows.currentTarget.dataset.row; | |||||
| if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){ | |||||
| this.showfileFunction(dataRow.alternateField2); | |||||
| } else{ | |||||
| UTIL.httpRequest(API.queryReceiptPhoto10 + dataRow.id , {method: 'GET'}, { | |||||
| success: (response) => { | |||||
| if (response.code === 200) { | |||||
| if(response.msg != null && response.msg != "" && response.msg.indexOf('失败') ==-1){ | |||||
| this.showfileFunction(response.msg); | |||||
| } else{ | |||||
| UTIL.showToastNoneIcon(response.msg); | |||||
| } | |||||
| }else{ | |||||
| UTIL.showToastNoneIcon(response.msg); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| }, | |||||
| /** 绑定手机号操作 */ | |||||
| smsSubmitForm() { | |||||
| this.formSms.method = 'GET'; | |||||
| UTIL.httpRequest(API.bankReceiptPhoto4sms , this.formSms, { | |||||
| success: (response) => { | |||||
| if (response.code === 200) { | |||||
| this.setData({ | |||||
| recordopen4: false | |||||
| }) | |||||
| this.showfileFunction(response.msg); | |||||
| }else{ | |||||
| UTIL.showToastNoneIcon(response.msg); | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| showfileFunction(url){ | |||||
| const baseURL = wx.getStorageSync('dressCode'); | |||||
| if(url.indexOf('pdf') < 0){ | |||||
| wx.previewImage({ | |||||
| current: baseURL+ url, // 当前显示图片的http链接 | |||||
| urls: [baseURL+ url] // 需要预览的图片http链接列表 | |||||
| }) | |||||
| }else{ | |||||
| wx.downloadFile({ | |||||
| // 示例 url,并非真实存在 | |||||
| url: baseURL+url, | |||||
| success: function (res) { | |||||
| const filePath = res.tempFilePath; | |||||
| wx.openDocument({ | |||||
| filePath: filePath, | |||||
| fileType: 'pdf', // 注意这里需要指定文件类型为'pdf' | |||||
| success: function (res) { | |||||
| console.log('打开文档成功'); | |||||
| }, | |||||
| fail: function (err) { | |||||
| UTIL.showToastNoneIcon('打开文档失败'); | |||||
| } | |||||
| }); | |||||
| }, | |||||
| fail: function (err) { | |||||
| UTIL.showToastNoneIcon('下载文件失败'); | |||||
| } | |||||
| }); | |||||
| } | |||||
| } | } | ||||
| }) | }) | ||||
| @@ -4,7 +4,7 @@ | |||||
| <text style="top:{{isIPX?'54px':'30px'}};">交易明细</text> | <text style="top:{{isIPX?'54px':'30px'}};">交易明细</text> | ||||
| </view> | </view> | ||||
| <view class="search_box" style="margin-top:{{isIPX?'88px':'64px'}};"> | |||||
| <view class="search_box" id="top_view" style="margin-top:{{isIPX?'88px':'64px'}};"> | |||||
| <van-search | <van-search | ||||
| value="{{ value }}" | value="{{ value }}" | ||||
| shape="round" | shape="round" | ||||
| @@ -14,7 +14,7 @@ | |||||
| bind:change="goSearch" | bind:change="goSearch" | ||||
| /> | /> | ||||
| </view> | </view> | ||||
| <view class="top_view"> | |||||
| <view class="top_view" id="top_view1"> | |||||
| <van-dropdown-menu active-color="#5CAE77" bind:change="changeTab" id="top_view1" style="width: 82%;"> | <van-dropdown-menu active-color="#5CAE77" bind:change="changeTab" id="top_view1" style="width: 82%;"> | ||||
| <van-dropdown-item value="{{ value1 }}" options="{{ option1 }}" bind:change="changeTab1" /> | <van-dropdown-item value="{{ value1 }}" options="{{ option1 }}" bind:change="changeTab1" /> | ||||
| <van-dropdown-item value="{{ value2 }}" options="{{ option2 }}" bind:change="changeTab2" /> | <van-dropdown-item value="{{ value2 }}" options="{{ option2 }}" bind:change="changeTab2" /> | ||||
| @@ -25,54 +25,125 @@ | |||||
| <image src="/image/icon/icon_sx.png" style="width: 15px;height: 15px;margin-left: 5px;"></image> | <image src="/image/icon/icon_sx.png" style="width: 15px;height: 15px;margin-left: 5px;"></image> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <scroll-view scroll-y refresher-threshold="0" style="height:100%" bindscrolltolower="paging" lower-threshold="100"> | |||||
| <scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100" id="top_view2"> | |||||
| <!-- wx:for="{{list}}" wx:key="index" wx:for-item="item" right-width="{{ 50 }}" --> | <!-- wx:for="{{list}}" wx:key="index" wx:for-item="item" right-width="{{ 50 }}" --> | ||||
| <van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{list}}" wx:key="index" > | |||||
| <view class="li" data-id="{{item.approvalItemTemplateId}}" data-id="{{item.id}}" bindtap="toPayDetail" > | |||||
| <view style="width:70%;flex:7;"> | |||||
| <view class="tit_box"> | |||||
| <van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{list}}" wx:key="index" > | |||||
| <view class="li" data-id="{{item.approvalItemTemplateId}}" data-id="{{item.id}}" bindtap="toPayDetail" > | |||||
| <view style="width:70%;flex:7;"> | |||||
| <view class="tit_box"> | |||||
| <view> | |||||
| <text class="tit">凭证编号{{item.vchnum}}</text> | |||||
| <text class="tit">{{item.payerAccount}}</text> | |||||
| </view> | |||||
| <!-- <text class="tit_tab2 tit_sb">{{item.vchnum}}</text> --> | |||||
| </view> | |||||
| <view class="tit_box"> | |||||
| <view style="background-color: #5CAE77;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">我</view> | |||||
| <view> | |||||
| <text class="tit">{{actacnName}}</text> | |||||
| </view> | |||||
| <text class="tit_tab">{{item.directionText}}</text> | |||||
| </view> | |||||
| <view class="tit_box"> | |||||
| <view style="background-color: #E90000;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">对</view> | |||||
| <text class="tit">{{item.payeeToname}}</text> | |||||
| <text class="tit_tab3 hui">{{item.payeeActacn}}</text> | |||||
| </view> | |||||
| <view style="display: flex;align-items: center;margin-top: 10px;"> | |||||
| <image src="/image/icon/clock_icon.png" style="width: 15px;height: 15px;border-radius:5px;margin-right: 5px;"></image> | |||||
| <text style="color: #878787;line-height: 1;">{{item.txndate}}</text> | |||||
| <text class="tit_tab3 {{item.direction == '1' && item.furinfo!='冲正' ? 'green' : 'red'}}">¥<text style="font-size: 1.5rem;display: inline-block;">{{item.direction == '1' ? '+' : item.furinfo!='冲正' ? '-':''}}{{item.txnamt}}</text></text> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view slot="right" class="cell_right"> | |||||
| <!-- <view class="button_box"><view></view></view> --> | |||||
| <!-- <view class="button_box" | |||||
| data-url="{{item.alternateField2}}" | |||||
| data-field1="{{item.alternateField1}}" | |||||
| data-field4="{{item.alternateField4}}" | |||||
| data-field9="{{item.alternateField9}}" | |||||
| data-id="{{item.id}}" | |||||
| bindtap="goHD" | |||||
| > | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>回单</text> | |||||
| </view> | |||||
| </view> --> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleHuidan" wx:if="{{item.alternateField1=='2' && item.alternateField2 != null && item.alternateField2 != '' && item.alternateField2.indexOf('失败') == -1}}"> | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>重查回单列表</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView1" wx:if="{{item.alternateField1=='1' && item.alternateField2!='' && item.alternateField2!=null}}"> | |||||
| <view> | <view> | ||||
| <text class="tit">凭证编号{{item.vchnum}}</text> | |||||
| <text class="tit">{{item.payerAccount}}</text> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | </view> | ||||
| <text class="tit_tab2 tit_sb">{{item.vchnum}}</text> | |||||
| </view> | </view> | ||||
| <view class="tit_box"> | |||||
| <view style="background-color: #5CAE77;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">我</view> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView2" wx:if="{{item.alternateField1=='2' && item.alternateField9!='' && item.alternateField9!=null}}"> | |||||
| <view> | <view> | ||||
| <text class="tit">{{actacnName}}</text> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | </view> | ||||
| <text class="tit_tab">{{item.directionText}}</text> | |||||
| </view> | </view> | ||||
| <view class="tit_box"> | |||||
| <view style="background-color: #E90000;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">对</view> | |||||
| <text class="tit">{{item.payeeToname}}</text> | |||||
| <text class="tit_tab3 hui">{{item.payeeActacn}}</text> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView4" wx:if="{{item.alternateField1=='4' && item.alternateField5!='' && item.alternateField5!=null}}"> | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | |||||
| </view> | </view> | ||||
| <view style="display: flex;align-items: center;margin-top: 10px;"> | |||||
| <image src="/image/icon/clock_icon.png" style="width: 15px;height: 15px;border-radius:5px;margin-right: 5px;"></image> | |||||
| <text style="color: #878787;line-height: 1;">{{item.txndate}}</text> | |||||
| <text class="tit_tab3 {{item.direction == '1' && item.furinfo!='冲正' ? 'green' : 'red'}}">¥<text style="font-size: 1.5rem;display: inline-block;">{{item.direction == '1' ? '+' : item.furinfo!='冲正' ? '-':''}}{{item.txnamt}}</text></text> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView3" wx:if="{{item.alternateField1=='3'}}"> | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | |||||
| </view> | |||||
| <view slot="right" class="cell_right"> | |||||
| <!-- <view class="button_box"><view></view></view> --> | |||||
| <view class="button_box" | |||||
| data-url="{{item.alternateField2}}" | |||||
| data-field1="{{item.alternateField1}}" | |||||
| data-field4="{{item.alternateField4}}" | |||||
| data-field9="{{item.alternateField9}}" | |||||
| data-id="{{item.id}}" | |||||
| bindtap="goHD" | |||||
| > | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>回单</text> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView5" wx:if="{{item.alternateField1=='5' && item.alternateField4!='' && item.alternateField4!=null}}"> | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | |||||
| </view> | </view> | ||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView6" wx:if="{{item.alternateField1=='6'}}"> | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView8" wx:if="{{item.alternateField1=='8'}}"> | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView18" wx:if="{{item.alternateField1=='18'}}"> | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class="button_box" data-row="{{item}}" bindtap="handleView10" wx:if="{{item.alternateField1=='10'}}"> | |||||
| <view> | |||||
| <image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image> | |||||
| <text>电子回单</text> | |||||
| </view> | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | |||||
| </van-swipe-cell> | |||||
| </van-swipe-cell> | |||||
| </scroll-view> | </scroll-view> | ||||
| <van-popup | <van-popup | ||||
| @@ -157,6 +228,21 @@ | |||||
| <input class="input_tit" placeholder="请输入人工对账备注" style="width: 90%;margin: 0 auto;margin-top: 25px;margin-bottom: 10px;text-align: center;border: 1px solid #ddd;height: 35px;line-height: 35px;" value="{{manualRemark}}" bindinput="bindNameInput"/> | <input class="input_tit" placeholder="请输入人工对账备注" style="width: 90%;margin: 0 auto;margin-top: 25px;margin-bottom: 10px;text-align: center;border: 1px solid #ddd;height: 35px;line-height: 35px;" value="{{manualRemark}}" bindinput="bindNameInput"/> | ||||
| </van-dialog> | </van-dialog> | ||||
| <van-dialog | |||||
| use-slot | |||||
| title="回单短信" | |||||
| show="{{ recordopen4 }}" | |||||
| bind:close="onClose" | |||||
| theme='round-button' | |||||
| confirmButtonText="确定" | |||||
| bind:confirm="smsSubmitForm" | |||||
| before-close="{{ beforeClose }}" | |||||
| closeOnClickOverlay="{{ true }}" | |||||
| > | |||||
| <input class="input_tit" placeholder="请输入短信验证码" style="width: 90%;margin: 0 auto;margin-top: 25px;margin-bottom: 10px;text-align: center;border: 1px solid #ddd;height: 35px;line-height: 35px;" value="{{formSms.alternateField2}}" bindinput="bindNameInput"/> | |||||
| </van-dialog> | |||||
| <wxs module="iOf"> | <wxs module="iOf"> | ||||
| var indexOf = function(name,value){ | var indexOf = function(name,value){ | ||||
| return name.indexOf(value); | return name.indexOf(value); | ||||
| @@ -64,8 +64,8 @@ Page({ | |||||
| wx.setStorageSync('sessionKey', res.data.sessionKey); | wx.setStorageSync('sessionKey', res.data.sessionKey); | ||||
| getApp().globalData.userInfo.token = res.token; | getApp().globalData.userInfo.token = res.token; | ||||
| }else{ | }else{ | ||||
| wx.setstorageSync('openId', res.data.openId); | |||||
| wx.setStorageSync('sessionKey', res.data.sessionkey); | |||||
| wx.setStorageSync('openId', res.data.openId); | |||||
| wx.setStorageSync('sessionKey', res.data.sessionKey); | |||||
| this.setData({showPhoneBtn:true}) | this.setData({showPhoneBtn:true}) | ||||
| } | } | ||||
| } else { | } else { | ||||
| @@ -155,7 +155,7 @@ Page({ | |||||
| } | } | ||||
| //console.log(detail) | //console.log(detail) | ||||
| let sendData = { | let sendData = { | ||||
| sessionKey:STORAGE.getSessionKey(), | |||||
| sessionKey:wx.getStorageSync('sessionKey'), | |||||
| iv:detail.iv, | iv:detail.iv, | ||||
| encryptedData:detail.encryptedData | encryptedData:detail.encryptedData | ||||
| } | } | ||||
| @@ -1,30 +1,33 @@ | |||||
| <import src="/templates/global/global"/> | <import src="/templates/global/global"/> | ||||
| <template is="toast" data="{{...toastData}}"></template> | <template is="toast" data="{{...toastData}}"></template> | ||||
| <view class="container" style="background: url('https://www.nongshen.net/static/wechat/container_bg.jpg') center center no-repeat; background-size: 100% 100%;"> | |||||
| <image src="/image/login/login_bg.png" style="width: 100%;position: absolute;z-index: -1;" mode="widthFix" bindtap='goLogin'></image> | |||||
| <view class="container"> | |||||
| <view style="position: absolute;left:2.5%;top:{{isIPX?'57px':'32px'}};display: flex;align-items: center;background-color:rgba(127,191,105,0.8);padding: 5px 10px;border-radius: 50px;" bindtap="goRegion"> | |||||
| <image src="/image/icon/loc2.png" style="width: 13px;height: 15px;"></image> | |||||
| <text style="color:#fff;font-size: 14px;line-height: 15px;margin-left: 5px;">{{nowDress == '' ? '暂未选择':nowDress}}</text> | |||||
| <view style="position: absolute;left:2.5%;top:{{isIPX?'57px':'32px'}};display: flex;align-items: center;background-color:#ffffff;padding: 5px 20px 5px 10px;border-radius: 50px;" bindtap="goRegion"> | |||||
| <image src="/image/login/loc2.png" style="width: 25px;height: 25px;"></image> | |||||
| <text style="color:#00B268;font-size: 14px;line-height: 15px;margin-left: 5px;">{{nowDress == '' ? '暂未选择':nowDress}}</text> | |||||
| </view> | </view> | ||||
| <view class="header" style="text-align: center;" > | <view class="header" style="text-align: center;" > | ||||
| <!-- <view class="principal">农村事项审批与记账</view> | |||||
| <view class="instructions">报账简单,操作便捷</view> --> | |||||
| <image src="/image/login/login_text.png" style="width: 80%;margin: 0 auto;" mode="widthFix"></image> | |||||
| <view class="principal">您好,</view> | |||||
| <view class="instructions">欢迎登录<text>e报账</text></view> | |||||
| <image src="/image/login/login_icon.png" style="width: 100%;" mode="widthFix"></image> | |||||
| </view> | </view> | ||||
| <view class="quick-login" style="bottom:{{isIPhoneX?'6vh':'4vh'}}"> | <view class="quick-login" style="bottom:{{isIPhoneX?'6vh':'4vh'}}"> | ||||
| <button wx:if="{{showPhoneBtn}}" class="key-login" type='primary' open-type='getPhoneNumber' bindgetphonenumber="getPhoneNumber">一键快捷登录</button> | <button wx:if="{{showPhoneBtn}}" class="key-login" type='primary' open-type='getPhoneNumber' bindgetphonenumber="getPhoneNumber">一键快捷登录</button> | ||||
| <button wx:if="{{!showPhoneBtn}}" class="key-login" type='primary' bind:tap="goIndex">一键登录</button> | <button wx:if="{{!showPhoneBtn}}" class="key-login" type='primary' bind:tap="goIndex">一键登录</button> | ||||
| <!-- <button class="key-login" type='primary' bindtap="goPhoneLogin">账号密码登录</button > --> | |||||
| <button class="key-login2" type='primary' bindtap="goPhoneLogin">账号密码登录</button > | |||||
| <view class="authorization" style="margin-top:{{isIPhoneX?'2vh':'2vh'}}"> | <view class="authorization" style="margin-top:{{isIPhoneX?'2vh':'2vh'}}"> | ||||
| <checkbox-group bindchange="checkboxChange"> | <checkbox-group bindchange="checkboxChange"> | ||||
| <label> | <label> | ||||
| <checkbox value="privacy" checked="{{privacyCheck}}" class="changeSize" /> | <checkbox value="privacy" checked="{{privacyCheck}}" class="changeSize" /> | ||||
| </label> | </label> | ||||
| <text bindtap="openDialog">我已阅读并同意<text style="color: rgb(255, 97, 97);">【服务须知】</text></text> | |||||
| <text bindtap="openDialog">我已查看并同意<text style="color: #00A65E;margin: 0 5px;text-decoration: underline;">服务须知</text>相关内容</text> | |||||
| </checkbox-group> | </checkbox-group> | ||||
| </view> | </view> | ||||
| <text style="display: block;text-align: center;color: #fff;margin-top: 3vh;" bindtap="goPhoneLogin">北京中农融信科技技术有限公司</text> | |||||
| <!-- <text style="display: block;text-align: center;color: #fff;margin-top: 3vh;" bindtap="goPhoneLogin">中农融信(北京)科技股份有限公司</text> --> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -41,7 +44,7 @@ | |||||
| showCancelButton="{{true}}" | showCancelButton="{{true}}" | ||||
| > | > | ||||
| <scroll-view scroll-y="true" style="height: 300px;padding: 0 15px;margin-top: 15px;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll"> | <scroll-view scroll-y="true" style="height: 300px;padding: 0 15px;margin-top: 15px;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll"> | ||||
| <text>关于”农燊云e三资+“的小程序服务(以下简称“本服务”)的说明:</text> | |||||
| <text>关于”融信云e三资+“的小程序服务(以下简称“本服务”)的说明:</text> | |||||
| <text>1.本服务是已线下签约客户的内部办公移动端工具,不统一对外开放!</text> | <text>1.本服务是已线下签约客户的内部办公移动端工具,不统一对外开放!</text> | ||||
| <text>2.本服务不设用户注册功能,不采集用户信息!</text> | <text>2.本服务不设用户注册功能,不采集用户信息!</text> | ||||
| <text>3.”微信一键登录“是通过该微信手机号验证系统后台用户中心是否存在此用户,存在则授权登录令牌!</text> | <text>3.”微信一键登录“是通过该微信手机号验证系统后台用户中心是否存在此用户,存在则授权登录令牌!</text> | ||||
| @@ -1,54 +1,81 @@ | |||||
| page{ | |||||
| background-color: #ffffff; | |||||
| } | |||||
| .container{ | .container{ | ||||
| width: 100vw; | width: 100vw; | ||||
| height: 100vh; | height: 100vh; | ||||
| } | } | ||||
| .container .header{ | .container .header{ | ||||
| padding-top: 25.24vh; | |||||
| height: 36.94vh; | |||||
| /* height: 36.94vh; */ | |||||
| padding: 12.24vh 40px 0; | |||||
| } | } | ||||
| .container .header .principal{ | .container .header .principal{ | ||||
| height: 6.15vh; | height: 6.15vh; | ||||
| line-height: 6.15vh; | line-height: 6.15vh; | ||||
| margin-bottom: 0.61vh; | margin-bottom: 0.61vh; | ||||
| text-align: center; | |||||
| text-align: left; | |||||
| font-size: 4.92vh; | font-size: 4.92vh; | ||||
| color: #2c7339; | |||||
| color: #000000; | |||||
| font-weight: bold; | |||||
| } | } | ||||
| .container .header .instructions{ | .container .header .instructions{ | ||||
| font-size: 2.46vh; | |||||
| font-size: 3.92vh; | |||||
| height: 4.92vh; | height: 4.92vh; | ||||
| line-height: 4.92vh; | line-height: 4.92vh; | ||||
| text-align: center; | |||||
| color: #2c7339; | |||||
| text-align: left; | |||||
| font-weight: bold; | |||||
| color: #000000; | |||||
| } | |||||
| .container .header .instructions text{ | |||||
| font-weight: bold; | |||||
| color: #1DCA84; | |||||
| } | } | ||||
| .container .quick-login{ | .container .quick-login{ | ||||
| position: fixed; | |||||
| /* position: fixed; */ | |||||
| /* bottom: 8vh; */ | /* bottom: 8vh; */ | ||||
| width: 100%; | width: 100%; | ||||
| } | } | ||||
| .container .quick-login .key-login{ | .container .quick-login .key-login{ | ||||
| width: 89vw; | |||||
| height: 5.17vh; | |||||
| background:#ffffff; | |||||
| width: 80vw; | |||||
| height: 6.17vh; | |||||
| background: linear-gradient( 90deg, #2FE398 0%, #1BCF84 39%, #0ABD73 77%, #00B268 100%); | |||||
| margin:1vh auto 0; | margin:1vh auto 0; | ||||
| border-radius: 5.17vh; | |||||
| border-radius: 6.17vh; | |||||
| text-align: center; | text-align: center; | ||||
| line-height: 5.17vh; | |||||
| line-height: 6.17vh; | |||||
| font-size: 2.21vh; | font-size: 2.21vh; | ||||
| color: #2c7339; | |||||
| box-shadow: 8rpx 6rpx 20rpx rgba(0,0,0,.3); | |||||
| color: #ffffff; | |||||
| padding: 0; | padding: 0; | ||||
| } | } | ||||
| .container .quick-login .key-login2{ | |||||
| width: 80vw; | |||||
| height: 6.17vh; | |||||
| background: #E5F5EE; | |||||
| margin:1vh auto 0; | |||||
| border-radius: 6.17vh; | |||||
| text-align: center; | |||||
| line-height: 6.17vh; | |||||
| font-size: 2.21vh; | |||||
| color: #00B268; | |||||
| padding: 0; | |||||
| border: none; | |||||
| } | |||||
| .container .quick-login .key-login2::after{ | |||||
| border: none; | |||||
| } | |||||
| .container .quick-login .authorization{ | .container .quick-login .authorization{ | ||||
| margin-top: 5vh; | margin-top: 5vh; | ||||
| display: flex; | display: flex; | ||||
| justify-content: center; /* 相对父元素水平居中 */ | justify-content: center; /* 相对父元素水平居中 */ | ||||
| align-items: center; /* 子元素相对父元素垂直居中 */ | align-items: center; /* 子元素相对父元素垂直居中 */ | ||||
| color: #fff; | |||||
| color: #999999; | |||||
| } | } | ||||
| .container .quick-login .authorization .changeSize{ | .container .quick-login .authorization .changeSize{ | ||||
| @@ -10,7 +10,8 @@ Page({ | |||||
| data: { | data: { | ||||
| isIPX: app.globalData.isIPX, | isIPX: app.globalData.isIPX, | ||||
| activeNames: ['1'], | activeNames: ['1'], | ||||
| nowDress:'' | |||||
| nowDress:'', | |||||
| identity:'bzy' | |||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -35,16 +36,23 @@ Page({ | |||||
| }, | }, | ||||
| goChangeUrl(e){ | goChangeUrl(e){ | ||||
| // https://192.168.0.112:8080/api e.currentTarget.dataset.url | // https://192.168.0.112:8080/api e.currentTarget.dataset.url | ||||
| const url = e.currentTarget.dataset.url; | |||||
| const url = e.currentTarget.dataset.url; //e.currentTarget.dataset.url; | |||||
| const name = e.currentTarget.dataset.name; | const name = e.currentTarget.dataset.name; | ||||
| const parentname = e.currentTarget.dataset.parentname; | const parentname = e.currentTarget.dataset.parentname; | ||||
| wx.setStorageSync('dressCode', url); | |||||
| wx.setStorageSync('dressCode', url);//'http://116.255.223.226:8082/nsgk_test' | |||||
| wx.setStorageSync('dressName', parentname+'-'+name); | wx.setStorageSync('dressName', parentname+'-'+name); | ||||
| getApp().globalData.APIURL = url | getApp().globalData.APIURL = url | ||||
| wx.reLaunch({ | wx.reLaunch({ | ||||
| url: '../login/login', | url: '../login/login', | ||||
| }) | }) | ||||
| }, | }, | ||||
| identityChange(e){ | |||||
| const type = e.currentTarget.dataset.type; | |||||
| wx.setStorageSync('identity', type); | |||||
| this.setData({ | |||||
| identity: type, | |||||
| }); | |||||
| }, | |||||
| /** | /** | ||||
| * 生命周期函数--监听页面初次渲染完成 | * 生命周期函数--监听页面初次渲染完成 | ||||
| */ | */ | ||||
| @@ -5,6 +5,18 @@ | |||||
| </view> | </view> | ||||
| <view class="top_win" style="margin-top:{{isIPX?'103px':'74px'}};"> | <view class="top_win" style="margin-top:{{isIPX?'103px':'74px'}};"> | ||||
| <view class="top flex"> | |||||
| <text>您的身份</text> | |||||
| </view> | |||||
| <view class="nowDress2 {{identity == 'bzy' ? 'active' : ''}}" data-type="bzy" bind:tap="identityChange"> | |||||
| <text>报账员</text> | |||||
| </view> | |||||
| <view class="nowDress2 {{identity == 'spy' ? 'active' : ''}}" data-type="spy" bind:tap="identityChange"> | |||||
| <text>审批员</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class="top_win" style="margin-top:15px;"> | |||||
| <view class="top flex"> | <view class="top flex"> | ||||
| <text>您的位置</text> | <text>您的位置</text> | ||||
| <!-- <view class="dw_box" bindtap="getLocation"> | <!-- <view class="dw_box" bindtap="getLocation"> | ||||
| @@ -15,15 +27,14 @@ | |||||
| <view class="nowDress"> | <view class="nowDress"> | ||||
| <text>{{nowDress == '' ? '暂未选择':nowDress}}</text> | <text>{{nowDress == '' ? '暂未选择':nowDress}}</text> | ||||
| </view> | </view> | ||||
| <van-index-bar highlight-color="#2C8E68" sticky sticky-offset-top="{{isIPX?'88':'64'}}"> | |||||
| <van-collapse value="{{ activeNames }}" bind:change="onChange"> | |||||
| <view class="list_bar" wx:for="{{list}}" wx:key="index"> | |||||
| <van-index-anchor index="{{item.name}}" /> | |||||
| <van-collapse-item title="{{cldItem.name}}" wx:for="{{item.value}}" wx:for-index="childrenIndex" wx:for-item="cldItem" wx:key="childrenIndex"> | |||||
| <text class="list_bar_text" wx:for="{{cldItem.subset}}" wx:for-index="dressIndex" wx:for-item="dressItem" wx:key="dressIndex" data-url="{{dressItem.url}}" data-name="{{dressItem.name}}" data-parentname="{{cldItem.name}}" bindtap="goChangeUrl">{{dressItem.name}}</text> | |||||
| </van-collapse-item> | |||||
| </view> | |||||
| </van-collapse> | |||||
| </van-index-bar> | |||||
| </view> | </view> | ||||
| <van-index-bar highlight-color="#2C8E68" sticky sticky-offset-top="{{isIPX?'88':'64'}}"> | |||||
| <van-collapse value="{{ activeNames }}" bind:change="onChange"> | |||||
| <view class="list_bar" wx:for="{{list}}" wx:key="index"> | |||||
| <van-index-anchor index="{{item.name}}" /> | |||||
| <van-collapse-item title="{{cldItem.name}}" wx:for="{{item.value}}" wx:for-index="childrenIndex" wx:for-item="cldItem" wx:key="childrenIndex"> | |||||
| <text class="list_bar_text" wx:for="{{cldItem.subset}}" wx:for-index="dressIndex" wx:for-item="dressItem" wx:key="dressIndex" data-url="{{dressItem.url}}" data-name="{{dressItem.name}}" data-parentname="{{cldItem.name}}" bindtap="goChangeUrl">{{dressItem.name}}</text> | |||||
| </van-collapse-item> | |||||
| </view> | |||||
| </van-collapse> | |||||
| </van-index-bar> | |||||
| @@ -1,6 +1,6 @@ | |||||
| /* pages/user/region/region.wxss */ | /* pages/user/region/region.wxss */ | ||||
| page{ | page{ | ||||
| background-color: #ffffff; | |||||
| background: #F6F6F6; | |||||
| } | } | ||||
| text{ | text{ | ||||
| display: block; | display: block; | ||||
| @@ -11,9 +11,11 @@ text{ | |||||
| justify-content: space-between; | justify-content: space-between; | ||||
| } | } | ||||
| .top_win{ | .top_win{ | ||||
| width: 90%; | |||||
| width: 96%; | |||||
| margin: 0 auto; | margin: 0 auto; | ||||
| border-bottom: 1px dashed #DCDCDC; | |||||
| background: #ffffff; | |||||
| padding: 4%; | |||||
| border-radius: 15px; | |||||
| } | } | ||||
| .top{ | .top{ | ||||
| margin: 0 auto 15px; | margin: 0 auto 15px; | ||||
| @@ -35,6 +37,21 @@ text{ | |||||
| background: url("https://www.nongshen.net/static/wechat/local.png") no-repeat 15px center; | background: url("https://www.nongshen.net/static/wechat/local.png") no-repeat 15px center; | ||||
| margin-bottom: 15px; | margin-bottom: 15px; | ||||
| } | } | ||||
| .nowDress2{ | |||||
| border: 1px solid #2C8E68; | |||||
| width: auto; | |||||
| display: inline-block; | |||||
| padding: 5px 20px 5px 20px; | |||||
| border-radius: 50px; | |||||
| color: #333333; | |||||
| margin-bottom: 15px; | |||||
| margin-right: 15px; | |||||
| } | |||||
| .nowDress2.active{ | |||||
| background: linear-gradient( 92deg, #2FE398 0%, #00B268 100%); | |||||
| border-color: transparent; | |||||
| color: #ffffff; | |||||
| } | |||||
| .list_bar .list_bar_text{ | .list_bar .list_bar_text{ | ||||
| border: 1px solid #2C8E68; | border: 1px solid #2C8E68; | ||||
| width: auto; | width: auto; | ||||