| @@ -1,10 +1,7 @@ | |||
| { | |||
| "pages": [ | |||
| "pages/noLoginIndex", | |||
| "pages/user/login/login", | |||
| "pages/index/index", | |||
| "pages/index/settle/index", | |||
| "pages/index/settle/passWord/index", | |||
| "pages/index/settle/eSign/index", | |||
| "component/pop-up/index", | |||
| "pages/drawee/drawee", | |||
| "pages/drawee/add/add", | |||
| @@ -27,17 +24,28 @@ | |||
| "pages/statistics/statistics", | |||
| "pages/user/region/region", | |||
| "pages/finance/index", | |||
| "pages/index/majorDetail/majorDetail", | |||
| "pages/resources/resources", | |||
| "pages/resources/detail/detail", | |||
| "pages/resources/edit/edit" | |||
| "pages/resources/edit/edit", | |||
| "pages/phoneLogin" | |||
| ], | |||
| "subPackages": [ | |||
| { | |||
| "root": "pages/index/", | |||
| "pages": [ | |||
| "index", | |||
| "settle/index", | |||
| "settle/passWord/index", | |||
| "settle/eSign/index", | |||
| "majorDetail/majorDetail" | |||
| ] | |||
| }, | |||
| { | |||
| "root": "pages/handle/", | |||
| "pages": [ | |||
| "liist", | |||
| "expenditureAudit/expenditureAudit" | |||
| "expenditureAudit/expenditureAudit", | |||
| "expenditureAuditNew/expenditureAuditNew" | |||
| ] | |||
| }, | |||
| { | |||
| @@ -50,7 +58,8 @@ | |||
| "paymentTemplate/add/add", | |||
| "paymentTemplate/add/upLoad/upLoad", | |||
| "paymentTemplate/add/upError/upError", | |||
| "paymentTemplate/add/payeeList/payee" | |||
| "paymentTemplate/add/payeeList/payee", | |||
| "paymentTemplate/addNew/addNew" | |||
| ] | |||
| }, | |||
| { | |||
| @@ -1 +1 @@ | |||
| @import '../common/index.wxss';.van-empty{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:32px 0}.van-empty__image{height:100px;width:100px}.van-empty__image:empty{display:none}.van-empty__image__img{height:100%;width:100%}.van-empty__image:not(:empty)+.van-empty__image{display:none}.van-empty__description{color:#969799;font-size:14px;line-height:20px;margin-top:16px;padding:0 60px}.van-empty__description:empty,.van-empty__description:not(:empty)+.van-empty__description{display:none}.van-empty__bottom{margin-top:24px} | |||
| @import '../common/index.wxss';.van-empty{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:32px 0}.van-empty__image{height:160px;width:160px}.van-empty__image:empty{display:none}.van-empty__image__img{height:100%;width:100%}.van-empty__image:not(:empty)+.van-empty__image{display:none}.van-empty__description{color:#969799;font-size:14px;line-height:20px;margin-top:16px;padding:0 60px}.van-empty__description:empty,.van-empty__description:not(:empty)+.van-empty__description{display:none}.van-empty__bottom{margin-top:24px} | |||
| @@ -8,6 +8,16 @@ | |||
| "version": "1.10.2", | |||
| "resolved": "https://registry.npmjs.org/@vant/weapp/-/weapp-1.10.2.tgz", | |||
| "integrity": "sha512-caqA0xQxM4lMRncFsRPPVMDdEzUBCJ4xdFXuKReXpEU3qwnVIP/WIjVDIi7mWyS7xqz8C9WfSW5JL4PrlSq31w==" | |||
| }, | |||
| "jsencrypt": { | |||
| "version": "3.3.2", | |||
| "resolved": "https://registry.npmmirror.com/jsencrypt/-/jsencrypt-3.3.2.tgz", | |||
| "integrity": "sha512-arQR1R1ESGdAxY7ZheWr12wCaF2yF47v5qpB76TtV64H1pyGudk9Hvw8Y9tb/FiTIaaTRUyaSnm5T/Y53Ghm/A==" | |||
| }, | |||
| "wxmp-rsa": { | |||
| "version": "2.1.0", | |||
| "resolved": "https://registry.npmmirror.com/wxmp-rsa/-/wxmp-rsa-2.1.0.tgz", | |||
| "integrity": "sha512-VbWMJ+vf8t7G93sjkqjCn5yGy/Si3M8uD6OFebqjJWJ1R0WCyle7X6SNia7WWG6Qe1F2/OWxhbcSGA6ebUBwIA==" | |||
| } | |||
| } | |||
| } | |||
| @@ -10,6 +10,8 @@ | |||
| "author": "", | |||
| "license": "ISC", | |||
| "dependencies": { | |||
| "@vant/weapp": "^1.10.2" | |||
| "@vant/weapp": "^1.10.2", | |||
| "jsencrypt": "^3.3.2", | |||
| "wxmp-rsa": "^2.1.0" | |||
| } | |||
| } | |||
| @@ -97,13 +97,16 @@ | |||
| <scroll-view scroll-y="true" style="height: 400rpx;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-top="0"> | |||
| <van-swipe-cell right-width="{{ 65 }}" wx:for="{{templateList}}" wx:key="index" wx:for-item="item"> | |||
| <van-cell title="{{item.name}}" bindtap='chooseTemplate' data-id="{{item.id}}"> | |||
| <van-icon slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mb.png?sign=2a8bbe2cb4d4e0f28a99fddbe042d26c&t=1648620032" class="custom-icon" size="40" style="margin-right: 10px;" /> | |||
| <van-cell bindtap='chooseTemplate' data-id="{{item.id}}"> | |||
| <view slot="title"> | |||
| <view class="van-cell-text">{{item.name}}</view> | |||
| </view> | |||
| <image src="/image/apply/icon_mb.png" slot="icon" class="custom-icon" size="40" style="margin-right: 10px;width: 40px;" mode="widthFix" ></image> | |||
| </van-cell> | |||
| <view slot="right" class="deleteBox" bindtap='deleteTemplate' data-index="{{index}}" data-id="{{item.id}}"> | |||
| <view> | |||
| <image src="/image/apply/icon_end.png" style="width: 25px;height: 25px;margin: 0 auto;"></image> | |||
| <text style="display: block;text-align: center;color: #e90000;background-color: rgb(255,0,0,0.2);">禁用</text> | |||
| <text style="display: block;text-align: center;color: #e90000;">禁用</text> | |||
| </view> | |||
| </view> | |||
| </van-swipe-cell> | |||
| @@ -211,7 +211,7 @@ text{display: block;} | |||
| width: 65px; | |||
| text-align: center; | |||
| height: 100%; | |||
| background: #F6F6F6; | |||
| background-color: rgb(255,0,0,0.2); | |||
| align-items: center; | |||
| display: flex; | |||
| justify-content: center; | |||
| @@ -262,4 +262,8 @@ text{display: block;} | |||
| .bottomBtn view text{ | |||
| display: block; | |||
| margin-top: 5px; | |||
| } | |||
| } | |||
| .van-cell-text{ | |||
| padding: 8px; | |||
| } | |||
| @@ -33,7 +33,7 @@ swichPaymentApply:function(e){ | |||
| // }) | |||
| // } | |||
| wx.navigateTo({ | |||
| url: '/pages/apply/paymentTemplate/add/add', | |||
| url: '/pages/apply/paymentTemplate/addNew/addNew', | |||
| }) | |||
| }, | |||
| openBox:function(){ | |||
| @@ -152,45 +152,54 @@ swichPaymentApply:function(e){ | |||
| setTimeout(function(){ | |||
| UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{ | |||
| success: (res) => { | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| if(res.rows[i].bankAccountNumber==null){continue;} | |||
| res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 "); | |||
| res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| res.rows[i].bankTypeText = UTIL.getTransform(res.rows[i].bankType,that.data.bankTypeOptions); | |||
| if(res.rows){ | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| if(res.rows[i].bankAccountNumber==null){continue;} | |||
| res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 "); | |||
| res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| res.rows[i].bankTypeText = UTIL.getTransform(res.rows[i].bankType,that.data.bankTypeOptions); | |||
| } | |||
| console.log(res.rows) | |||
| that.setData({ | |||
| accountList:res.rows | |||
| }) | |||
| wx.hideLoading(); | |||
| }else{ | |||
| wx.hideLoading(); | |||
| } | |||
| console.log(res.rows) | |||
| that.setData({ | |||
| accountList:res.rows | |||
| }) | |||
| wx.hideLoading(); | |||
| } | |||
| }) | |||
| },1000) | |||
| UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData2,{ | |||
| success: (res) => { | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| // if(res.rows[i].bankAccountNumber==null){continue;} | |||
| // res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 "); | |||
| res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, "");; | |||
| console.log(res.rows[i].balance) | |||
| if(res.rows){ | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| // if(res.rows[i].bankAccountNumber==null){continue;} | |||
| // res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 "); | |||
| res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, "");; | |||
| console.log(res.rows[i].balance) | |||
| } | |||
| that.setData({ | |||
| accountListXJ:res.rows | |||
| }) | |||
| } | |||
| that.setData({ | |||
| accountListXJ:res.rows | |||
| }) | |||
| } | |||
| }) | |||
| UTIL.httpRequest(API.URL_GET_SELECTLIST, sendData3,{ | |||
| success: (res) => { | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| res.rows[i].payeeAccount = res.rows[i].payeeAccount.replace(/(\d{4})(?=\d)/g, "$1 "); | |||
| res.rows[i].payeePaymentLines = Number(res.rows[i].payeePaymentLines).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| if(res.rows){ | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| res.rows[i].payeeAccount = res.rows[i].payeeAccount.replace(/(\d{4})(?=\d)/g, "$1 "); | |||
| res.rows[i].payeePaymentLines = Number(res.rows[i].payeePaymentLines).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| } | |||
| that.setData({ | |||
| accountListGWK:res.rows | |||
| }) | |||
| } | |||
| that.setData({ | |||
| accountListGWK:res.rows | |||
| }) | |||
| } | |||
| }) | |||
| }, | |||
| @@ -17,9 +17,9 @@ | |||
| <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/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':''}}"> | |||
| <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="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':''}}.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':'other'}}.png" style="width: 25px" mode="widthFix"></image> | |||
| <text>{{item.accountName}}</text> | |||
| </view> | |||
| @@ -57,7 +57,7 @@ | |||
| <text>添加现金账户</text> | |||
| </view> --> | |||
| <van-empty wx:if="{{accountList.length == 0}}" description="暂无现金账户" /> | |||
| <van-empty wx:if="{{accountListXJ.length == 0}}" description="暂无现金账户" /> | |||
| <!-- <van-empty wx:if="{{accountList.length == 0}}" description="暂无银行账户" /> --> | |||
| </van-tab> | |||
| @@ -78,13 +78,14 @@ | |||
| </view> | |||
| <view class="holder">持有人:{{item.payee}}</view> | |||
| </view> | |||
| <van-empty wx:if="{{accountListGWK.length == 0}}" description="暂无公务卡账户" /> | |||
| </van-tab> | |||
| </van-tabs> | |||
| </view> | |||
| <view class="bottom"> | |||
| <view class="btn1" bindtap="openBox">支付模板</view> | |||
| <!-- <view class="btn1" bindtap="openBox">支付模板</view> --> | |||
| <view class="btn2" bindtap="swichPaymentApply">下一步</view> | |||
| </view> | |||
| <view class="ipXbtn"></view> | |||
| @@ -92,12 +93,12 @@ | |||
| <scroll-view scroll-y="true" style="height: 400rpx;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-top="0"> | |||
| <van-swipe-cell right-width="{{ 130 }}" wx:for="{{approvalItemsOptions}}" wx:key="index"> | |||
| <van-cell-group> | |||
| <van-cell label="{{item.approvalItems}}" bindtap="goTemplate" data-options="{{item.templateContent}}" data-id="{{item.id}}" > | |||
| <van-cell label="{{item.approvalItems}}" bindtap="goTemplate" data-options="{{item.templateContent}}" data-id="{{item.id}}"> | |||
| <view slot="title"> | |||
| <view class="van-cell-text">{{item.templateName}}<van-tag plain type="danger" color="#FC9A55" style="margin-left:10px;" wx:if="{{index == 0&&item.defaultValue == 1}}"><image src="/image/apply/icon_mr.png" style="width: 12px;height: 12px;margin-right: 2px;"></image>默认</van-tag></view> | |||
| </view> | |||
| <van-icon wx:if="{{index == 0&&item.defaultValue == 1}}" slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mrmb.png?sign=5e5df640777f6a7993c45e1a559dd998&t=1648619865" class="custom-icon" size="40" style="margin-right: 10px;" /> | |||
| <van-icon wx:else slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mb.png?sign=2a8bbe2cb4d4e0f28a99fddbe042d26c&t=1648620032" class="custom-icon" size="40" style="margin-right: 10px;" /> | |||
| <image src="/image/apply/icon_mrmb.png" wx:if="{{index == 0&&item.defaultValue == 1}}" slot="icon" class="custom-icon" style="margin-right: 10px;width: 40px;" mode="widthFix" ></image> | |||
| <image src="/image/apply/icon_mb.png" wx:else slot="icon" class="custom-icon" size="40" style="margin-right: 10px;width: 40px;" mode="widthFix" ></image> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <view slot="right" class="deleteBox"> | |||
| @@ -60,6 +60,22 @@ | |||
| background:url('https://www.nongshen.net/static/wechat/bg_RCB.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .EMS{ | |||
| background:url('https://www.nongshen.net/static/wechat/bg_EMS.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .BOC{ | |||
| background:url('https://www.nongshen.net/static/wechat/bank_BOC.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .ZYB{ | |||
| background:url('https://www.nongshen.net/static/wechat/bank_ZYB.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .bank_other{ | |||
| background:url('https://www.nongshen.net/static/wechat/bank_other.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .gwk{ | |||
| background:url('https://www.nongshen.net/static/wechat/bg_GWK.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| @@ -142,6 +158,7 @@ | |||
| margin-top: 30px; | |||
| margin-bottom: 30px; | |||
| display: flex; | |||
| justify-content: center; | |||
| } | |||
| .bottom view { | |||
| @@ -161,7 +178,7 @@ | |||
| border: 1px solid transparent; | |||
| padding: 8px 0px; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| margin-left: 6%; | |||
| /* margin-left: 6%; */ | |||
| color: #fff; | |||
| } | |||
| @@ -176,4 +193,8 @@ | |||
| .van-action-sheet__header { | |||
| background: #f2f2f2; | |||
| color: #2C8E68; | |||
| } | |||
| .van-cell-text{ | |||
| padding: 8px; | |||
| } | |||
| @@ -1234,6 +1234,7 @@ Page({ | |||
| UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, { | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| console.log(res.data.transfers.length); | |||
| for (let j = 0; j < res.data.transfers.length; j++) { | |||
| if(that.data.form.transfers[j].capitalExpenditureType == 2){ | |||
| that.data.form.transfers[j].projectForm.ynType = res.data.transfers[j].transferType=='1'||res.data.transfers[j].transferType=='2'||res.data.transfers[j].transferType=='4'?'1':'2'; | |||
| @@ -1242,124 +1243,176 @@ Page({ | |||
| // 工程项目提交 | |||
| UTIL.httpRequest(API.URL_GET_ADDPROJECTTO , that.data.form.transfers[j].projectForm, { | |||
| success: (res) => { | |||
| } | |||
| }) | |||
| } | |||
| if(that.data.form.transfers[j].capitalExpenditureType == 4){ | |||
| that.data.form.transfers[j].contractionForm.transferId = res.data.transfers[j].id; | |||
| that.data.form.transfers[j].contractionForm.id = ''; | |||
| that.data.form.transfers[j].contractionForm.method = 'POST'; | |||
| // 关联合同提交 | |||
| UTIL.httpRequest(API.URL_GET_GETRELATIONADD , that.data.form.transfers[j].contractionForm, { | |||
| success: (res) => { | |||
| } | |||
| }) | |||
| } | |||
| // if(that.data.form.transfers[j].transferType == '12'){ | |||
| // console.log(that.data.form.transfers[j].cashForm); | |||
| // that.data.form.transfers[j].cashForm.cashId = res.data.transfers[j].id; | |||
| // that.data.form.transfers[j].cashForm.method = 'POST'; | |||
| // if(that.data.form.transfers[j].cashierType == 'edit'){ | |||
| // // 收票方信息增加 | |||
| // UTIL.httpRequest(API.URL_GET_GETCASHDETAILEDIT , that.data.form.transfers[j].cashForm, { | |||
| // success: (res) => { | |||
| // } | |||
| // }) | |||
| // }else{ | |||
| // // 收票方信息修改 | |||
| // UTIL.httpRequest(API.URL_GET_GETCASHDETAILADD , that.data.form.transfers[j].cashForm, { | |||
| // success: (res) => { | |||
| // } | |||
| // }) | |||
| // } | |||
| // } | |||
| if(that.data.form.transfers[j].fileForm == undefined){continue;} | |||
| console.log(that.data.form.transfers[j].fileForm); | |||
| for (let i = 0; i < that.data.form.transfers[j].fileForm.length; i++) { | |||
| that.data.form.transfers[j].fileForm[i].tableId = res.data.transfers[j].id | |||
| const element = that.data.form.transfers[j].fileForm[i]; | |||
| wx.uploadFile({ | |||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||
| filePath: element.file, | |||
| name: 'file', | |||
| header: { | |||
| "Content-Type": "multipart/form-data",//记得设置 | |||
| "chartset":"utf-8", | |||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||
| }, | |||
| formData:element, | |||
| success (response){ | |||
| console.log(res); | |||
| }, | |||
| fail(res){ | |||
| console.log(res) | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| if(e.currentTarget.dataset.type == 0){ | |||
| wx.navigateTo({ | |||
| url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId+'&form='+JSON.stringify(res.data)+'&type='+that.data.formType+'&applyOptions='+JSON.stringify(that.data.templateModel), | |||
| }) | |||
| } | |||
| if(e.currentTarget.dataset.type == 2){ | |||
| wx.showToast({ | |||
| title: '保存成功', | |||
| icon: 'success', | |||
| duration: 2000, | |||
| }) | |||
| } | |||
| if(e.currentTarget.dataset.type == 1){ | |||
| console.log("aaa"); | |||
| wx.showToast({ | |||
| title: '保存成功', | |||
| icon: 'success', | |||
| duration: 2000, | |||
| complete(){ | |||
| setTimeout(function(){ | |||
| that.back(); | |||
| },2000) | |||
| // if(that.data.form.transfers[j].fileForm == undefined){continue;} | |||
| that.data.form.transfers[j].id = res.data.transfers[j].id | |||
| console.log(that.data.form.transfers[j]) | |||
| that.upDownFile(that.data.form.transfers[j]).then(response=>{ | |||
| wx.hideLoading(); | |||
| console.log(e.currentTarget.dataset.type); | |||
| if(e.currentTarget.dataset.type == 0){ | |||
| wx.navigateTo({ | |||
| url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId+'&form='+JSON.stringify(res.data)+'&type='+that.data.formType+'&applyOptions='+JSON.stringify(that.data.templateModel), | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| if(e.currentTarget.dataset.type == 3){ | |||
| UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, { | |||
| success: (res2) => { | |||
| if (res2.code == API.SUCCESS_CODE) { | |||
| wx.showToast({ | |||
| title: '操作成功', | |||
| icon: 'success', | |||
| duration: 2000, | |||
| complete(){ | |||
| setTimeout(function(){ | |||
| that.back(); | |||
| },2000) | |||
| if(e.currentTarget.dataset.type == 2){ | |||
| wx.showToast({ | |||
| title: '保存成功', | |||
| icon: 'success', | |||
| duration: 2000, | |||
| }) | |||
| } | |||
| if(e.currentTarget.dataset.type == 1){ | |||
| console.log("aaa"); | |||
| wx.showToast({ | |||
| title: '保存成功', | |||
| icon: 'success', | |||
| duration: 2000, | |||
| complete(){ | |||
| setTimeout(function(){ | |||
| that.back(); | |||
| },2000) | |||
| } | |||
| }) | |||
| } | |||
| if(e.currentTarget.dataset.type == 3){ | |||
| UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, { | |||
| success: (res2) => { | |||
| if (res2.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 | |||
| }) | |||
| } | |||
| }) | |||
| }else{ | |||
| wx.showToast({ | |||
| title: '操作失败', | |||
| icon: 'error', | |||
| duration: 2000 | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| } | |||
| }).catch((err) => { | |||
| console.log(err); | |||
| wx.hideLoading(); | |||
| if(e.currentTarget.dataset.type == 0){ | |||
| wx.navigateTo({ | |||
| url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId+'&form='+JSON.stringify(res.data)+'&type='+that.data.formType+'&applyOptions='+JSON.stringify(that.data.templateModel), | |||
| }) | |||
| } | |||
| if(e.currentTarget.dataset.type == 2){ | |||
| wx.showToast({ | |||
| title: '保存成功', | |||
| icon: 'success', | |||
| duration: 2000, | |||
| }) | |||
| } | |||
| if(e.currentTarget.dataset.type == 1){ | |||
| console.log("aaa"); | |||
| wx.showToast({ | |||
| title: '保存成功', | |||
| icon: 'success', | |||
| duration: 2000, | |||
| complete(){ | |||
| setTimeout(function(){ | |||
| that.back(); | |||
| },2000) | |||
| } | |||
| }) | |||
| } | |||
| if(e.currentTarget.dataset.type == 3){ | |||
| UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, { | |||
| success: (res2) => { | |||
| if (res2.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 | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| upDownFile(op){ | |||
| var that = this; | |||
| console.log(op) | |||
| wx.showLoading({ | |||
| title: '正在上传附件', | |||
| mask:true | |||
| }) | |||
| return new Promise((resolve, reject) => { | |||
| if(op.fileForm.length > 0){ | |||
| for (let i = 0; i < op.fileForm.length; i++) { | |||
| op.fileForm[i].tableId = op.id | |||
| const element = op.fileForm[i]; | |||
| console.log(element); | |||
| wx.uploadFile({ | |||
| url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD, | |||
| filePath: element.file, | |||
| name: 'file', | |||
| header: { | |||
| "Content-Type": "multipart/form-data",//记得设置 | |||
| "chartset":"utf-8", | |||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||
| }, | |||
| formData:element, | |||
| success (response){ | |||
| if(op.fileForm.length == (i+1)){ | |||
| resolve(); | |||
| } | |||
| }, | |||
| fail(res){ | |||
| console.log(res) | |||
| reject(); | |||
| } | |||
| }) | |||
| } | |||
| }else{ | |||
| reject(); | |||
| } | |||
| }); | |||
| }, | |||
| bindKeyInput(even){ | |||
| console.log(even); | |||
| this.setData({ | |||
| @@ -1688,6 +1741,15 @@ Page({ | |||
| that.setData({ | |||
| form:that.data.form, | |||
| }) | |||
| UTIL.httpRequest(API.URL_GET_TRANSFERREMOVE+e.currentTarget.dataset.id , {method:'GET'}, { | |||
| success: (res) => { | |||
| } | |||
| }) | |||
| }, | |||
| disabledNone(e){ | |||
| console.log("b"); | |||
| @@ -64,7 +64,7 @@ | |||
| <view class="btnBox"> | |||
| <image src="/image/apply/down.png" data-index="{{index}}" class="down" bindtap="disabledBlock"></image> | |||
| <!-- <image src="/image/apply/icon_update.png" class="update" bindtap="goUpdate"></image> --> | |||
| <image src="/image/apply/icon_delete.png" class="delete" data-index="{{index}}" bindtap="deleteTransfers"></image> | |||
| <image src="/image/apply/icon_delete.png" class="delete" data-index="{{index}}" data-id="{{item.id}}" bindtap="deleteTransfers"></image> | |||
| </view> | |||
| </van-cell-group> | |||
| </view> | |||
| @@ -25,7 +25,7 @@ Page({ | |||
| onLoad(options) { | |||
| console.log(options); | |||
| //所属银行 | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, { | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type_all', {method:'GET'}, { | |||
| success: (res) => { | |||
| this.setData({ | |||
| bankTypeOptions:res.data | |||
| @@ -43,7 +43,8 @@ Page({ | |||
| this.setData({ | |||
| bankType:options.bankType, | |||
| index:options.index, | |||
| totalAmount:options.totalAmount | |||
| totalAmount:options.totalAmount, | |||
| isPeers:options.isPeers | |||
| }) | |||
| if(options.bankType != '1'){ | |||
| this.setData({ | |||
| @@ -100,7 +101,8 @@ Page({ | |||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||
| }, | |||
| formData:{ | |||
| bankType:'2', | |||
| // bankType:'2', | |||
| bankType:that.data.bankType, | |||
| accountType:that.data.bankAccountType, | |||
| isPeers:that.data.isPeers | |||
| }, | |||
| @@ -144,12 +146,14 @@ Page({ | |||
| return; | |||
| } | |||
| let moneyCount = 0; | |||
| console.log(that.data.payeeList); | |||
| for(let i = 0 ; i < that.data.payeeList.length ; i++){ | |||
| that.data.payeeList[i].bankTypeText = UTIL.getTransform(that.data.payeeList[i].bankType,that.data.bankTypeOptions); | |||
| that.data.payeeList[i].transferStatusText = UTIL.getTransform(that.data.payeeList[i].transferStatus,that.data.transferStatusOptions); | |||
| moneyCount += parseFloat(that.data.payeeList[i].incomeAmount); | |||
| } | |||
| console.log(that.data.totalAmount); | |||
| console.log(that.data.payeeList); | |||
| let totalAmount = parseFloat(that.data.totalAmount)+parseFloat(moneyCount); | |||
| console.log(totalAmount); | |||
| @@ -161,10 +165,10 @@ Page({ | |||
| prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值 | |||
| if (prevPage) { | |||
| prevPage.setData({ | |||
| ["form.transfers["+that.data.index+"].payeeList"]: that.data.payeeList,//将想要传的信息赋值给上一个页面data中的值 | |||
| ["form.transfers["+that.data.index+"].expenditureAmount"]: moneyCount.toFixed(2), | |||
| ["form.payeeList"]: that.data.payeeList,//将想要传的信息赋值给上一个页面data中的值 | |||
| ["form.expenditureAmount"]: moneyCount.toFixed(2), | |||
| ["form.approvalItemTemplate.totalAmount"]:totalAmount.toFixed(2), | |||
| ["form.transfers["+that.data.index+"].amountReadonly"]:true | |||
| ["form.amountReadonly"]:true | |||
| }) | |||
| that.back() | |||
| } | |||
| @@ -197,7 +201,7 @@ Page({ | |||
| UTIL.httpRequest(API.URL_GET_DOWNFILE, {method:'GET'}, { | |||
| success: (res) => { | |||
| console.log(res); | |||
| let url = ' https://dazu.nongshen.net/api/common/download?fileName='+res.msg+'&delete=true' | |||
| let url = wx.getStorageSync('dressCode')+'/common/download?fileName='+res.msg+'&delete=true' | |||
| wx.setClipboardData({ | |||
| data: url, | |||
| success (res) { | |||
| @@ -33,13 +33,14 @@ | |||
| </van-cell> | |||
| </view> | |||
| <view class="main-box" wx:if="{{!showBox && bankType != 5 }}"> | |||
| <van-cell title="是否同行" center border="{{false}}"> | |||
| <view class="main-box" wx:if="{{!showBox && (form.bankType == 2 || form.bankType == 3 || form.bankType == 4) }}"> | |||
| <van-cell title="行内转账" center border="{{false}}"> | |||
| <view style="float: right;"> | |||
| <van-radio-group | |||
| value="{{ isPeers }}" | |||
| bind:change="onChangePee" | |||
| direction="horizontal" | |||
| direction="horizontal" | |||
| disabled | |||
| > | |||
| <van-radio name="Y" checked-color="#2C8E68">是</van-radio> | |||
| <van-radio name="N" checked-color="#2C8E68">否</van-radio> | |||
| @@ -0,0 +1,22 @@ | |||
| { | |||
| "navigationStyle": "custom", | |||
| "usingComponents": { | |||
| "van-row": "@vant/weapp/row/index", | |||
| "van-col": "@vant/weapp/col/index", | |||
| "van-cell": "@vant/weapp/cell/index", | |||
| "van-cell-group": "@vant/weapp/cell-group/index", | |||
| "van-tag": "@vant/weapp/tag/index", | |||
| "van-icon": "@vant/weapp/icon/index", | |||
| "van-steps": "@vant/weapp/steps/index", | |||
| "van-button": "@vant/weapp/button/index", | |||
| "van-radio": "@vant/weapp/radio/index", | |||
| "van-radio-group": "@vant/weapp/radio-group/index", | |||
| "van-field": "@vant/weapp/field/index", | |||
| "van-popup": "@vant/weapp/popup/index", | |||
| "van-picker": "@vant/weapp/picker/index", | |||
| "van-calendar": "@vant/weapp/calendar/index", | |||
| "van-dialog": "@vant/weapp/dialog/index", | |||
| "van-collapse": "@vant/weapp/collapse/index", | |||
| "van-collapse-item": "@vant/weapp/collapse-item/index" | |||
| } | |||
| } | |||
| @@ -0,0 +1,437 @@ | |||
| <!--pages/apply/paymentTemplate/add/add.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="pure_top" style="top:{{isIPX?'88px':'64px'}};"></view> | |||
| <view class="center" style="margin-top:{{isIPX?'100px':'75px'}};"> | |||
| <!-- ------------------------------基础信息 start------------------------------ --> | |||
| <text class="title">基础信息</text> | |||
| <view class="main-box table-box"> | |||
| <!-- 申请时间 start --> | |||
| <van-field required label="申请时间:" readonly is-link value="{{ form.applyDate }}" placeholder="请选择申请时间" border="{{ false }}" bind:change="onChangeTime" bindtap="openBox" data-name="showApplyDate" input-align="right" /> | |||
| <van-calendar show="{{ showApplyDate }}" bind:close="closeBox" bind:confirm="onConfirmTime" show-confirm="{{ false }}" data-name="showApplyDate" /> | |||
| <!-- 申请时间 end --> | |||
| <!-- 资金支出类别 start --> | |||
| <van-popup show="{{showCapitalExpenditureType}}" round position="bottom" data-name="showCapitalExpenditureType" bind:close="closeBox"> | |||
| <van-picker | |||
| columns="{{capitalExpenditureTypeOptions}}" | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmPick" | |||
| data-name="showCapitalExpenditureType" | |||
| data-value="form.capitalExpenditureType" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="资金支出类别" readonly value="{{ form.capitalExpenditureTypeText }}" placeholder="请选择" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="showCapitalExpenditureType"/> | |||
| <!-- 资金支出类别 end --> | |||
| <!-- 转账类型 start --> | |||
| <van-popup show="{{showTransferTypeOption}}" round position="bottom" data-name="showTransferTypeOption" bind:close="closeBox"> | |||
| <van-picker | |||
| columns="{{transferTypeOption}}" | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmPick" | |||
| data-name="showTransferTypeOption" | |||
| data-value="form.transferType" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="转账类型" readonly value="{{ form.transferTypeText }}" placeholder="请选择" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="showTransferTypeOption"/> | |||
| <!-- 转账类型 end --> | |||
| <!-- 审批流程 start --> | |||
| <van-popup show="{{showApprovalTemplateName}}" round position="bottom" bind:close="closeBox"> | |||
| <van-picker | |||
| columns="{{approvalTemplateNameOptions}}" | |||
| show-toolbar | |||
| value-key="name" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmPickApproval" | |||
| data-name="showApprovalTemplateName" | |||
| data-value="approvalTemplateName" | |||
| /> | |||
| </van-popup> | |||
| <van-field required readonly value="{{form.approvalTemplateName}}" placeholder="请选择" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="showApprovalTemplateName"> | |||
| <view slot="label"> | |||
| 审批流程 | |||
| </view> | |||
| </van-field> | |||
| <!-- 审批流程 end --> | |||
| <!-- <text style="text-align: center;color: #2C8E68;padding: 0 0 10px 0;" bind:tap="showS">{{showSteps?'点击关闭审批模板':'点击查看审批模板'}}</text> --> | |||
| <!-- 支出总金额 start --> | |||
| <van-field required readonly label="支出总金额" type="digit" value="{{form.expenditureAmount}}" placeholder="根据下方收款金额自动核算" border="{{ false }}" input-align="right" bind:input="onChangeMoney"/> | |||
| <!-- 支出总金额 end --> | |||
| <van-collapse value="{{ activeStepsNames }}" border="{{false}}" bind:change="onChangeSteps" bind:close="onCloseSteps"> | |||
| <van-collapse-item name="1" border="{{false}}" is-link="{{false}}"> | |||
| <view slot="title"><text style="text-align: center;color: #2C8E68;padding: 0;" bind:tap="showS">{{showSteps?'点击关闭审批模板':'点击查看审批模板'}}</text></view> | |||
| <view class="main-box steps-box" style="width: 99%;margin-bottom: 15px;"> | |||
| <view class="steps-tit">审批模板</view> | |||
| <van-row wx:for="{{steps}}" wx:key="index"> | |||
| <van-col span="3"> | |||
| <view class="index">{{index+1}}</view> | |||
| <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="{{steps.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="{{steps.length != index+1}}"></view> | |||
| </view> | |||
| </block> | |||
| </van-col> | |||
| <van-col span="21"> | |||
| <van-cell title="{{item.name}}" center="{{true}}" border="{{false}}"> | |||
| <view class="agree" wx:if="{{item.type=='1'}}">{{ item.name }}</view> | |||
| <view class="in" wx:if="{{item.type=='2'}}">{{ item.name }}</view> | |||
| <view class="disagree" wx:if="{{item.type=='3'}}">{{ item.name }}</view> | |||
| </van-cell> | |||
| <van-cell center border="{{false}}"> | |||
| <view slot="title"> | |||
| <view style="color: #999999;"> | |||
| {{ item.nickName }} | |||
| <span wx-if="{{item.feeLimit != 0 && item.nickName != null}}">({{item.feeLimit}}元)</span> | |||
| </view> | |||
| </view> | |||
| <view style="color: #999999;font-size: 12px;">{{ item.approvalLevel == 1 ? '组级审批' : item.approvalLevel == 2 ? '村级审批' : item.approvalLevel == 3 ? '镇级审批' : item.approvalLevel == 4 ? '区县审批' : '' }}</view> | |||
| </van-cell> | |||
| </van-col> | |||
| </van-row> | |||
| </view> | |||
| </van-collapse-item> | |||
| </van-collapse> | |||
| </view> | |||
| <!-- ------------------------------关联项目 start------------------------------ --> | |||
| <block wx:if="{{form.capitalExpenditureType == 2}}"> | |||
| <text class="title">关联项目</text> | |||
| <view class="main-box table-box"> | |||
| <van-popup show="{{showProject}}" round position="bottom" bind:close="closeBox" data-name="showProject"> | |||
| <van-picker | |||
| columns="{{projectOptions}}" | |||
| show-toolbar | |||
| value-key="projectName" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmProject" | |||
| data-name="showProject" | |||
| data-value="form.projectForm" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="项目名称" readonly value="{{ form.projectForm.projectName }}" placeholder="请输入项目名称" border="{{ false }}" bind:change="onChange" input-align="right" is-link bindtap="openBox" data-name="showProject"/> | |||
| <van-field required label="承建单位" readonly value="{{ form.projectForm.projectContractor }}" placeholder="请输入承建单位" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field required label="合同价款(元)" readonly value="{{ form.projectForm.projectAmount }}" placeholder="请输入合同价款(元)" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-popup show="{{showProjectFundType}}" round position="bottom" bind:close="closeBox" data-name="showProjectFundType"> | |||
| <van-picker | |||
| columns="{{projectFundTypeOptions}}" | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmPick" | |||
| data-name="showProjectFundType" | |||
| data-value="form.projectForm.projectFundType" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="工程款类型" readonly value="{{ form.projectForm.projectFundTypeText }}" placeholder="请选择工程款类型" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="showProjectFundType"/> | |||
| <van-field required label="工程发票号" value="{{ form.projectForm.projectBillNum }}" placeholder="请输入工程发票号" border="{{ false }}" data-value="form.projectForm.projectBillNum" bind:change="onChange" input-align="right"/> | |||
| </view> | |||
| </block> | |||
| <!-- ------------------------------关联项目 end------------------------------ --> | |||
| <!-- ------------------------------关联合同 start------------------------------ --> | |||
| <block wx:if="{{form.capitalExpenditureType == 4}}"> | |||
| <text class="title">关联合同</text> | |||
| <view class="main-box table-box"> | |||
| <van-popup show="{{form.showContraction}}" round position="bottom" bind:close="closeBox" data-name="form.showContraction"> | |||
| <van-picker | |||
| columns="{{contractionOptions}}" | |||
| show-toolbar | |||
| value-key="name" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmContraction" | |||
| data-name="form.showContraction" | |||
| data-value="form.contractionForm" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="合同名称" readonly value="{{ form.contractionForm.name }}" placeholder="请选择合同名称" border="{{ false }}" bind:change="onChange" input-align="right" is-link bindtap="openBox" data-name="form.showContraction"/> | |||
| <van-field required label="合同编码" readonly value="{{ form.contractionForm.code }}" placeholder="请输入合同编码" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field required label="合同价款(元)" readonly value="{{ form.contractionForm.totalAmount }}" placeholder="请输入合同价款(元)" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| </view> | |||
| </block> | |||
| <!-- ------------------------------关联合同 end------------------------------ --> | |||
| <!-- ------------------------------基础信息 end------------------------------ --> | |||
| <text class="title">付款方信息</text> | |||
| <view class="main-box table-box"> | |||
| <!-- <van-popup show="{{form.showTransferType}}" round position="bottom" bind:close="closeBox" data-name="form.showTransferType"> | |||
| <van-picker | |||
| columns="{{transferTypeOptions}}" | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmaTransfer" | |||
| data-name="form.showTransferType" | |||
| data-value="form.transfers[{{index}}]" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="付款方式" readonly value="{{ form.transferTypeText }}" placeholder="请输入付款方式" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="form.showTransferType"/> --> | |||
| <van-popup show="{{showAccount}}" round position="bottom" bind:close="closeBox" data-name="showAccount"> | |||
| <van-picker | |||
| columns="{{accountOptions}}" | |||
| show-toolbar | |||
| value-key="accountName" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmAccount" | |||
| data-name="showAccount" | |||
| data-value="form" | |||
| /> | |||
| </van-popup> | |||
| <van-field required readonly value="{{ form.payer }}" placeholder="请选择付款方名称" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="showAccount"> | |||
| <view slot="label" style="color: var(--field-label-color,#646566);"> | |||
| 付款方<van-tag plain type="danger" color="#5CAE77" round style="margin-left:10px;">选择</van-tag> | |||
| </view> | |||
| </van-field> | |||
| <!-- <van-field readonly wx:if="{{form.transferType == 11}}" label="可用余额(元)" value="{{ form.payerAccount }}" placeholder="可用余额" border="{{ false }}" data-value="form.payerAccount" bind:change="onChange" input-align="right"/> | |||
| <block wx:elif="{{form.transferType == 12}}"> | |||
| <van-popup show="{{form.showMoneyOrder}}" round position="bottom" bind:close="closeBox" data-name="showMoneyOrder"> | |||
| <van-picker | |||
| columns="{{moneyOrderOptions}}" | |||
| show-toolbar | |||
| value-key="billPayUnit" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmMoneyOrder" | |||
| data-name="form.showMoneyOrder" | |||
| data-value="form.transfers[{{index}}]" | |||
| data-index="{{index}}" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly label="出票方" value="{{form.moneyOrderForm.billPayUnit }}" placeholder="请选择出票方" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="form.showMoneyOrder"/> | |||
| <van-field readonly label="汇票号码" value="{{ form.moneyOrderForm.orderNum }}" placeholder="汇票号码" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="出票金额(元)" value="{{ form.moneyOrderForm.orderAmount }}" placeholder="出票金额(元)" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="汇票类型" value="{{ form.moneyOrderForm.orderType }}" placeholder="汇票类型" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="开票日" value="{{ form.moneyOrderForm.startTime }}" placeholder="开票日" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="到期日" value="{{ form.moneyOrderForm.endTime }}" placeholder="到期日" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| </block> --> | |||
| <!-- <block wx:else> --> | |||
| <van-field required readonly label="付款方账户" value="{{ form.payerAccount }}" placeholder="请输入付款方账号" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <!-- <van-field required readonly label="所属银行" value="{{ form.bankTypeText }}" placeholder="请输入所属银行" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="可用余额(元)" value="{{ form.balance }}" placeholder="可用余额" border="{{ false }}" input-align="right"/> --> | |||
| <!-- </block> --> | |||
| </view> | |||
| <!-- 转账附言 start --> | |||
| <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"/> | |||
| </view> | |||
| <!-- 转账附言 end --> | |||
| <!-- 说明情况 start --> | |||
| <view class="main-box table-box" style="margin-top: 10px;"> | |||
| <van-field value="{{form.explainSituation}}" label="说明情况" type="textarea" autosize="{{autosize}}" placeholder="请输入说明情况" border="{{ false }}" input-align="right" bind:input="onChange" data-value="form.explainSituation"/> | |||
| </view> | |||
| <!-- 说明情况 end --> | |||
| <view class="payee_box"> | |||
| <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"> | |||
| <image src="/image/apply/icon_exel.png" style="width: 15px;height: 15px;"></image> | |||
| <text>批量上传</text> | |||
| </view> | |||
| <view class="add" bind:tap="addPayee">+</view> | |||
| </view> | |||
| <view class="main-box table-box" style="margin-bottom: 10px;" wx:if="{{form.bankType == 2 || form.bankType == 3 || form.bankType == 4}}"> | |||
| <van-field required input-align="right" label="行内转账" center border="{{false}}"> | |||
| <view slot="input" style="margin-left: auto;"> | |||
| <van-radio-group | |||
| value="{{ form.isPeers }}" | |||
| bind:change="onChangeHnzz" | |||
| data-value="form.isPeers" | |||
| direction="horizontal" | |||
| style="margin-left: auto;" | |||
| > | |||
| <van-radio name="Y" checked-color="#2C8E68">是</van-radio> | |||
| <van-radio name="N" checked-color="#2C8E68">否</van-radio> | |||
| </van-radio-group> | |||
| </view> | |||
| </van-field> | |||
| </view> | |||
| <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"> | |||
| <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 slot="label" style="color: var(--field-label-color,#646566);"> | |||
| 收款方<van-tag plain type="danger" color="#5CAE77" round style="margin-left:10px;">选择</van-tag> | |||
| </view> | |||
| </van-field> | |||
| <van-field required readonly label="收款账户" value="{{ form.payeeList[childrenIndex].payeeAccount }}" placeholder="请输入收款账户" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field required readonly label="开户银行" value="{{ form.payeeList[childrenIndex].bankDeposit }}" placeholder="请输入开户银行" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down"/> | |||
| <van-field required label="收入金额" type="digit" type="digit" 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"/> | |||
| </view> | |||
| <view class="main-box table-box payeeList" wx:if="{{form.payeeList.length > 10}}"> | |||
| <van-collapse accordion value="{{ form.activeName }}" data-index="{{index}}" bind:change="onChangePayee" bind:close="onClosePayee"> | |||
| <van-collapse-item name="{{childrenIndex}}" wx:for="{{form.payeeList}}" wx:if="{{childrenIndex<10}}" wx:for-index="childrenIndex" wx:key="payeeId"> | |||
| <view slot="title"> | |||
| {{ form.payeeList[childrenIndex].payee }}<van-tag wx:if="{{ form.activeName == childrenIndex && form.activeName != '' }}" plain type="danger" color="#5CAE77" round style="margin-left:10px;">收款方</van-tag> | |||
| </view> | |||
| <view slot="value" wx:if="{{ form.activeName != childrenIndex }}"> | |||
| ¥{{ form.payeeList[childrenIndex].incomeAmount }} | |||
| </view> | |||
| <van-field required readonly label="收款账户" value="{{ form.payeeList[childrenIndex].payeeAccount }}" border="{{ false }}" input-align="right"/> | |||
| <van-field required readonly label="开户银行" value="{{ form.payeeList[childrenIndex].bankDeposit }}" border="{{ false }}" input-align="right"/> | |||
| <van-field required readonly label="收入金额" value="{{ form.payeeList[childrenIndex].incomeAmount }}" border="{{ false }}" type="digit" input-align="right"/> | |||
| <van-field required readonly label="所属银行" value="{{ form.payeeList[childrenIndex].bankTypeText }}" border="{{ false }}" input-align="right"/> | |||
| <!-- <van-field required readonly label="转账状态" value="{{ form.payeeList[childrenIndex].transferStatusText }}" border="{{ false }}" input-align="right"/> | |||
| <van-field required readonly label="交易结果描述" value="{{ form.payeeList[childrenIndex].causeFailure }}" border="{{ false }}" input-align="right"/> --> | |||
| </van-collapse-item> | |||
| </van-collapse> | |||
| <text wx:if="{{form.payeeList.length>10}}" style="text-align: center;color: #2C8E68;padding-top: 10px;" data-option="{{form.payeeList}}" bindtap="goPayee">查看更多</text> | |||
| <!-- | |||
| <van-field required readonly label="{{ form.payeeList[childrenIndex].payee }}" value="¥{{ form.payeeList[childrenIndex].incomeAmount }}" wx:for="{{form.payeeList}}" wx:for-index="childrenIndex" wx:key="payeeId" is-link placeholder="请输入收款方" border="{{ false }}" bind:change="onChange" input-align="right" input-class="aaa" /> --> | |||
| </view> | |||
| </view> | |||
| <!-- wx:if="{{showFile}}" --> | |||
| <view class="file_box" wx:if="{{showFile}}"> | |||
| <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> | |||
| <view class="main-box" wx:if="{{showFile}}"> | |||
| <view class="fj-box"> | |||
| <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.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> | |||
| <van-icon name="/image/apply/img_delete.png" size="14px" data-index="{{childrenIndex}}" data-parentsIndex="{{index}}" data-name="form.SJimage" data-options="{{form.SJimage}}" 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="SJtakephoto"></image> | |||
| </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.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> | |||
| <van-icon name="/image/apply/img_delete.png" size="14px" data-index="{{childrenIndex}}" data-parentsIndex="{{index}}" data-name="form.FPimage" data-options="{{form.FPimage}}" 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="FPtakephoto"></image> | |||
| </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.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> | |||
| <van-icon name="/image/apply/img_delete.png" size="14px" data-index="{{childrenIndex}}" data-parentsIndex="{{index}}" data-name="form.QTimage" data-options="{{form.QTimage}}" 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="QTtakephoto"></image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <!-- <view class="main-box steps-box"> | |||
| <view class="steps-tit">审批流程</view> | |||
| <van-row wx:for="{{steps}}" wx:key="index"> | |||
| <van-col span="3"> | |||
| <view class="index">{{index+1}}</view> | |||
| <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="{{steps.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="{{steps.length != index+1}}"></view> | |||
| </view> | |||
| </block> | |||
| </van-col> | |||
| <van-col span="21"> | |||
| <van-cell title="{{item.activityName}}" center="{{true}}" border="{{false}}"> | |||
| <view class="agree" wx:if="{{item.type=='1'}}">{{ item.assigneeName }}</view> | |||
| <view class="in" wx:if="{{item.type=='2'}}">{{ item.assigneeName }}</view> | |||
| <view class="disagree" wx:if="{{item.type=='3'}}">{{ item.assigneeName }}</view> | |||
| </van-cell> | |||
| <van-cell center border="{{false}}"> | |||
| <view slot="title"> | |||
| <view style="color: #999999;">{{ item.durationInMillis }}</view> | |||
| </view> | |||
| <view style="color: #999999;font-size: 12px;">{{ item.endTime }}</view> | |||
| </van-cell> | |||
| </van-col> | |||
| </van-row> | |||
| </view> --> | |||
| </view> | |||
| <block wx:if="{{!isUpdate}}"> | |||
| <view class="bottom"> | |||
| <!-- <view class="btn1" data-type="3" bindtap="goSubmit">提交复核</view> --> | |||
| <!-- <view class="btn1" bindtap="back">上一步</view> --> | |||
| <view class="btn2" data-type="0" bindtap="goSubmitNew" hover-class="btnView" wx:if="{{!showFile}}">保存</view> | |||
| <view class="btn1" bindtap="back" wx:if="{{showFile}}">返回</view> | |||
| <view class="btn2" data-type="0" bindtap="goCustomSubmit" hover-class="btnView" wx:if="{{showFile}}">提交</view> | |||
| </view> | |||
| </block> | |||
| <block wx:if="{{isUpdate}}"> | |||
| <view class="bottom"> | |||
| <view class="btn1" data-type="2" bindtap="goKeepNew">保存</view> | |||
| <view class="btn2" data-type="0" bindtap="goCustomSubmit2" hover-class="btnView">提交</view> | |||
| </view> | |||
| </block> | |||
| <view class="ipXbtn"></view> | |||
| <van-dialog | |||
| use-slot | |||
| title="支付模板" | |||
| show="{{ showDialog }}" | |||
| bind:close="onClose" | |||
| theme='round-button' | |||
| confirmButtonText="保存" | |||
| data-type="1" | |||
| bind:confirm="goSubmit" | |||
| closeOnClickOverlay="{{ true }}" | |||
| > | |||
| <input class="input_tit" placeholder="请输入模板名称" style="width: 90%;margin: 0 auto;margin-top: 15px;margin-bottom: 10px;text-align: center;" value="{{form.approvalItemTemplate.templateName}}" bindinput="bindNameInput"/> | |||
| </van-dialog> | |||
| @@ -0,0 +1,538 @@ | |||
| /* pages/apply/paymentTemplate/addNew/addNew.wxss *//* pages/apply/paymentTemplate/add/add.wxss */ | |||
| text{display: block;} | |||
| .top{ | |||
| height: 64px; | |||
| width: 100%; | |||
| position: fixed; | |||
| z-index: 999; | |||
| top:0px; | |||
| } | |||
| .top text{ | |||
| position: relative; | |||
| top: 30px; | |||
| margin-right: 30px; | |||
| display: block; | |||
| color: #eee; | |||
| text-align: center; | |||
| width: 100%; | |||
| font-size: 16px; | |||
| } | |||
| .input_tittop input{ | |||
| border: 1px solid #DCDCDC; | |||
| padding: 0px 10px; | |||
| height: 32px; | |||
| line-height: 32px; | |||
| border-radius: 5px; | |||
| width: 100%; | |||
| } | |||
| .error input{ | |||
| border: 1px solid red!important; | |||
| } | |||
| .bgPage{ | |||
| width: 140%; | |||
| position:absolute; | |||
| transform: translate(-15%, -50%); | |||
| height: 300px; | |||
| z-index: -1; | |||
| } | |||
| .center{ | |||
| padding-bottom: 15px; | |||
| background: #f2f2f2; | |||
| } | |||
| .main-title{ | |||
| background-image: linear-gradient(to right, #2C8E68 , #B3DB62); | |||
| color: #ffffff; | |||
| font-size: 18px; | |||
| padding: 10px 0; | |||
| text-align: center; | |||
| position: relative; | |||
| } | |||
| .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); | |||
| } | |||
| .main-box block{ | |||
| float: right; | |||
| } | |||
| .title{ | |||
| padding: 10px calc(3% + 20px); | |||
| } | |||
| .topBox .van-cell{ | |||
| padding: 0!important; | |||
| margin-bottom: 15px; | |||
| } | |||
| .topBox .van-cell .van-cell__title, .topBox .van-cell .van-cell__value , .topBox .van-cell .van-field__label{ | |||
| font-size: 15px; | |||
| color: #444444; | |||
| } | |||
| .topBox .van-cell .van-cell__title{ | |||
| margin-right: 0!important; | |||
| max-width: 76px!important; | |||
| min-width: 76px!important; | |||
| } | |||
| .top-box{ | |||
| /* margin-top: 20px; | |||
| margin-bottom: 28px; */ | |||
| } | |||
| .top-box text{ | |||
| margin-bottom: 15px; | |||
| } | |||
| .top-box text:last-child{ | |||
| margin-bottom: 0px; | |||
| } | |||
| .box-title{ | |||
| color: #2C8E68; | |||
| text-align: center; | |||
| font-size: 16px; | |||
| } | |||
| .center-box .main-box{ | |||
| margin-bottom: 15px; | |||
| } | |||
| .xm van-cell:first-child .van-cell{ | |||
| border-bottom: 1px solid #cccccc; | |||
| margin: 0; | |||
| padding-bottom: 15px!important; | |||
| margin-bottom: 15px; | |||
| } | |||
| .table-box van-field van-cell .van-cell{ | |||
| margin-bottom: 15px; | |||
| } | |||
| .table-box van-field:last-child van-cell .van-cell{ | |||
| margin-bottom: 0px; | |||
| } | |||
| .table-box view text icon{ | |||
| display: inline-block; | |||
| font-size: 14px; | |||
| border: 1px solid red; | |||
| color: red; | |||
| } | |||
| .table-box .van-cell{ | |||
| padding: 0!important; | |||
| } | |||
| @font-face { | |||
| font-family: 'my-icon'; | |||
| src: url('../../../image/icon/fj_icon.png') format('truetype'); | |||
| } | |||
| .my-icon { | |||
| font-family: 'my-icon'; | |||
| } | |||
| .my-icon-extra::before { | |||
| content: '\e626'; | |||
| } | |||
| .fj-box text{ | |||
| color: #666666; | |||
| text-align: left; | |||
| } | |||
| .fj-li{ | |||
| /* margin-top: 20px; */ | |||
| /* flex-wrap: wrap; */ | |||
| } | |||
| .fj-tt{ | |||
| display: flex; | |||
| align-items: center; | |||
| width: 100%; | |||
| padding: 10px 0px; | |||
| border-bottom: 1px solid #DCDCDC; | |||
| margin-bottom: 10px; | |||
| color: #999999; | |||
| } | |||
| .fj-li .img_li{ | |||
| width: 100%; | |||
| height: 18.5vw; | |||
| } | |||
| .fj-li .img_add{ | |||
| overflow: hidden; | |||
| } | |||
| .bottomBtn{ | |||
| display: flex; | |||
| width: 94%; | |||
| margin: 0 auto; | |||
| justify-content:space-between; | |||
| margin-top: 30px; | |||
| } | |||
| .bottomBtn view{ | |||
| display: flex; | |||
| width: 100%; | |||
| background-color: #ffffff; | |||
| border-radius: 5px; | |||
| box-shadow: 0px 5px 9px #DCDCDC; | |||
| padding: 10px 0px; | |||
| text-align: center; | |||
| align-items:center; | |||
| justify-content:center; | |||
| font-size: 14px; | |||
| color: #2C8E68; | |||
| } | |||
| .bottomBtn view image{ | |||
| width: 18px; | |||
| height: 18px; | |||
| margin-right: 5px; | |||
| } | |||
| .bottom{ | |||
| width: 84%; | |||
| margin: 0 auto; | |||
| text-align: center; | |||
| margin-top: 50px; | |||
| margin-bottom: 50px; | |||
| display: flex; | |||
| justify-content: space-between; | |||
| z-index: 999999; | |||
| } | |||
| .bottom view { | |||
| width: 47%; | |||
| margin: 0 auto; | |||
| border-radius: 30px; | |||
| display: inline-block; | |||
| } | |||
| .bottom .btn1{ | |||
| border: 1px solid #2C8E68; | |||
| padding: 8px 0px; | |||
| color: #2C8E68; | |||
| } | |||
| .bottom .btn2{ | |||
| border: 1px solid transparent; | |||
| padding: 8px 0px; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| color: #fff; | |||
| } | |||
| .bottom .btn3{ | |||
| border: 1px solid transparent; | |||
| padding: 8px 0px; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| color: #fff; | |||
| width: 100%; | |||
| } | |||
| .steps-box{ | |||
| padding: 0; | |||
| margin-top: 15px; | |||
| } | |||
| .steps-box .van-row{ | |||
| padding: 0 20px; | |||
| } | |||
| .steps-box view{ | |||
| margin-bottom: 0; | |||
| } | |||
| .steps-box .van-col{ | |||
| position: relative; | |||
| height: 70px; | |||
| } | |||
| .steps-box .van-col--21{ | |||
| padding: 12PX 0; | |||
| padding-left: 10px; | |||
| } | |||
| .steps-box .van-row:nth-child(2n){ | |||
| background: rgba(29,111,233,0.1); | |||
| } | |||
| .steps-box .van-cell{ | |||
| background: transparent; | |||
| padding: 0 10Px; | |||
| } | |||
| .steps-box .bq{ | |||
| display: inline-block; | |||
| padding: 0PX 10PX; | |||
| line-height: 0.64rem; | |||
| border-radius: 5PX; | |||
| } | |||
| .steps-box .index{ | |||
| background: linear-gradient(to bottom right, #5cae77, #7cdb9b); | |||
| color: #ffffff; | |||
| text-align: center; | |||
| width: 20PX; | |||
| height: 20PX; | |||
| line-height: 20PX; | |||
| border-radius: 50%; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 50%; | |||
| transform: translate(0,-50%); | |||
| } | |||
| .steps-box .indexCenter{ | |||
| top: 0!important; | |||
| } | |||
| .steps-box .van-row:first-child .van-col:first-child .indexBorder{ | |||
| top: calc(50% - 5px); | |||
| } | |||
| .steps-box .indexBorder{ | |||
| width: 10PX; | |||
| position: absolute; | |||
| right: 0; | |||
| top: 0; | |||
| height: 100%; | |||
| } | |||
| .steps-box .indexBorder .yq{ | |||
| height: 10PX; | |||
| width: 10PX; | |||
| background: #C9C9C9; | |||
| border-radius: 50%; | |||
| } | |||
| .steps-box .indexBorder .ss{ | |||
| height: calc(50% - 5PX); | |||
| width: 1PX; | |||
| background: #C9C9C9; | |||
| position: relative; | |||
| left: 4PX; | |||
| } | |||
| .steps-box .indexBorder .ssT{ | |||
| height: calc(50% - 5PX); | |||
| width: 1PX; | |||
| background: #C9C9C9; | |||
| position: relative; | |||
| left: 4PX; | |||
| } | |||
| .agree{ | |||
| background-color: rgba(92, 174, 119, 0.1); | |||
| color:#5CAE77 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .in{ | |||
| background-color: rgba(245, 163, 39, 0.1); | |||
| color:#F5A327 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .disagree{ | |||
| background-color: rgba(233, 0, 0, 0.1); | |||
| color:#E90000 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .steps-box .van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| .steps-box .van-cell__value{ | |||
| flex: 0.3; | |||
| } | |||
| .steps-tit{ | |||
| font-size: 16px; | |||
| text-align: center; | |||
| background-image: linear-gradient(to bottom right, #5cae77, #7cdb9b); | |||
| color: #ffffff; | |||
| padding: 20px 0; | |||
| border-top-left-radius: 10px; | |||
| border-top-right-radius: 10px; | |||
| } | |||
| .bottom{ | |||
| width: 84%; | |||
| margin: 0 auto; | |||
| text-align: center; | |||
| margin-top: 30px; | |||
| margin-bottom: 80px; | |||
| } | |||
| .bottom button { | |||
| width: 47%; | |||
| margin: 0 auto; | |||
| border-radius: 30px; | |||
| display: inline-block; | |||
| } | |||
| .bottom .btnAgree{ | |||
| border: 1px solid transparent; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| margin-left: 6%; | |||
| } | |||
| .input_tit{ | |||
| border: 1px solid #DCDCDC; | |||
| padding: 0px 10px; | |||
| height: 32px; | |||
| line-height: 32px; | |||
| border-radius: 5px; | |||
| margin-bottom: 15px; | |||
| } | |||
| .img_box{ | |||
| position: relative; | |||
| width: 100%; | |||
| display: flex; | |||
| flex-wrap: wrap; | |||
| } | |||
| .img_box .img_list{ | |||
| width: 23%; | |||
| margin-right: 2%; | |||
| position: relative; | |||
| } | |||
| .img_box .img_list .van-icon{ | |||
| font-size: 20px; | |||
| position: absolute; | |||
| top: 0; | |||
| right: 0; | |||
| transform: translate(50%,-50%); | |||
| } | |||
| .img_box .img_list:nth-child(n+5){ | |||
| margin-top: 15px; | |||
| } | |||
| .van-cell--required:before { | |||
| left: -8px!important; | |||
| } | |||
| .input_money{ | |||
| padding: 0px 10px; | |||
| height: 32px; | |||
| line-height: 32px; | |||
| color: #E90000; | |||
| font-size: 26px; | |||
| display: inline-block; | |||
| width: 70%; | |||
| text-align: center; | |||
| } | |||
| .money_box{ | |||
| font-size: 26px; | |||
| border-bottom:1px solid #DCDCDC; | |||
| width: 70%; | |||
| margin: 0 auto; | |||
| margin-bottom: 15px; | |||
| color: #E90000; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| } | |||
| .btnBox{ | |||
| text-align: center; | |||
| position: relative; | |||
| height: 26px; | |||
| } | |||
| .down{ | |||
| width: 30px; | |||
| height: 26px; | |||
| margin: 0 auto; | |||
| } | |||
| .update{ | |||
| width: 26px; | |||
| height: 26px; | |||
| position: absolute; | |||
| right: 41px; | |||
| } | |||
| .delete{ | |||
| width: 26px; | |||
| height: 26px; | |||
| position: absolute; | |||
| right: 0; | |||
| } | |||
| .van-collapse-item { | |||
| background: transparent; | |||
| margin: 0 auto; | |||
| width: 100%; | |||
| margin: 0 auto; | |||
| margin-top: 15px; | |||
| } | |||
| .van-collapse-item__content{ | |||
| padding: 0!important; | |||
| } | |||
| .van-collapse .van-cell{ | |||
| padding: 0; | |||
| background: transparent; | |||
| } | |||
| .main-box .van-cell{ | |||
| padding: 0; | |||
| background: transparent; | |||
| } | |||
| .van-collapse .tit_box .title{ | |||
| text-align: center; | |||
| font-size: 18px; | |||
| } | |||
| .van-collapse .main-box{ | |||
| /* padding: 0; | |||
| box-shadow: none; */ | |||
| } | |||
| .van-collapse .tit_box{ | |||
| width: 94%; | |||
| background: #ffffff; | |||
| margin: 0 auto; | |||
| border-radius: 10px; | |||
| box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | |||
| padding: 20px; | |||
| } | |||
| .van-collapse .tit_box .top-box .van-cell{ | |||
| margin-bottom: 15px; | |||
| } | |||
| .van-field__label { | |||
| color: var(--field-label-color,#646566); | |||
| } | |||
| .van-field__control { | |||
| color: var(--field-label-color,#646566)!important; | |||
| } | |||
| .payee_box{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| } | |||
| .payee_box view{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| padding: 10px calc(3% + 20px); | |||
| } | |||
| .payee_box view text{ | |||
| margin-left: 5px; | |||
| color: #2C8E68; | |||
| } | |||
| .payee_box .add{ | |||
| justify-content: center; | |||
| background-color: #2C8E68; | |||
| color: #fff; | |||
| font-weight: bold; | |||
| padding: 0px; | |||
| margin: 0 calc(3% + 20px); | |||
| width: 20px; | |||
| height: 20px; | |||
| border-radius: 20px; | |||
| line-height: 1; | |||
| } | |||
| .file_box{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| } | |||
| .file_box .add{ | |||
| margin: 0 calc(3% + 20px); | |||
| } | |||
| .aaa{ | |||
| color: red; | |||
| } | |||
| .payeeList { | |||
| padding: 10px 20px!important; | |||
| } | |||
| .payeeList .van-collapse-item { | |||
| margin-top: 0; | |||
| } | |||
| .payeeList .van-collapse .van-cell { | |||
| padding: 10px 0!important; | |||
| } | |||
| .payeeList van-field van-cell .van-cell{ | |||
| margin-bottom: 0; | |||
| } | |||
| .payeeList .van-cell__value { | |||
| color: #E90000; | |||
| } | |||
| .payeeList .van-cell__title{ | |||
| flex-shrink: 0; | |||
| max-width: inherit; | |||
| } | |||
| @@ -382,7 +382,7 @@ Page({ | |||
| let fileForm={ | |||
| file: event.detail, | |||
| fileType:event.currentTarget.dataset.idx, | |||
| tableName: "t_contraction_info", //上传表 | |||
| tableName: "t_contraction_fill", //上传表 | |||
| bizPath: "contraction", //上传目录 | |||
| tableId:_this.data.itemId | |||
| } | |||
| @@ -358,6 +358,7 @@ Page({ | |||
| setTimeout(function(){ | |||
| UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{ | |||
| success: (res) => { | |||
| if(res.rows){ | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| if(res.rows[i].bankAccountNumber==null){continue;} | |||
| res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 "); | |||
| @@ -370,19 +371,27 @@ Page({ | |||
| accountList:res.rows | |||
| }) | |||
| wx.hideLoading(); | |||
| }else{ | |||
| wx.hideLoading(); | |||
| } | |||
| } | |||
| }) | |||
| UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData2,{ | |||
| success: (res) => { | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| if(res.rows){ | |||
| for (let i = 0; i < res.rows.length; i++) { | |||
| res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| } | |||
| console.log(res.rows) | |||
| that.setData({ | |||
| accountListXJ:res.rows | |||
| }) | |||
| } | |||
| console.log(res.rows) | |||
| that.setData({ | |||
| accountListXJ:res.rows | |||
| }) | |||
| } | |||
| }) | |||
| @@ -19,9 +19,9 @@ | |||
| <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/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':''}}"> | |||
| <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="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':''}}.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':'other'}}.png" style="width: 25px" mode="widthFix"></image> | |||
| <text>{{item.accountName}}</text> | |||
| </view> | |||
| @@ -62,6 +62,22 @@ | |||
| background:url('https://www.nongshen.net/static/wechat/bg_RCB.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .EMS{ | |||
| background:url('https://www.nongshen.net/static/wechat/bg_EMS.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .BOC{ | |||
| background:url('https://www.nongshen.net/static/wechat/bank_BOC.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .ZYB{ | |||
| background:url('https://www.nongshen.net/static/wechat/bank_ZYB.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .bank_other{ | |||
| background:url('https://www.nongshen.net/static/wechat/bank_other.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| } | |||
| .gwk{ | |||
| background:url('https://www.nongshen.net/static/wechat/bg_GWK.png') no-repeat center; | |||
| background-size: 105% 105%; | |||
| @@ -16,7 +16,7 @@ | |||
| <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="{{ 220 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" > | |||
| <van-swipe-cell right-width="{{ 100 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" > | |||
| <view class="li" bindtap="goUpdate" data-id="{{item.id}}"> | |||
| <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> | |||
| @@ -48,15 +48,15 @@ | |||
| </view> | |||
| </view> | |||
| <view slot="right" class="deleteBox"> | |||
| <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(165,165,165,0.2);" data-data="{{item}}" data-index="{{index}}" bindtap="scrap" 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(165,165,165,0.2);" data-data="{{item}}" data-index="{{index}}" bindtap="scrap" wx:if="{{item.assetStatus != 3}}"> | |||
| <view> | |||
| <image src="../../image/icon/scrap_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | |||
| </view> | |||
| <view> | |||
| <text style="color:#A5A5A5">报废</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-data="{{item}}" data-index="{{index}}" bindtap="sell" wx:if="{{item.assetStatus != 3}}"> | |||
| </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-data="{{item}}" data-index="{{index}}" bindtap="sell" 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> | |||
| @@ -71,7 +71,7 @@ | |||
| <view> | |||
| <text style="color:red">删除</text> | |||
| </view> | |||
| </view> | |||
| </view> --> | |||
| <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(98,173,102,0.2);" data-id="{{item.id}}" data-index="{{index}}" data-status="{{item.assetStatus}}" bindtap="upload"> | |||
| <view> | |||
| <image src="../../image/icon/upload_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | |||
| @@ -80,14 +80,14 @@ | |||
| <text style="color: #62AD66;">附件</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> | |||
| <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> --> | |||
| </view> | |||
| </van-swipe-cell> | |||
| </scroll-view> | |||
| @@ -64,7 +64,7 @@ text{display: block;} | |||
| color: #31936c; | |||
| } | |||
| .deleteBox{ | |||
| width: 220px; | |||
| width: 100px; | |||
| text-align: center; | |||
| height: 100%; | |||
| background: #F6F6F6; | |||
| @@ -0,0 +1,573 @@ | |||
| // pages/handle/expenditureAudit/expenditureAudit.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, | |||
| active:0, | |||
| spsxOptions:[], | |||
| paymentPatternOptions:[], | |||
| nickName:'', | |||
| comment:'', | |||
| activeNames: 0, | |||
| transferTypeOption:[ | |||
| { | |||
| dictLabel:'银行转账', | |||
| dictValue:'1' | |||
| }, | |||
| { | |||
| dictLabel:'信用卡转账', | |||
| dictValue:'2' | |||
| } | |||
| ], | |||
| showSteps:false, | |||
| activeStepsNames:'' | |||
| }, | |||
| showS(){ | |||
| this.setData({ | |||
| showSteps:!this.data.showSteps, | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| var that = this; | |||
| that.setData({ | |||
| taskId:options.taskId, | |||
| pageType:options.type | |||
| }) | |||
| wx.showLoading({ | |||
| title: '正在加载模板', | |||
| mask:true | |||
| }) | |||
| //所属银行 | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, { | |||
| success: (res) => { | |||
| this.setData({ | |||
| bankTypeOptions:res.data | |||
| }); | |||
| } | |||
| }) | |||
| // 资金支出类别字典查询 | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| capitalExpenditureTypeOptions:res.data, | |||
| }) | |||
| } | |||
| }) | |||
| // 汇票列表查询 | |||
| UTIL.httpRequest(API.URL_GET_GETMONEYORDERLIST, {method:'GET'}, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| moneyOrderOptions:res.rows, | |||
| }) | |||
| } | |||
| }) | |||
| // 付款方式类型字典查询 (2.0) | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'yn_pay_type', {method:'GET'}, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| transferTypeOptions:res.data, | |||
| }) | |||
| } | |||
| }) | |||
| // 项目工程列表 | |||
| UTIL.httpRequest(API.URL_GET_GETPROJECTLIST , {method:'GET'}, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| projectOptions:res.rows, | |||
| }) | |||
| } | |||
| }) | |||
| // 工程款类型字典查询 | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'project_fund_type', {method:'GET'}, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| projectFundTypeOptions:res.data, | |||
| }) | |||
| } | |||
| }) | |||
| // 获取合同信息列表 | |||
| UTIL.httpRequest(API.URL_GET_CONTRACTIONLIST , {method:'GET',contractionStatus:1}, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| contractionOptions:res.rows, | |||
| }) | |||
| } | |||
| }) | |||
| let templateQueryParams = { | |||
| // 分页 | |||
| method:'GET', | |||
| pageNum: 1, | |||
| pageSize: 999, | |||
| type:'1' | |||
| }; | |||
| // 审批流程列表 | |||
| UTIL.httpRequest(API.URL_GET_TEMPLATELIST , templateQueryParams, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| approvalTemplateNameOptions:res.rows, | |||
| ["form.approvalTemplateId"]:res.rows[0].id, | |||
| ["form.approvalTemplateName"]:res.rows[0].name, | |||
| }) | |||
| } | |||
| }) | |||
| UTIL.showLoadingHaveMask(); | |||
| var perames = { | |||
| pageNum:1, | |||
| pageSize:999, | |||
| accountType:'102', | |||
| method:'POST' | |||
| } | |||
| // 付款方列表 | |||
| UTIL.httpRequest(API.URL_GET_SELECTACCOUNTLIST , perames, { | |||
| success: (res) => { | |||
| console.log(res); | |||
| that.setData({ | |||
| accountOptions:res.rows, | |||
| }) | |||
| } | |||
| }) | |||
| setTimeout(function(){ | |||
| UTIL.httpRequest(API.URL_GET_APPROVALITEMS+options.id, {method:'GET'}, { | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| // 审批模板 | |||
| UTIL.httpRequest(API.URL_GET_selectApprovalByTemplateId+res.data.approvalTemplateId, {method:'GET'}, { | |||
| success: (rres) => { | |||
| that.setData({ | |||
| steps:rres.approvalDetails | |||
| }) | |||
| } | |||
| }) | |||
| res.data.capitalExpenditureTypeText = UTIL.getTransform(res.data.capitalExpenditureType,that.data.capitalExpenditureTypeOptions); | |||
| res.data.transferTypeText = UTIL.getTransform(res.data.transferType,that.data.transferTypeOption); | |||
| if(res.data.capitalExpenditureType == 2){ | |||
| let prames = { | |||
| outId:res.data.id, | |||
| ynType: res.data.transferType=='1'||res.data.transferType=='2'||res.data.transferType=='4'?'1':'2' | |||
| } | |||
| // 工程项目查询 | |||
| UTIL.httpRequest(API.URL_GET_GETPROJECTTO , prames, { | |||
| success: (res) => { | |||
| res.data.projectFundTypeText = UTIL.getTransform(res.data.projectFundType,that.data.projectFundTypeOptions); | |||
| that.setData({ | |||
| ["form.projectForm"]:res.data, | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| if(res.data.capitalExpenditureType == 4){ | |||
| let prames = { | |||
| transferId:res.data.id, | |||
| } | |||
| // 关联合同查询 | |||
| UTIL.httpRequest(API.URL_GET_GETSELECTINFOBYOUTID , prames, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| ["form.contractionForm"]:res.data, | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| that.setData({ | |||
| ["form.fileNum"]:0, | |||
| }) | |||
| UTIL.httpRequest( | |||
| API.URL_GET_FINDLIST, | |||
| { | |||
| method:'GET', | |||
| tableName:'t_yinnong_transfer', | |||
| tableId:res.data.id, | |||
| fileType:1 | |||
| }, | |||
| { | |||
| 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:'1', | |||
| bizPath:'transfer', | |||
| tableName:'t_yinnong_transfer', | |||
| tableId:'' | |||
| }) | |||
| list.push({ | |||
| tempFilePath:wx.getStorageSync('dressCode')+item2.fileUrl, | |||
| id:item2.id | |||
| }) | |||
| that.setData({ | |||
| ["form.fileNum"]:that.data.form.fileNum+1, | |||
| ["form.SJimage"]:list, | |||
| ["form.fileForm"]:fileForm | |||
| }); | |||
| }) | |||
| } | |||
| }) | |||
| //发票 | |||
| UTIL.httpRequest( | |||
| API.URL_GET_FINDLIST, | |||
| { | |||
| method:'GET', | |||
| tableName:'t_yinnong_transfer', | |||
| tableId:res.data.id, | |||
| fileType:2 | |||
| }, | |||
| { | |||
| 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:'2', | |||
| 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.FPimage"]:list, | |||
| ["form.fileForm"]:fileForm | |||
| }); | |||
| }) | |||
| } | |||
| }) | |||
| //其他 | |||
| UTIL.httpRequest( | |||
| API.URL_GET_FINDLIST, | |||
| { | |||
| method:'GET', | |||
| tableName:'t_yinnong_transfer', | |||
| tableId:res.data.id, | |||
| fileType:3 | |||
| }, | |||
| { | |||
| 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:'3', | |||
| 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.QTimage"]:list, | |||
| ["form.fileForm"]:fileForm | |||
| }); | |||
| }) | |||
| } | |||
| }) | |||
| let query = { | |||
| method:'GET', | |||
| // accountType:res.data.accountType, | |||
| // status:"0", | |||
| // orderByColumn: "id", | |||
| // isAsc: "desc", | |||
| } | |||
| UTIL.httpRequest(API.URL_GET_TRANSFERINFOS+options.id, query, { | |||
| success: (response) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| for(let i = 0 ; i < response.rows.length ; i++){ | |||
| response.rows[i].bankTypeText = UTIL.getTransform(response.rows[i].bankType,that.data.bankTypeOptions); | |||
| } | |||
| that.setData({ | |||
| ["form.payeeList"]:response.rows | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| that.setData({ | |||
| form:res.data, | |||
| isUpdate:true, | |||
| showFile:true, | |||
| activeNames:null | |||
| }) | |||
| UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, { | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| that.setData({ | |||
| ["form.approvalItemTemplate.submitCompany"]:res.user.bookName, | |||
| ["form.approvalItemTemplate.submitDate"]:UTIL.js_date_time(new Date()), | |||
| ["form.approvalItemTemplate.submitter"]:res.user.nickName, | |||
| ["form.approvalItemTemplate.telephone"]:res.user.phonenumber, | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| // 查询审批事项流转进度 | |||
| UTIL.httpRequest(API.URL_GET_GETPROCESS+options.id , {method:'GET'}, { | |||
| success: (res) => { | |||
| console.log(res); | |||
| for (let i = 0; i < res.data.processSchedule.审批事项.length; i++) { | |||
| const element = res.data.processSchedule.审批事项[i]; | |||
| if (element.electronicSignature!=null) { | |||
| 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.审批事项}) | |||
| } | |||
| that.setData({instanceId:res.data.instanceId}) | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| UTIL.hideLoadingHaveMask(); | |||
| } | |||
| } | |||
| }) | |||
| },1000) | |||
| }, | |||
| onChangePayee(event) { | |||
| console.log(event); | |||
| this.setData({ | |||
| ["form.transfers["+event.currentTarget.dataset.index+"].activeName"]:event.detail | |||
| }); | |||
| }, | |||
| onClosePayee(event){ | |||
| console.log("aaa"); | |||
| this.setData({ | |||
| ["form.transfers["+event.currentTarget.dataset.index+"].activeName"]:'' | |||
| }); | |||
| console.log(this.data.form.transfers[event.currentTarget.dataset.index]); | |||
| }, | |||
| goDis(){ | |||
| var that = this ; | |||
| console.log() | |||
| let data = { | |||
| taskId:that.data.taskId, | |||
| instanceId:that.data.instanceId, | |||
| variables:JSON.stringify({ | |||
| comment:that.data.comment == '' ? '驳回':that.data.comment, | |||
| pass:false, | |||
| }), | |||
| method:'POST' | |||
| }; | |||
| UTIL.httpRequest(API.URL_GET_PROCESSCOMPLETE , 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 | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| goAgree(){ | |||
| var that = this ; | |||
| let data = { | |||
| taskId:that.data.taskId, | |||
| instanceId:that.data.instanceId, | |||
| variables:JSON.stringify({ | |||
| "comment":that.data.comment == '' ? '同意':that.data.comment, | |||
| "pass":true, | |||
| }), | |||
| method:'POST' | |||
| }; | |||
| UTIL.httpRequest(API.URL_GET_PROCESSCOMPLETE ,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){ | |||
| console.log(e); | |||
| var that = this; | |||
| that.setData({ | |||
| comment:e.detail.value | |||
| }) | |||
| }, | |||
| onChangeBox(event) { | |||
| console.log(event); | |||
| this.setData({ | |||
| activeNames: event.detail, | |||
| }); | |||
| }, | |||
| onCloseSecond(e){ | |||
| var that = this ; | |||
| console.log(e); | |||
| that.setData({ | |||
| ["form.showTitle"]:false | |||
| }) | |||
| }, | |||
| onChangeSteps(event) { | |||
| console.log(event); | |||
| this.setData({ | |||
| activeStepsNames:event.detail | |||
| }); | |||
| }, | |||
| onCloseSteps(event){ | |||
| console.log("aaa"); | |||
| this.setData({ | |||
| activeStepsNames:'' | |||
| }); | |||
| }, | |||
| onOpen(e){ | |||
| var that = this ; | |||
| that.setData({ | |||
| ["form.showTitle"]:true | |||
| }) | |||
| }, | |||
| openPreview(e){ | |||
| let array = []; | |||
| console.log(e); | |||
| e.currentTarget.dataset.option.forEach(item=>{ | |||
| array.push(item.tempFilePath) | |||
| }) | |||
| console.log(array); | |||
| wx.previewImage({ | |||
| urls: array, | |||
| showmenu:true, | |||
| current:array[e.currentTarget.dataset.index] | |||
| }) | |||
| }, | |||
| goPayee(event){ | |||
| wx.navigateTo({ | |||
| url: '/pages/pay/payee/payee?options='+JSON.stringify(event.currentTarget.dataset.option) | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| back:function(){ | |||
| wx.navigateBack({ | |||
| delta: 1 | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage: function () { | |||
| } | |||
| }) | |||
| @@ -0,0 +1,23 @@ | |||
| { | |||
| "navigationStyle": "custom", | |||
| "usingComponents": { | |||
| "van-row": "@vant/weapp/row/index", | |||
| "van-col": "@vant/weapp/col/index", | |||
| "van-cell": "@vant/weapp/cell/index", | |||
| "van-cell-group": "@vant/weapp/cell-group/index", | |||
| "van-tag": "@vant/weapp/tag/index", | |||
| "van-icon": "@vant/weapp/icon/index", | |||
| "van-steps": "@vant/weapp/steps/index", | |||
| "van-button": "@vant/weapp/button/index", | |||
| "van-radio": "@vant/weapp/radio/index", | |||
| "van-radio-group": "@vant/weapp/radio-group/index", | |||
| "van-field": "@vant/weapp/field/index", | |||
| "van-popup": "@vant/weapp/popup/index", | |||
| "van-picker": "@vant/weapp/picker/index", | |||
| "van-calendar": "@vant/weapp/calendar/index", | |||
| "van-dialog": "@vant/weapp/dialog/index", | |||
| "van-collapse": "@vant/weapp/collapse/index", | |||
| "van-collapse-item": "@vant/weapp/collapse-item/index", | |||
| "van-empty": "@vant/weapp/empty/index" | |||
| } | |||
| } | |||
| @@ -0,0 +1,515 @@ | |||
| <!--pages/handle/expenditureAudit/expenditureAudit.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="pure_top" style="top:{{isIPX?'88px':'64px'}};"></view> | |||
| <view class="center" style="margin-top:{{isIPX?'100px':'75px'}};"> | |||
| <!-- ------------------------------基础信息 start------------------------------ --> | |||
| <van-collapse accordion value="{{ activeNames }}" bind:change="onChangeBox" bind:open="onOpen" bind:close="onCloseSecond"> | |||
| <van-collapse-item name="1" disabled="{{false}}" is-link="{{false}}"> | |||
| <view slot="title" wx:if="{{!form.showTitle}}"> | |||
| <text class="title">{{ form.transferTypeText }}</text> | |||
| </view> | |||
| <view slot="title" class="tit_box" wx:if="{{!form.showTitle}}"> | |||
| <!-- <text class="title" style="text-align: center;">事项</text> --> | |||
| <view class="top-box"> | |||
| <view class="money_box">¥<input class="input_money" disabled placeholder="金额" placeholder-style="color:#E90000;" value="{{form.expenditureAmount}}"/></view> | |||
| <van-cell-group border="{{ false }}"> | |||
| <van-cell title="{{form.payer}}" border="{{ false }}" center > | |||
| <view slot="icon" style="width: 15%;"><image src="/image/apply/icon_fu.png" style="width: 20px;height: 20px;vertical-align: middle;"></image></view> | |||
| </van-cell> | |||
| <van-cell title="{{form.payeeList[0].payee}}" wx:if="{{form.payeeList.length < 2}}" center border="{{ false }}"> | |||
| <view slot="icon" style="width: 15%;"><image src="/image/apply/icon_shou.png" style="width: 20px;height: 20px;vertical-align: middle;"></image></view> | |||
| </van-cell> | |||
| <van-cell title="共{{form.payeeList.length}}条" wx:if="{{form.payeeList.length > 1}}" center border="{{ false }}"> | |||
| <view slot="icon" style="width: 15%;"><image src="/image/apply/icon_shou.png" style="width: 20px;height: 20px;"></image></view> | |||
| </van-cell> | |||
| <van-field readonly value="转账附言:{{ form.remark }}" border="{{ false }}" input-align="left"/> | |||
| <van-field readonly value="说明情况:{{ form.explainSituation==null?'':form.explainSituation }}" border="{{ false }}" input-align="left"/> | |||
| <van-field readonly value="申请时间:{{ form.applyDate }}" border="{{ false }}" input-align="left"/> | |||
| <view class="btnBox"> | |||
| <image src="/image/apply/down.png" class="down"></image> | |||
| <!-- <image src="/image/apply/icon_update.png" class="update" bindtap="goUpdate"></image> --> | |||
| </view> | |||
| </van-cell-group> | |||
| </view> | |||
| </view> | |||
| <view class="center"> | |||
| <text class="title">基础信息</text> | |||
| <view class="main-box table-box"> | |||
| <!-- 申请时间 start --> | |||
| <van-field required label="申请时间:" readonly value="{{ form.applyDate }}" placeholder="请选择申请时间" border="{{ false }}" bind:change="onChangeTime" bindtap="openBox" data-name="showApplyDate" input-align="right" /> | |||
| <van-calendar show="{{ showApplyDate }}" bind:close="closeBox" bind:confirm="onConfirmTime" show-confirm="{{ false }}" data-name="showApplyDate" /> | |||
| <!-- 申请时间 end --> | |||
| <!-- 资金支出类别 start --> | |||
| <van-popup show="{{showCapitalExpenditureType}}" round position="bottom" data-name="showCapitalExpenditureType" bind:close="closeBox"> | |||
| <van-picker | |||
| columns="{{capitalExpenditureTypeOptions}}" | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmPick" | |||
| data-name="showCapitalExpenditureType" | |||
| data-value="form.capitalExpenditureType" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="资金支出类别" readonly value="{{ form.capitalExpenditureTypeText }}" placeholder="请选择" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down" bindtap="openBox" data-name="showCapitalExpenditureType"/> | |||
| <!-- 资金支出类别 end --> | |||
| <!-- 转账类型 start --> | |||
| <!-- <van-field required input-align="right" label="转账类型" center border="{{false}}"> | |||
| <view slot="input" style="margin-left: auto;"> | |||
| <van-radio-group | |||
| value="{{ form.transferType }}" | |||
| bind:change="onChange" | |||
| direction="horizontal" | |||
| data-value="form.transferType" | |||
| style="margin-left: auto;" | |||
| disabled | |||
| > | |||
| <van-radio name="1" checked-color="#2C8E68">银行转账</van-radio> | |||
| <van-radio name="2" checked-color="#2C8E68">信用卡转账</van-radio> | |||
| </van-radio-group> | |||
| </view> | |||
| </van-field> --> | |||
| <van-field required label="转账类型" readonly value="{{ form.transferTypeText }}" placeholder="请选择" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down" bindtap="openBox" data-name="showTransferTypeOption"/> | |||
| <!-- 转账类型 end --> | |||
| <!-- 审批流程 start --> | |||
| <van-popup show="{{showApprovalTemplateName}}" round position="bottom" bind:close="closeBox"> | |||
| <van-picker | |||
| columns="{{approvalTemplateNameOptions}}" | |||
| show-toolbar | |||
| value-key="name" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmPickApproval" | |||
| data-name="showApprovalTemplateName" | |||
| data-value="approvalTemplateName" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="审批流程" readonly value="{{form.approvalTemplateName}}" placeholder="请选择" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down" bindtap="openBox" data-name="showApprovalTemplateName"/> | |||
| <!-- 审批流程 end --> | |||
| <!-- <text style="text-align: center;color: #2C8E68;padding: 0 0 10px 0;" bind:tap="showS">{{showSteps?'点击关闭审批模板':'点击查看审批模板'}}</text> --> | |||
| <!-- 支出总金额 start --> | |||
| <van-field required readonly label="支出总金额" type="digit" value="{{form.expenditureAmount}}" placeholder="根据下方收款金额自动核算" border="{{ false }}" input-align="right" bind:input="onChangeMoney"/> | |||
| <!-- 支出总金额 end --> | |||
| <van-collapse value="{{ activeStepsNames }}" border="{{false}}" bind:change="onChangeSteps" bind:close="onCloseSteps"> | |||
| <van-collapse-item name="1" border="{{false}}" is-link="{{false}}"> | |||
| <view slot="title"><text style="text-align: center;color: #2C8E68;padding: 0;" bind:tap="showS">{{showSteps?'点击关闭审批模板':'点击查看审批模板'}}</text></view> | |||
| <view class="main-box steps-box" style="width: 99%;margin-bottom: 15px;"> | |||
| <view class="steps-tit">审批模板</view> | |||
| <van-row wx:for="{{steps}}" wx:key="index"> | |||
| <van-col span="3"> | |||
| <view class="index">{{index+1}}</view> | |||
| <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="{{steps.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="{{steps.length != index+1}}"></view> | |||
| </view> | |||
| </block> | |||
| </van-col> | |||
| <van-col span="21"> | |||
| <van-cell title="{{item.name}}" center="{{true}}" border="{{false}}"> | |||
| <view class="agree" wx:if="{{item.type=='1'}}">{{ item.name }}</view> | |||
| <view class="in" wx:if="{{item.type=='2'}}">{{ item.name }}</view> | |||
| <view class="disagree" wx:if="{{item.type=='3'}}">{{ item.name }}</view> | |||
| <view style="color: #999999;font-size: 12px;">{{ item.approvalLevel == 1 ? '组级审批' : item.approvalLevel == 2 ? '村级审批' : item.approvalLevel == 3 ? '镇级审批' : item.approvalLevel == 4 ? '区县审批' : '' }}</view> | |||
| </van-cell> | |||
| <van-cell center border="{{false}}"> | |||
| <view slot="title"> | |||
| <view style="color: #999999;"> | |||
| {{ item.nickName }} | |||
| <span wx-if="{{item.feeLimit != 0 && item.nickName != null}}">({{item.feeLimit}}元)</span> | |||
| </view> | |||
| </view> | |||
| </van-cell> | |||
| </van-col> | |||
| </van-row> | |||
| </view> | |||
| </van-collapse-item> | |||
| </van-collapse> | |||
| </view> | |||
| <!-- ------------------------------关联项目 start------------------------------ --> | |||
| <block wx:if="{{form.capitalExpenditureType == 2}}"> | |||
| <text class="title">关联项目</text> | |||
| <view class="main-box table-box"> | |||
| <van-popup show="{{showProject}}" round position="bottom" bind:close="closeBox" data-name="showProject"> | |||
| <van-picker | |||
| columns="{{projectOptions}}" | |||
| show-toolbar | |||
| value-key="projectName" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmProject" | |||
| data-name="showProject" | |||
| data-value="form.projectForm" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="项目名称" readonly value="{{ form.projectForm.projectName }}" placeholder="请输入项目名称" border="{{ false }}" bind:change="onChange" input-align="right" bindtap="openBox" data-name="showProject"/> | |||
| <van-field label="承建单位" readonly value="{{ form.projectForm.projectContractor }}" placeholder="请输入承建单位" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field label="合同价款(元)" readonly value="{{ form.projectForm.projectAmount }}" placeholder="请输入合同价款(元)" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-popup show="{{showProjectFundType}}" round position="bottom" bind:close="closeBox" data-name="showProjectFundType"> | |||
| <van-picker | |||
| columns="{{projectFundTypeOptions}}" | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmPick" | |||
| data-name="showProjectFundType" | |||
| data-value="form.projectForm.projectFundType" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="工程款类型" readonly value="{{ form.projectForm.projectFundTypeText }}" placeholder="请选择工程款类型" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down" bindtap="openBox" data-name="showProjectFundType"/> | |||
| <van-field readonly label="工程发票号" value="{{ form.projectForm.projectBillNum }}" placeholder="请输入工程发票号" border="{{ false }}" data-value="form.projectForm.projectBillNum" bind:change="onChange" input-align="right"/> | |||
| </view> | |||
| </block> | |||
| <!-- ------------------------------关联项目 end------------------------------ --> | |||
| <!-- ------------------------------关联合同 start------------------------------ --> | |||
| <block wx:if="{{form.capitalExpenditureType == 4}}"> | |||
| <text class="title">关联合同</text> | |||
| <view class="main-box table-box"> | |||
| <van-popup show="{{form.showContraction}}" round position="bottom" bind:close="closeBox" data-name="form.showContraction"> | |||
| <van-picker | |||
| columns="{{contractionOptions}}" | |||
| show-toolbar | |||
| value-key="name" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmContraction" | |||
| data-name="form.showContraction" | |||
| data-value="form.contractionForm" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="合同名称" readonly value="{{ form.contractionForm.name }}" placeholder="请选择合同名称" border="{{ false }}" bind:change="onChange" input-align="right" bindtap="openBox" data-name="form.showContraction"/> | |||
| <van-field label="合同编码" readonly value="{{ form.contractionForm.code }}" placeholder="请输入合同编码" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field label="合同价款(元)" readonly value="{{ form.contractionForm.totalAmount }}" placeholder="请输入合同价款(元)" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| </view> | |||
| </block> | |||
| <!-- ------------------------------关联合同 end------------------------------ --> | |||
| <!-- ------------------------------基础信息 end------------------------------ --> | |||
| <text class="title">付款方信息</text> | |||
| <view class="main-box table-box"> | |||
| <!-- <van-popup show="{{form.showTransferType}}" round position="bottom" bind:close="closeBox" data-name="form.showTransferType"> | |||
| <van-picker | |||
| columns="{{transferTypeOptions}}" | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmaTransfer" | |||
| data-name="form.showTransferType" | |||
| data-value="form.transfers[{{index}}]" | |||
| /> | |||
| </van-popup> | |||
| <van-field required label="付款方式" readonly value="{{ form.transferTypeText }}" placeholder="请输入付款方式" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="form.showTransferType"/> --> | |||
| <van-popup show="{{showAccount}}" round position="bottom" bind:close="closeBox" data-name="showAccount"> | |||
| <van-picker | |||
| columns="{{accountOptions}}" | |||
| show-toolbar | |||
| value-key="accountName" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmAccount" | |||
| data-name="showAccount" | |||
| data-value="form" | |||
| /> | |||
| </van-popup> | |||
| <van-field required readonly value="{{ form.payer }}" placeholder="请选择付款方名称" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down" bindtap="openBox" data-name="showAccount"> | |||
| <view slot="label" style="color: var(--field-label-color,#646566);"> | |||
| 付款方<van-tag plain type="danger" color="#5CAE77" round style="margin-left:10px;">选择</van-tag> | |||
| </view> | |||
| </van-field> | |||
| <!-- <van-field readonly wx:if="{{form.transferType == 11}}" label="可用余额(元)" value="{{ form.payerAccount }}" placeholder="可用余额" border="{{ false }}" data-value="form.payerAccount" bind:change="onChange" input-align="right"/> | |||
| <block wx:elif="{{form.transferType == 12}}"> | |||
| <van-popup show="{{form.showMoneyOrder}}" round position="bottom" bind:close="closeBox" data-name="showMoneyOrder"> | |||
| <van-picker | |||
| columns="{{moneyOrderOptions}}" | |||
| show-toolbar | |||
| value-key="billPayUnit" | |||
| bind:cancel="closeBox" | |||
| bind:confirm="onConfirmMoneyOrder" | |||
| data-name="form.showMoneyOrder" | |||
| data-value="form.transfers[{{index}}]" | |||
| data-index="{{index}}" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly label="出票方" value="{{form.moneyOrderForm.billPayUnit }}" placeholder="请选择出票方" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="form.showMoneyOrder"/> | |||
| <van-field readonly label="汇票号码" value="{{ form.moneyOrderForm.orderNum }}" placeholder="汇票号码" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="出票金额(元)" value="{{ form.moneyOrderForm.orderAmount }}" placeholder="出票金额(元)" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="汇票类型" value="{{ form.moneyOrderForm.orderType }}" placeholder="汇票类型" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="开票日" value="{{ form.moneyOrderForm.startTime }}" placeholder="开票日" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="到期日" value="{{ form.moneyOrderForm.endTime }}" placeholder="到期日" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| </block> --> | |||
| <!-- <block wx:else> --> | |||
| <van-field required readonly label="付款方账户" value="{{ form.payerAccount }}" placeholder="请输入付款方账号" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <!-- <van-field required readonly label="所属银行" value="{{ form.bankTypeText }}" placeholder="请输入所属银行" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <van-field readonly label="可用余额(元)" value="{{ form.balance }}" placeholder="可用余额" border="{{ false }}" input-align="right"/> --> | |||
| <!-- </block> --> | |||
| </view> | |||
| <!-- 转账附言 start --> | |||
| <view class="main-box table-box" style="margin-top: 10px;"> | |||
| <van-field readonly value="{{form.remark}}" required label="转账附言" type="textarea" autosize="{{autosize}}" placeholder="附言请尽量简洁减少标点符号的使用,详情可在”说明情况“中描述" border="{{ false }}" input-align="right" bind:input="onChange" data-value="form.remark"/> | |||
| </view> | |||
| <!-- 转账附言 end --> | |||
| <!-- 说明情况 start --> | |||
| <view class="main-box table-box" style="margin-top: 10px;"> | |||
| <van-field readonly value="{{form.explainSituation}}" label="说明情况" type="textarea" autosize="{{autosize}}" placeholder="请输入说明情况" border="{{ false }}" input-align="right" bind:input="onChange" data-value="form.explainSituation"/> | |||
| </view> | |||
| <!-- 说明情况 end --> | |||
| <view class="payee_box"> | |||
| <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"> | |||
| <image src="/image/apply/icon_exel.png" style="width: 15px;height: 15px;"></image> | |||
| <text>批量上传</text> | |||
| </view> | |||
| <view class="add" bind:tap="addPayee">+</view> --> | |||
| </view> | |||
| <view class="main-box table-box" style="margin-bottom: 10px;" wx:if="{{form.bankType == 2 || form.bankType == 3 || form.bankType == 4}}"> | |||
| <van-field required input-align="right" label="行内转账" center border="{{false}}"> | |||
| <view slot="input" style="margin-left: auto;"> | |||
| <van-radio-group | |||
| value="{{ form.isPeers }}" | |||
| bind:change="onChange" | |||
| data-value="form.isPeers" | |||
| direction="horizontal" | |||
| style="margin-left: auto;" | |||
| disabled | |||
| > | |||
| <van-radio name="Y" checked-color="#2C8E68">是</van-radio> | |||
| <van-radio name="N" checked-color="#2C8E68">否</van-radio> | |||
| </van-radio-group> | |||
| </view> | |||
| </van-field> | |||
| </view> | |||
| <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"> | |||
| <van-field required readonly value="{{ form.payeeList[childrenIndex].payee }}" placeholder="请选择收款方" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down" data-payer="{{form.payer}}" data-index="{{childrenIndex}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-accountType="{{ form.bankAccountType }}" data-transferType="{{ form.transferType }}"> | |||
| <view slot="label" style="color: var(--field-label-color,#646566);"> | |||
| 收款方 | |||
| </view> | |||
| </van-field> | |||
| <van-field required readonly label="收款账户" value="{{ form.payeeList[childrenIndex].payeeAccount }}" placeholder="请输入收款账户" border="{{ false }}" bind:change="onChange" input-align="right"/> | |||
| <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].bankTypeText }}" placeholder="请输入所属银行" border="{{ false }}" input-align="right"/> | |||
| </view> | |||
| <view class="main-box table-box payeeList" wx:if="{{form.payeeList.length > 10}}"> | |||
| <van-collapse accordion value="{{ form.activeName }}" data-index="{{index}}" bind:change="onChangePayee" bind:close="onClosePayee"> | |||
| <van-collapse-item name="{{childrenIndex}}" wx:for="{{form.payeeList}}" wx:if="{{childrenIndex<10}}" wx:for-index="childrenIndex" wx:key="payeeId"> | |||
| <view slot="title"> | |||
| {{ form.payeeList[childrenIndex].payee }}<van-tag wx:if="{{ form.activeName == childrenIndex && form.activeName != '' }}" plain type="danger" color="#5CAE77" round style="margin-left:10px;">收款方</van-tag> | |||
| </view> | |||
| <view slot="value" wx:if="{{ form.activeName != childrenIndex }}"> | |||
| ¥{{ form.payeeList[childrenIndex].incomeAmount }} | |||
| </view> | |||
| <van-field required readonly label="收款账户" value="{{ form.payeeList[childrenIndex].payeeAccount }}" border="{{ false }}" input-align="right"/> | |||
| <van-field required readonly label="开户银行" value="{{ form.payeeList[childrenIndex].bankDeposit }}" border="{{ false }}" input-align="right"/> | |||
| <van-field required readonly label="收入金额" value="{{ form.payeeList[childrenIndex].incomeAmount }}" border="{{ false }}" input-align="right"/> | |||
| <van-field required readonly label="所属银行" value="{{ form.payeeList[childrenIndex].bankTypeText }}" border="{{ false }}" input-align="right"/> | |||
| <!-- <van-field required readonly label="转账状态" value="{{ form.payeeList[childrenIndex].transferStatusText }}" border="{{ false }}" input-align="right"/> | |||
| <van-field required readonly label="交易结果描述" value="{{ form.payeeList[childrenIndex].causeFailure }}" border="{{ false }}" input-align="right"/> --> | |||
| </van-collapse-item> | |||
| </van-collapse> | |||
| <text wx:if="{{form.payeeList.length>10}}" style="text-align: center;color: #2C8E68;padding-top: 10px;" data-option="{{form.payeeList}}" bindtap="goPayee">查看更多</text> | |||
| <!-- | |||
| <van-field required readonly label="{{ form.payeeList[childrenIndex].payee }}" value="¥{{ form.payeeList[childrenIndex].incomeAmount }}" wx:for="{{form.payeeList}}" wx:for-index="childrenIndex" wx:key="payeeId" is-link placeholder="请输入收款方" border="{{ false }}" bind:change="onChange" input-align="right" input-class="aaa" /> --> | |||
| </view> | |||
| </view> | |||
| <!-- wx:if="{{showFile}}" --> | |||
| </view> | |||
| </van-collapse-item> | |||
| </van-collapse> | |||
| <view class="file_box" wx:if="{{showFile}}"> | |||
| <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> | |||
| <view class="main-box" wx:if="{{showFile}}"> | |||
| <view class="fj-box"> | |||
| <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.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> | |||
| </view> | |||
| <view class="img_list" wx:if="{{!form.SJimage}}"> | |||
| <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> | |||
| </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.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> | |||
| </view> | |||
| <view class="img_list" wx:if="{{!form.FPimage}}"> | |||
| <image class="img_li img_add" src="/image/apply/fj_upload.png"></image> | |||
| </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.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> | |||
| </view> | |||
| <view class="img_list" wx:if="{{!form.QTimage}}"> | |||
| <image class="img_li img_add" src="/image/apply/fj_upload.png"></image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <!-- <view class="main-box steps-box"> | |||
| <view class="steps-tit">审批流程</view> | |||
| <van-row wx:for="{{steps}}" wx:key="index"> | |||
| <van-col span="3"> | |||
| <view class="index">{{index+1}}</view> | |||
| <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="{{steps.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="{{steps.length != index+1}}"></view> | |||
| </view> | |||
| </block> | |||
| </van-col> | |||
| <van-col span="21"> | |||
| <van-cell title="{{item.activityName}}" center="{{true}}" border="{{false}}"> | |||
| <view class="agree" wx:if="{{item.type=='1'}}">{{ item.assigneeName }}</view> | |||
| <view class="in" wx:if="{{item.type=='2'}}">{{ item.assigneeName }}</view> | |||
| <view class="disagree" wx:if="{{item.type=='3'}}">{{ item.assigneeName }}</view> | |||
| </van-cell> | |||
| <van-cell center border="{{false}}"> | |||
| <view slot="title"> | |||
| <view style="color: #999999;">{{ item.durationInMillis }}</view> | |||
| </view> | |||
| <view style="color: #999999;font-size: 12px;">{{ item.endTime }}</view> | |||
| </van-cell> | |||
| </van-col> | |||
| </van-row> | |||
| </view> --> | |||
| </view> | |||
| <text class="title" style="padding: 0 calc(3% + 20px);">审批流程</text> | |||
| <view class="main-box steps-box"> | |||
| <!-- <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> | |||
| </van-col> | |||
| </van-row> | |||
| </view> | |||
| <van-empty wx:if="{{spsxOptions.length<1&&pageType=='see'}}" description="暂无审核数据" /> | |||
| <view class="main-box" wx:if="{{pageType!='see'}}"> | |||
| <input class="input_tit" value="{{comment}}" placeholder="请输入审批意见" bindinput="commentInput" style="margin-top: 10px;margin-bottom: 0;"/> | |||
| <!-- --> | |||
| </view> | |||
| <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> | |||
| </view> | |||
| <!-- <view class="bottom" wx:if="{{pageType!='see'}}"> | |||
| <button type="primary" plain class="btnOther" bindtap="goAgree">转办</button> | |||
| </view> --> | |||
| <view class="ipXbtn"></view> | |||
| <wxs module="sub"> | |||
| var times = function(time){ | |||
| console.log(time) | |||
| return time.substring(0,10); | |||
| } | |||
| module.exports.times = times; | |||
| </wxs> | |||
| @@ -0,0 +1,734 @@ | |||
| /* pages/apply/paymentTemplate/addNew/addNew.wxss *//* pages/apply/paymentTemplate/add/add.wxss */ | |||
| text{display: block;} | |||
| .top{ | |||
| height: 64px; | |||
| width: 100%; | |||
| position: fixed; | |||
| z-index: 999; | |||
| top:0px; | |||
| } | |||
| .top text{ | |||
| position: relative; | |||
| top: 30px; | |||
| margin-right: 30px; | |||
| display: block; | |||
| color: #eee; | |||
| text-align: center; | |||
| width: 100%; | |||
| font-size: 16px; | |||
| } | |||
| .input_tittop input{ | |||
| border: 1px solid #DCDCDC; | |||
| padding: 0px 10px; | |||
| height: 32px; | |||
| line-height: 32px; | |||
| border-radius: 5px; | |||
| width: 100%; | |||
| } | |||
| .error input{ | |||
| border: 1px solid red!important; | |||
| } | |||
| .bgPage{ | |||
| width: 140%; | |||
| position:absolute; | |||
| transform: translate(-15%, -50%); | |||
| height: 300px; | |||
| z-index: -1; | |||
| } | |||
| .center{ | |||
| padding-bottom: 15px; | |||
| background: #f2f2f2; | |||
| } | |||
| .main-title{ | |||
| background-image: linear-gradient(to right, #2C8E68 , #B3DB62); | |||
| color: #ffffff; | |||
| font-size: 18px; | |||
| padding: 10px 0; | |||
| text-align: center; | |||
| position: relative; | |||
| } | |||
| .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); | |||
| } | |||
| .main-box block{ | |||
| float: right; | |||
| } | |||
| .title{ | |||
| padding: 10px calc(3% + 20px); | |||
| } | |||
| .topBox .van-cell{ | |||
| padding: 0!important; | |||
| margin-bottom: 15px; | |||
| } | |||
| .topBox .van-cell .van-cell__title, .topBox .van-cell .van-cell__value , .topBox .van-cell .van-field__label{ | |||
| font-size: 15px; | |||
| color: #444444; | |||
| } | |||
| .topBox .van-cell .van-cell__title{ | |||
| margin-right: 0!important; | |||
| max-width: 76px!important; | |||
| min-width: 76px!important; | |||
| } | |||
| .top-box{ | |||
| /* margin-top: 20px; | |||
| margin-bottom: 28px; */ | |||
| position:relative; | |||
| } | |||
| .top-box text{ | |||
| margin-bottom: 15px; | |||
| } | |||
| .top-box text:last-child{ | |||
| margin-bottom: 0px; | |||
| } | |||
| .box-title{ | |||
| color: #2C8E68; | |||
| text-align: center; | |||
| font-size: 16px; | |||
| } | |||
| .center-box .main-box{ | |||
| margin-bottom: 15px; | |||
| } | |||
| .xm van-cell:first-child .van-cell{ | |||
| border-bottom: 1px solid #cccccc; | |||
| margin: 0; | |||
| padding-bottom: 15px!important; | |||
| margin-bottom: 15px; | |||
| } | |||
| .table-box van-field van-cell .van-cell{ | |||
| margin-bottom: 15px; | |||
| } | |||
| .table-box van-field:last-child van-cell .van-cell{ | |||
| margin-bottom: 0px; | |||
| } | |||
| .table-box view text icon{ | |||
| display: inline-block; | |||
| font-size: 14px; | |||
| border: 1px solid red; | |||
| color: red; | |||
| } | |||
| .table-box .van-cell{ | |||
| padding: 0!important; | |||
| } | |||
| @font-face { | |||
| font-family: 'my-icon'; | |||
| src: url('../../../image/icon/fj_icon.png') format('truetype'); | |||
| } | |||
| .my-icon { | |||
| font-family: 'my-icon'; | |||
| } | |||
| .my-icon-extra::before { | |||
| content: '\e626'; | |||
| } | |||
| .fj-box text{ | |||
| color: #666666; | |||
| text-align: left; | |||
| } | |||
| .fj-li{ | |||
| /* margin-top: 20px; */ | |||
| /* flex-wrap: wrap; */ | |||
| } | |||
| .fj-tt{ | |||
| display: flex; | |||
| align-items: center; | |||
| width: 100%; | |||
| padding: 10px 0px; | |||
| border-bottom: 1px solid #DCDCDC; | |||
| margin-bottom: 10px; | |||
| color: #999999; | |||
| } | |||
| .fj-li .img_li{ | |||
| width: 100%; | |||
| height: 18.5vw; | |||
| } | |||
| .fj-li .img_add{ | |||
| overflow: hidden; | |||
| } | |||
| .bottomBtn{ | |||
| display: flex; | |||
| width: 94%; | |||
| margin: 0 auto; | |||
| justify-content:space-between; | |||
| margin-top: 30px; | |||
| } | |||
| .bottomBtn view{ | |||
| display: flex; | |||
| width: 100%; | |||
| background-color: #ffffff; | |||
| border-radius: 5px; | |||
| box-shadow: 0px 5px 9px #DCDCDC; | |||
| padding: 10px 0px; | |||
| text-align: center; | |||
| align-items:center; | |||
| justify-content:center; | |||
| font-size: 14px; | |||
| color: #2C8E68; | |||
| } | |||
| .bottomBtn view image{ | |||
| width: 18px; | |||
| height: 18px; | |||
| margin-right: 5px; | |||
| } | |||
| .bottom{ | |||
| width: 84%; | |||
| margin: 0 auto; | |||
| text-align: center; | |||
| margin-top: 50px; | |||
| margin-bottom: 50px; | |||
| display: flex; | |||
| justify-content: space-between; | |||
| z-index: 999999; | |||
| } | |||
| .bottom view { | |||
| width: 47%; | |||
| margin: 0 auto; | |||
| border-radius: 30px; | |||
| display: inline-block; | |||
| } | |||
| .bottom .btn1{ | |||
| border: 1px solid #2C8E68; | |||
| padding: 8px 0px; | |||
| color: #2C8E68; | |||
| } | |||
| .bottom .btn2{ | |||
| border: 1px solid transparent; | |||
| padding: 8px 0px; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| color: #fff; | |||
| } | |||
| .bottom .btn3{ | |||
| border: 1px solid transparent; | |||
| padding: 8px 0px; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| color: #fff; | |||
| width: 100%; | |||
| } | |||
| .steps-box{ | |||
| padding: 0; | |||
| margin-top: 15px; | |||
| } | |||
| .steps-box .van-row{ | |||
| padding: 0 20px; | |||
| } | |||
| .steps-box view{ | |||
| margin-bottom: 0; | |||
| } | |||
| .steps-box .van-col{ | |||
| position: relative; | |||
| height: 70px; | |||
| } | |||
| .steps-box .van-col--21{ | |||
| padding: 12PX 0; | |||
| padding-left: 10px; | |||
| } | |||
| .steps-box .van-row:nth-child(2n){ | |||
| background: rgba(29,111,233,0.1); | |||
| } | |||
| .steps-box .van-cell{ | |||
| background: transparent; | |||
| padding: 0 10Px; | |||
| } | |||
| .steps-box .bq{ | |||
| display: inline-block; | |||
| padding: 0PX 10PX; | |||
| line-height: 0.64rem; | |||
| border-radius: 5PX; | |||
| } | |||
| .steps-box .index{ | |||
| background: #1D6FE9; | |||
| color: #ffffff; | |||
| text-align: center; | |||
| width: 20PX; | |||
| height: 20PX; | |||
| line-height: 20PX; | |||
| border-radius: 50%; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 50%; | |||
| transform: translate(0,-50%); | |||
| } | |||
| .steps-box .indexCenter{ | |||
| top: 0!important; | |||
| } | |||
| .steps-box .van-row:first-child .van-col:first-child .indexBorder{ | |||
| top: calc(50% - 5px); | |||
| } | |||
| .steps-box .indexBorder{ | |||
| width: 10PX; | |||
| position: absolute; | |||
| right: 0; | |||
| top: 0; | |||
| height: 100%; | |||
| } | |||
| .steps-box .indexBorder .yq{ | |||
| height: 10PX; | |||
| width: 10PX; | |||
| background: #C9C9C9; | |||
| border-radius: 50%; | |||
| } | |||
| .steps-box .indexBorder .ss{ | |||
| height: calc(50% - 5PX); | |||
| width: 1PX; | |||
| background: #C9C9C9; | |||
| position: relative; | |||
| left: 4PX; | |||
| } | |||
| .steps-box .indexBorder .ssT{ | |||
| height: calc(50% - 5PX); | |||
| width: 1PX; | |||
| background: #C9C9C9; | |||
| position: relative; | |||
| left: 4PX; | |||
| } | |||
| .agree{ | |||
| background-color: rgba(92, 174, 119, 0.1); | |||
| color:#5CAE77 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .in{ | |||
| background-color: rgba(245, 163, 39, 0.1); | |||
| color:#F5A327 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .disagree{ | |||
| background-color: rgba(233, 0, 0, 0.1); | |||
| color:#E90000 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .steps-box .van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| .steps-box .van-cell__value{ | |||
| flex: 0.3; | |||
| } | |||
| .steps-tit{ | |||
| font-size: 16px; | |||
| text-align: center; | |||
| background-image: linear-gradient(to bottom right, #5cae77, #7cdb9b); | |||
| color: #ffffff; | |||
| padding: 20px 0; | |||
| border-top-left-radius: 10px; | |||
| border-top-right-radius: 10px; | |||
| } | |||
| .bottom{ | |||
| width: 84%; | |||
| margin: 0 auto; | |||
| text-align: center; | |||
| margin-top: 30px; | |||
| margin-bottom: 80px; | |||
| } | |||
| .bottom button { | |||
| width: 47%; | |||
| margin: 0 auto; | |||
| border-radius: 30px; | |||
| display: inline-block; | |||
| } | |||
| .bottom .btnAgree{ | |||
| border: 1px solid transparent; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| margin-left: 6%; | |||
| } | |||
| .input_tit{ | |||
| border: 1px solid #DCDCDC; | |||
| padding: 0px 10px; | |||
| height: 32px; | |||
| line-height: 32px; | |||
| border-radius: 5px; | |||
| margin-bottom: 15px; | |||
| } | |||
| .img_box{ | |||
| position: relative; | |||
| width: 100%; | |||
| display: flex; | |||
| flex-wrap: wrap; | |||
| } | |||
| .img_box .img_list{ | |||
| width: 23%; | |||
| margin-right: 2%; | |||
| position: relative; | |||
| } | |||
| .img_box .img_list .van-icon{ | |||
| font-size: 20px; | |||
| position: absolute; | |||
| top: 0; | |||
| right: 0; | |||
| transform: translate(50%,-50%); | |||
| } | |||
| .img_box .img_list:nth-child(n+5){ | |||
| margin-top: 15px; | |||
| } | |||
| .van-cell--required:before { | |||
| left: -8px!important; | |||
| } | |||
| .input_money{ | |||
| padding: 0px 10px; | |||
| height: 32px; | |||
| line-height: 32px; | |||
| color: #E90000; | |||
| font-size: 26px; | |||
| display: inline-block; | |||
| width: 70%; | |||
| text-align: center; | |||
| } | |||
| .money_box{ | |||
| font-size: 26px; | |||
| border-bottom:1px solid #DCDCDC; | |||
| width: 70%; | |||
| margin: 0 auto; | |||
| margin-bottom: 15px; | |||
| color: #E90000; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| } | |||
| .btnBox{ | |||
| text-align: center; | |||
| height: 26px; | |||
| position: absolute; | |||
| bottom: -15px; | |||
| left: calc(50% - 15px); | |||
| } | |||
| .down{ | |||
| width: 30px; | |||
| height: 26px; | |||
| margin: 0 auto; | |||
| } | |||
| .update{ | |||
| width: 26px; | |||
| height: 26px; | |||
| position: absolute; | |||
| right: 41px; | |||
| } | |||
| .delete{ | |||
| width: 26px; | |||
| height: 26px; | |||
| position: absolute; | |||
| right: 0; | |||
| } | |||
| .van-collapse-item { | |||
| background: transparent; | |||
| margin: 0 auto; | |||
| width: 100%; | |||
| margin: 0 auto; | |||
| margin-top: 15px; | |||
| } | |||
| .van-collapse-item__content{ | |||
| padding: 0!important; | |||
| } | |||
| .van-collapse .van-cell{ | |||
| padding: 0; | |||
| background: transparent; | |||
| } | |||
| .main-box .van-cell{ | |||
| padding: 0; | |||
| background: transparent; | |||
| } | |||
| .van-collapse .tit_box .title{ | |||
| text-align: center; | |||
| font-size: 18px; | |||
| } | |||
| .van-collapse .main-box{ | |||
| /* padding: 0; | |||
| box-shadow: none; */ | |||
| } | |||
| .van-collapse .tit_box{ | |||
| width: 94%; | |||
| background: #ffffff; | |||
| margin: 0 auto; | |||
| border-radius: 10px; | |||
| box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | |||
| padding: 20px; | |||
| } | |||
| .van-collapse .tit_box .top-box .van-cell{ | |||
| margin-bottom: 10px; | |||
| } | |||
| .van-field__label { | |||
| color: var(--field-label-color,#646566); | |||
| } | |||
| .van-field__control { | |||
| color: var(--field-label-color,#646566)!important; | |||
| } | |||
| .payee_box{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| } | |||
| .payee_box view{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| padding: 10px calc(3% + 20px); | |||
| } | |||
| .payee_box view text{ | |||
| margin-left: 5px; | |||
| color: #2C8E68; | |||
| } | |||
| .payee_box .add{ | |||
| justify-content: center; | |||
| background-color: #2C8E68; | |||
| color: #fff; | |||
| font-weight: bold; | |||
| padding: 0px; | |||
| margin: 0 calc(3% + 20px); | |||
| width: 20px; | |||
| height: 20px; | |||
| border-radius: 20px; | |||
| line-height: 1; | |||
| } | |||
| .file_box{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| } | |||
| .file_box .add{ | |||
| margin: 0 calc(3% + 20px); | |||
| } | |||
| .aaa{ | |||
| color: red; | |||
| } | |||
| .payeeList { | |||
| padding: 10px 20px!important; | |||
| } | |||
| .payeeList .van-collapse-item { | |||
| margin-top: 0; | |||
| } | |||
| .payeeList .van-collapse .van-cell { | |||
| padding: 10px 0!important; | |||
| } | |||
| .payeeList van-field van-cell .van-cell{ | |||
| margin-bottom: 0; | |||
| } | |||
| .payeeList .van-cell__value { | |||
| color: #E90000; | |||
| } | |||
| .payeeList .van-cell__title{ | |||
| flex-shrink: 0; | |||
| max-width: inherit; | |||
| } | |||
| .steps-box{ | |||
| padding: 0; | |||
| } | |||
| .steps-box .van-row{ | |||
| padding: 0 20px; | |||
| } | |||
| .steps-box view{ | |||
| margin-bottom: 0; | |||
| } | |||
| .steps-box .van-col{ | |||
| position: relative; | |||
| /* height: 90px; */ | |||
| } | |||
| .steps-box .van-col--21{ | |||
| padding: 12PX 0; | |||
| padding-left: 10px; | |||
| } | |||
| .steps-box .van-row:nth-child(2n){ | |||
| background: rgba(29,111,233,0.1); | |||
| } | |||
| .steps-box .van-cell{ | |||
| background: transparent; | |||
| padding: 0 10Px; | |||
| } | |||
| .steps-box .bq{ | |||
| display: inline-block; | |||
| padding: 0PX 10PX; | |||
| line-height: 0.64rem; | |||
| border-radius: 5PX; | |||
| } | |||
| .steps-box .index{ | |||
| background-image: linear-gradient(to bottom right, #5cae77, #7cdb9b); | |||
| color: #ffffff; | |||
| text-align: center; | |||
| width: 20PX; | |||
| height: 20PX; | |||
| line-height: 20PX; | |||
| border-radius: 50%; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 50%; | |||
| transform: translate(0,-50%); | |||
| } | |||
| .steps-box .active{ | |||
| background: #2C8E68; | |||
| } | |||
| .steps-box .indexCenter{ | |||
| top: 0!important; | |||
| } | |||
| .steps-box .van-row:first-child .van-col:first-child .indexBorder{ | |||
| top: calc(50% - 5px); | |||
| } | |||
| .steps-box .indexBorder{ | |||
| width: 10PX; | |||
| position: absolute; | |||
| right: 0; | |||
| top: 0; | |||
| height: 100%; | |||
| } | |||
| .steps-box .indexBorder .yq{ | |||
| height: 10PX; | |||
| width: 10PX; | |||
| background: #C9C9C9; | |||
| border-radius: 50%; | |||
| } | |||
| .steps-box .indexBorder .ss{ | |||
| height: calc(50% - 5PX); | |||
| width: 1PX; | |||
| background: #C9C9C9; | |||
| position: relative; | |||
| left: 4PX; | |||
| } | |||
| .steps-box .indexBorder .ssT{ | |||
| height: calc(50% - 5PX); | |||
| width: 1PX; | |||
| background: #C9C9C9; | |||
| position: relative; | |||
| left: 4PX; | |||
| } | |||
| .agree{ | |||
| background-color: rgba(92, 174, 119, 0.1); | |||
| color:#5CAE77 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .in{ | |||
| background-color: rgba(245, 163, 39, 0.1); | |||
| color:#F5A327 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .disagree{ | |||
| background-color: rgba(233, 0, 0, 0.1); | |||
| color:#E90000 ; | |||
| width: 80%; | |||
| text-align: center; | |||
| float: right; | |||
| } | |||
| .steps-box .van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| .steps-box .van-cell__value{ | |||
| flex: 0.3; | |||
| } | |||
| .steps-tit{ | |||
| font-size: 16px; | |||
| text-align: center; | |||
| background-color: #2C8E68; | |||
| color: #ffffff; | |||
| padding: 20px 0; | |||
| border-top-left-radius: 10px; | |||
| border-top-right-radius: 10px; | |||
| } | |||
| .bottom{ | |||
| width: 84%; | |||
| margin: 0 auto; | |||
| text-align: center; | |||
| margin-top: 30px; | |||
| margin-bottom: 80px; | |||
| } | |||
| .bottom button { | |||
| width: 47%; | |||
| margin: 0 auto; | |||
| border-radius: 30px; | |||
| display: inline-block; | |||
| } | |||
| .bottom .btnAgree{ | |||
| border: 1px solid transparent; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| margin-left: 6%; | |||
| } | |||
| .input_tit{ | |||
| border: 1px solid #DCDCDC; | |||
| padding: 0px 10px; | |||
| height: 32px; | |||
| line-height: 32px; | |||
| border-radius: 5px; | |||
| margin-bottom: 15px; | |||
| } | |||
| .img_box{ | |||
| position: relative; | |||
| width: 100%; | |||
| } | |||
| .cellTit{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| } | |||
| .cellTit text{ | |||
| width: 50%; | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .payeeList { | |||
| padding: 10px 20px!important; | |||
| } | |||
| .payeeList .van-collapse-item { | |||
| margin-top: 0; | |||
| } | |||
| .payeeList .van-collapse .van-cell { | |||
| padding: 10px 0!important; | |||
| } | |||
| .payeeList van-field van-cell .van-cell{ | |||
| margin-bottom: 0; | |||
| } | |||
| .payeeList .van-cell__value { | |||
| color: #E90000; | |||
| } | |||
| .payeeList .van-cell__title{ | |||
| flex-shrink: 0; | |||
| max-width: inherit; | |||
| } | |||
| .van-empty { | |||
| padding: 0!important; | |||
| } | |||
| .van-empty__bottom { | |||
| margin: 0!important; | |||
| } | |||
| @@ -50,7 +50,8 @@ Page({ | |||
| ], | |||
| showList:false, | |||
| showListText:'更多', | |||
| num:1 | |||
| num:1, | |||
| active:1 | |||
| }, | |||
| onLoad: function (options) { | |||
| //获取滚动条高度 | |||
| @@ -137,23 +138,25 @@ Page({ | |||
| method:"GET", | |||
| // taskName:'相关人员审批' | |||
| } | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'activity_business_type', {method:'GET'}, { | |||
| success: (res) => { | |||
| } | |||
| }) | |||
| UTIL.httpRequest(API.URL_GET_TASKLIST,data, { | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| let list = []; | |||
| if(res.rows!=null&&res.rows!=""){ | |||
| for(let i = 0;i < res.total;i++){ | |||
| if (res.rows[i].formData.activityBusinessType == '20' || res.rows[i].formData.activityBusinessType=='30' || res.rows[i].formData.activityBusinessType == '35') { | |||
| let d = this.dictTranslate(this.data.transferType,res.rows[i].formData.transferType) | |||
| res.rows[i].formData.transferType = d | |||
| res.rows[i].formData.totalAmount = Number(res.rows[i].formData.totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, "") | |||
| list.push(res.rows[i]) | |||
| if(res.rows[i].formData){ | |||
| if (res.rows[i].formData.activityBusinessType == '16' || res.rows[i].formData.activityBusinessType=='36') { | |||
| res.rows[i].formData.expenditureAmount = Number(res.rows[i].formData.expenditureAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, "") | |||
| list.push(res.rows[i]) | |||
| } | |||
| } | |||
| } | |||
| this.setData({todoList:list,todoNum:list.length}) | |||
| } | |||
| } | |||
| }, fail: (res) => { | |||
| console.log(res); | |||
| @@ -176,18 +179,18 @@ Page({ | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| let list = []; | |||
| if(res.rows!=null&&res.rows!=""){ | |||
| for(let i = 0;i<res.total;i++){ | |||
| if (res.rows[i].formData.activityBusinessType == '20' || res.rows[i].formData.activityBusinessType=='30' || res.rows[i].formData.activityBusinessType == '35') { | |||
| let d = this.dictTranslate(this.data.transferType,res.rows[i].formData.transferType) | |||
| res.rows[i].formData.transferType = d | |||
| res.rows[i].formData.totalAmount = Number(res.rows[i].formData.totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, "") | |||
| list.push(res.rows[i]) | |||
| if(res.rows[i].formData){ | |||
| if (res.rows[i].formData.activityBusinessType == '16' || res.rows[i].formData.activityBusinessType=='36') { | |||
| let d = this.dictTranslate(this.data.transferType,res.rows[i].formData.transferType) | |||
| res.rows[i].formData.transferType = d | |||
| res.rows[i].formData.expenditureAmount = Number(res.rows[i].formData.expenditureAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, "") | |||
| list.push(res.rows[i]) | |||
| } | |||
| } | |||
| } | |||
| } | |||
| this.setData({doneList:list,doneNum:list.length}) | |||
| } | |||
| } | |||
| }, fail: (res) => { | |||
| console.log(res); | |||
| @@ -214,7 +217,7 @@ Page({ | |||
| for(let i = 0;i<res.total;i++){ | |||
| res.rows[i].totalAmount = Number(res.rows[i].totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, "") | |||
| } | |||
| } | |||
| this.setData({yfqList:res.rows}) | |||
| } | |||
| }, fail: (res) => { | |||
| @@ -227,20 +230,20 @@ Page({ | |||
| let data = { | |||
| // pageNum:1, | |||
| // pageSize:10, | |||
| transferType:"1", | |||
| auditStatus:"3", | |||
| method:"GET" | |||
| transferType:"", | |||
| params:{ | |||
| "auditStatusXiaochengxu":"2" | |||
| }, | |||
| method:"POST", | |||
| } | |||
| UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, { | |||
| success: (res) => { | |||
| console.log(res); | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| let a = this.data.yfqNum+res.total | |||
| this.setData({yfqNum:a}) | |||
| let b = this.data.yfqList | |||
| let c = res.rows.concat(b) | |||
| this.setData({yfqNum:res.total}) | |||
| let c = res.rows | |||
| for(let i = 0;i< c.length;i++){ | |||
| c[i].totalAmount = Number(c[i].totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| c[i].totalAmount = Number(c[i].totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, "") | |||
| } | |||
| this.setData({yfqList:c}) | |||
| @@ -256,10 +259,11 @@ Page({ | |||
| let data = { | |||
| // pageNum:1, | |||
| // pageSize:10, | |||
| transferType:"1", | |||
| status:"0", | |||
| method:"GET", | |||
| submitter:this.data.userInfoObj.nickName | |||
| transferType:"", | |||
| method:"POST", | |||
| params:{ | |||
| "auditStatusXiaochengxu":"1" | |||
| }, | |||
| } | |||
| UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, { | |||
| success: (res) => { | |||
| @@ -349,8 +353,8 @@ Page({ | |||
| this.getTransferList2(); | |||
| //查询已发起 | |||
| this.getTransferList(); | |||
| // this.getTransferList1(); | |||
| // this.getTransferList(); | |||
| this.getTransferList1(); | |||
| } | |||
| } | |||
| }) | |||
| @@ -382,10 +386,14 @@ Page({ | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| this.setData({bookList:res.rows}) | |||
| if(this.data.bookName==""&&res.total>0){ | |||
| let loginBookId = res.rows.filter(function (e) { return e.id == that.data.userInfoObj.loginBookId; })[0].bookName; | |||
| console.log(res.rows); | |||
| this.setData({bookName:loginBookId}) | |||
| this.setData({bookId:res.rows[0].id}) | |||
| let loginBookId = res.rows.filter(function (e) { return e.id == that.data.userInfoObj.loginBookId; }); | |||
| if(loginBookId.length > 0){ | |||
| loginBookId =loginBookId[0].bookName | |||
| this.setData({bookName:loginBookId}) | |||
| this.setData({bookId:res.rows[0].id}) | |||
| }else{ | |||
| this.setData({bookName:"选择账套"}) | |||
| } | |||
| }else if(this.data.bookName==""&&res.total==0){ | |||
| this.setData({bookName:"无可用账套"}) | |||
| } | |||
| @@ -454,6 +462,7 @@ Page({ | |||
| value: [provinceNum, cityNum, areaNum] | |||
| }) | |||
| } | |||
| console.log(this.data.value); | |||
| }, | |||
| preventTouchmove() {}, | |||
| @@ -470,21 +479,26 @@ Page({ | |||
| }, | |||
| // 提交时由序号获取省市区id | |||
| getRegionId(type) { | |||
| console.log(this.data.provinces); | |||
| console.log(this.data.regionValue); | |||
| let value = this.data.regionValue | |||
| let provinceId = this.data.provinces[value[0]].id | |||
| let townId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id | |||
| let areaId = '' | |||
| if (this.data.provinces[value[0]].children[value[1]].children[value[2]].id) { | |||
| areaId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id | |||
| } else { | |||
| areaId = 0 | |||
| } | |||
| if (type === 'provinceId') { | |||
| let provinceId = this.data.provinces[value[0]].id | |||
| return provinceId | |||
| } else if (type === 'townId') { | |||
| let townId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id | |||
| return townId | |||
| } else { | |||
| let areaId = '' | |||
| if (this.data.provinces[value[0]].children[value[1]].children) { | |||
| areaId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id | |||
| } else if(this.data.provinces[value[0]].children){ | |||
| areaId = this.data.provinces[value[0]].children[value[1]].id | |||
| } else if(this.data.provinces[value[0]]){ | |||
| areaId = this.data.provinces[value[0]].id | |||
| } else { | |||
| areaId = 0 | |||
| } | |||
| return areaId | |||
| } | |||
| }, | |||
| @@ -516,6 +530,8 @@ Page({ | |||
| } catch (error) { | |||
| console.log('adress select something error') | |||
| } | |||
| console.log(this.getRegionId('areas')); | |||
| this.setData({ | |||
| region: region, | |||
| lastCitys: this.data.citys, | |||
| @@ -534,16 +550,23 @@ Page({ | |||
| success: (res) => { | |||
| setTimeout(()=>{ | |||
| _this.reset() | |||
| _this.onLoad() | |||
| _this.onShow() | |||
| },1000) | |||
| } | |||
| }) | |||
| }) | |||
| // this.data.userInfoObj.loginDeptId = this.getRegionId('areas'); | |||
| // this.getBookList(); | |||
| } | |||
| }, | |||
| godetail:function(e){ | |||
| // wx.navigateTo({ | |||
| // url: '/pages/apply/paymentTemplate/add/add?id='+e.currentTarget.dataset.id, | |||
| // }) | |||
| wx.navigateTo({ | |||
| url: '/pages/apply/paymentTemplate/add/add?id='+e.currentTarget.dataset.id, | |||
| url: '/pages/apply/paymentTemplate/addNew/addNew?id='+e.currentTarget.dataset.id, | |||
| }) | |||
| }, | |||
| goMajorDetail:function(e){ | |||
| @@ -553,7 +576,7 @@ Page({ | |||
| }, | |||
| gosee:function(e){ | |||
| wx.navigateTo({ | |||
| url: '/pages/handle/expenditureAudit/expenditureAudit?id='+e.currentTarget.dataset.id+'&taskId='+e.currentTarget.dataset.taskid+'&type='+e.currentTarget.dataset.type+'&business='+e.currentTarget.dataset.business, | |||
| url: '/pages/handle/expenditureAuditNew/expenditureAuditNew?id='+e.currentTarget.dataset.id+'&taskId='+e.currentTarget.dataset.taskid+'&type='+e.currentTarget.dataset.type+'&business='+e.currentTarget.dataset.business, | |||
| }) | |||
| }, | |||
| goUpdate(e){ | |||
| @@ -588,7 +611,7 @@ Page({ | |||
| content: '确认删除?', | |||
| success (res) { | |||
| if (res.confirm) { | |||
| UTIL.httpRequest(API.URL_GET_REMOVEAPPROVAL + e.currentTarget.dataset.id, {method:'GET'},{ | |||
| UTIL.httpRequest(API.URL_GET_REMOVETRANFERL + e.currentTarget.dataset.id, {method:'GET'},{ | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| that.data.yzdList.splice(e.currentTarget.dataset.index, 1); | |||
| @@ -620,5 +643,51 @@ Page({ | |||
| tmplIds: ['_Npje859RvKIf5AcqaikWYGXJpOcigMTzyB3HjJ1L9I'], | |||
| success (res) { } | |||
| }) | |||
| } | |||
| }, | |||
| rollback(e){ | |||
| var that = this; | |||
| let prames = { | |||
| id : e.currentTarget.dataset.id, | |||
| auditStatus : '0', | |||
| applyUserId : '', | |||
| applyUserName : '', | |||
| applyTime : '', | |||
| instanceId : '', | |||
| processKey : '', | |||
| method:'POST' | |||
| } | |||
| wx.showModal({ | |||
| title: '提示', | |||
| content: '确认撤回?', | |||
| success (res) { | |||
| if (res.confirm) { | |||
| UTIL.httpRequest(API.URL_GET_UPDATETYINNONGTRANSFERFOSTATUS, prames ,{ | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| wx.showToast({ | |||
| title: '撤回成功!', | |||
| icon: 'success', | |||
| duration: 2000 | |||
| }) | |||
| that.setData({ | |||
| yfqList:[], | |||
| yzdList:[] | |||
| }) | |||
| that.getTransferList2() | |||
| that.getTransferList1() | |||
| }else{ | |||
| wx.showToast({ | |||
| title: res.msg, | |||
| icon: 'error', | |||
| duration: 2000 | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| } else if (res.cancel) { | |||
| console.log('用户点击取消') | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| }) | |||
| @@ -172,16 +172,18 @@ | |||
| <!--1--> | |||
| <view class="workflow_list"> | |||
| <view class="process_intro"> | |||
| <view class="name">{{item.formData.activityBusinessType == '20' ? item.formData.eventName:item.formData.approvalItems}}</view> | |||
| <view class="name"> | |||
| <view class="name_tit">{{item.formData.remark}}</view> | |||
| </view> | |||
| <!-- <view class="state">待审</view> --> | |||
| <view class="time">{{item.formData.applyTime}}</view> | |||
| </view> | |||
| <view class="process_pay"> | |||
| <view class="describe"> | |||
| <image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | |||
| <text class="textLimit">{{item.formData.activityBusinessType=='35'?'现金转账':item.formData.activityBusinessType=='30'?'银行转账':'重大事项'}}</text> | |||
| <text class="textLimit">{{item.formData.transferType=='2'?'信用卡转账':item.formData.transferType=='1'?'银行转账':'其他'}}</text> | |||
| </view> | |||
| <view class="amount" wx:if="{{item.formData.activityBusinessType!='20'}}"><text class="unit">¥</text>{{item.formData.totalAmount}}</view> | |||
| <view class="amount" wx:if="{{item.formData.activityBusinessType!='20'}}"><text class="unit">¥</text>{{item.formData.expenditureAmount}}</view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| @@ -189,53 +191,85 @@ | |||
| <!--1--> | |||
| <view class="workflow_list"> | |||
| <view class="process_intro"> | |||
| <view class="name">{{item.formData.activityBusinessType == '20' ? item.formData.eventName:item.formData.approvalItems}}</view> | |||
| <view class="name"> | |||
| <view class="name_tit">{{item.formData.remark}}</view> | |||
| </view> | |||
| <!-- <view class="state">已审</view> --> | |||
| <view class="time">{{item.formData.applyTime}}</view> | |||
| </view> | |||
| <view class="process_pay"> | |||
| <view class="describe"> | |||
| <image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | |||
| <text class="textLimit">{{item.formData.activityBusinessType=='35'?'现金转账':item.formData.activityBusinessType=='30'?'银行转账':'重大事项'}}</text> | |||
| <text class="textLimit">{{item.formData.transferType=='2'?'信用卡转账':item.formData.transferType=='1'?'银行转账':'其他'}}</text> | |||
| </view> | |||
| <view class="amount" wx:if="{{item.formData.activityBusinessType!='20'}}"><text class="unit">¥</text>{{item.formData.totalAmount}}</view> | |||
| <view class="amount" wx:if="{{item.formData.activityBusinessType!='20'}}"><text class="unit">¥</text>{{item.formData.expenditureAmount}}</view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="workflow" wx:if="{{active=='3'}}" wx:for-item="item" wx:for="{{yfqList}}" wx:key="id" data-id="{{item.id}}" data-taskId="{{item.taskId}}" data-type="see" bindtap="gosee"> | |||
| <!--1--> | |||
| <!-- <view class="workflow" wx:if="{{active=='3'}}" wx:for-item="item" wx:for="{{yfqList}}" wx:key="id" data-id="{{item.id}}" data-taskId="{{item.taskId}}" data-type="see" bindtap="gosee"> | |||
| <view class="workflow_list"> | |||
| <view class="process_intro"> | |||
| <view class="name"> | |||
| <view class="name_tit">{{item.approvalItems}}</view> | |||
| <view class="{{item.status == '1'?'in':item.status == '2'?'disagree':item.status == '3'?'agree':''}}">{{item.status == '1'?'审核中':item.status == '2'?'已拒绝':item.status == '3'?'已通过':''}}</view> | |||
| <view class="name_tit">{{item.remark}}</view> | |||
| <view class="{{item.auditStatus == '1'?'in':item.auditStatus == '2'?'disagree':item.auditStatus == '3'?'agree':''}}">{{item.auditStatus == '1'?'审核中':item.auditStatus == '2'?'已拒绝':item.auditStatus == '3'?'已通过':''}}</view> | |||
| </view> | |||
| <!-- <view class="state">已发起</view> --> | |||
| <view class="time">{{item.submitDate}}</view> | |||
| <view class="time">{{item.applyDate}}</view> | |||
| </view> | |||
| <view class="process_pay"> | |||
| <view class="describe"> | |||
| <image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | |||
| <text class="textLimit">{{item.formData.activityBusinessType=='35'?'现金转账':'银行转账'}}</text> | |||
| <text class="textLimit">{{item.transferType=='2'?'信用卡转账':item.transferType=='1'?'银行转账':'其他'}}</text> | |||
| </view> | |||
| <view class="amount"><text class="unit">¥</text>{{item.totalAmount}}</view> | |||
| <view class="amount"><text class="unit">¥</text>{{item.expenditureAmount}}</view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> --> | |||
| <van-swipe-cell right-width="{{ item.auditStatus == '1'?'65':0 }}" wx:if="{{active=='3'}}" wx:for-item="item" wx:for="{{yfqList}}" wx:key="id" class="workflow"> | |||
| <!--1--> | |||
| <view class="workflow_list" data-id="{{item.id}}" data-taskId="{{item.taskId}}" data-type="see" bindtap="gosee"> | |||
| <view class="process_intro"> | |||
| <view class="name"> | |||
| <view class="name_tit">{{item.remark}}</view> | |||
| <view class="{{item.auditStatus == '1'?'in':item.auditStatus == '2'?'disagree':item.auditStatus == '3'?'agree':''}}">{{item.auditStatus == '1'?'审核中':item.auditStatus == '2'?'已拒绝':item.auditStatus == '3'?'已通过':''}}</view> | |||
| </view> | |||
| <!-- <view class="state">已制单</view> --> | |||
| <view class="time">{{item.applyDate}}</view> | |||
| </view> | |||
| <view class="process_pay"> | |||
| <view class="describe"> | |||
| <image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | |||
| <text class="textLimit">{{item.transferType=='2'?'信用卡转账':item.transferType=='1'?'银行转账':'其他'}}</text> | |||
| </view> | |||
| <view class="amount"><text class="unit">¥</text>{{item.expenditureAmount}}</view> | |||
| </view> | |||
| </view> | |||
| <view slot="right" class="deleteBox" style="background-color: rgb(235, 4, 4,0.2);"> | |||
| <view style="flex: 1;height: 100%;display: flex;align-items: center;justify-content: center;" data-id="{{item.id}}" data-index="{{index}}" bindtap="rollback"> | |||
| <view> | |||
| <image src="../../image/apply/icon_delete.png" style="width: 25px;height: 25px;margin: 0 auto;"></image> | |||
| <text style="display: block;text-align: center;color: #e90000;">撤回</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </van-swipe-cell> | |||
| <van-swipe-cell right-width="{{ 65 }}" wx:if="{{active=='4'}}" wx:for-item="item" wx:for="{{yzdList}}" wx:key="id" class="workflow"> | |||
| <!--1--> | |||
| <view class="workflow_list" data-id="{{item.id}}" bindtap="godetail"> | |||
| <view class="process_intro"> | |||
| <view class="name">{{item.approvalItems}}</view> | |||
| <view class="name"> | |||
| <view class="name_tit">{{item.remark}}</view> | |||
| <view class="{{item.auditStatus == '1'?'in':item.auditStatus == '2'?'disagree':item.auditStatus == '3'?'agree':'caogao'}}">{{item.auditStatus == '1'?'审核中':item.auditStatus == '2'?'已拒绝':item.auditStatus == '3'?'已通过':'草稿'}}</view> | |||
| </view> | |||
| <!-- <view class="state">已制单</view> --> | |||
| <view class="time">{{item.submitDate}}</view> | |||
| <view class="time">{{item.applyDate}}</view> | |||
| </view> | |||
| <view class="process_pay"> | |||
| <view class="describe"> | |||
| <image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | |||
| <text class="textLimit">{{item.formData.activityBusinessType=='35'?'现金转账':'银行转账'}}</text> | |||
| <text class="textLimit">{{item.transferType=='2'?'信用卡转账':item.transferType=='1'?'银行转账':'其他'}}</text> | |||
| </view> | |||
| <view class="amount"><text class="unit">¥</text>{{item.totalAmount}}</view> | |||
| <view class="amount"><text class="unit">¥</text>{{item.expenditureAmount}}</view> | |||
| </view> | |||
| </view> | |||
| <view slot="right" class="deleteBox" style="background-color: rgb(235, 4, 4,0.2);"> | |||
| @@ -247,19 +247,20 @@ | |||
| width: 390rpx; | |||
| font-size: 34rpx; | |||
| margin-right: 30rpx; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| } | |||
| .workflow .process_intro .name .name_tit{ | |||
| width: 290rpx; | |||
| flex: 1; | |||
| overflow: hidden; | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .workflow .process_intro .name .name_tit{ | |||
| width: 290rpx; | |||
| overflow: hidden; | |||
| text-overflow: ellipsis; | |||
| white-space: nowrap; | |||
| float: left; | |||
| } | |||
| .workflow .process_intro .state{ | |||
| width: 93rpx; | |||
| height: 42rpx; | |||
| @@ -416,6 +417,15 @@ | |||
| border-radius: 5px; | |||
| font-size: 12px; | |||
| } | |||
| .caogao{ | |||
| background-color: rgba(133, 133, 133, 1); | |||
| color:#ffffff ; | |||
| text-align: center; | |||
| float: right; | |||
| padding: 2px 5px; | |||
| border-radius: 5px; | |||
| font-size: 12px; | |||
| } | |||
| .deleteBox{ | |||
| width: 65px; | |||
| text-align: center; | |||
| @@ -0,0 +1,103 @@ | |||
| // pages/noLoginIndex.js | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| showList:false, | |||
| showListText:'更多', | |||
| num:1 | |||
| }, | |||
| openView(){ | |||
| var that = this; | |||
| let num = that.data.num; | |||
| console.log((num%2)); | |||
| if( (num%2) > 0 ){ | |||
| num++; | |||
| that.setData({ | |||
| showList:true, | |||
| showListText:'收起', | |||
| num:num | |||
| }) | |||
| }else{ | |||
| num++; | |||
| that.setData({ | |||
| showList:false, | |||
| showListText:'更多', | |||
| num:num | |||
| }) | |||
| } | |||
| }, | |||
| goLogin(){ | |||
| wx.showModal({ | |||
| title: '提示', | |||
| content: '登录后可使用全部功能,是否前往登录?', | |||
| success (res) { | |||
| if (res.confirm) { | |||
| wx.navigateTo({ | |||
| url: 'user/login/login', | |||
| }) | |||
| } else if (res.cancel) { | |||
| console.log('用户点击取消') | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad(options) { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload() { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh() { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom() { | |||
| }, | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage() { | |||
| } | |||
| }) | |||
| @@ -0,0 +1,5 @@ | |||
| { | |||
| "usingComponents": { | |||
| "van-notice-bar": "@vant/weapp/notice-bar/index" | |||
| } | |||
| } | |||
| @@ -0,0 +1,135 @@ | |||
| <!--pages/noLoginIndex.wxml--> | |||
| <image src="https://www.nongshen.net/static/wechat/no_login_bg.png" style="width: 100%;" mode="widthFix"></image> | |||
| <van-notice-bar | |||
| color="#444444" | |||
| background="transparent" | |||
| left-icon="volume" | |||
| mode="link" | |||
| text="通知关于年终财务报销时间安排通知" | |||
| /> | |||
| <view class="navList_main"> | |||
| <view class="tab_item" bindtap='goLogin' hover-class="btnView"> | |||
| <view class="icon"> | |||
| <image class="icon_img" src="../image/index/nav_01.png" mode="aspectFit"></image> | |||
| </view> | |||
| <text class="desc">支出申请</text> | |||
| </view> | |||
| <view class="tab_item" bindtap='goLogin' hover-class="btnView"> | |||
| <view class="icon"> | |||
| <image class="icon_img" src="../image/index/nav_02.png" mode="aspectFit"></image> | |||
| </view> | |||
| <text class="desc">收入登记</text> | |||
| </view> | |||
| <view class="tab_item" bindtap='goLogin' hover-class="btnView"> | |||
| <view class="icon"> | |||
| <image class="icon_img" src="../image/index/nav_03.png" mode="aspectFit"></image> | |||
| </view> | |||
| <text class="desc">记账申请</text> | |||
| </view> | |||
| <view class="tab_item" data-url="/pages/paymentManager/paymentManager" bindtap='goLogin' hover-class="btnView"> | |||
| <view class="icon"> | |||
| <image class="icon_img" src="../image/index/nav_04.png" mode="aspectFit"></image> | |||
| </view> | |||
| <text class="desc">支付管理</text> | |||
| </view> | |||
| </view> | |||
| <view class="page-section page-section-spacing swiper"> | |||
| <swiper | |||
| indicator-dots="true" | |||
| autoplay="true" | |||
| circular="true"> | |||
| <swiper-item> | |||
| <image src="https://www.nongshen.net/static/wechat/banner1.png" style="width:100%;height:100%;"></image> | |||
| </swiper-item> | |||
| <swiper-item> | |||
| <image src="https://www.nongshen.net/static/wechat/banner2.png" style="width:100%;height:100%;"></image> | |||
| </swiper-item> | |||
| </swiper> | |||
| </view> | |||
| <text class="title">常用功能</text> | |||
| <view class="child_function"> | |||
| <!-- <view class="flex_block" bindtap="testBtn" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/paymentManager_icon.png" mode="aspectFit"></image></view> | |||
| <text class="desc">消息推送</text> | |||
| </view> --> | |||
| <view class="flex_block" data-url="/pages/contract/contract" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_01.png" mode="aspectFit"></image></view> | |||
| <text class="desc">合同信息</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/fixedAssets/fixedAssets" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_02.png" mode="aspectFit"></image></view> | |||
| <text class="desc">固定资产</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/resources/resources" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_03.png" mode="aspectFit"></image></view> | |||
| <text class="desc">资源资产</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/project/project" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_04.png" mode="aspectFit"></image></view> | |||
| <text class="desc">工程项目</text> | |||
| </view> | |||
| <block wx:if="{{showList}}"> | |||
| <view class="flex_block" data-url="/pages/finance/index" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_05.png" mode="aspectFit"></image></view> | |||
| <text class="desc">财务公开</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/bank/bank" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_06.png" mode="aspectFit"></image></view> | |||
| <text class="desc">开户行</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/payee/list/list" bindtap="goLogin" hover-class="btnView"><!--bindtap="goLogin"--> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_07.png" mode="aspectFit"></image></view> | |||
| <text class="desc">收款方</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/drawee/drawee" bindtap="goLogin" hover-class="btnView"><!--bindtap="goLogin"--> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_08.png" mode="aspectFit"></image></view> | |||
| <text class="desc">村账户</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/bankDraft/bankDraft" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_09.png" mode="aspectFit"></image></view> | |||
| <text class="desc">银行汇票</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/majorEvent/majorEvent" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_10.png" mode="aspectFit"></image></view> | |||
| <text class="desc">重大事项</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/transaction/transaction" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_11.png" mode="aspectFit"></image></view> | |||
| <text class="desc">交易明细</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/transferAccounts/transferAccounts" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_12.png" mode="aspectFit"></image></view> | |||
| <text class="desc">转账对账</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/statistics/statistics" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_13.png" mode="aspectFit"></image></view> | |||
| <text class="desc">收支统计</text> | |||
| </view> | |||
| <view class="flex_block" data-url="/pages/bill/bill" bindtap="goLogin" hover-class="btnView"> | |||
| <view class="image"><image class="attribute" src="../image/index/icon_index_14.png" mode="aspectFit"></image></view> | |||
| <text class="desc">票据签收</text> | |||
| </view> | |||
| </block> | |||
| <view class="flex_block" bindtap="openView" hover-class="btnView"> | |||
| <view class="image" wx:if="{{showListText == '更多'}}"><image class="attribute" src="../image/index/nav_ckqb.png" mode="aspectFit"></image></view> | |||
| <view class="image" wx:if="{{showListText == '收起'}}"><image class="attribute" src="../image/index/nav_sqqb.png" mode="aspectFit"></image></view> | |||
| <text class="desc">{{showListText}}</text> | |||
| </view> | |||
| </view> | |||
| <!--工作计划--> | |||
| <view class="work_plan"> | |||
| <view class="menu_item active" bindtap='goLogin' data-gid='{{1}}'>待办</view> | |||
| <view class="menu_item " bindtap="goLogin" data-gid='{{2}}'>已办</view> | |||
| <view class="menu_item " bindtap="goLogin" data-gid='{{3}}'>已提交</view> | |||
| <view class="menu_item " bindtap="goLogin" data-gid='{{4}}'>草稿箱</view> | |||
| <!-- <view class="more" bindtap="toList">></view> --> | |||
| </view> | |||
| @@ -0,0 +1,126 @@ | |||
| /* pages/noLoginIndex.wxss */ | |||
| page{ | |||
| background-color: #ffffff!important; | |||
| height: 100vh; | |||
| } | |||
| .navList_main{ | |||
| width: 685rpx; | |||
| height: 228rpx; | |||
| margin:0 auto; | |||
| display: flex; | |||
| border-top: 1px solid rgba(0,0,0,.1); | |||
| } | |||
| .navList_main .tab_item{ | |||
| flex: 1; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| flex-direction: column; | |||
| } | |||
| .navList_main .tab_item .icon{ | |||
| width: 130rpx; | |||
| height: 130rpx; | |||
| margin-bottom: 12rpx; | |||
| } | |||
| .navList_main .tab_item .icon_img{ | |||
| width: 130rpx; | |||
| height: 130rpx; | |||
| } | |||
| .navList_main .tab_item .desc{ | |||
| font-size: 26rpx; | |||
| } | |||
| .page-section{ | |||
| width: 100%; | |||
| } | |||
| .page-section:last-child{ | |||
| margin-bottom: 0; | |||
| } | |||
| .page-section-spacing{ | |||
| box-sizing: border-box; | |||
| } | |||
| swiper{ | |||
| display: block; | |||
| height: 144px!important; | |||
| } | |||
| .child_function{ | |||
| margin: 15px 20rpx 0; | |||
| display: flex; | |||
| flex-wrap: wrap; | |||
| align-content:space-between; | |||
| } | |||
| .child_function .flex_block{ | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| flex-direction: column; | |||
| width: 20%; | |||
| } | |||
| .child_function .flex_block:nth-child(n+6){ | |||
| margin-top: 25rpx; | |||
| } | |||
| .child_function .flex_block .image{ | |||
| width: 76rpx; | |||
| height: 70rpx; | |||
| margin-bottom: 20rpx; | |||
| } | |||
| .child_function .flex_block .attribute{ | |||
| width: 76rpx; | |||
| height: 70rpx; | |||
| } | |||
| .child_function .flex_block .desc{ | |||
| font-size: 26rpx; | |||
| } | |||
| .work_plan{ | |||
| padding: 40rpx 32.5rpx 30rpx; | |||
| display: flex; | |||
| justify-content: space-between; | |||
| } | |||
| .work_plan .menu_item{ | |||
| height: 60rpx; | |||
| width: 140rpx; | |||
| background-color: #fff; | |||
| box-shadow: 0rpx 4rpx 9rpx rgba(0,0,0,.2); | |||
| border-radius: 60rpx; | |||
| line-height: 60rpx; | |||
| text-align: center; | |||
| font-size: 28rpx; | |||
| position: relative; | |||
| } | |||
| .work_plan .menu_item.active{ | |||
| background-color: #5bae78; | |||
| 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: 50px; | |||
| top: -10rpx; | |||
| right: -10rpx; | |||
| } | |||
| .work_plan .more{ | |||
| flex: 1; | |||
| text-align: center; | |||
| line-height: 60rpx; | |||
| font-size: 36rpx; | |||
| color: #31936c; | |||
| } | |||
| .title{ | |||
| font-size: 18px; | |||
| padding: 0 32.5rpx; | |||
| margin-top: 10px; | |||
| display: block; | |||
| font-weight: bold; | |||
| } | |||
| @@ -21,59 +21,60 @@ Page({ | |||
| console.log(options) | |||
| // 可优化:数据请求放到 onload中 新增后在子页面修改父页面数据 | |||
| var that = this; | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type_all', {method:'GET'}, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| bankTypeOptions:res.data, | |||
| }) | |||
| } | |||
| }) | |||
| that.setData({ | |||
| // isPeers:options.isPeers,//是否同行 | |||
| // bankType:options.bankType,//所属银行 | |||
| isPeers:options.isPeers,//是否同行 | |||
| bankType:options.bankType,//所属银行 | |||
| // accountType:options.accountType,//账户类型 | |||
| payeeType:options.transferType,//申请转帐类型 | |||
| money:options.money,//申请转帐类型 | |||
| index:options.index | |||
| }) | |||
| // 获取收款账号列表 | |||
| let prames = { | |||
| pageNum:1, | |||
| pageSize:999, | |||
| orderByColumn:'id', | |||
| isAsc:'desc', | |||
| // isPeers:that.data.isPeers,//是否同行 | |||
| // bankType:that.data.bankType,//所属银行 | |||
| // accountType:that.data.accountType,//账户类型 | |||
| // payeeType:that.data.payeeType,//申请转帐类型 | |||
| status:'0', | |||
| method:'GET' | |||
| } | |||
| UTIL.httpRequest(API.URL_GET_SELECTLIST , prames, { | |||
| success: (res) => { | |||
| let array = res.rows ; | |||
| var payeeType = that.data.payeeType; | |||
| var list = []; | |||
| array.map(res=>{ | |||
| // .replace(/^(.{6})(?:\d+)(.{4})$/,"\$1****\$2") | |||
| res.payeeAccountText = res.payeeAccount; | |||
| res.bankTypeText = (that.data.bankTypeOptions.filter(function (e) { return e.dictValue == res.bankType; }))[0].dictLabel; | |||
| if(payeeType == 2 && array.length>0){ | |||
| if(res.payeeType == 4 || res.payeeType == 3 ){ | |||
| list.push(res) | |||
| // 获取收款账号列表 | |||
| let prames = { | |||
| pageNum:1, | |||
| pageSize:999, | |||
| orderByColumn:'id', | |||
| isAsc:'desc', | |||
| isPeers:that.data.isPeers,//是否同行 | |||
| bankType:that.data.bankType,//所属银行 | |||
| // accountType:that.data.accountType,//账户类型 | |||
| // payeeType:that.data.payeeType,//申请转帐类型 | |||
| status:'0', | |||
| method:'GET' | |||
| } | |||
| UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type_all', {method:'GET'}, { | |||
| success: (res) => { | |||
| that.setData({ | |||
| bankTypeOptions:res.data, | |||
| }) | |||
| UTIL.httpRequest(API.URL_GET_SELECTLIST , prames, { | |||
| success: (res2) => { | |||
| let array = res2.rows ; | |||
| var payeeType = that.data.payeeType; | |||
| var list = []; | |||
| array.map(res3=>{ | |||
| // .replace(/^(.{6})(?:\d+)(.{4})$/,"\$1****\$2") | |||
| res3.payeeAccountText = res3.payeeAccount; | |||
| res3.bankTypeText = (res.data.filter(function (e) { return e.dictValue == res3.bankType; }))[0].dictLabel; | |||
| if(payeeType == 2 && array.length>0){ | |||
| if(res3.payeeType == 4 || res3.payeeType == 3 ){ | |||
| list.push(res3) | |||
| } | |||
| } | |||
| } | |||
| if(payeeType == 1 && array.length>0){ | |||
| if(res.payeeType == 1){ | |||
| list.push(res) | |||
| if(payeeType == 1 && array.length>0){ | |||
| if(res3.payeeType == 1){ | |||
| list.push(res3) | |||
| } | |||
| } | |||
| } | |||
| }) | |||
| that.setData({ | |||
| list:list, | |||
| }) | |||
| } | |||
| }) | |||
| }) | |||
| that.setData({ | |||
| list:list, | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| }) | |||
| }, | |||
| goAdd(){ | |||
| wx.navigateTo({ | |||
| @@ -170,7 +171,7 @@ Page({ | |||
| return; | |||
| } | |||
| let array = that.data.list.filter(function (e) { return e.id == that.data.result; }); | |||
| array[0].incomeAmount = that.data.money; | |||
| // array[0].incomeAmount = that.data.money; | |||
| console.log(array); | |||
| let pages = getCurrentPages(); | |||
| let currentPage = null; //当前页面 | |||
| @@ -178,9 +179,15 @@ Page({ | |||
| currentPage = pages[pages.length - 1]; //获取当前页面,将其赋值 | |||
| prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值 | |||
| if (prevPage) { | |||
| prevPage.setData({ | |||
| ["form.transfers["+that.data.index+"].payeeList[0]"]: array[0],//将想要传的信息赋值给上一个页面data中的值 | |||
| ["form.transfers["+that.data.index+"].accountType"]:array[0].accountType | |||
| for(let i = 0 ; i < prevPage.data.form.payeeList.length ; i++){ | |||
| if(prevPage.data.form.payeeList[i].payeeAccount == array[0].payeeAccount){ | |||
| UTIL.showToastNoneIcon('当前收款方已选!'); | |||
| return; | |||
| } | |||
| } | |||
| prevPage.setData({ | |||
| ["form.payeeList["+that.data.index+"]"]: array[0],//将想要传的信息赋值给上一个页面data中的值 | |||
| ["form.accountType"]:array[0].accountType | |||
| }) | |||
| that.back() | |||
| } | |||
| @@ -27,7 +27,7 @@ | |||
| use-label-slot | |||
| > | |||
| <view slot="icon" style="margin-right: 10px;"> | |||
| <image src="/image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'icon_icbc':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'icon_RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'icon_ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'icon_CCB':'icon_other'}}.png" style="width: 20px;height: 20px;vertical-align: middle;"></image> | |||
| <image src="/image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'icon_icbc':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'icon_RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'icon_ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'icon_CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'icon_EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'icon_BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'icon_ZYB':'icon_other'}}.png" style="width: 20px;height: 20px;vertical-align: middle;"></image> | |||
| </view> | |||
| <view slot="title"> | |||
| {{item.payee}} | |||
| @@ -30,6 +30,7 @@ | |||
| <image wx:elif="{{item.bankType == 2}}" src="/image/apply/icon_RCB.png" style="width: 20px;height: 20px;vertical-align: middle;"></image> | |||
| <image wx:elif="{{item.bankType == 3}}" src="/image/apply/icon_ABC.png" style="width: 20px;height: 20px;vertical-align: middle;"></image> | |||
| <image wx:elif="{{item.bankType == 4}}" src="/image/apply/icon_CCB.png" style="width: 20px;height: 20px;vertical-align: middle;"></image> | |||
| <image wx:elif="{{item.bankType == 5}}" src="/image/apply/icon_EMS.png" style="width: 20px;height: 20px;vertical-align: middle;"></image> | |||
| <image wx:else src="/image/apply/icon_other.png" style="width: 20px;height: 20px;vertical-align: middle;"></image> | |||
| </view> | |||
| <view slot="title"> | |||
| @@ -191,7 +191,7 @@ Page({ | |||
| }, | |||
| toPayDetail(e){ | |||
| wx.navigateTo({ | |||
| url: '/pages/pay/detail?id='+e.currentTarget.dataset.id+'&&ids='+e.currentTarget.dataset.ids, | |||
| url: '/pages/handle/expenditureAuditNew/expenditureAuditNew?id='+e.currentTarget.dataset.ids+'&&ids='+e.currentTarget.dataset.ids+'&&type=see', | |||
| }) | |||
| }, | |||
| scrap(e){ | |||
| @@ -24,7 +24,7 @@ | |||
| <view class="li"> | |||
| <view style="width:70%;flex:7;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail" > | |||
| <view class="tit_box"> | |||
| <image src="/image/icon/paymentManager_icon.png" style="width: 15px;height: 15px;margin-right: 10px;" referrer="no-referrer|origin|unsafe-url"></image> | |||
| <image src="/image/icon/paymentManager_icon.png" style="width: 15px;height: 15px;margin-right: 10px;vertical-align: middle;" referrer="no-referrer|origin|unsafe-url"></image> | |||
| <text class="tit">{{item.remark}}</text> | |||
| </view> | |||
| <view class="detail_box"> | |||
| @@ -44,9 +44,9 @@ | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view style="width:30%;flex:3;"> | |||
| <view style="width:30%;flex:3;display: flex;flex-direction: column;justify-content: space-between;"> | |||
| <view style="text-align: right;"> | |||
| <view style="color:red;line-height: 50px;font-size: 18px;"> | |||
| <view style="color:red;font-size: 18px;"> | |||
| <text style="font-size: 10px;display: inline;">¥</text>{{item.expenditureAmount}} | |||
| </view> | |||
| </view> | |||
| @@ -122,6 +122,7 @@ text{display: block;} | |||
| } | |||
| .tit_box{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .detail_box{ | |||
| margin-top: 14px; | |||
| @@ -177,7 +178,6 @@ text{display: block;} | |||
| .li .tit{ | |||
| font-size: 16px; | |||
| color: #444444; | |||
| line-height: 14px; | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| @@ -152,15 +152,27 @@ Page({ | |||
| } | |||
| UTIL.httpRequest(API.URL_GET_PAY,params,{ | |||
| success: (res) => { | |||
| wx.showModal({ | |||
| title: "", | |||
| showCancel: false, | |||
| content: "支付成功,请等待银行进行处理,稍后可通过查询结果按钮查询银行处理结果。", | |||
| confirmText: '确定', | |||
| success: function (e) { | |||
| _this.back() | |||
| } | |||
| }) | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| wx.showModal({ | |||
| title: "", | |||
| showCancel: false, | |||
| content: "支付成功,请等待银行进行处理,稍后可通过查询结果按钮查询银行处理结果。", | |||
| confirmText: '确定', | |||
| success: function (e) { | |||
| _this.back() | |||
| } | |||
| }) | |||
| }else{ | |||
| wx.showModal({ | |||
| title: "", | |||
| showCancel: false, | |||
| content: res.msg, | |||
| confirmText: '确定', | |||
| success: function (e) { | |||
| _this.back() | |||
| } | |||
| }) | |||
| } | |||
| }, | |||
| fail:(res) => { | |||
| UTIL.showToastNoneIcon(res) | |||
| @@ -0,0 +1,184 @@ | |||
| // pages/phoneLogin.js | |||
| import * as UTIL from '../utils/util.js'; | |||
| import * as jsencrypt from '../utils/jsencrypt.js'; | |||
| import * as API from '../utils/API.js'; | |||
| let EVN_CONFIG = require('../env/env'); | |||
| const app = getApp(); | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| isIPX: app.globalData.isIPX, | |||
| formData:{ | |||
| username:'', | |||
| password:'', | |||
| code:'', | |||
| }, | |||
| codeUrl:'' | |||
| }, | |||
| back:function(){ | |||
| wx.navigateBack({ | |||
| delta: 1 | |||
| }) | |||
| }, | |||
| onChange(event){ | |||
| this.setData({ | |||
| [event.currentTarget.dataset.value]: event.detail, | |||
| }) | |||
| }, | |||
| onSubmit(){ | |||
| var that = this; | |||
| if (this.data.formData.rememberMe) { | |||
| wx.setStorageSync("username", this.data.formData.username, { expires: 30 }); | |||
| wx.setStorageSync('key', data)("password", encrypt(this.data.formData.password), { expires: 30 }); | |||
| wx.setStorageSync("rememberMe", this.data.formData.rememberMe, { expires: 30 }); | |||
| } else { | |||
| wx.removeStorage("username"); | |||
| wx.removeStorage("password"); | |||
| wx.removeStorage("rememberMe"); | |||
| } | |||
| //账号密码登录 | |||
| if (this.data.formData.username == "") { | |||
| UTIL.showToastNoneIcon('账号不能为空') | |||
| return false; | |||
| } else if (this.data.formData.password == "") { | |||
| UTIL.showToastNoneIcon('密码不能为空') | |||
| return false; | |||
| } else if (!this.data.formData.code) { | |||
| UTIL.showToastNoneIcon('图片验证码不能为空') | |||
| return false; | |||
| } | |||
| let form = { | |||
| username:this.data.formData.username, | |||
| password:this.data.formData.password, | |||
| code:this.data.formData.code, | |||
| uuid:this.data.formData.uuid, | |||
| } | |||
| form.username = jsencrypt.encrypt(this.data.formData.username); | |||
| form.password = jsencrypt.encrypt(this.data.formData.password); | |||
| console.log(jsencrypt.encrypt(this.data.formData.username)) | |||
| console.log(jsencrypt.encrypt(this.data.formData.password)) | |||
| console.log(jsencrypt.decrypt(form.username)) | |||
| console.log(jsencrypt.decrypt(form.password)) | |||
| // return; | |||
| wx.showLoading({ | |||
| title: '正在登录', | |||
| mask:true | |||
| }) | |||
| UTIL.httpRequestNoneDetal(API.URL_GET_LOGIN,form, "POST", { | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| wx.hideLoading(); | |||
| wx.setStorageSync('token', res.token); | |||
| getApp().globalData.userInfo.token = res.token; | |||
| wx.reLaunch({ | |||
| url: '/pages/index/index', | |||
| }) | |||
| }else{ | |||
| wx.hideLoading(); | |||
| UTIL.showToastNoneIcon(res.msg) | |||
| that.getCode(); | |||
| } | |||
| } | |||
| }) | |||
| // UTIL.httpRequestNoneDetal(API.URL_GET_GETPHONELOGIN+this.data.form.phone,{}, "GET", { | |||
| // success: (res) => { | |||
| // if (res.code == API.SUCCESS_CODE) { | |||
| // wx.setStorageSync('token', res.token); | |||
| // getApp().globalData.userInfo.token = res.token; | |||
| // wx.reLaunch({ | |||
| // url: '/pages/index/index', | |||
| // }) | |||
| // }else{ | |||
| // UTIL.showToastNoneIcon(res.msg) | |||
| // } | |||
| // } | |||
| // }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad(options) { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady() { | |||
| }, | |||
| getCode(){ | |||
| var that = this; | |||
| UTIL.httpRequestNoneDetal(API.URL_GET_GETCODE,{}, "GET", { | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| that.setData({ | |||
| ["formData.uuid"]:res.uuid, | |||
| codeUrl:"data:image/gif;base64," + res.img | |||
| }) | |||
| }else{ | |||
| UTIL.showToastNoneIcon(res.msg) | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow() { | |||
| var that = this; | |||
| UTIL.httpRequestNoneDetal(API.URL_GET_GETCODE,{}, "GET", { | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| that.setData({ | |||
| ["formData.uuid"]:res.uuid, | |||
| codeUrl:"data:image/gif;base64," + res.img | |||
| }) | |||
| }else{ | |||
| UTIL.showToastNoneIcon(res.msg) | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload() { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh() { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom() { | |||
| }, | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage() { | |||
| } | |||
| }) | |||
| @@ -0,0 +1,5 @@ | |||
| { | |||
| "usingComponents": { | |||
| "van-field": "@vant/weapp/field/index" | |||
| } | |||
| } | |||
| @@ -0,0 +1,38 @@ | |||
| <!--pages/phoneLogin.wxml--> | |||
| <import src="/templates/global/global"/> | |||
| <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%;"> | |||
| <view style="position: absolute;left:2.5%;top:{{isIPX?'57px':'32px'}};display: flex;align-items: center;" bindtap="back"> | |||
| <image src="/image/icon/cancel_icon.png" style="width: 35px;height: 35px;"></image> | |||
| </view> | |||
| <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> | |||
| <view class="quick-login" style="bottom:{{isIPhoneX?'6vh':'10vh'}}"> | |||
| <van-field value="{{ formData.username }}" bind:change="onChange" placeholder="请输入账号" required data-value="formData.username" label-width="auto"> | |||
| <view slot="left-icon"> | |||
| <image src="/image/icon/input_name.png" style="width: 15px;vertical-align: middle;margin-right: 10px;" mode="widthFix"/> | |||
| </view> | |||
| </van-field> | |||
| <van-field value="{{ formData.password }}" type="password" bind:change="onChange" placeholder="请输入密码" required data-value="formData.password" label-width="auto"> | |||
| <view slot="left-icon"> | |||
| <image src="/image/icon/input_password.png" style="width: 15px;vertical-align: middle;margin-right: 10px;" mode="widthFix"/> | |||
| </view> | |||
| </van-field> | |||
| <van-field value="{{ formData.code }}" bind:change="onChange" placeholder="请输入验证码" required data-value="formData.code" label-width="auto"> | |||
| <view slot="left-icon"> | |||
| <image src="/image/icon/input_yzm.png" style="width: 15px;vertical-align: middle;margin-right: 10px;" mode="widthFix"/> | |||
| </view> | |||
| <view slot="button"> | |||
| <image src="{{codeUrl}}" style="width: 70px;vertical-align: middle;" mode="widthFix" bind:tap="getCode"/> | |||
| </view> | |||
| </van-field> | |||
| <view class="bottom"> | |||
| <view class="btn2" bindtap="onSubmit">登录</view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| @@ -0,0 +1,98 @@ | |||
| /* pages/phoneLogin.wxss */ | |||
| .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; | |||
| } | |||
| .bottom .btn2{ | |||
| border: 1px solid transparent; | |||
| padding: 8px 0px; | |||
| background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||
| color: #fff; | |||
| } | |||
| .container{ | |||
| width: 100vw; | |||
| height: 100vh; | |||
| } | |||
| .container .header{ | |||
| padding-top: 25.24vh; | |||
| height: 36.94vh; | |||
| } | |||
| .container .header .principal{ | |||
| height: 6.15vh; | |||
| line-height: 6.15vh; | |||
| margin-bottom: 0.61vh; | |||
| text-align: center; | |||
| font-size: 4.92vh; | |||
| color: #2c7339; | |||
| } | |||
| .container .header .instructions{ | |||
| font-size: 2.46vh; | |||
| height: 4.92vh; | |||
| line-height: 4.92vh; | |||
| text-align: center; | |||
| color: #2c7339; | |||
| } | |||
| .container .quick-login{ | |||
| position: fixed; | |||
| width: 80%; | |||
| left: 10%; | |||
| background-color: #fff; | |||
| border-radius: 10px; | |||
| overflow: hidden; | |||
| box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1); | |||
| padding: 30px 20px 0; | |||
| } | |||
| .van-field__body { | |||
| /* border-bottom: 1px solid #dddddd; */ | |||
| } | |||
| .container .quick-login .key-login{ | |||
| width: 89vw; | |||
| height: 5.17vh; | |||
| background:#ffffff; | |||
| margin:0 auto; | |||
| border-radius: 5.17vh; | |||
| text-align: center; | |||
| line-height: 5.17vh; | |||
| font-size: 2.21vh; | |||
| color: #2c7339; | |||
| box-shadow: 8rpx 6rpx 20rpx rgba(0,0,0,.3); | |||
| padding: 0; | |||
| } | |||
| .container .quick-login .authorization{ | |||
| margin-top: 5vh; | |||
| display: flex; | |||
| justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| color: #fff; | |||
| } | |||
| .container .quick-login .authorization .changeSize{ | |||
| transform: scale(0.7,0.7); | |||
| } | |||
| .container .quick-login .authorization .changeSize .wx-checkbox-input { | |||
| border-radius: 1vh; | |||
| } | |||
| .container .quick-login .authorization text{ | |||
| margin-left: -.5vw; | |||
| } | |||
| scroll-view text{ | |||
| display: block; | |||
| line-height: 24px; | |||
| text-indent: 2rem; | |||
| } | |||
| @@ -39,7 +39,7 @@ | |||
| /> | |||
| </van-popup> | |||
| </view> | |||
| <van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{listNy}}" wx:key="index"> | |||
| <van-swipe-cell right-width="{{ 0 }}" class="workflow" wx:for="{{listNy}}" wx:key="index"> | |||
| <view class="li" data-id="{{item.id}}" bindtap="goSee"> | |||
| <view style="display: flex;align-items: center;"> | |||
| <image src="/image/icon/{{showGroup == '1'? 'icon_zyzc' : showGroup == '2' ? 'icon_jsyd' : showGroup == '3' ? 'icon_wlyd' : '' }}.png" style="width: {{showGroup == '1'? '16.76' : showGroup == '2' ? '16.35' : showGroup == '3' ? '13.29' : '' }}px;height: {{showGroup == '1'? '14.3' : showGroup == '2' ? '13.03' : showGroup == '3' ? '15.5' : '' }}px;margin-right: 5px;"></image> | |||
| @@ -51,17 +51,17 @@ | |||
| <view style="display: flex;margin-top: 15px;justify-content: space-between;align-items: center;"> | |||
| <view class="fksr">{{item.resourceSortText}}</view> | |||
| <text class="time">{{item.code}}</text> | |||
| <text class="money">{{item.totalArea}}㎡</text> | |||
| <text class="money">{{item.totalArea}}亩</text> | |||
| </view> | |||
| </view> | |||
| <view slot="right" class="deleteBox"> | |||
| <!-- <view slot="right" class="deleteBox"> | |||
| <view style="flex: 1;height: 100%;display: flex;align-items: center;justify-content: space-evenly;background-color: #FC9A55;" data-id="{{item.id}}" data-index="{{index}}" bindtap="goUpdate"> | |||
| <view> | |||
| <image src="../../image/icon/icon_xg2.png" style="width: 25px;height: 25px;margin: 0 auto;" ></image> | |||
| <text style="color: #ffffff;">修改</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> --> | |||
| </van-swipe-cell> | |||
| <van-empty wx:if="{{flowListSRNum == 0 && showGroup}}" description="暂无收入事项数据" /> | |||
| @@ -129,6 +129,12 @@ van-search { | |||
| display: flex; | |||
| align-items: center; | |||
| color: #2C8E68; | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| width: 20%; | |||
| /* font-size: 16px; */ | |||
| } | |||
| .li .wtj{ | |||
| @@ -164,8 +170,8 @@ van-search { | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| width: 50%; | |||
| font-size: 16px; | |||
| flex: 1; | |||
| } | |||
| .li .fj_name{ | |||
| font-size: 14px; | |||
| @@ -179,10 +185,11 @@ van-search { | |||
| margin-left: auto; | |||
| } | |||
| .li .money{ | |||
| font-size: 18px; | |||
| font-size: 16px; | |||
| color: #E90000; | |||
| text-align: right; | |||
| margin-left: auto; | |||
| flex-shrink: 0; | |||
| } | |||
| .van-checkbox__label { | |||
| /* display: flex; | |||
| @@ -7,9 +7,10 @@ Page({ | |||
| data: { | |||
| isIPhoneX:false, | |||
| isIPX: APP.globalData.isIPX, | |||
| privacyCheck:true, //用户协议 | |||
| privacyCheck:false, //用户协议 | |||
| showDialog:false, | |||
| nowDress:'' | |||
| nowDress:'', | |||
| showPhoneBtn:false | |||
| }, | |||
| onShow: function (options) { | |||
| // this.setData({ | |||
| @@ -29,8 +30,8 @@ Page({ | |||
| //获取code | |||
| UTIL.getCOdeFromWX({ | |||
| complate: (code) => { | |||
| // //获取openId | |||
| console.log('aaaa'); | |||
| //获取openId | |||
| console.log('aaaa'); | |||
| that.getOpenIdFromFW(code); | |||
| } | |||
| }); | |||
| @@ -57,17 +58,31 @@ Page({ | |||
| console.log(res); | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| // UTIL.showToastNoneIcon("openId:" + res._data.openid); | |||
| wx.setStorageSync('token', res.token); | |||
| wx.setStorageSync('openId', res.data.openId); | |||
| wx.setStorageSync('sessionKey', res.data.sessionKey); | |||
| getApp().globalData.userInfo.token = res.token; | |||
| if(res.token){ | |||
| wx.setStorageSync('token', res.token); | |||
| wx.setStorageSync('openId', res.data.openId); | |||
| wx.setStorageSync('sessionKey', res.data.sessionKey); | |||
| getApp().globalData.userInfo.token = res.token; | |||
| }else{ | |||
| this.setData({showPhoneBtn:true}) | |||
| } | |||
| } else { | |||
| //未获取到openId | |||
| 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}) | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| goIndex(){ | |||
| if(this.data.privacyCheck == false){ | |||
| APP.showToast("请阅读并同意【服务须知】!"); | |||
| return; | |||
| } | |||
| wx.reLaunch({ | |||
| url: '/pages/index/index', | |||
| }) | |||
| }, | |||
| //自动登录 | |||
| automaticLogin(){ | |||
| @@ -125,18 +140,18 @@ Page({ | |||
| //微信一键登录授权 | |||
| getPhoneNumber: function(res) { | |||
| let that = this; | |||
| console.log(res); | |||
| let { | |||
| detail | |||
| } = res; | |||
| if (!detail.encryptedData) { | |||
| //允许授权 | |||
| APP.showToast("未获取到手机号码,注册失败!"); | |||
| APP.showToast("未获取到手机号码,登录失败!"); | |||
| return; | |||
| }else if(this.data.privacyCheck == false){ | |||
| APP.showToast("请阅读并同意用户协议和隐私政策!"); | |||
| APP.showToast("请阅读并同意【服务须知】!"); | |||
| return; | |||
| } | |||
| console.log(detail) | |||
| let sendData = { | |||
| sessionKey:STORAGE.getSessionKey(), | |||
| iv:detail.iv, | |||
| @@ -189,6 +204,7 @@ Page({ | |||
| UTIL.httpRequestNoneDetal(API.URL_POST_USERBAND, sendData,"POST",{ | |||
| success: (res) => { | |||
| if (res.code == API.SUCCESS_CODE) { | |||
| wx.setStorageSync('token', res.token); | |||
| wx.reLaunch({ | |||
| // url: '/pages/user/region/region', | |||
| url: '/pages/index/index', | |||
| @@ -211,6 +227,11 @@ Page({ | |||
| this.setData({ | |||
| privacyCheck:true | |||
| }) | |||
| }, | |||
| goPhoneLogin(){ | |||
| wx.navigateTo({ | |||
| url: '/pages/phoneLogin', | |||
| }) | |||
| } | |||
| }) | |||
| @@ -13,22 +13,24 @@ | |||
| <image src="/image/login/login_text.png" style="width: 80%;margin: 0 auto;" mode="widthFix"></image> | |||
| </view> | |||
| <view class="quick-login" style="bottom:{{isIPhoneX?'6vh':'4vh'}}"> | |||
| <button 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 class="key-login" type='primary' bindtap="goPhoneLogin">账号密码登录</button > --> | |||
| <view class="authorization" style="margin-top:{{isIPhoneX?'2vh':'2vh'}}"> | |||
| <checkbox-group bindchange="checkboxChange"> | |||
| <label> | |||
| <checkbox value="privacy" checked="{{privacyCheck}}" class="changeSize" /> | |||
| </label> | |||
| <text bindtap="openDialog">我已阅读并同意用户协议和隐私政策</text> | |||
| <text bindtap="openDialog">我已阅读并同意<text style="color: rgb(255, 97, 97);">【服务须知】</text></text> | |||
| </checkbox-group> | |||
| </view> | |||
| <text style="display: block;text-align: center;color: #fff;margin-top: 3vh;">北京农燊高科信息技术有限公司</text> | |||
| <text style="display: block;text-align: center;color: #fff;margin-top: 3vh;" bindtap="goPhoneLogin">北京农燊高科信息技术有限公司</text> | |||
| </view> | |||
| </view> | |||
| <van-dialog | |||
| use-slot | |||
| title="用户协议和隐私政策" | |||
| title="服务须知" | |||
| show="{{ showDialog }}" | |||
| bind:close="onClose" | |||
| confirmButtonText="同意" | |||
| @@ -39,77 +41,10 @@ | |||
| showCancelButton="{{true}}" | |||
| > | |||
| <scroll-view scroll-y="true" style="height: 300px;padding: 0 15px;margin-top: 15px;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll"> | |||
| <text>为使用农燊云微信小程序服务(以下简称“本服务”或“小程序服务”),您应当阅读并遵守《农燊云微信小程序用户协议》,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的相应条款,以及开通或使用某项服务的单独协议,并选择接受或不接受。</text> | |||
| <text>除非您已阅读并接受本条款所有条款,否则您无权使用农燊云微信小程序服务。您对本服务的登录、查看、发布信息等行为即视为已阅读并同意本条款的约束。</text> | |||
| <text>如果您未满18周岁,请在法定监护人的陪同下阅读本您协议,并特别注意未成年人使用条款。</text> | |||
| <text>一、协议的范围</text> | |||
| <text>1.1本条款是用户(以下简称“您”)与农燊云之间关于用户使用小程序服务所订立的协议。“用户”是指注册、登录、使用微信小程序的个人或组织;“其他用户”是指包括其他微信小程序用户、微信公众账号用户和微信用户等除您本人外与小程序服务相关的用户。</text> | |||
| <text>1.2本服务是指农燊云根据本协议向您提供的服务,包括协助您交接和管理租赁车辆等。我们会不断丰富您使用本服务的终端、形式等,如您已注册使用一种形式的服务,则可以以同一账号使用其他服务,本协议自动适用于您对所有版本的软件和服务的使用。</text> | |||
| <text> 1.3提供本服务的微信小程序的所有权和全部的使用权均归农燊云所有,您开通后仅授权使用部分功能,具体以产品展示的为准。</text> | |||
| <text>1.4小程序属于微信公众账号,在不与本协议冲突的情况下,您应遵守《微信公众平台服务协议》、《腾讯微信软件许可及服务协议》等关于微信公众账号的其他相关规定。</text> | |||
| <text>1.5本协议内容包括本协议正文及所有我们已经发布或将来可能发布的隐私权政策、各项政策、规则、声明、通知、警示、提示、说明(以下统称为“用户规则”)。前述用户规则为本协议不可分割的补充部分,与本协议具有同等法律效力。如您使用农燊云产品及服务,视为您同意上述补充部分。</text> | |||
| <text>二、小程序注册与审核</text> | |||
| <text>2.1账号注册</text> | |||
| <text>2.1.1您在使用本服务前需要先进行注册和认证。您确认,在您开始注册使用农燊云产品及服务前,您应当是具备完全民事权利能力和与所从事的民事行为相适应的行为能力的自然人、法人或其他组织。若您不具备前述主体资格,请勿使用服务,否则您及您的监护人应承担因此而导致的一切后果,且我们有权注销(永久冻结)您的账户,并向您及您的监护人索偿。</text> | |||
| <text>2.1.2当您按照注册页面提示填写信息、阅读并同意本协议且完成全部注册程序后,您可获得农燊云平台账户并成为产品用户,即有权使用农燊云平台并获得相应服务。农燊云平台只允许每位用户使用一个主账户,但您可以在授权范围内获得多个子账号。</text> | |||
| <text>2.1.3该账户是您通过农燊云平台寻求并获得服务的唯一有效身份证明,请您妥善保管账号和密码。为使您更好地使用农燊云平台的各项服务,保障您的账户安全,本小程序主体可要求您按本协议、用户规则及我国法律规定完成实名认证。</text> | |||
| <text>2.1.4为维护小程序的健康运营,您应当准确完整地提供您的最新信息(包括您的名称及电子邮件地址、联系电话、联系地址等)。并且您承诺,在使用本服务的过程中提交和发布的信息均是真实、合法的,因不实信息导致农燊云或者第三方合法权益受损的,由您独立承担全部责任。</text> | |||
| <text>2.2账号安全</text> | |||
| <text>2.2.1在您成功注册后,我们将根据您的身份要素识别您的身份和授权登录。“身份要素”包括但不限于您的账户名称、密码、短信校验码、手机号码、身份证件号码及人脸信息、眼纹信息。您同意基于不同的终端以及您的使用习惯,我们可能采取不同的验证措施识别您的身份。</text> | |||
| <text>2.2.2如您发现账号遭他人非法使用,应立即通知本小程序主体。因黑客行为或您自身保管疏忽导致账号、密码遭他人非法使用所发生的一切责任,均应由您本人承担,本小程序主体不承担任何责任。</text> | |||
| <text>2.2.3您注册成功后,农燊云将给予您一个帐号,并由您自行设置相应密码,任何该账户项下的预订及支付等行为均视为您本人的操作。您应对您账户项下的所有行为结果(包括但不限于授权、绑定、结算)负责。</text> | |||
| <text>三、服务及规范</text> | |||
| <text>3.1服务内容</text> | |||
| <text>3.1.1本服务内容包含【支持通讯录、车辆调度、车辆管理、账单管理、业务信息推荐及】等技术功能,这些功能服务可能根据用户需求的变化,随着因服务版本不同、或服务提供方的单方判断而被优化或修改,或因定期、不定期的维护而暂缓提供。</text> | |||
| <text>3.1.2农燊云有权自行决定对服务或服务任何部分及其相关功能、应用软件进行变更、升级、修改、转移,并有权决定以适当的方式进行公示或通知。</text> | |||
| <text>3.2服务费用</text> | |||
| <text>3.2.1农燊云平台向您提供的服务目前是免费的。我们保留日后就程序及/或服务向您收费的权利。如果我们决定收取此类费用,我们会采取合理途径并以足够合理的期限提前通过法定程序并以本协议约定的方式通知您,确保您有充分选择的权利。</text> | |||
| <text>3.2.2您在使用小程序的过程中与第三方发生的费用结算,农燊云仅为您使用微信小程序服务提供技术支持,本协议的签署不代表农燊云成为您在汽车租赁过程中的参与者。农燊云不对基于服务而产生的任何行为担保、许可或向任何第三人承担共同责任。</text> | |||
| <text>3.3服务使用规则</text> | |||
| <text>3.3.1您在本服务中或通过本服务所传送、发布的任何内容并不反映或代表,也不得被视为反映或代表农燊云的观点、立场或政策,农燊云对此不承担任何责任。</text> | |||
| <text>3.3.2您不得利用农燊云账号或本服务进行如下行为:\n(1)提交、发布虚假信息,或盗用他人头像或资料,冒充、利用他人名义的;\n(2)强制、诱导其他您关注、点击链接页面或分享信息的;\n(3)虚构事实、隐瞒真相以误导、欺骗他人的;\n(4)利用技术手段批量建立虚假账号的;\n(5)利用平台账号或本服务从事任何违法犯罪活动的;\n(6)制作、发布与以上行为相关的方法、工具,或对此类方法、工具进行运营或传播,无论这些行为是否为商业目的;\n(7)其他违反法律法规规定、侵犯其他您合法权益、干扰农燊云正常运营或农燊云未明示授权的行为。</text> | |||
| <text>3.3.3农燊云有权查阅您的注册、交易数据及交易行为,如发现可能存在违反法律法规、本协议或相关规则的情形或其他任何问题,农燊云有权直接做出其认为合理的处理,包括但不限于通知修改、删除相关信息,停止被协议项下的服务内容等。前述约定不代表农燊云应对您的行为承担任何连带责任,您应对此产生的法律责任独立负责。</text> | |||
| <text>四、法律责任</text> | |||
| <text>4.1用户责任</text> | |||
| <text>4.1.1您应遵守《微信公众平台服务协议》中关于“法律责任”的约定,除非该等约定与本协议存在冲突。</text> | |||
| <text>4.1.2如果我们发现或收到他人举报或投诉您违反本协议约定的,我们有权不经通知随时对相关内容,包括但不限于对您的资料、聊天记录进行审查、删除,并视情节轻重对违规账号处以包括但不限于警告、账号封禁、设备封禁、功能封禁的处罚,且通知您处理结果。</text> | |||
| <text>4.1.3您理解并同意,因您违反相关法律法规或本协议约定引发的任何后果,均由您独立承担责任、赔偿损失,与我们无关。如侵害到农燊云或他人权益的,您须自行承担全部责任和赔偿一切损失。</text> | |||
| <text>4.2平台责任本小程序主体保证并承诺,本小程序主体系合法成立的法人,依据本协议约定向您提供相关网络服务,并会参考您提出的建议不断改善我们的服务,努力提高您的使用满意度。</text> | |||
| <text>4.3责任限制</text> | |||
| <text>4.3.1本服务仅为您与第三方之间的汽车租赁行为而提供协助,农燊云并非其中的参与者,对汽车租赁过程中产生的一切纠纷不承担任何责任。</text> | |||
| <text>4.3.2您理解并确认,我们需要定期或不定期地对农燊云平台或相关的设备进行检修或者维护,且互联网连接能力受到全球网路稳定性、技术状态、使用者所在地与使用的网路、电力供应、政府管制、计算机病毒、黑客攻击等既存不确定性的限制,如因此类情况而造成服务在合理时间内的中断,我们无需为此承担任何责任,但会事先进行通告。</text> | |||
| <text>4.3.3您理解并同意,在使用本服务的过程中,可能会遇到不可抗力等风险因素,使本服务发生中断。不可抗力是指不能预见、不能克服并不能避免且对一方或双方造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行和风暴等以及社会事件如战争、动乱、政府行为等。出现上述情况时,农燊云将努力在第一时间与相关单位配合,及时进行修复,但是由此给您造成的损失农燊云在法律允许的范围内免责。</text> | |||
| <text>4.3.4农燊云不保证为向您提供便利而设置的外部链接的准确性和完整性。同时,对于该等外部链接指向的不由农燊云实际控制的任何网页上的内容,农燊云不承担任何责任。</text> | |||
| <text>4.4知识产权声明</text> | |||
| <text>4.4.1农燊云在本服务中提供的内容(包括但不限于网页、文字、图片、音频、视频、图表等)的知识产权归农燊云所有,您在使用本服务中所产生的内容的知识产权归您或相关权利人所有。</text> | |||
| <text>4.4.2除另有特别声明外,农燊云提供本服务时所依托软件的著作权、专利权、代码技术及其他知识产权均归农燊云所有。</text> | |||
| <text>五、隐私政策</text> | |||
| <text>5.1保护用户隐私是的农燊云一项基本政策,农燊云保证不对外公开或向第三方提供您的注册资料及您在使用网络服务时存储在农燊云的非公开内容,但下列情况除外:\n(1)事先获得用户的明确授权;\n(2)根据有关的法律法规要求;\n(3)按照相关政府主管部门的要求;\n(4)为维护社会公众的利益;\n(5)为维护农燊云的合法权益。</text> | |||
| <text>5.2当农燊云与第三方合作向用户提供相关的网络服务,在此情况下,如该第三方允诺严格承担与农燊云同等的保护用户隐私的责任,则视为您授权农燊云将包含个人注册资料在内的相关信息仅提供给该等第三方。</text> | |||
| <text>六、协议解除和终止</text> | |||
| <text>6.1如有下列情形的,我们有权单方面解除本协议,终止向您提供服务:\n(1)您为了非法目的而使用本服务的;\n(2)您使用本服务损害农燊云或其他第三方合法权益的;\n(3)您违反法律法规或本协议约定或违反与腾讯的其他约定的;\n(4)根据法律规定平台用户应提交真实信息,而您提供的资料不真实、或未能提供合理证明以证明其真实性的;</text> | |||
| <text>6.2您同意,除上述所述情形外,农燊云有权根据风险及自身业务运营情况需要,随时终止向您提供本服务及接口的部分及全部,因此导致您无法使用服务或服务受到限制的,农燊云不构成违约,亦不承担任何法律责任。</text> | |||
| <text>6.3您停用该服务,或农燊云终止向您提供本协议项下的服务后,农燊云不再为您保留原账户中与之相关的任何信息。</text> | |||
| <text>6.4您使用本服务即视为您已阅读并同意受本协议的约束。农燊云小程序主体有权在必要时修改本协议。您可以在相关服务页面查阅最新版本的协议。本协议变更后,如果您继续使用微信小程序服务,即视为您已接受修改后的协议。如果您不接受修改后的协议,应当停止使用小程序服务。</text> | |||
| <text>七、违约责任如</text> | |||
| <text>如您因为使用本服务给农燊云造成损失的或者给第三方造成损失的,该损失(包括为维权而产生的合理支出)由您来承担。</text> | |||
| <text>八、法律管辖</text> | |||
| <text>8.1如双方就本协议内容或其执行发生任何争议,双方应友好协商解决;协商不成时,任何一方均可向农燊云所在地的人民法院提起诉讼。</text> | |||
| <text>8.2本协议的成立、生效、履行、解释及纠纷解决,适用中华人民共和国大陆地区法律(不包括冲突法)8.3本协议条款无论因何种原因部分无效或不可执行,其余条款仍有效,对双方都具有约束力。</text> | |||
| <text>关于”农燊云e三资+“的小程序服务(以下简称“本服务”)的说明:</text> | |||
| <text>1.本服务是已线下签约客户的内部办公移动端工具,不统一对外开放!</text> | |||
| <text>2.本服务不设用户注册功能,不采集用户信息!</text> | |||
| <text>3.”微信一键登录“是通过该微信手机号验证系统后台用户中心是否存在此用户,存在则授权登录令牌!</text> | |||
| </scroll-view> | |||
| </van-dialog> | |||
| @@ -33,7 +33,7 @@ | |||
| width: 89vw; | |||
| height: 5.17vh; | |||
| background:#ffffff; | |||
| margin:0 auto; | |||
| margin:1vh auto 0; | |||
| border-radius: 5.17vh; | |||
| text-align: center; | |||
| line-height: 5.17vh; | |||
| @@ -34,6 +34,7 @@ Page({ | |||
| console.log(app.globalData.setInfo.latitude); | |||
| }, | |||
| goChangeUrl(e){ | |||
| // https://192.168.0.112:8080/api e.currentTarget.dataset.url | |||
| const url = e.currentTarget.dataset.url; | |||
| const name = e.currentTarget.dataset.name; | |||
| const parentname = e.currentTarget.dataset.parentname; | |||
| @@ -46,14 +46,15 @@ | |||
| "useCompilerPlugins": false, | |||
| "ignoreUploadUnusedFiles": true, | |||
| "minifyWXML": true, | |||
| "useStaticServer": true | |||
| "useStaticServer": true, | |||
| "condition": false | |||
| }, | |||
| "editorSetting": { | |||
| "tabIndent": "insertSpaces", | |||
| "tabSize": 2 | |||
| }, | |||
| "condition": {}, | |||
| "appid": "wxaace54cc2cf8924b", | |||
| "appid": "wx42bfbc1eab7aacce", | |||
| "compileType": "miniprogram", | |||
| "libVersion": "2.23.2" | |||
| } | |||
| @@ -1,10 +1,24 @@ | |||
| { | |||
| "setting": { | |||
| "compileHotReLoad": true | |||
| "compileHotReLoad": false | |||
| }, | |||
| "condition": { | |||
| "miniprogram": { | |||
| "list": [ | |||
| { | |||
| "name": "pages/user/login/login", | |||
| "pathName": "pages/user/login/login", | |||
| "query": "", | |||
| "launchMode": "default", | |||
| "scene": null | |||
| }, | |||
| { | |||
| "name": "pages/apply/paymentTemplate/addNew/addNew", | |||
| "pathName": "pages/apply/paymentTemplate/addNew/addNew", | |||
| "query": "", | |||
| "launchMode": "default", | |||
| "scene": null | |||
| }, | |||
| { | |||
| "name": "pages/show/show", | |||
| "pathName": "pages/index/index", | |||
| @@ -199,11 +213,18 @@ | |||
| "query": "id=15", | |||
| "launchMode": "default", | |||
| "scene": null | |||
| }, | |||
| { | |||
| "name": "", | |||
| "pathName": "pages/index/index", | |||
| "query": "", | |||
| "launchMode": "default", | |||
| "scene": null | |||
| } | |||
| ] | |||
| } | |||
| }, | |||
| "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", | |||
| "projectname": "WXMB", | |||
| "projectname": "nsgk_yebz", | |||
| "libVersion": "2.25.0" | |||
| } | |||
| @@ -19,11 +19,11 @@ const MSG_INVALID_USER_TOKEN='登陆信息失效,请重新登陆'; | |||
| /****************接口地址start****************/ | |||
| //获取openId | |||
| const URL_GET_OPENID=`/wechat/codeLogin`; | |||
| const URL_GET_OPENID=`/wechat/loginData`; | |||
| // 获取手机号解密接口 | |||
| const URL_POST_DECRYPTEDWXDATA = `/wechat/decryptedWXData`; | |||
| // 微信绑定手机号 | |||
| const URL_POST_USERBAND = `/register/wechat/band`; | |||
| const URL_POST_USERBAND = `/wechat/phoneLogin`; | |||
| //获取用户信息 | |||
| const URL_GET_GETINFO = `/getInfo`; | |||
| //获取待办 | |||
| @@ -31,7 +31,9 @@ const URL_GET_TASKLIST = `/activiti/process/taskList`; | |||
| //获取已办 | |||
| const URL_GET_TASKDONELIST = `/activiti/process/taskDoneList`; | |||
| //获取已发起、已制单 | |||
| const URL_GET_TRANSFERLIST = `/yinnong/approvalItems/list`; | |||
| // const URL_GET_TRANSFERLIST = `/yinnong/approvalItems/list`; | |||
| //获取已发起、已制单 | |||
| const URL_GET_TRANSFERLIST = `/yinnong/transfer/transferList`; | |||
| // 修改密码 | |||
| const URL_POST_UPDATEPWD = `/system/user/profile/updatePwd`; | |||
| // 上传图片 | |||
| @@ -69,6 +71,8 @@ const URL_GET_PAYEESELECTLIST = `/yinnong/payee/list`; | |||
| const URL_GET_SELECTACCOUNTLIST = `/cashier/account/accountList`; | |||
| //查询审批流模板列表 | |||
| const URL_GET_TEMPLATELIST = `/service/template/list`; | |||
| //查询审批流模板列表 | |||
| const URL_GET_selectApprovalByTemplateId = `/service/templateDetail/selectApprovalByTemplateId/`; | |||
| //查询审批流模板列表 | |||
| const URL_GET_TEMPLATEDETAIL = `/yinnong/approvalProcess/getApprovalProcessByItemId/`; | |||
| @@ -116,13 +120,23 @@ const URL_GET_USERAPPRO = `/yinnong/approvalItems/getUserApprovalItems`; | |||
| const URL_GET_FINDLIST = `/system/attachment/find`; | |||
| //查看附件列表 | |||
| const URL_GET_APPROVALITEMS = `/yinnong/approvalItems/getApprovalItem/`; | |||
| // const URL_GET_APPROVALITEMS = `/yinnong/approvalItems/getApprovalItem/`; | |||
| //查看附件列表 | |||
| const URL_GET_APPROVALITEMS = `/yinnong/transfer/get/`; | |||
| //查看附件列表 | |||
| const URL_GET_PAYEESELECTLISTNEW = `/yinnong/payee/selectlist`; | |||
| //通过审批事项id删除审批模板 | |||
| const URL_GET_REMOVEAPPROVAL = `/yinnong/approvalItems/remove/`; | |||
| //通过审批事项id删除审批模板 | |||
| const URL_GET_REMOVETRANFERL = `/yinnong/transfer/remove/`; | |||
| //通过审批事项id删除审批模板 | |||
| const URL_GET_UPDATETYINNONGTRANSFERFOSTATUS = `/yinnong/transfer/updateTYinnongTransferFoStatus`; | |||
| //查询审批事项流转进度 | |||
| const URL_GET_GETPROCESS = `/yinnong/approvalItems/getProcessSchedule/`; | |||
| const URL_GET_GETPROCESS = `/yinnong/transfer/getProcessSchedule/`; | |||
| //查询审批事项流转进度 | |||
| const URL_GET_GETPROCESSHISTORY = `/activiti/process/listHistory/`; | |||
| @@ -548,6 +562,27 @@ const URL_GET_GETPERMANENTFILLEDIT = `/asset/permanentFill/edit/`; | |||
| //固定资产填报删除 | |||
| const URL_GET_GETPERMANENTFILLREMOVE = `/asset/permanentFill/remove/`; | |||
| //手机号登录 | |||
| const URL_GET_GETPHONELOGIN = `/register/phone/`; | |||
| //事项删除 | |||
| const URL_GET_TRANSFERREMOVE = `/yinnong/transfer/remove/`; | |||
| //新增银行转账 | |||
| const URL_GET_TRANSFERADD = `/yinnong/transfer/add`; | |||
| //提交审批 | |||
| const URL_GET_TRANSFERCUSTOMSUBMIT = `/yinnong/transfer/customSubmit/`; | |||
| //修改银行转账 | |||
| const URL_GET_TRANSFEREDIT = `/yinnong/transfer/edit`; | |||
| //获取验证码 | |||
| const URL_GET_GETCODE = `/gkyzm`; | |||
| //账号密码登录 | |||
| const URL_GET_LOGIN = `/login`; | |||
| @@ -750,5 +785,16 @@ export { | |||
| URL_GET_GETPERMANENTFILLADD, | |||
| URL_GET_GETPERMANENTFILLGET, | |||
| URL_GET_GETPERMANENTFILLEDIT, | |||
| URL_GET_GETPERMANENTFILLREMOVE | |||
| URL_GET_GETPERMANENTFILLREMOVE, | |||
| URL_GET_GETPHONELOGIN, | |||
| URL_GET_TRANSFERREMOVE, | |||
| URL_GET_TRANSFERADD, | |||
| URL_GET_TRANSFERCUSTOMSUBMIT, | |||
| URL_GET_PAYEESELECTLISTNEW, | |||
| URL_GET_TRANSFEREDIT, | |||
| URL_GET_REMOVETRANFERL, | |||
| URL_GET_selectApprovalByTemplateId, | |||
| URL_GET_UPDATETYINNONGTRANSFERFOSTATUS, | |||
| URL_GET_GETCODE, | |||
| URL_GET_LOGIN | |||
| } | |||
| @@ -0,0 +1,31 @@ | |||
| // import JSEncrypt from 'jsencrypt/bin/jsencrypt.min' | |||
| import WxmpRsa from 'wxmp-rsa' | |||
| // const rsa = new WxmpRsa() | |||
| // 密钥对生成 http://web.chacuo.net/netrsakeypair | |||
| const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\n' + | |||
| 'nzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==' | |||
| const privateKey = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY\n' + | |||
| '7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKN\n' + | |||
| 'PuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gA\n' + | |||
| 'kM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWow\n' + | |||
| 'cSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99Ecv\n' + | |||
| 'DQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthh\n' + | |||
| 'YhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3\n' + | |||
| 'UP8iWi1Qw0Y=' | |||
| // 加密 | |||
| export function encrypt(txt) { | |||
| const encryptor = new WxmpRsa() | |||
| encryptor.setPublicKey(publicKey) // 设置公钥 | |||
| return encryptor.encrypt(txt) // 对数据进行加密 | |||
| } | |||
| // 解密 | |||
| export function decrypt(txt) { | |||
| const encryptor = new WxmpRsa() | |||
| encryptor.setPrivateKey(privateKey) // 设置私钥 | |||
| return encryptor.decrypt(txt) // 对数据进行解密 | |||
| } | |||
| @@ -114,15 +114,15 @@ function httpRequest(url, data, { | |||
| wx.showNavigationBarLoading(); | |||
| let finalData = {}; | |||
| Object.assign(finalData, data); | |||
| finalData.token = getApp().globalData.userInfo.token; | |||
| // wx.getStorageSync('dressCode') | |||
| finalData.token = wx.getStorageSync('token'); | |||
| wx.request({ | |||
| url:wx.getStorageSync('dressCode')+url, | |||
| data: finalData, | |||
| method:data.method, | |||
| timeout: 60000, | |||
| header: { | |||
| 'Authorization':'Bearer '+getApp().globalData.userInfo.token | |||
| 'Authorization':'Bearer '+wx.getStorageSync('token') | |||
| }, | |||
| success: function (response) { | |||
| if (response.data && response.data._code == API.INVALID_USER_TOKEN_CODE) { | |||