Autors | SHA1 | Ziņojums | Datums |
---|---|---|---|
|
469195f1ea | 代码更新 | pirms 3 dienas |
|
899219f844 | 代码更新 | pirms 3 mēnešiem |
|
bf48330522 | 登录bug修复 | pirms 1 gada |
|
f1f27510e6 | 登录bug修复 | pirms 1 gada |
|
1df27031e3 | 云E报账代码更新 | pirms 1 gada |
@@ -1,10 +1,7 @@ | |||||
{ | { | ||||
"pages": [ | "pages": [ | ||||
"pages/noLoginIndex", | |||||
"pages/user/login/login", | "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", | "component/pop-up/index", | ||||
"pages/drawee/drawee", | "pages/drawee/drawee", | ||||
"pages/drawee/add/add", | "pages/drawee/add/add", | ||||
@@ -12,8 +9,6 @@ | |||||
"pages/bankDraft/add/add", | "pages/bankDraft/add/add", | ||||
"pages/project/project", | "pages/project/project", | ||||
"pages/project/add/add", | "pages/project/add/add", | ||||
"pages/finance/finance", | |||||
"pages/finance/voucher/voucher", | |||||
"pages/pay/detail", | "pages/pay/detail", | ||||
"pages/pay/payee/payee", | "pages/pay/payee/payee", | ||||
"pages/contractAssets/fixedAssets", | "pages/contractAssets/fixedAssets", | ||||
@@ -26,18 +21,25 @@ | |||||
"pages/bill/bill", | "pages/bill/bill", | ||||
"pages/statistics/statistics", | "pages/statistics/statistics", | ||||
"pages/user/region/region", | "pages/user/region/region", | ||||
"pages/finance/index", | |||||
"pages/index/majorDetail/majorDetail", | |||||
"pages/resources/resources", | |||||
"pages/resources/detail/detail", | |||||
"pages/resources/edit/edit" | |||||
"pages/phoneLogin" | |||||
], | ], | ||||
"subPackages": [ | "subPackages": [ | ||||
{ | |||||
"root": "pages/index/", | |||||
"pages": [ | |||||
"index", | |||||
"settle/index", | |||||
"settle/passWord/index", | |||||
"settle/eSign/index", | |||||
"majorDetail/majorDetail" | |||||
] | |||||
}, | |||||
{ | { | ||||
"root": "pages/handle/", | "root": "pages/handle/", | ||||
"pages": [ | "pages": [ | ||||
"liist", | "liist", | ||||
"expenditureAudit/expenditureAudit" | |||||
"expenditureAudit/expenditureAudit", | |||||
"expenditureAuditNew/expenditureAuditNew" | |||||
] | ] | ||||
}, | }, | ||||
{ | { | ||||
@@ -50,7 +52,8 @@ | |||||
"paymentTemplate/add/add", | "paymentTemplate/add/add", | ||||
"paymentTemplate/add/upLoad/upLoad", | "paymentTemplate/add/upLoad/upLoad", | ||||
"paymentTemplate/add/upError/upError", | "paymentTemplate/add/upError/upError", | ||||
"paymentTemplate/add/payeeList/payee" | |||||
"paymentTemplate/add/payeeList/payee", | |||||
"paymentTemplate/addNew/addNew" | |||||
] | ] | ||||
}, | }, | ||||
{ | { | ||||
@@ -135,6 +138,40 @@ | |||||
"list/edit", | "list/edit", | ||||
"list/detail" | "list/detail" | ||||
] | ] | ||||
}, | |||||
{ | |||||
"root": "pages/finance/", | |||||
"pages": [ | |||||
"index", | |||||
"finance", | |||||
"voucher/voucher", | |||||
"list_balance_ranking/list_balance_ranking", | |||||
"detailed_liabilities/detailed_liabilities", | |||||
"detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic" | |||||
] | |||||
}, | |||||
{ | |||||
"root": "pages/mainBody/", | |||||
"pages": [ | |||||
"list/list", | |||||
"detail/detail" | |||||
] | |||||
}, | |||||
{ | |||||
"root": "pages/resources/", | |||||
"pages": [ | |||||
"resources", | |||||
"edit/edit", | |||||
"detail/detail" | |||||
] | |||||
}, | |||||
{ | |||||
"root": "pages/discussions/", | |||||
"pages": [ | |||||
"list", | |||||
"form/form", | |||||
"detail/detail" | |||||
] | |||||
} | } | ||||
], | ], | ||||
"window": { | "window": { | ||||
@@ -142,7 +179,7 @@ | |||||
"navigationStyle": "custom", | "navigationStyle": "custom", | ||||
"enablePullDownRefresh": false, | "enablePullDownRefresh": false, | ||||
"navigationBarBackgroundColor": "#fff", | "navigationBarBackgroundColor": "#fff", | ||||
"navigationBarTitleText": "农燊高科", | |||||
"navigationBarTitleText": "中农融信", | |||||
"navigationBarTextStyle": "black" | "navigationBarTextStyle": "black" | ||||
}, | }, | ||||
"sitemapLocation": "sitemap.json", | "sitemapLocation": "sitemap.json", | ||||
@@ -0,0 +1,32 @@ | |||||
// component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.js | |||||
import * as UTIL from '../../utils/util.js'; | |||||
import * as API from '../../utils/API.js'; | |||||
const app = getApp() | |||||
Component({ | |||||
properties: { | |||||
type: Object, | |||||
popupVisible:false, | |||||
subjects: {}, | |||||
observer: function (newVal, oldVal) {} | |||||
}, | |||||
observers: { | |||||
'subjects': function(val) { | |||||
// this.selectComponent('#tabs').resize(); | |||||
}, | |||||
'popupVisible': function(val) { | |||||
} | |||||
}, | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
}, | |||||
/** | |||||
* 组件的方法列表 | |||||
*/ | |||||
methods: { | |||||
open(e){ | |||||
console.log(e); | |||||
}, | |||||
} | |||||
}) |
@@ -0,0 +1,14 @@ | |||||
{ | |||||
"component": true, | |||||
"usingComponents": { | |||||
"childrenPage":"/component/SubjectTreeChooserNodeItem/childrenPage", | |||||
"van-popup": "@vant/weapp/popup/index", | |||||
"van-datetime-picker": "@vant/weapp/datetime-picker/index", | |||||
"van-checkbox": "@vant/weapp/checkbox/index", | |||||
"van-tab": "@vant/weapp/tab/index", | |||||
"van-tabs": "@vant/weapp/tabs/index", | |||||
"van-collapse": "@vant/weapp/collapse/index", | |||||
"van-collapse-item": "@vant/weapp/collapse-item/index", | |||||
"van-checkbox-group": "@vant/weapp/checkbox-group/index" | |||||
} | |||||
} |
@@ -0,0 +1,15 @@ | |||||
<!--component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.wxml--> | |||||
<van-popup show="{{popupVisible}}" position="bottom" close-on-click-overlay bind:close="onClose"> | |||||
<!-- <van-search | |||||
v-model="searchValue" | |||||
placeholder="按科目编码/名称筛选" | |||||
@input="onSearch" | |||||
/> --> | |||||
<van-tabs animated sticky id="tabs" bind:change="onTabChanged"> | |||||
<van-tab title="{{item.subjectName}}" name="{{item.subjectId}}" wx:for="{{subjects}}" wx:key="index"> | |||||
<view style="height: 480px;"> | |||||
<childrenPage subjects="{{item.children}}"></childrenPage> | |||||
</view> | |||||
</van-tab> | |||||
</van-tabs> | |||||
</van-popup> |
@@ -0,0 +1 @@ | |||||
/* component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.wxss */ |
@@ -0,0 +1,43 @@ | |||||
// component/SubjectTreeChooserNodeItem/childrenPage.js | |||||
Component({ | |||||
/** | |||||
* 组件的属性列表 | |||||
*/ | |||||
properties: { | |||||
type: Object, | |||||
subjects: {}, | |||||
}, | |||||
observers: { | |||||
'subjects': function(val) { | |||||
// console.log(val); // 打印innerText的当前值 | |||||
// this.selectComponent('#tabs').resize(); | |||||
} | |||||
}, | |||||
/** | |||||
* 组件的初始数据 | |||||
*/ | |||||
data: { | |||||
activeNames:'' | |||||
}, | |||||
/** | |||||
* 组件的方法列表 | |||||
*/ | |||||
methods: { | |||||
open(e){ | |||||
console.log(e); | |||||
}, | |||||
onChange(event) { | |||||
this.setData({ | |||||
activeNames: event.detail, | |||||
}); | |||||
}, | |||||
onItemClicked(e){ | |||||
console.log(e); | |||||
// this.triggerEvent('cancel',e) | |||||
this.triggerEvent('cancel', e, { bubbles: true, composed: true }) | |||||
} | |||||
} | |||||
}) |
@@ -0,0 +1,8 @@ | |||||
{ | |||||
"component": true, | |||||
"usingComponents": { | |||||
"childrenPage":"/component/SubjectTreeChooserNodeItem/childrenPage", | |||||
"van-collapse": "@vant/weapp/collapse/index", | |||||
"van-collapse-item": "@vant/weapp/collapse-item/index" | |||||
} | |||||
} |
@@ -0,0 +1,19 @@ | |||||
<!--component/SubjectTreeChooserNodeItem/childrenPage.wxml--> | |||||
<van-collapse value="{{ activeNames }}" bind:change="onChange"> | |||||
<van-collapse-item | |||||
wx:for="{{subjects}}" | |||||
name="{{item.subjectId}}" | |||||
is-link="{{item.children && item.children.length > 0}}" | |||||
disabled="{{!(item.children && item.children.length > 0)}}" | |||||
> | |||||
<view slot="title" bind:tap="onItemClicked" data-item="{{item}}" style="color: #333333;"> | |||||
{{ item.subjectId }} {{ item.subjectName }} | |||||
</view> | |||||
<view> | |||||
<childrenPage wx:if="{{item.children && item.children.length > 0}}" subjects="{{item.children}}"></childrenPage> | |||||
</view> | |||||
<!-- bind:tap="($event) => onItemClicked($event, subject)" wx:if="{{item.visible}}" is-link="{{item.is_last != 'Y'}}" <SubjectTreeChooserNodeItem :ref="'childCollapse' + index" :subjects="subject.children" v-if="subject.children && Array.isArray(subject.children) && subject.children.length > 0" @clicked="onChildItemClicked" :can-select-non-leaf="canSelectNonLeaf"> | |||||
</SubjectTreeChooserNodeItem> --> | |||||
</van-collapse-item> | |||||
</van-collapse> |
@@ -0,0 +1 @@ | |||||
/* component/SubjectTreeChooserNodeItem/childrenPage.wxss */ |
@@ -24,6 +24,7 @@ Component({ | |||||
}, | }, | ||||
ready() { | ready() { | ||||
const platform = wx.getSystemInfoSync().platform | const platform = wx.getSystemInfoSync().platform | ||||
console.log(platform); | |||||
const isIOS = platform === 'ios' | const isIOS = platform === 'ios' | ||||
this.setData({ | this.setData({ | ||||
isIOS | isIOS | ||||
@@ -1,7 +1,4 @@ | |||||
<editor id="editor" class="ql-container" placeholder="{{placeholder}}" bindstatuschange="onStatusChange" bindready="onEditorReady" bindinput="getContent" style="width:{{width}};height:{{height}};" show-img-size show-img-toolbar show-img-resize> | |||||
</editor> | |||||
<view class="toolbar" catchtouchend="format" hidden="{{keyboardHeight > 0 ? false : true}}" style="bottom: {{isIOS ? keyboardHeight : 0}}px"> | |||||
<view class="toolbar" catchtouchend="format" hidden="{{false}}"> | |||||
<!-- 官方案例 --> | <!-- 官方案例 --> | ||||
<!-- <i class="iconfont icon-charutupian" catchtouchend="insertImage"></i> | <!-- <i class="iconfont icon-charutupian" catchtouchend="insertImage"></i> | ||||
<i class="iconfont icon-format-header-2 {{formats.header === 2 ? 'ql-active' : ''}}" data-name="header" data-value="{{2}}"></i> | <i class="iconfont icon-format-header-2 {{formats.header === 2 ? 'ql-active' : ''}}" data-name="header" data-value="{{2}}"></i> | ||||
@@ -47,4 +44,6 @@ | |||||
<!-- <i class="iconfont icon-quanping"></i> --> | <!-- <i class="iconfont icon-quanping"></i> --> | ||||
<i class="iconfont icon-shanchu" bindtap="clear"></i> | <i class="iconfont icon-shanchu" bindtap="clear"></i> | ||||
<i class="iconfont icon-direction-rtl {{formats.direction === 'rtl' ? 'ql-active' : ''}}" data-name="direction" data-value="rtl"></i> | <i class="iconfont icon-direction-rtl {{formats.direction === 'rtl' ? 'ql-active' : ''}}" data-name="direction" data-value="rtl"></i> | ||||
</view> | |||||
</view> | |||||
<editor id="editor" class="ql-container" placeholder="{{placeholder}}" bindstatuschange="onStatusChange" bindready="onEditorReady" bindinput="getContent" style="width:{{width}};height:{{height}};" show-img-size show-img-toolbar show-img-resize> | |||||
</editor> |
@@ -20,9 +20,7 @@ | |||||
.toolbar { | .toolbar { | ||||
padding: 0 16rpx; | padding: 0 16rpx; | ||||
height: 200rpx; | |||||
width: 100%; | width: 100%; | ||||
position: fixed; | |||||
left: 0; | left: 0; | ||||
right: 100%; | right: 100%; | ||||
bottom: 0; | bottom: 0; | ||||
@@ -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", | "version": "1.10.2", | ||||
"resolved": "https://registry.npmjs.org/@vant/weapp/-/weapp-1.10.2.tgz", | "resolved": "https://registry.npmjs.org/@vant/weapp/-/weapp-1.10.2.tgz", | ||||
"integrity": "sha512-caqA0xQxM4lMRncFsRPPVMDdEzUBCJ4xdFXuKReXpEU3qwnVIP/WIjVDIi7mWyS7xqz8C9WfSW5JL4PrlSq31w==" | "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": "", | "author": "", | ||||
"license": "ISC", | "license": "ISC", | ||||
"dependencies": { | "dependencies": { | ||||
"@vant/weapp": "^1.10.2" | |||||
"@vant/weapp": "^1.10.2", | |||||
"jsencrypt": "^3.3.2", | |||||
"wxmp-rsa": "^2.1.0" | |||||
} | } | ||||
} | } |
@@ -97,20 +97,20 @@ | |||||
<scroll-view scroll-y="true" style="height: 400rpx;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-top="0"> | <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-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> | </van-cell> | ||||
<view slot="right" class="deleteBox" bindtap='deleteTemplate' data-index="{{index}}" data-id="{{item.id}}"> | <view slot="right" class="deleteBox" bindtap='deleteTemplate' data-index="{{index}}" data-id="{{item.id}}"> | ||||
<view> | <view> | ||||
<image src="/image/apply/icon_end.png" style="width: 25px;height: 25px;margin: 0 auto;"></image> | <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> | ||||
</view> | </view> | ||||
</van-swipe-cell> | </van-swipe-cell> | ||||
</scroll-view> | </scroll-view> | ||||
<van-empty wx:if="{{templateList.length == 0}}" description="暂无审批模板" /> | <van-empty wx:if="{{templateList.length == 0}}" description="暂无审批模板" /> | ||||
</van-action-sheet> | </van-action-sheet> | ||||
<modal hidden="{{!showPopup}}" mask="{{true}}" title="审批模板" confirm-text="保存" cancel-text="取消" bindcancel="cancelTem" bindconfirm="confirmTem"> | <modal hidden="{{!showPopup}}" mask="{{true}}" title="审批模板" confirm-text="保存" cancel-text="取消" bindcancel="cancelTem" bindconfirm="confirmTem"> | ||||
@@ -211,7 +211,7 @@ text{display: block;} | |||||
width: 65px; | width: 65px; | ||||
text-align: center; | text-align: center; | ||||
height: 100%; | height: 100%; | ||||
background: #F6F6F6; | |||||
background-color: rgb(255,0,0,0.2); | |||||
align-items: center; | align-items: center; | ||||
display: flex; | display: flex; | ||||
justify-content: center; | justify-content: center; | ||||
@@ -262,4 +262,8 @@ text{display: block;} | |||||
.bottomBtn view text{ | .bottomBtn view text{ | ||||
display: block; | display: block; | ||||
margin-top: 5px; | margin-top: 5px; | ||||
} | |||||
} | |||||
.van-cell-text{ | |||||
padding: 8px; | |||||
} |
@@ -33,7 +33,7 @@ swichPaymentApply:function(e){ | |||||
// }) | // }) | ||||
// } | // } | ||||
wx.navigateTo({ | wx.navigateTo({ | ||||
url: '/pages/apply/paymentTemplate/add/add', | |||||
url: '/pages/apply/paymentTemplate/addNew/addNew', | |||||
}) | }) | ||||
}, | }, | ||||
openBox:function(){ | openBox:function(){ | ||||
@@ -152,45 +152,54 @@ swichPaymentApply:function(e){ | |||||
setTimeout(function(){ | setTimeout(function(){ | ||||
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{ | UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{ | ||||
success: (res) => { | 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) | },1000) | ||||
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData2,{ | UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData2,{ | ||||
success: (res) => { | 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,{ | UTIL.httpRequest(API.URL_GET_SELECTLIST, sendData3,{ | ||||
success: (res) => { | 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> | <text class="zt">{{item.bankUseType == 1 ?'基本户':'一般户'}}</text> | ||||
<image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | <image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | ||||
<image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | <image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | ||||
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':''}}"> | |||||
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':iOf.indexOf(item.bankTypeText,'民生') > -1 ? 'MSYH':'bank_other'}}"> | |||||
<view class="bankName"> | <view class="bankName"> | ||||
<image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':''}}.png" style="width: 25px" mode="widthFix"></image> | |||||
<image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':iOf.indexOf(item.bankTypeText,'民生') > -1 ? 'MSYH':'other'}}.png" style="width: 25px" mode="widthFix"></image> | |||||
<text>{{item.accountName}}</text> | <text>{{item.accountName}}</text> | ||||
</view> | </view> | ||||
@@ -57,7 +57,7 @@ | |||||
<text>添加现金账户</text> | <text>添加现金账户</text> | ||||
</view> --> | </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-empty wx:if="{{accountList.length == 0}}" description="暂无银行账户" /> --> | ||||
</van-tab> | </van-tab> | ||||
@@ -78,13 +78,14 @@ | |||||
</view> | </view> | ||||
<view class="holder">持有人:{{item.payee}}</view> | <view class="holder">持有人:{{item.payee}}</view> | ||||
</view> | </view> | ||||
<van-empty wx:if="{{accountListGWK.length == 0}}" description="暂无公务卡账户" /> | |||||
</van-tab> | </van-tab> | ||||
</van-tabs> | </van-tabs> | ||||
</view> | </view> | ||||
<view class="bottom"> | <view class="bottom"> | ||||
<view class="btn1" bindtap="openBox">支付模板</view> | |||||
<!-- <view class="btn1" bindtap="openBox">支付模板</view> --> | |||||
<view class="btn2" bindtap="swichPaymentApply">下一步</view> | <view class="btn2" bindtap="swichPaymentApply">下一步</view> | ||||
</view> | </view> | ||||
<view class="ipXbtn"></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"> | <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-swipe-cell right-width="{{ 130 }}" wx:for="{{approvalItemsOptions}}" wx:key="index"> | ||||
<van-cell-group> | <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 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 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> | </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> | ||||
</van-cell-group> | </van-cell-group> | ||||
<view slot="right" class="deleteBox"> | <view slot="right" class="deleteBox"> | ||||
@@ -60,6 +60,26 @@ | |||||
background:url('https://www.nongshen.net/static/wechat/bg_RCB.png') no-repeat center; | background:url('https://www.nongshen.net/static/wechat/bg_RCB.png') no-repeat center; | ||||
background-size: 105% 105%; | 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%; | |||||
} | |||||
.MSYH{ | |||||
background:url('https://www.nongshen.net/static/wechat/bank_MSYH.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{ | .gwk{ | ||||
background:url('https://www.nongshen.net/static/wechat/bg_GWK.png') no-repeat center; | background:url('https://www.nongshen.net/static/wechat/bg_GWK.png') no-repeat center; | ||||
background-size: 105% 105%; | background-size: 105% 105%; | ||||
@@ -142,6 +162,7 @@ | |||||
margin-top: 30px; | margin-top: 30px; | ||||
margin-bottom: 30px; | margin-bottom: 30px; | ||||
display: flex; | display: flex; | ||||
justify-content: center; | |||||
} | } | ||||
.bottom view { | .bottom view { | ||||
@@ -161,7 +182,7 @@ | |||||
border: 1px solid transparent; | border: 1px solid transparent; | ||||
padding: 8px 0px; | padding: 8px 0px; | ||||
background-image: linear-gradient(to right, #2C8E68, #5CAE77); | background-image: linear-gradient(to right, #2C8E68, #5CAE77); | ||||
margin-left: 6%; | |||||
/* margin-left: 6%; */ | |||||
color: #fff; | color: #fff; | ||||
} | } | ||||
@@ -176,4 +197,8 @@ | |||||
.van-action-sheet__header { | .van-action-sheet__header { | ||||
background: #f2f2f2; | background: #f2f2f2; | ||||
color: #2C8E68; | color: #2C8E68; | ||||
} | |||||
.van-cell-text{ | |||||
padding: 8px; | |||||
} | } |
@@ -1234,6 +1234,7 @@ Page({ | |||||
UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, { | UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, { | ||||
success: (res) => { | success: (res) => { | ||||
if (res.code == API.SUCCESS_CODE) { | if (res.code == API.SUCCESS_CODE) { | ||||
console.log(res.data.transfers.length); | |||||
for (let j = 0; j < res.data.transfers.length; j++) { | for (let j = 0; j < res.data.transfers.length; j++) { | ||||
if(that.data.form.transfers[j].capitalExpenditureType == 2){ | 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'; | 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, { | UTIL.httpRequest(API.URL_GET_ADDPROJECTTO , that.data.form.transfers[j].projectForm, { | ||||
success: (res) => { | success: (res) => { | ||||
} | } | ||||
}) | }) | ||||
} | } | ||||
if(that.data.form.transfers[j].capitalExpenditureType == 4){ | 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.transferId = res.data.transfers[j].id; | ||||
that.data.form.transfers[j].contractionForm.id = ''; | that.data.form.transfers[j].contractionForm.id = ''; | ||||
that.data.form.transfers[j].contractionForm.method = 'POST'; | that.data.form.transfers[j].contractionForm.method = 'POST'; | ||||
// 关联合同提交 | // 关联合同提交 | ||||
UTIL.httpRequest(API.URL_GET_GETRELATIONADD , that.data.form.transfers[j].contractionForm, { | UTIL.httpRequest(API.URL_GET_GETRELATIONADD , that.data.form.transfers[j].contractionForm, { | ||||
success: (res) => { | 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){ | bindKeyInput(even){ | ||||
console.log(even); | console.log(even); | ||||
this.setData({ | this.setData({ | ||||
@@ -1688,6 +1741,15 @@ Page({ | |||||
that.setData({ | that.setData({ | ||||
form:that.data.form, | form:that.data.form, | ||||
}) | }) | ||||
UTIL.httpRequest(API.URL_GET_TRANSFERREMOVE+e.currentTarget.dataset.id , {method:'GET'}, { | |||||
success: (res) => { | |||||
} | |||||
}) | |||||
}, | }, | ||||
disabledNone(e){ | disabledNone(e){ | ||||
console.log("b"); | console.log("b"); | ||||
@@ -64,7 +64,7 @@ | |||||
<view class="btnBox"> | <view class="btnBox"> | ||||
<image src="/image/apply/down.png" data-index="{{index}}" class="down" bindtap="disabledBlock"></image> | <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_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> | </view> | ||||
</van-cell-group> | </van-cell-group> | ||||
</view> | </view> | ||||
@@ -25,7 +25,7 @@ Page({ | |||||
onLoad(options) { | onLoad(options) { | ||||
console.log(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) => { | success: (res) => { | ||||
this.setData({ | this.setData({ | ||||
bankTypeOptions:res.data | bankTypeOptions:res.data | ||||
@@ -43,7 +43,8 @@ Page({ | |||||
this.setData({ | this.setData({ | ||||
bankType:options.bankType, | bankType:options.bankType, | ||||
index:options.index, | index:options.index, | ||||
totalAmount:options.totalAmount | |||||
totalAmount:options.totalAmount, | |||||
isPeers:options.isPeers | |||||
}) | }) | ||||
if(options.bankType != '1'){ | if(options.bankType != '1'){ | ||||
this.setData({ | this.setData({ | ||||
@@ -100,7 +101,8 @@ Page({ | |||||
'Authorization':'Bearer '+getApp().globalData.userInfo.token | 'Authorization':'Bearer '+getApp().globalData.userInfo.token | ||||
}, | }, | ||||
formData:{ | formData:{ | ||||
bankType:'2', | |||||
// bankType:'2', | |||||
bankType:that.data.bankType, | |||||
accountType:that.data.bankAccountType, | accountType:that.data.bankAccountType, | ||||
isPeers:that.data.isPeers | isPeers:that.data.isPeers | ||||
}, | }, | ||||
@@ -144,12 +146,14 @@ Page({ | |||||
return; | return; | ||||
} | } | ||||
let moneyCount = 0; | let moneyCount = 0; | ||||
console.log(that.data.payeeList); | |||||
for(let i = 0 ; i < that.data.payeeList.length ; i++){ | 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].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); | that.data.payeeList[i].transferStatusText = UTIL.getTransform(that.data.payeeList[i].transferStatus,that.data.transferStatusOptions); | ||||
moneyCount += parseFloat(that.data.payeeList[i].incomeAmount); | moneyCount += parseFloat(that.data.payeeList[i].incomeAmount); | ||||
} | } | ||||
console.log(that.data.totalAmount); | console.log(that.data.totalAmount); | ||||
console.log(that.data.payeeList); | |||||
let totalAmount = parseFloat(that.data.totalAmount)+parseFloat(moneyCount); | let totalAmount = parseFloat(that.data.totalAmount)+parseFloat(moneyCount); | ||||
console.log(totalAmount); | console.log(totalAmount); | ||||
@@ -161,10 +165,10 @@ Page({ | |||||
prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值 | prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值 | ||||
if (prevPage) { | if (prevPage) { | ||||
prevPage.setData({ | 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.approvalItemTemplate.totalAmount"]:totalAmount.toFixed(2), | ||||
["form.transfers["+that.data.index+"].amountReadonly"]:true | |||||
["form.amountReadonly"]:true | |||||
}) | }) | ||||
that.back() | that.back() | ||||
} | } | ||||
@@ -197,7 +201,7 @@ Page({ | |||||
UTIL.httpRequest(API.URL_GET_DOWNFILE, {method:'GET'}, { | UTIL.httpRequest(API.URL_GET_DOWNFILE, {method:'GET'}, { | ||||
success: (res) => { | success: (res) => { | ||||
console.log(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({ | wx.setClipboardData({ | ||||
data: url, | data: url, | ||||
success (res) { | success (res) { | ||||
@@ -33,13 +33,14 @@ | |||||
</van-cell> | </van-cell> | ||||
</view> | </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;"> | <view style="float: right;"> | ||||
<van-radio-group | <van-radio-group | ||||
value="{{ isPeers }}" | value="{{ isPeers }}" | ||||
bind:change="onChangePee" | bind:change="onChangePee" | ||||
direction="horizontal" | |||||
direction="horizontal" | |||||
disabled | |||||
> | > | ||||
<van-radio name="Y" checked-color="#2C8E68">是</van-radio> | <van-radio name="Y" checked-color="#2C8E68">是</van-radio> | ||||
<van-radio name="N" checked-color="#2C8E68">否</van-radio> | <van-radio name="N" checked-color="#2C8E68">否</van-radio> | ||||
@@ -84,12 +85,16 @@ | |||||
<text>三、农业银行</text> | <text>三、农业银行</text> | ||||
<text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text> | <text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text> | ||||
<text>2、联行号为必填项。</text> | <text>2、联行号为必填项。</text> | ||||
<text>四、建设银行</text> | |||||
<text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text> | |||||
<text>2、单笔跨行、批量跨行转账时联行号为必填项。</text> | |||||
<text>五、农商行(重庆)</text> | |||||
<text>四、农商行(重庆)</text> | |||||
<text>1、导入收款方最多可以有500条。</text> | <text>1、导入收款方最多可以有500条。</text> | ||||
<text>2、联行号为必填项。</text> | <text>2、联行号为必填项。</text> | ||||
<text>五、其他银行</text> | |||||
<text>1、联行号为必填项。</text> | |||||
<!-- <text>四、建设银行</text> | |||||
<text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text> | |||||
<text>2、单笔跨行、批量跨行转账时联行号为必填项。</text> --> | |||||
<view style="height: 10vh;"></view> | |||||
</scroll-view> | </scroll-view> | ||||
<view class="bottom"> | <view class="bottom"> | ||||
<!-- <view class="btn1" data-type="3" bindtap="goSubmit">提交复核</view> --> | <!-- <view class="btn1" data-type="3" bindtap="goSubmit">提交复核</view> --> | ||||
@@ -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,474 @@ | |||||
<!--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.accountType }}" 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}}"> | |||||
<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="main-box table-box" style="margin-bottom: 10px;"wx:if="{{form.bankType == 10}}"> | |||||
<!-- --> | |||||
<van-field required input-align="right" label="账户类型" center border="{{false}}"> | |||||
<view slot="input" style="margin-left: auto;"> | |||||
<van-radio-group | |||||
value="{{ form.accountType }}" | |||||
bind:change="onChangeHnzz" | |||||
data-value="form.accountType" | |||||
direction="horizontal" | |||||
style="margin-left: auto;" | |||||
> | |||||
<van-radio name="1" checked-color="#2C8E68">公户</van-radio> | |||||
<van-radio name="2" checked-color="#2C8E68">私户</van-radio> | |||||
</van-radio-group> | |||||
</view> | |||||
</van-field> | |||||
</view> | |||||
<view class="center-box"> | |||||
<view class="main-box table-box" wx:for="{{form.payeeList}}" wx:if="{{form.payeeList.length <= 10}}" wx:for-index="childrenIndex" wx:key="payeeId"> | |||||
<view style="background-color: #2C8E68;display: inline-block;width: 20px;height: 20px;text-align: center;border-radius: 50%;position: absolute;top: -10px;right: {{childrenIndex == 0 ? 0 : 30}}px;" wx:if="{{ childrenIndex+1 == form.payeeList.length}}" data-index="{{childrenIndex}}" bind:tap="addPayee"> | |||||
<van-icon name="plus" color="#ffffff" /> | |||||
</view> | |||||
<view style="background-color: red;display: inline-block;width: 20px;height: 20px;text-align: center;border-radius: 50%;position: absolute;top: -10px;right: 0;" wx:if="{{ childrenIndex > 0}}" data-index="{{childrenIndex}}" bind:tap="removePayer"> | |||||
<van-icon name="minus" color="#ffffff" /> | |||||
</view> | |||||
<van-field required readonly value="{{ form.payeeList[childrenIndex].payee }}" placeholder="请选择收款方" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="goPayeeList" data-payer="{{form.payer}}" data-index="{{childrenIndex}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-accountType="{{ form.accountType }}" data-transferType="{{ form.transferType }}"> | |||||
<view slot="label" style="color: var(--field-label-color,#646566);"> | |||||
收款方<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 class="fj-li"> | |||||
<view class="fj-tt"> | |||||
<text>四议两公开</text><van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> | |||||
</view> | |||||
<view class="img_box"> | |||||
<view class="img_list" wx:for="{{form.SYLGKimage}}" wx:for-index="childrenIndex" wx:key="id"> | |||||
<image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.SYLGKimage}}" data-index="{{childrenIndex}}" bindtap="openPreview" ></image> | |||||
<van-icon name="/image/apply/img_delete.png" size="14px" data-index="{{childrenIndex}}" data-parentsIndex="{{index}}" data-name="form.SYLGKimage" data-options="{{form.SYLGKimage}}" data-id="{{item.id}}" bindtap="deleteimg" /> | |||||
</view> | |||||
<view class="img_list"> | |||||
<image class="img_li img_add" src="/image/apply/fj_upload.png" data-index="{{index}}" bindtap="SYLGKtakephoto"></image> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<!-- <view 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,539 @@ | |||||
/* 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); | |||||
position: relative; | |||||
} | |||||
.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={ | let fileForm={ | ||||
file: event.detail, | file: event.detail, | ||||
fileType:event.currentTarget.dataset.idx, | fileType:event.currentTarget.dataset.idx, | ||||
tableName: "t_contraction_info", //上传表 | |||||
tableName: "t_contraction_fill", //上传表 | |||||
bizPath: "contraction", //上传目录 | bizPath: "contraction", //上传目录 | ||||
tableId:_this.data.itemId | tableId:_this.data.itemId | ||||
} | } | ||||
@@ -251,7 +251,7 @@ Page({ | |||||
upload(e){ | upload(e){ | ||||
this.setData({itemId:e.currentTarget.dataset.id}); | this.setData({itemId:e.currentTarget.dataset.id}); | ||||
this.asyncFun(e.currentTarget.dataset.id) | this.asyncFun(e.currentTarget.dataset.id) | ||||
this.setData({"fileList":[]}) | |||||
this.setData({fileList:[]}) | |||||
}, | }, | ||||
asyncFun(id){ | asyncFun(id){ | ||||
let uploadList = this.data.uploadOptions | let uploadList = this.data.uploadOptions | ||||
@@ -260,7 +260,7 @@ Page({ | |||||
uploadList.map( res => { | uploadList.map( res => { | ||||
let oData = { | let oData = { | ||||
tableId: id, | tableId: id, | ||||
tableName: "t_contraction_info", //上传表 | |||||
tableName: "t_contraction_fill", //上传表 | |||||
bizPath: "contraction", | bizPath: "contraction", | ||||
fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字 | fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字 | ||||
method:'GET' | method:'GET' | ||||
@@ -367,7 +367,7 @@ Page({ | |||||
let fileForm={ | let fileForm={ | ||||
file: event.detail, | file: event.detail, | ||||
fileType:event.currentTarget.dataset.idx, | fileType:event.currentTarget.dataset.idx, | ||||
tableName: "t_contraction_info", //上传表 | |||||
tableName: "t_contraction_fill", //上传表 | |||||
bizPath: "contraction", //上传目录 | bizPath: "contraction", //上传目录 | ||||
tableId:_this.data.itemId | tableId:_this.data.itemId | ||||
} | } | ||||
@@ -0,0 +1,183 @@ | |||||
// pages/contract/add/add.js | |||||
import * as UTIL from '../../../utils/util.js'; | |||||
import * as API from '../../../utils/API.js'; | |||||
const app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
isIPX: app.globalData.isIPX, | |||||
id:null, | |||||
voteTypeOptions: [], | |||||
voteStatusOptions: [], | |||||
voteResultOptions: [], | |||||
fileList: [], | |||||
form:{} | |||||
}, | |||||
back:function(){ | |||||
wx.navigateBack({ | |||||
delta: 1 | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
this.setData({id:options.id}) | |||||
}, | |||||
goForm(e){ | |||||
wx.navigateTo({ | |||||
url: '../form/form?id='+e.currentTarget.dataset.id, | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_type', {method:'GET'}, { | |||||
success: (res) => { | |||||
this.setData({ | |||||
voteTypeOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_status', {method:'GET'}, { | |||||
success: (res) => { | |||||
this.setData({ | |||||
voteStatusOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_result', {method:'GET'}, { | |||||
success: (res) => { | |||||
this.setData({ | |||||
voteResultOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
//获取收入合同状态 | |||||
UTIL.httpRequest(API.URL_GET_VOTEDETAIL + this.data.id , {method:'GET'}, { | |||||
success: (res) => { | |||||
res.data.voteStatusText = UTIL.getTransform(res.data.voteStatus,this.data.voteStatusOptions); | |||||
res.data.voteTypeText = UTIL.getTransform(res.data.voteType,this.data.voteTypeOptions); | |||||
res.data.yesForm = []; | |||||
res.data.noForm = []; | |||||
res.data.everForm = []; | |||||
res.data.detailList.map(rr=>{ | |||||
rr.voteResultText = UTIL.getTransform(rr.voteResult,this.data.voteResultOptions); | |||||
if(rr.voteResult == 1){ | |||||
res.data.yesForm.push(rr); | |||||
} | |||||
if(rr.voteResult == 2){ | |||||
res.data.noForm.push(rr); | |||||
} | |||||
if(rr.voteResult == 3){ | |||||
res.data.everForm.push(rr); | |||||
} | |||||
}) | |||||
console.log(res.data); | |||||
this.setData({'form':res.data}); | |||||
this.asyncFun(this.data.id); | |||||
} | |||||
}) | |||||
}, | |||||
asyncFun(id){ | |||||
this.data.form.fileList = []; | |||||
let uploadList = this.data.uploadOptions | |||||
let newList = [] | |||||
let _this = this | |||||
let oData = { | |||||
tableId: id, | |||||
tableName: "t_hz_vote", //上传表 | |||||
bizPath: "subcontract", | |||||
method:'GET' | |||||
} | |||||
UTIL.httpRequest(API.URL_GET_ATTACHMENTLIST, oData, { | |||||
success: (rr) => { | |||||
if(rr.code==200&&rr.rows.length>0){ | |||||
rr.rows.map((rrr,index) => { | |||||
rrr.url = wx.getStorageSync('dressCode') + rrr.fileUrl | |||||
if(index==rr.rows.length-1){ | |||||
newList.push(Object.assign({},{"list":rr.rows})) | |||||
_this.setData({"form.fileList":_this.data.fileList.concat(newList)}); | |||||
} | |||||
}) | |||||
console.log(this.data.fileList); | |||||
}else{ | |||||
let newuploadList = uploadList | |||||
newuploadList.map(rd => { | |||||
rd.list = newList | |||||
}) | |||||
_this.setData({"form.fileList":newuploadList}); | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
lookDown(file,detail){ | |||||
// 获取指定字符串最后一次出现的位置,返回index | |||||
var index1 = file.detail.url.lastIndexOf('.'); | |||||
// substr(start, length) 抽取从start下标开始的length个字符,返回新的字符串; | |||||
var style = file.detail.url.substr(index1 + 1) | |||||
//判断图片类型,不需要下载,不做处理 | |||||
if(style=='png'||style=='jpg'||style=='jpeg'||style=='bmp'||style=='gif'||style=='webp'||style=='psd'||style== 'svg'||style=='tiff'){ | |||||
//判断非图片类型 | |||||
}else{ | |||||
wx.downloadFile({ | |||||
url: file.detail.url, | |||||
success(data){ | |||||
wx.openDocument({ | |||||
filePath: data.tempFilePath, | |||||
fileType: style, | |||||
showMenu:true, | |||||
success(res){ | |||||
} | |||||
}) | |||||
} | |||||
}) | |||||
} | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
} | |||||
}) |
@@ -0,0 +1,8 @@ | |||||
{ | |||||
"navigationStyle": "custom", | |||||
"usingComponents": { | |||||
"van-cell": "@vant/weapp/cell/index", | |||||
"van-upload": "@vant/weapp/uploader/index", | |||||
"van-cell-group": "@vant/weapp/cell-group/index" | |||||
} | |||||
} |
@@ -0,0 +1,44 @@ | |||||
<!--pages/contract/add/add.wxml--> | |||||
<view class="ns" style="height:{{isIPX?'88px':'64px'}};"> | |||||
<image src="../../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image> | |||||
<text style="top:{{isIPX?'54px':'30px'}};">查看四议表决</text> | |||||
</view> | |||||
<view class="main-box table-box" style="margin-top:{{isIPX?'100px':'75px'}};"> | |||||
<view class="table-boxs"> | |||||
<van-cell title="事项名称" value="{{form.itemName}}" /> | |||||
<van-cell title="事项描述" border="{{false}}" /> | |||||
<van-cell label="{{form.itemContent}}" /> | |||||
<van-cell title="表决阶段" value="{{form.voteTypeText}}" /> | |||||
<van-cell title="事项状态" value="{{form.voteStatusText}}" /> | |||||
<van-cell title="表决附件" border="{{false}}" /> | |||||
<van-upload wx:for="{{form.fileList}}" deletable="{{false}}" file-list="{{ item.list }}" bind:click-preview="lookDown" data-idx="{{index}}" show-upload="{{false}}"></van-upload> | |||||
<van-cell title="表决情况" value="{{form.itemAt}}" border="{{false}}" /> | |||||
<view> | |||||
<view style="text-align: right;"> | |||||
<text style="color: rgb(26, 196, 111);margin-right: 10px;">{{form.yesForm.length}}人同意</text> | |||||
<text style="color: red;margin-right: 10px;">{{form.noForm.length}}人不同意</text> | |||||
<text style="color: #999999;">{{form.everForm.length}}人弃权</text> | |||||
</view> | |||||
<view style="background-color: #f8f8f8;padding: 0 20px;"> | |||||
<view style="color: rgb(26, 196, 111);">同意: | |||||
<text wx:for="{{form.yesForm}}">{{item.voteBy}}</text> | |||||
<text wx:if="{{form.yesForm.length == 0}}">无</text> | |||||
</view> | |||||
<view style="color: red;">不同意: | |||||
<text wx:for="{{form.noForm}}">{{item.voteBy}}</text> | |||||
<text wx:if="{{form.noForm.length == 0}}">无</text> | |||||
</view> | |||||
<view style="color: #999999;">弃权: | |||||
<text wx:for="{{form.everForm}}">{{item.voteBy}}<block wx:if="{{form.everForm.length != (index + 1)}}">、</block></text> | |||||
<text wx:if="{{form.everForm.length == 0}}">无</text> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="btn2" wx:if="{{form.voteStatus == 1 && form.voteYN != 'Y'}}" bind:tap="goForm" data-id="{{form.id}}"> | |||||
我要表决 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="ipXbtn"></view> |
@@ -0,0 +1,46 @@ | |||||
/* pages/payee/add/add.wxss */ | |||||
.main-box{ | |||||
background: #ffffff; | |||||
padding: 20px; | |||||
width: 94%; | |||||
margin: 0 auto; | |||||
border-radius: 10px; | |||||
box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | |||||
} | |||||
.van-cell{ | |||||
padding-left: 0!important; | |||||
padding-right: 0!important; | |||||
} | |||||
.tit{ | |||||
line-height: 20px; | |||||
font-size: 16px; | |||||
font-weight: bold; | |||||
} | |||||
.bottom{ | |||||
width: 100%; | |||||
margin: 0 auto; | |||||
text-align: center; | |||||
margin-top: 30px; | |||||
margin-bottom: 30px; | |||||
display: flex; | |||||
} | |||||
.bottom view { | |||||
width: 47%; | |||||
margin: 0 auto; | |||||
border-radius: 30px; | |||||
display: inline-block; | |||||
} | |||||
.btn2{ | |||||
background-image: linear-gradient(to right, #49CDFC, #2C6BF6); | |||||
color: #fff; | |||||
text-align: center; | |||||
width: 40%; | |||||
border-radius: 100px; | |||||
margin: 5vh auto 3vh; | |||||
} | |||||
.table-boxs>view{ | |||||
line-height: 80rpx; | |||||
} |
@@ -0,0 +1,242 @@ | |||||
// pages/contract/add/add.js | |||||
import * as UTIL from '../../../utils/util.js'; | |||||
import * as API from '../../../utils/API.js'; | |||||
import SignaturePad from '../../../utils/signature_pad'; | |||||
let signaturePad = {}; | |||||
let pix = 7; | |||||
let penColor = 'black'; | |||||
let lineWidth = 0.6; | |||||
const app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
isIPX: app.globalData.isIPX, | |||||
id:null, | |||||
autosize:{ maxHeight: 100, minHeight: 50 }, | |||||
form:{ | |||||
voteResult: '1' | |||||
}, | |||||
penColor: 'black', | |||||
lineWidth: 0.6, | |||||
isEmpty: true, | |||||
baseItem:"", | |||||
item:{}, | |||||
url:"", | |||||
isShow:false | |||||
}, | |||||
back:function(){ | |||||
wx.navigateBack({ | |||||
delta: 2 | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
this.setData({id:options.id}) | |||||
this.getUserInfo(); | |||||
this.getBaseUrl() | |||||
//获取收入合同状态 | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
}, | |||||
onChange(event) { | |||||
console.log(event.detail); | |||||
this.setData({ | |||||
[event.currentTarget.dataset.value]: event.detail, | |||||
}); | |||||
}, | |||||
/* 获取用户信息*/ | |||||
getUserInfo(){ | |||||
UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, { | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
this.setData({item:res.user}) | |||||
// if(this.data.item.electronicSignature==null||this.data.item.electronicSignature==""){ | |||||
// this.setData({isShow:false}) | |||||
var ctx = wx.createCanvasContext('handWriting'); | |||||
const data = { | |||||
devicePixelRatio: pix, | |||||
}; | |||||
signaturePad = new SignaturePad(ctx, data); | |||||
// }else{ | |||||
// this.setData({isShow:true}) | |||||
// } | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
getBaseUrl:function(){ | |||||
let params={ | |||||
configKey: "system.attachment.url"} | |||||
UTIL.httpRequest(API.URL_GET_SYSCONFIG,params,{ | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
console.log(res.rows[0].configValue+this.data.item.electronicSignature) | |||||
this.setData({url:res.rows[0].configValue+this.data.item.electronicSignature}) | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
uploadScaleStart(e) { | |||||
const item = { | |||||
penColor: penColor, | |||||
lineWidth: lineWidth | |||||
}; | |||||
signaturePad._handleTouchStart(e, item); | |||||
}, | |||||
uploadScaleMove(e) { | |||||
signaturePad._handleTouchMove(e); | |||||
}, | |||||
uploadScaleEnd: function(e) { | |||||
signaturePad._handleTouchEnd(e); | |||||
const isEmpty = signaturePad.isEmpty(); | |||||
this.setData({ | |||||
isEmpty: isEmpty | |||||
}) | |||||
}, | |||||
retDraw: function() { | |||||
this.setData({isShow:false}) | |||||
var ctx = wx.createCanvasContext('handWriting'); | |||||
const data = { | |||||
devicePixelRatio: pix, | |||||
}; | |||||
signaturePad = new SignaturePad(ctx, data); | |||||
signaturePad.clear(); | |||||
const isEmpty = signaturePad.isEmpty(); | |||||
this.setData({ | |||||
isEmpty: isEmpty | |||||
}) | |||||
}, | |||||
getSysInfo: function() { | |||||
var that = this | |||||
wx.getSystemInfo({ | |||||
success: function(res) { | |||||
pix = res.pixelRatio | |||||
that.setData({ | |||||
width: res.windowWidth * pix, | |||||
height: res.windowHeight * pix | |||||
}) | |||||
} | |||||
}) | |||||
}, | |||||
//保存canvas图像 | |||||
subCanvas: function() { | |||||
let _this = this | |||||
if (this.data.isEmpty) { | |||||
wx.showToast({ | |||||
title: '请签字后提交', | |||||
duration: 2000, | |||||
icon:"none" | |||||
}) | |||||
return false | |||||
} | |||||
wx.canvasToTempFilePath({ | |||||
canvasId: 'handWriting', | |||||
success: function(res) { | |||||
_this.data.form.voteId = _this.data.id; | |||||
_this.data.form.file = res.tempFilePath; | |||||
_this.data.form.voteBy = _this.data.item.userName; | |||||
wx.uploadFile({ | |||||
url: wx.getStorageSync('dressCode')+API.votedetailAdd, //服务器地址 | |||||
filePath:res.tempFilePath,//本地照片地址 | |||||
name: 'file', | |||||
formData: _this.data.form, | |||||
header: { | |||||
'Content-Type': 'multipart/form-data', | |||||
'Authorization':'Bearer '+getApp().globalData.userInfo.token, //如果需要token的话要传 | |||||
}, | |||||
success (res){ | |||||
let dd = JSON.parse(res.data) | |||||
if(dd.code==200){ | |||||
wx.showToast({ | |||||
title: dd.msg, | |||||
duration: 2000, | |||||
icon:"success" | |||||
}) | |||||
setTimeout(() => { | |||||
_this.back() | |||||
}, 2000); | |||||
}else{ | |||||
wx.showToast({ | |||||
title: dd.msg, | |||||
duration: 2000, | |||||
icon:"none" | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
fail: function(res) { | |||||
console.log(res) | |||||
} | |||||
}) | |||||
}, | |||||
// 保存电子签名 | |||||
saveESign : function(item){ | |||||
UTIL.httpRequest(API.URL_POST_USEREDIT,item,{ | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
wx.showToast({ | |||||
title: "保存成功!", | |||||
duration: 2000, | |||||
icon:"success" | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
} | |||||
}) |
@@ -0,0 +1,10 @@ | |||||
{ | |||||
"navigationStyle": "custom", | |||||
"usingComponents": { | |||||
"van-field": "@vant/weapp/field/index", | |||||
"van-radio": "@vant/weapp/radio/index", | |||||
"van-cell": "@vant/weapp/cell/index", | |||||
"van-icon": "@vant/weapp/icon/index", | |||||
"van-radio-group": "@vant/weapp/radio-group/index" | |||||
} | |||||
} |
@@ -0,0 +1,36 @@ | |||||
<!--pages/contract/add/add.wxml--> | |||||
<view class="ns" style="height:{{isIPX?'88px':'64px'}};"> | |||||
<image src="../../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image> | |||||
<text style="top:{{isIPX?'54px':'30px'}};">四议表决</text> | |||||
</view> | |||||
<view class="main-box table-box" style="margin-top:{{isIPX?'100px':'75px'}};"> | |||||
<view class="table-boxs"> | |||||
<van-field label="意见" readonly required label-width="auto" border="{{false}}"></van-field> | |||||
<van-field label-width="auto"> | |||||
<van-radio-group value="{{ form.voteResult }}" data-value="form.voteResult" bind:change="onChange" slot="input" direction="horizontal"> | |||||
<van-radio name="1">同意</van-radio> | |||||
<van-radio name="2">不同意</van-radio> | |||||
<van-radio name="3">弃权</van-radio> | |||||
</van-radio-group> | |||||
</van-field> | |||||
<van-field label="备注" readonly label-width="auto" border="{{false}}"></van-field> | |||||
<van-field value="{{ form.remark }}" maxlength="150" show-word-limit type="textarea" autosize="{{autosize}}" bind:change="onChange" placeholder="请输入备注" data-value="form.remark"></van-field> | |||||
<van-cell title="签字" required> | |||||
<view style="color: rgb(112, 205, 248);" bind:tap="retDraw"> | |||||
<van-icon name="edit" />重签 | |||||
</view> | |||||
</van-cell> | |||||
<view class="wrapper"> | |||||
<view class="hand-center"> | |||||
<canvas class="hand-writing" disable-scroll="true" bindtouchstart="uploadScaleStart" bindtouchmove="uploadScaleMove" bindtouchend="uploadScaleEnd" canvas-id="handWriting"> | |||||
</canvas> | |||||
<!-- <image mode="scaleToFill" class="hand-writing" wx:if="{{isShow}}" src="{{url}}"></image> --> | |||||
</view> | |||||
</view> | |||||
<view class="btn2" bind:tap="subCanvas"> | |||||
保存 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="ipXbtn"></view> |
@@ -0,0 +1,92 @@ | |||||
/* pages/payee/add/add.wxss */ | |||||
.main-box{ | |||||
background: #ffffff; | |||||
padding: 20px 0; | |||||
width: 94%; | |||||
margin: 0 auto; | |||||
border-radius: 10px; | |||||
box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | |||||
} | |||||
.tit{ | |||||
line-height: 20px; | |||||
font-size: 16px; | |||||
font-weight: bold; | |||||
} | |||||
.bottom{ | |||||
width: 100%; | |||||
margin: 0 auto; | |||||
text-align: center; | |||||
margin-top: 30px; | |||||
margin-bottom: 30px; | |||||
display: flex; | |||||
} | |||||
.bottom view { | |||||
width: 47%; | |||||
margin: 0 auto; | |||||
border-radius: 30px; | |||||
display: inline-block; | |||||
} | |||||
.btn2{ | |||||
background-image: linear-gradient(to right, #49CDFC, #2C6BF6); | |||||
color: #fff; | |||||
text-align: center; | |||||
width: 40%; | |||||
border-radius: 100px; | |||||
margin: 5vh auto 3vh; | |||||
} | |||||
.table-boxs>view{ | |||||
line-height: 80rpx; | |||||
} | |||||
.wrapper { | |||||
width: 100%; | |||||
height: 20vh; | |||||
overflow: hidden; | |||||
display: flex; | |||||
align-content: center; | |||||
flex-direction: row; | |||||
justify-content: center; | |||||
font-size: 28rpx; | |||||
position: relative; | |||||
} | |||||
.hand-writing { | |||||
background: #f9f9f9; | |||||
width: 100%; | |||||
height: 20vh; | |||||
} | |||||
.hand-right { | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
} | |||||
.hand-center { | |||||
border: 1rpx dashed #e9e9e9; | |||||
flex: 1; | |||||
overflow: hidden; | |||||
box-sizing: border-box; | |||||
} | |||||
.del-btn { | |||||
color: #02d000; | |||||
} | |||||
.del-btn image { | |||||
position: absolute; | |||||
top: 13rpx; | |||||
left: 25rpx; | |||||
} | |||||
.sub-btn { | |||||
position: absolute; | |||||
bottom: 52rpx; | |||||
color: #999999; | |||||
transform: rotate(90deg); | |||||
margin-bottom: 30rpx; | |||||
} |
@@ -0,0 +1,136 @@ | |||||
// pages/project/project.js | |||||
import * as UTIL from '../../utils/util.js'; | |||||
import * as API from '../../utils/API.js'; | |||||
let EVN_CONFIG = require('../../env/env'); | |||||
const app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
isIPX: app.globalData.isIPX, | |||||
name:"", | |||||
value:'', | |||||
pageNums:1, | |||||
showUpload:false, | |||||
uploadOptions:[], | |||||
voteTypeOptions:[], | |||||
fileList:[], | |||||
itemId:"", | |||||
itemIndex:"", | |||||
list:[], | |||||
fileEvent:{}, | |||||
projectList:[] | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
var _this = this; | |||||
let qu = wx.createSelectorQuery() | |||||
qu.select("#top_view").boundingClientRect() | |||||
qu.exec(res => { | |||||
_this.setData({ | |||||
scrollHeight:wx.getSystemInfoSync().windowHeight-res[0].height-res[0].top | |||||
}) | |||||
}) | |||||
}, | |||||
goDetail(e){ | |||||
console.log('aaaaaaaaa'); | |||||
wx.navigateTo({ | |||||
url: 'detail/detail?id='+e.currentTarget.dataset.id, | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
this.onShow(); | |||||
}, | |||||
goSearch(e){ | |||||
this.setData({name:e.detail}) | |||||
this.onShow(); | |||||
}, | |||||
back:function(){ | |||||
wx.navigateBack({ | |||||
delta: 1 | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
var that = this; | |||||
//获取附件字典 | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_status', {method:'GET'}, { | |||||
success: (res) => { | |||||
this.setData({ | |||||
voteStatusOptions:res.data, | |||||
}) | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_type', {method:'GET'}, { | |||||
success: (res) => { | |||||
this.setData({ | |||||
voteTypeOptions:res.data, | |||||
}) | |||||
let params= { | |||||
itemName:this.data.name, | |||||
method:'GET' | |||||
} | |||||
UTIL.httpRequest(API.URL_GET_VOTELIST, params,{ | |||||
success: (response) => { | |||||
if (response.code == API.SUCCESS_CODE) { | |||||
response.rows.map(rr=>{ | |||||
rr.voteStatusText = UTIL.getTransform(rr.voteStatus,that.data.voteStatusOptions); | |||||
rr.voteTypeText = UTIL.getTransform(rr.voteType,that.data.voteTypeOptions); | |||||
}) | |||||
that.setData({ | |||||
projectList:response.rows | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
} | |||||
}) | |||||
} | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
} | |||||
}) |
@@ -0,0 +1,17 @@ | |||||
{ | |||||
"usingComponents": { | |||||
"van-checkbox": "@vant/weapp/checkbox/index", | |||||
"van-checkbox-group": "@vant/weapp/checkbox-group/index", | |||||
"van-cell": "@vant/weapp/cell/index", | |||||
"van-cell-group": "@vant/weapp/cell-group/index", | |||||
"van-search": "@vant/weapp/search/index", | |||||
"van-radio": "@vant/weapp/radio/index", | |||||
"van-radio-group": "@vant/weapp/radio-group/index", | |||||
"van-swipe-cell": "@vant/weapp/swipe-cell/index", | |||||
"van-dropdown-menu": "@vant/weapp/dropdown-menu/index", | |||||
"van-dropdown-item": "@vant/weapp/dropdown-item/index", | |||||
"van-tag": "@vant/weapp/tag/index", | |||||
"van-action-sheet": "@vant/weapp/action-sheet/index", | |||||
"van-upload": "@vant/weapp/uploader/index" | |||||
} | |||||
} |
@@ -0,0 +1,42 @@ | |||||
<!--pages/project/project.wxml--> | |||||
<view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};"> | |||||
<image src="../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image> | |||||
<text style="top:{{isIPX?'54px':'30px'}};">四议表决</text> | |||||
</view> | |||||
<view class="search_box" id="top_view" style="margin-top:{{isIPX?'100px':'75px'}};"> | |||||
<van-search | |||||
value="{{ name }}" | |||||
shape="round" | |||||
background="transparent" | |||||
placeholder="请输入四议名称" | |||||
clearable | |||||
bind:change="goSearch" | |||||
/> | |||||
<!-- <view class="add_btn" bindtap="goAdd"><text>新增</text></view> --> | |||||
</view> | |||||
<scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100"> | |||||
<van-swipe-cell right-width="{{ 0 }}" class="workflow" wx:for="{{projectList}}" wx:key="index"> | |||||
<view class="li" bindtap="goDetail" data-id="{{item.id}}"> | |||||
<view class="tit_box"> | |||||
<view class="tit_box_left"> | |||||
<image src="/image/icon/icon_gc.png" style="width: 17px; height: 15px;flex-shrink: 0;"></image> | |||||
<text class="tit">{{item.itemName}}</text> | |||||
</view> | |||||
<view class="tit_type"> | |||||
<text>{{item.voteStatusText}}</text> | |||||
</view> | |||||
</view> | |||||
<view class="detail_time_box"> | |||||
<view class="detail_time"> | |||||
<image src="/image/icon/icon_date.png" style="width: 14px;height: 14px;"></image> | |||||
<text>{{item.itemAt}}</text> | |||||
</view> | |||||
<view class="detail_time"> | |||||
<text class="detail_box_money">{{item.voteTypeText}}</text> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</van-swipe-cell> | |||||
</scroll-view> |
@@ -0,0 +1,348 @@ | |||||
/* pages/bank/bank.wxss */ | |||||
.van-search__content { | |||||
border: 1px solid #5CAE77!important; | |||||
background: #fff!important; | |||||
} | |||||
van-search { | |||||
flex: 1; | |||||
} | |||||
.search_box{ | |||||
display: flex; | |||||
} | |||||
.add_btn{ | |||||
flex: 0.2; | |||||
padding: var(--search-padding,10px 12px); | |||||
padding-left: 0; | |||||
} | |||||
.add_btn text{ | |||||
background-color: #62AD66; | |||||
display: block; | |||||
height: 100%; | |||||
text-align: center; | |||||
line-height: 36px; | |||||
color: #fff; | |||||
border-radius: 36px; | |||||
box-shadow: 0px 5px 5px #ddd; | |||||
} | |||||
text{display: block;} | |||||
.work_plan{ | |||||
padding: 40rpx 32.5rpx 30rpx; | |||||
display: flex; | |||||
} | |||||
.work_plan .menu_item{ | |||||
background-color: #fff; | |||||
box-shadow: 2px 5px 5px #ddd; | |||||
border-radius: 60rpx; | |||||
text-align: center; | |||||
position: relative; | |||||
margin-right: 20px; | |||||
padding: 8px 10px; | |||||
} | |||||
.work_plan .menu_item.active{ | |||||
background-color: #2C8E68; | |||||
color: #fff; | |||||
} | |||||
.work_plan .menu_item .remind{ | |||||
height: 30rpx; | |||||
background: #e90101; | |||||
color: #fff; | |||||
font-size: 26rpx; | |||||
position: absolute; | |||||
line-height: 30rpx; | |||||
padding:0 10rpx; | |||||
border-radius: 25px; | |||||
top: -10rpx; | |||||
right: -10rpx; | |||||
} | |||||
.work_plan .more{ | |||||
flex: 1; | |||||
text-align: center; | |||||
line-height: 60rpx; | |||||
font-size: 36rpx; | |||||
color: #31936c; | |||||
} | |||||
.deleteBox{ | |||||
width: 130px; | |||||
text-align: center; | |||||
height: 100%; | |||||
background: #F6F6F6; | |||||
align-items: center; | |||||
display: flex; | |||||
} | |||||
.workflow .workflow_list{ | |||||
height: 150rpx; | |||||
background-color: #fff; | |||||
border-radius: 24rpx; | |||||
box-shadow:0rpx 0rpx 10rpx rgba(0,0,0,.1); | |||||
margin-bottom: 20rpx; | |||||
padding:15rpx 25rpx 10rpx 35rpx; | |||||
} | |||||
.workflow .workflow_list .process_intro{ | |||||
display: flex; | |||||
height: 62rpx; | |||||
align-items: center; | |||||
} | |||||
.workflow .process_intro .name{ | |||||
width: 390rpx; | |||||
font-size: 34rpx; | |||||
margin-right: 30rpx; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
} | |||||
.workflow .process_intro .name .name_tit{ | |||||
width: 290rpx; | |||||
overflow: hidden; | |||||
text-overflow: ellipsis; | |||||
white-space: nowrap; | |||||
} | |||||
.van-swipe-cell { | |||||
width: 94%; | |||||
background: #fff; | |||||
border-radius: 10px; | |||||
box-shadow: 2px 5px 5px #ddd; | |||||
margin: 0 auto; | |||||
margin-bottom: 15px; | |||||
} | |||||
.li{ | |||||
width: 100%; | |||||
padding: 14px; | |||||
} | |||||
.tit_box{ | |||||
display: flex; | |||||
justify-content: space-between; | |||||
} | |||||
.tit_box_left{ | |||||
display: flex; | |||||
align-items: center; | |||||
} | |||||
.detail_box{ | |||||
margin-top: 10px; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
} | |||||
.detail_box text{ | |||||
color:#878787; | |||||
} | |||||
.fkmc { | |||||
line-height: 20px; | |||||
font-size: 16px; | |||||
} | |||||
.detail_time .detail_box_money{ | |||||
font-size: 14px; | |||||
} | |||||
.detail_time_box{ | |||||
display: flex; | |||||
justify-content: space-between; | |||||
margin-top: 10px; | |||||
} | |||||
.detail_time{ | |||||
display: flex; | |||||
align-items: center; | |||||
padding-left: 3px; | |||||
} | |||||
.detail_time text{ | |||||
font-size: 12px; | |||||
margin-left: 5px; | |||||
color: #878787; | |||||
} | |||||
.li .detail_box_left text{ | |||||
text-align: center; | |||||
} | |||||
.li .detail_box_left .fkdw{ | |||||
color: #B5B5B5; | |||||
font-size: 14px; | |||||
margin-top: 5px; | |||||
} | |||||
.li .detail_box_center{ | |||||
color: #666666; | |||||
font-size: 12px; | |||||
text-align: center; | |||||
} | |||||
.li .detail_box_right text{ | |||||
text-align: center; | |||||
} | |||||
.li .detail_box_right .skdw{ | |||||
color: #B5B5B5; | |||||
font-size: 14px; | |||||
margin-top: 5px; | |||||
} | |||||
.li .fksr{ | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 15px; | |||||
color: #2C8E68; | |||||
font-size: 16px; | |||||
} | |||||
.li .wtj{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
padding: 3px 8px; | |||||
border-radius: 5px; | |||||
font-size: 14px; | |||||
} | |||||
.no{ | |||||
background-color:#fbe3e3; | |||||
color: #e90000; | |||||
} | |||||
.white{ | |||||
background-color:#feeadc; | |||||
color: #fc9a55; | |||||
} | |||||
.yes{ | |||||
background-color:#ddeee3; | |||||
color: #5cae77; | |||||
} | |||||
.other{ | |||||
background-color:#f0f1f6; | |||||
color: #878787; | |||||
} | |||||
.li .tit{ | |||||
font-size: 16px; | |||||
color: #333333; | |||||
line-height: 25px; | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
margin-left: 5px; | |||||
} | |||||
.li .fj_name{ | |||||
font-size: 14px; | |||||
color: #B3DB62; | |||||
line-height: 25px; | |||||
} | |||||
.li .time{ | |||||
font-size: 14px; | |||||
color: #9B9CAA; | |||||
} | |||||
.li .money{ | |||||
font-size: 18px; | |||||
color: #5CAE77; | |||||
} | |||||
.tit_type{ | |||||
display: flex; | |||||
align-items: center; | |||||
flex-shrink: 0; | |||||
} | |||||
.tit_type text{ | |||||
background: rgba(92, 174, 119, 0.2); | |||||
color: #5CAE77; | |||||
padding: 2px 10px; | |||||
} | |||||
.van-checkbox__label { | |||||
display: flex; | |||||
justify-content: space-between; | |||||
width: 100%; | |||||
} | |||||
.van-checkbox__icon-wrap { | |||||
border-radius: 5px; | |||||
} | |||||
.van-checkbox__icon { | |||||
border-radius: 5px; | |||||
border: 2px solid #2C8E68!important; | |||||
background-color: rgba(44, 142, 104, 0.2); | |||||
} | |||||
.bottom{ | |||||
width: 100%; | |||||
margin: 0 auto; | |||||
text-align: center; | |||||
padding: 15px 0; | |||||
display: flex; | |||||
position: fixed; | |||||
bottom: 0%; | |||||
background: #fff; | |||||
box-shadow: 0 0 5px #ddd; | |||||
} | |||||
.bottom view { | |||||
width: 47%; | |||||
margin: 0 auto; | |||||
border-radius: 30px; | |||||
display: inline-block; | |||||
} | |||||
.bottom .btn2{ | |||||
border: 1px solid transparent; | |||||
padding: 10px 0px; | |||||
background-image: linear-gradient(to right, #2C8E68, #5CAE77); | |||||
color: #fff; | |||||
} | |||||
.downView{ | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
padding: 0 20px; | |||||
border: 1px solid #5CAE77; | |||||
border-radius: 50px; | |||||
background: #fff; | |||||
margin-left: auto; | |||||
} | |||||
.downView image{ | |||||
width: 10px; | |||||
height: 8px; | |||||
margin-left: 10px; | |||||
} | |||||
.hp_type{ | |||||
padding: 4vw 3%; | |||||
display: flex; | |||||
border-bottom: 1px solid #eee; | |||||
} | |||||
.hp_type view{ | |||||
padding: 2vw 6%; | |||||
background: #EEEEEE; | |||||
border-radius: 60px; | |||||
margin-right: 3%; | |||||
width: 30vw; | |||||
text-align: center; | |||||
} | |||||
.hp_button{ | |||||
display: flex; | |||||
justify-content: space-around; | |||||
padding:4vw 0 6vw; | |||||
} | |||||
.hp_button view{ | |||||
padding: 3vw 6%; | |||||
background: #EEEEEE; | |||||
border-radius: 60px; | |||||
width: 30vw; | |||||
text-align: center; | |||||
} | |||||
.van-dropdown-menu { | |||||
margin-bottom: 15px; | |||||
} | |||||
.fj-box text{ | |||||
background-color: #5CAE77; | |||||
color: #ffffff; | |||||
text-align: center; | |||||
border-radius: 5px; | |||||
white-space:pre-wrap; | |||||
padding: 5rpx 8rpx; | |||||
width: 50rpx; | |||||
margin: 0px 14px; | |||||
font-size: 24rpx; | |||||
} | |||||
.fj-li{ | |||||
margin-top: 20px; | |||||
display: flex; | |||||
/* flex-wrap: wrap; */ | |||||
} | |||||
.fj-li .img_li{ | |||||
width: 100%; | |||||
height: 18.5vw; | |||||
} | |||||
.fj-li .img_add{ | |||||
overflow: hidden; | |||||
} | |||||
.van-icon-description{ | |||||
font-size: 60px; | |||||
} |
@@ -358,6 +358,7 @@ Page({ | |||||
setTimeout(function(){ | setTimeout(function(){ | ||||
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{ | UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{ | ||||
success: (res) => { | success: (res) => { | ||||
if(res.rows){ | |||||
for (let i = 0; i < res.rows.length; i++) { | for (let i = 0; i < res.rows.length; i++) { | ||||
if(res.rows[i].bankAccountNumber==null){continue;} | if(res.rows[i].bankAccountNumber==null){continue;} | ||||
res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 "); | res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 "); | ||||
@@ -370,19 +371,27 @@ Page({ | |||||
accountList:res.rows | accountList:res.rows | ||||
}) | }) | ||||
wx.hideLoading(); | wx.hideLoading(); | ||||
}else{ | |||||
wx.hideLoading(); | |||||
} | |||||
} | } | ||||
}) | }) | ||||
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData2,{ | UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData2,{ | ||||
success: (res) => { | 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> | <text class="zt">{{item.bankUseType == 1 ?'基本户':'一般户'}}</text> | ||||
<image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | <image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | ||||
<image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | <image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image> | ||||
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':''}}"> | |||||
<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"> | <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> | <text>{{item.accountName}}</text> | ||||
</view> | </view> | ||||
@@ -62,6 +62,22 @@ | |||||
background:url('https://www.nongshen.net/static/wechat/bg_RCB.png') no-repeat center; | background:url('https://www.nongshen.net/static/wechat/bg_RCB.png') no-repeat center; | ||||
background-size: 105% 105%; | 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{ | .gwk{ | ||||
background:url('https://www.nongshen.net/static/wechat/bg_GWK.png') no-repeat center; | background:url('https://www.nongshen.net/static/wechat/bg_GWK.png') no-repeat center; | ||||
background-size: 105% 105%; | background-size: 105% 105%; | ||||
@@ -0,0 +1,166 @@ | |||||
// pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.js | |||||
import * as UTIL from '../../../utils/util.js'; | |||||
import * as API from '../../../utils/API.js'; | |||||
const app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
isIPX: app.globalData.isIPX, | |||||
expressionOptions:[], | |||||
// 格数据 | |||||
loading: false, | |||||
finished: false, | |||||
pageDataList: [], | |||||
searchDate: { | |||||
bookDate: "", | |||||
templateName: '收支公开榜', | |||||
signature: false, // 添加底部落款 | |||||
}, | |||||
// 查询参数 | |||||
queryParams: { | |||||
// 分页 | |||||
pageNum: 1, | |||||
pageSize: 50, | |||||
startYyyy_MM: null, | |||||
endYyyy_MM: null, | |||||
title: '收支公开榜', | |||||
combineTitle: false, | |||||
// 查询排序 | |||||
//orderByColumn: "id", | |||||
//isAsc: "desc", | |||||
}, | |||||
list: [], | |||||
accountingYear: "", | |||||
accountingMonth: "", | |||||
// 显示搜索条件 | |||||
visible: false, | |||||
showPickerTime: false, | |||||
minDate: new Date(2020, 0, 1), | |||||
maxDate: new Date().getTime(), | |||||
currentDate: new Date(), | |||||
date:'' | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
UTIL.httpRequest(API.getLoginBook,{}, { | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
let currentDays = res.data.currentDay; | |||||
if (currentDays == null) { | |||||
UTIL.showToastNoneIcon("当前账套未开启!"); | |||||
return false; | |||||
} | |||||
let mindate = res.data.startDay.split('-') | |||||
let dealDays = currentDays.split("-"); | |||||
this.setData({ | |||||
accountingYear:dealDays[0], | |||||
accountingMonth:dealDays[1], | |||||
date: dealDays[0]+'年'+dealDays[1]+'月', | |||||
['searchDate.bookDate']:currentDays, | |||||
['queryParams.startYyyy_MM']:res.data.currentDay, | |||||
['queryParams.endYyyy_MM']:res.data.currentDay, | |||||
minDate: new Date(mindate[0],mindate[1]-1).getTime(), | |||||
['queryParams.deptId']:JSON.parse(wx.getStorageSync('user')).loginDeptId, | |||||
['queryParams.bookType']:JSON.parse(wx.getStorageSync('user')).bookType, | |||||
['queryParams.bookId']:JSON.parse(wx.getStorageSync('user')).loginBookId, | |||||
bookName:JSON.parse(wx.getStorageSync('user')).bookName, | |||||
}) | |||||
this.initPage() | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
initPage() { | |||||
var that = this; | |||||
UTIL.httpRequest(API.financialIncomeExpenditurePublic,this.data.queryParams, { | |||||
success: (res) => { | |||||
this.setData({ | |||||
pageDataList:res.rows, | |||||
total:res.total | |||||
}) | |||||
} | |||||
}); | |||||
}, | |||||
onConfirm(time) { | |||||
console.log(time.detail); | |||||
let date = UTIL.formatDates(time.detail).split('-'); | |||||
this.setData({ | |||||
date:date[0] + '年' + date[1] + '月', | |||||
['queryParams.startDate']:UTIL.formatDates(time.detail), | |||||
showPickerTime : false | |||||
}) | |||||
this.getList(); | |||||
}, | |||||
back:function(){ | |||||
wx.navigateBack({ | |||||
delta: 1 | |||||
}) | |||||
}, | |||||
openPick(){ | |||||
this.setData({ | |||||
showPickerTime:true | |||||
}) | |||||
}, | |||||
closePick(){ | |||||
this.setData({ | |||||
showPickerTime:false | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
} | |||||
}) |
@@ -0,0 +1,6 @@ | |||||
{ | |||||
"usingComponents": { | |||||
"van-popup": "@vant/weapp/popup/index", | |||||
"van-datetime-picker": "@vant/weapp/datetime-picker/index" | |||||
} | |||||
} |
@@ -0,0 +1,68 @@ | |||||
<!--pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxml--> | |||||
<view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};"> | |||||
<image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
<text style="top:{{isIPX?'54px':'30px'}};">公开表</text> | |||||
</view> | |||||
<view class="home_wrapper" style="margin-top:{{isIPX?'88px':'64px'}};"> | |||||
<view class="search_info"> | |||||
<view class="date_box" bind:tap="openPick"> | |||||
<image src="/image/icon/date_icon.png"></image> | |||||
<p>{{date}}</p> | |||||
</view> | |||||
<van-popup show="{{showPickerTime}}" position="bottom"> | |||||
<van-datetime-picker | |||||
value="{{currentDate}}" | |||||
type="year-month" | |||||
title="选择年月" | |||||
min-date="{{minDate}}" | |||||
max-date="{{maxDate}}" | |||||
bind:confirm="onConfirm" | |||||
bind:cancel="closePick" | |||||
/> | |||||
</van-popup> | |||||
<!-- <view class="search_block"> | |||||
<image src="/image/apply/fixedAssets_icon_1.png" mode="" class="icon"/> | |||||
<input readonly type="text" class="ipt" value="{{subjectName}}" placeholder="请选择科目查询" bind:tap="" /> | |||||
<image src="/image/apply/delete_icon_input.png" mode="" class="delete_icon" wx:if="{{subjectName}}" bind:tap="emptyInput"/> | |||||
</view> --> | |||||
<!-- visible=true <view class="total">共{{listLength}}个资产</view> @input="getSearch"--> | |||||
</view> | |||||
<view class="balance-main"> | |||||
<view class="main-title"> | |||||
<view class="company">单位:{{ bookName }}</view> | |||||
<view class="nper">{{ accountingYear }}年{{ accountingMonth }}期</view> | |||||
<view class="amountOf">金额:元</view> | |||||
</view> | |||||
<view class="main-center"> | |||||
<view class="datagrid"> | |||||
<view class="header"> | |||||
<view class="header-title income" >收入</view> | |||||
<view class="header-title expenditure ">支出</view> | |||||
</view> | |||||
<view class="header"> | |||||
<view class="xmmc">日期</view> | |||||
<view class="qj">项目</view> | |||||
<view class="zy">金额</view> | |||||
<view class="dfje">日期</view> | |||||
<view class="fx">项目</view> | |||||
<view class="ye">金额</view> | |||||
</view> | |||||
<view class="mok_list"> | |||||
<ul class="list"> | |||||
<li wx:for="{{pageDataList}}" wx:key="index"> | |||||
<view class="xmmc">{{ item.incomeDate == null ? '' : item.incomeDate }}</view> | |||||
<view class="qj">{{ item.incomeSummary == null ? '' : item.incomeSummary }}</view> | |||||
<view class="zy">{{ item.incomeAmount == null ? '' : item.incomeAmount }}</view> | |||||
<view class="dfje">{{ item.expenditureDate == null ? '' : item.expenditureDate }}</view> | |||||
<view class="fx">{{ item.expenditureSummary == null ? '' : item.expenditureSummary }}</view> | |||||
<view class="ye">{{ item.expenditureAmount == null ? '' : item.expenditureAmount }}</view> | |||||
</li> | |||||
</ul> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> |
@@ -0,0 +1,221 @@ | |||||
/* pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxss */ | |||||
@charset "UTF-8"; | |||||
.balance-main { | |||||
background: #fff; | |||||
} | |||||
.balance-main .main-title { | |||||
margin-bottom: 5PX; | |||||
padding: 0 10PX; | |||||
height: 33PX; | |||||
line-height: 33PX; | |||||
color: #333; | |||||
font-size: 13PX; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
} | |||||
.balance-main .main-title .nper { | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-title .amountOf { | |||||
text-align: right; | |||||
} | |||||
.balance-main .main-center { | |||||
border: 1PX solid #CACBCC; | |||||
border-bottom: 0; | |||||
overflow-x: scroll; | |||||
} | |||||
.balance-main .main-center .datagrid { | |||||
min-height: 100PX; | |||||
width: 250%; | |||||
/* 确保收入和支出部分的宽度相同 */ | |||||
} | |||||
.balance-main .main-center .datagrid .header { | |||||
background: #f8f8f9; | |||||
font-weight: bold; | |||||
display: flex; | |||||
} | |||||
.balance-main .main-center .datagrid .header-title { | |||||
font-weight: bold; | |||||
text-align: center; | |||||
margin-bottom: 5px; /* 根据需要调整间距 */ | |||||
} | |||||
.balance-main .main-center .datagrid .header-title.income, .balance-main .main-center .datagrid .header.income { | |||||
width: 50%; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
} | |||||
.balance-main .main-center .datagrid .header-title.expenditure, .balance-main .main-center .datagrid .header.expenditure { | |||||
width: 50%; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
} | |||||
.balance-main .main-center .datagrid .kmbm, | |||||
.balance-main .main-center .datagrid .header-title.expenditure, | |||||
.balance-main .main-center .datagrid .header-title.income, | |||||
.balance-main .main-center .datagrid .xmmc, | |||||
.balance-main .main-center .datagrid .qj, | |||||
.balance-main .main-center .datagrid .zy, | |||||
.balance-main .main-center .datagrid .jfje, | |||||
.balance-main .main-center .datagrid .dfje, | |||||
.balance-main .main-center .datagrid .fx, | |||||
.balance-main .main-center .datagrid .ye { | |||||
height: 29PX; | |||||
line-height: 29PX; | |||||
font-size: 13PX; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
border-right: 1PX solid #CACBCC; | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-center .datagrid .xmmc { | |||||
width: 12%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .qj { | |||||
width: 26%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .zy { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .dfje { | |||||
width: 12%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .fx { | |||||
width: 26%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .ye { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
border-right: 0; | |||||
} | |||||
.balance-main .main-center .datagrid .mok_list { | |||||
display: block; | |||||
overflow-y: scroll; | |||||
height: calc(100vh - 200PX); | |||||
} | |||||
.balance-main .main-center .datagrid .list { | |||||
width: 100%; | |||||
} | |||||
.balance-main .main-center .datagrid ul { | |||||
margin: 0; | |||||
padding: 0; | |||||
} | |||||
.balance-main .main-center .datagrid ul li { | |||||
display: block; | |||||
overflow: hidden; | |||||
list-style: none; | |||||
} | |||||
.balance-main .main-center .datagrid ul li.header { | |||||
background: #f8f8f9; | |||||
font-weight: bold; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .kmbm, | |||||
.balance-main .main-center .datagrid ul li .xmmc, | |||||
.balance-main .main-center .datagrid ul li .qj, | |||||
.balance-main .main-center .datagrid ul li .zy, | |||||
.balance-main .main-center .datagrid ul li .jfje, | |||||
.balance-main .main-center .datagrid ul li .dfje, | |||||
.balance-main .main-center .datagrid ul li .fx, | |||||
.balance-main .main-center .datagrid ul li .ye { | |||||
height: 29PX; | |||||
line-height: 29PX; | |||||
float: left; | |||||
font-size: 13PX; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
border-right: 1PX solid #CACBCC; | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .xmmc { | |||||
width: 12%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .qj { | |||||
width: 26%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .zy { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .dfje { | |||||
width: 12%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .fx { | |||||
width: 26%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .ye { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
border-right: 0; | |||||
} | |||||
.date_box { | |||||
display: flex; | |||||
align-items: center; | |||||
} | |||||
.date_box image { | |||||
width: 30PX; | |||||
height: 30px; | |||||
border-radius: 100%; | |||||
box-shadow: 0px 6px 10px rgba(63, 68, 75, 0.5); | |||||
} | |||||
.date_box p { | |||||
font-size: 14PX; | |||||
margin-left: 5PX; | |||||
color: #2facfe; | |||||
} | |||||
.search_info { | |||||
padding: 20px 23px; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
} | |||||
.search_info .search_block { | |||||
height: 35px; | |||||
flex: 1; | |||||
border-radius: 59px; | |||||
background: #fff; | |||||
display: flex; | |||||
padding-right: 35px; | |||||
align-items: center; | |||||
box-shadow: 0px 6px 5px rgba(63, 68, 75, 0.2); | |||||
} | |||||
.search_info .search_block .icon { | |||||
width: 15px; | |||||
height: 15px; | |||||
display: block; | |||||
margin: 0 8px 0 26px; | |||||
} | |||||
.search_info .search_block .delete_icon { | |||||
width: 15PX; | |||||
height: 15PX; | |||||
display: block; | |||||
margin: 0 8px 0 26px; | |||||
} | |||||
.search_info .search_block .ipt { | |||||
flex: 1; | |||||
font-size: 14px; | |||||
background: none; | |||||
border: 0 none; | |||||
line-height: 59px; | |||||
} | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
/* min-height: 100vh; */ | |||||
width: 100vw; | |||||
} |
@@ -0,0 +1,222 @@ | |||||
// pages/finance/detailed_liabilities/detailed_liabilities.js | |||||
import * as UTIL from '../../../utils/util.js'; | |||||
import * as API from '../../../utils/API.js'; | |||||
const app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
isIPX: app.globalData.isIPX, | |||||
expressionOptions:[], | |||||
searchDate: { | |||||
bookDate: "", | |||||
templateName: '资产负债表', | |||||
signature: false, // 添加底部落款 | |||||
}, | |||||
list: [], | |||||
accountingYear: "", | |||||
accountingMonth: "", | |||||
// 显示搜索条件 | |||||
visible: false, | |||||
showPickerTime: false, | |||||
subjectName:'请选择科目查询', | |||||
minDate: new Date().getTime(), | |||||
maxDate: new Date().getTime(), | |||||
currentDate: new Date(), | |||||
date:'' | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
UTIL.httpRequest(API.getLoginBook,{}, { | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
let currentDays = res.data.currentDay; | |||||
if (currentDays == null) { | |||||
UTIL.showToastNoneIcon("当前账套未开启!"); | |||||
return false; | |||||
} | |||||
let mindate = res.data.startDay.split('-') | |||||
let dealDays = currentDays.split("-"); | |||||
this.setData({ | |||||
accountingYear:dealDays[0], | |||||
accountingMonth:dealDays[1], | |||||
date: dealDays[0]+'年'+dealDays[1]+'月', | |||||
['searchDate.bookDate']:currentDays, | |||||
minDate: new Date(mindate[0],mindate[1]-1).getTime(), | |||||
}) | |||||
this.initPage() | |||||
} | |||||
} | |||||
}); | |||||
UTIL.httpRequest(API.expressionReportByCategory+'资产负债表',{}, { | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
let content = res.data; | |||||
this.setData({ | |||||
expressionOptions:content | |||||
}) | |||||
} | |||||
} | |||||
}); | |||||
}, | |||||
initPage() { | |||||
var that = this; | |||||
UTIL.httpRequest(API.assetLiabilityReportByExpTpl,this.data.searchDate, { | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
let content = res.data; | |||||
this.setData({ | |||||
list:content.list.map((x) => { | |||||
x.ncyeLeft = that.formatNum(x.ncyeLeft); | |||||
x.qmyeLeft = that.formatNum(x.qmyeLeft); | |||||
x.ncyeRight = that.formatNum(x.ncyeRight); | |||||
x.qmyeRight = that.formatNum(x.qmyeRight); | |||||
return x; | |||||
}) | |||||
}) | |||||
} | |||||
} | |||||
}); | |||||
}, | |||||
formatNum(value) { | |||||
if(value === undefined || value === null) | |||||
return ''; | |||||
if(typeof(value) === "string") | |||||
{ | |||||
if(value.indexOf(',') !== -1) | |||||
return value; | |||||
value = Number(value); | |||||
if(isNaN(value)) | |||||
return ''; | |||||
} | |||||
if(value === 0) | |||||
return ''; | |||||
return this.numFormat(value); | |||||
}, | |||||
numFormat(value) { | |||||
if (value == null) { | |||||
return ""; | |||||
} | |||||
if (!value) return "0.00"; | |||||
value = value.toFixed(2); | |||||
let is_neg = value < 0; | |||||
var intPart = Math.abs(Math.trunc(value)); // 获取整数部分 | |||||
var intPartFormat = intPart.toString() | |||||
.replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"); // 将整数部分逢三一断 | |||||
if(is_neg) | |||||
intPartFormat = '-' + intPartFormat; | |||||
var floatPart = ".00"; // 预定义小数部分 | |||||
var value2Array = value.split("."); | |||||
// =2表示数据有小数位 | |||||
if (value2Array.length === 2) { | |||||
floatPart = value2Array[1].toString(); // 拿到小数部分 | |||||
if (floatPart.length === 1) { | |||||
// 补0,实际上用不着 | |||||
return intPartFormat + "." + floatPart + "0"; | |||||
} else { | |||||
return intPartFormat + "." + floatPart; | |||||
} | |||||
} else { | |||||
return intPartFormat + floatPart; | |||||
} | |||||
}, | |||||
openPick(){ | |||||
this.setData({ | |||||
showPickerTime:true | |||||
}) | |||||
}, | |||||
closePick(){ | |||||
this.setData({ | |||||
showPickerTime:false | |||||
}) | |||||
}, | |||||
onConfirm(time) { | |||||
console.log(time.detail); | |||||
let date = UTIL.formatDates(time.detail).split('-'); | |||||
this.setData({ | |||||
date:date[0] + '年' + date[1] + '月', | |||||
['queryParams.startDate']:UTIL.formatDates(time.detail), | |||||
showPickerTime : false | |||||
}) | |||||
this.getList(); | |||||
}, | |||||
back:function(){ | |||||
wx.navigateBack({ | |||||
delta: 1 | |||||
}) | |||||
}, | |||||
closePickEx(){ | |||||
this.setData({ | |||||
visible : false | |||||
}) | |||||
}, | |||||
openPickEx(){ | |||||
this.setData({ | |||||
visible : true | |||||
}) | |||||
}, | |||||
onConfirmExpression(data){ | |||||
console.log(data); | |||||
this.setData({ | |||||
subjectName:data.detail.value.name, | |||||
['searchDate.templateName']: data.detail.value.name, | |||||
visible : false | |||||
}) | |||||
this.initPage(); | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
} | |||||
}) |
@@ -0,0 +1,7 @@ | |||||
{ | |||||
"usingComponents": { | |||||
"van-popup": "@vant/weapp/popup/index", | |||||
"van-picker": "@vant/weapp/picker/index", | |||||
"van-datetime-picker": "@vant/weapp/datetime-picker/index" | |||||
} | |||||
} |
@@ -0,0 +1,71 @@ | |||||
<!--pages/finance/detailed_liabilities/detailed_liabilities.wxml--> | |||||
<view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};"> | |||||
<image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
<text style="top:{{isIPX?'54px':'30px'}};">负债表</text> | |||||
</view> | |||||
<view class="home_wrapper" style="margin-top:{{isIPX?'88px':'64px'}};"> | |||||
<view class="search_info"> | |||||
<view class="date_box" bind:tap="openPick"> | |||||
<image src="/image/icon/date_icon.png"></image> | |||||
<p>{{date}}</p> | |||||
</view> | |||||
<van-popup show="{{showPickerTime}}" position="bottom"> | |||||
<van-datetime-picker | |||||
value="{{currentDate}}" | |||||
type="year-month" | |||||
title="选择年月" | |||||
min-date="{{minDate}}" | |||||
max-date="{{maxDate}}" | |||||
bind:confirm="onConfirm" | |||||
bind:cancel="closePick" | |||||
/> | |||||
</van-popup> | |||||
<view class="search_block"> | |||||
<image src="/image/apply/fixedAssets_icon_1.png" mode="" class="icon"/> | |||||
<view class="ipt" bind:tap="openPickEx">{{searchDate.templateName}}</view> | |||||
</view> | |||||
<van-popup show="{{visible}}" position="bottom"> | |||||
<van-picker | |||||
show-toolbar | |||||
columns="{{expressionOptions}}" | |||||
value-key="name" | |||||
bind:confirm="onConfirmExpression" | |||||
bind:cancel="closePickEx" | |||||
/> | |||||
</van-popup> | |||||
<!-- visible=true <view class="total">共{{listLength}}个资产</view> @input="getSearch"--> | |||||
</view> | |||||
<view class="balance-main"> | |||||
<view class="main-title"> | |||||
<view class="company">单位:{{ this.$store.getters.bookName }}</view> | |||||
<view class="nper">{{ accountingYear }}年{{ accountingMonth }}期</view> | |||||
<view class="amountOf">金额:元</view> | |||||
</view> | |||||
<view class="main-center"> | |||||
<view class="datagrid"> | |||||
<view class="header"> | |||||
<view class="xmmc">资产</view> | |||||
<view class="qj">年初余额</view> | |||||
<view class="zy">期末余额</view> | |||||
<view class="dfje">负债与所有者权益</view> | |||||
<view class="fx">年初余额</view> | |||||
<view class="ye">期末余额</view> | |||||
</view> | |||||
<view class="mok_list"> | |||||
<ul class="list"> | |||||
<li wx:for="{{list}}" wx:key="index"> | |||||
<view class="xmmc">{{ item.subjectNameLeft }}</view> | |||||
<view class="qj">{{ item.ncyeLeft }}</view> | |||||
<view class="zy">{{ item.qmyeLeft }}</view> | |||||
<view class="dfje">{{ item.subjectNameRight }}</view> | |||||
<view class="fx">{{ item.ncyeRight }}</view> | |||||
<view class="ye">{{ item.qmyeRight }}</view> | |||||
</li> | |||||
</ul> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> |
@@ -0,0 +1,214 @@ | |||||
/* pages/finance/detailed_liabilities/detailed_liabilities.wxss */ | |||||
.balance-main { | |||||
background: #fff; | |||||
} | |||||
.balance-main .main-title { | |||||
margin-bottom: 5PX; | |||||
padding: 0 10PX; | |||||
height: 33PX; | |||||
line-height: 33PX; | |||||
color: #333; | |||||
font-size: 13PX; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
} | |||||
.balance-main .main-title .nper { | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-title .amountOf { | |||||
text-align: right; | |||||
} | |||||
.balance-main .main-center { | |||||
border: 1PX solid #CACBCC; | |||||
border-bottom: 0; | |||||
overflow-x: scroll; | |||||
} | |||||
.balance-main .main-center .datagrid { | |||||
min-height: 100PX; | |||||
width: 250%; | |||||
} | |||||
.balance-main .main-center .datagrid .header { | |||||
background: #f8f8f9; | |||||
font-weight: bold; | |||||
display: flex; | |||||
color: #278dff; | |||||
} | |||||
.balance-main .main-center .datagrid .kmbm, | |||||
.balance-main .main-center .datagrid .xmmc, | |||||
.balance-main .main-center .datagrid .qj, | |||||
.balance-main .main-center .datagrid .zy, | |||||
.balance-main .main-center .datagrid .jfje, | |||||
.balance-main .main-center .datagrid .dfje, | |||||
.balance-main .main-center .datagrid .fx, | |||||
.balance-main .main-center .datagrid .ye { | |||||
height: 29PX; | |||||
line-height: 29PX; | |||||
font-size: 13PX; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
border-right: 1PX solid #CACBCC; | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-center .datagrid .xmmc { | |||||
width: 26%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .qj { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .zy { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .dfje { | |||||
width: 26%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .fx { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .ye { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
border-right: 0; | |||||
} | |||||
.balance-main .main-center .datagrid .mok_list { | |||||
display: block; | |||||
overflow-y: scroll; | |||||
height: calc(100vh - 200PX); | |||||
} | |||||
.balance-main .main-center .datagrid .list { | |||||
width: 100%; | |||||
} | |||||
.balance-main .main-center .datagrid ul { | |||||
margin: 0; | |||||
padding: 0; | |||||
} | |||||
.balance-main .main-center .datagrid ul li { | |||||
display: block; | |||||
overflow: hidden; | |||||
list-style: none; | |||||
} | |||||
.balance-main .main-center .datagrid ul li.header { | |||||
background: #f8f8f9; | |||||
font-weight: bold; | |||||
} | |||||
.balance-main .main-center .datagrid ul li:nth-child(even) { | |||||
background: #e9e9e9; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .kmbm, | |||||
.balance-main .main-center .datagrid ul li .xmmc, | |||||
.balance-main .main-center .datagrid ul li .qj, | |||||
.balance-main .main-center .datagrid ul li .zy, | |||||
.balance-main .main-center .datagrid ul li .jfje, | |||||
.balance-main .main-center .datagrid ul li .dfje, | |||||
.balance-main .main-center .datagrid ul li .fx, | |||||
.balance-main .main-center .datagrid ul li .ye { | |||||
height: 29PX; | |||||
line-height: 29PX; | |||||
float: left; | |||||
font-size: 13PX; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
border-right: 1PX solid #CACBCC; | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .xmmc { | |||||
width: 26%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .qj { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .zy { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .dfje { | |||||
width: 26%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .fx { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .ye { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
border-right: 0; | |||||
} | |||||
.radio_box{ | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
padding:20px 23px; | |||||
} | |||||
.date_box { | |||||
display: flex; | |||||
align-items: center; | |||||
} | |||||
.date_box image { | |||||
width: 30PX; | |||||
height: 30px; | |||||
border-radius: 100%; | |||||
box-shadow: 0px 6px 10px rgba(63, 68, 75, 0.5); | |||||
} | |||||
.date_box p { | |||||
font-size: 14PX; | |||||
margin-left: 5PX; | |||||
color: #2facfe; | |||||
} | |||||
.search_info { | |||||
padding: 20px 23px; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
} | |||||
.search_info .search_block { | |||||
height: 35px; | |||||
flex: 1; | |||||
border-radius: 59px; | |||||
background: #fff; | |||||
display: flex; | |||||
padding-right: 35px; | |||||
align-items: center; | |||||
box-shadow: 0px 6px 5px rgba(63, 68, 75, 0.2); | |||||
margin-left: 20px; | |||||
} | |||||
.search_info .search_block .icon { | |||||
width: 15px; | |||||
height: 15px; | |||||
display: block; | |||||
margin: 0 8px 0 15px; | |||||
} | |||||
.search_info .search_block .delete_icon { | |||||
width: 15PX; | |||||
height: 15PX; | |||||
display: block; | |||||
margin: 0 8px 0 26px; | |||||
} | |||||
.search_info .search_block .ipt { | |||||
flex: 1; | |||||
font-size: 14px; | |||||
background: none; | |||||
border: 0 none; | |||||
line-height: 59px; | |||||
} | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
/* min-height: 100vh; */ | |||||
width: 100vw; | |||||
} |
@@ -11,7 +11,25 @@ Page({ | |||||
isIPX: app.globalData.isIPX, | isIPX: app.globalData.isIPX, | ||||
list:[] | list:[] | ||||
}, | }, | ||||
goList(e){ | |||||
let type = e.currentTarget.dataset.type; | |||||
if(type == 'yeb'){ | |||||
wx.navigateTo({ | |||||
url: 'list_balance_ranking/list_balance_ranking', | |||||
}) | |||||
} | |||||
if(type == 'fzb'){ | |||||
wx.navigateTo({ | |||||
url: 'detailed_liabilities/detailed_liabilities', | |||||
}) | |||||
} | |||||
if(type == 'gkb'){ | |||||
wx.navigateTo({ | |||||
url: 'detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic', | |||||
}) | |||||
} | |||||
}, | |||||
/** | /** | ||||
* 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
*/ | */ | ||||
@@ -43,8 +61,12 @@ Page({ | |||||
if(res.code == 200){ | if(res.code == 200){ | ||||
for (let i = 0; i < res.rows.length; i++) { | for (let i = 0; i < res.rows.length; i++) { | ||||
const element = res.rows[i]; | const element = res.rows[i]; | ||||
element.openPic = element.openPic.split(','); | |||||
element.openFile = element.openFile.split(','); | |||||
if(element.openPic){ | |||||
element.openPic = element.openPic.split(','); | |||||
} | |||||
if(element.openFile){ | |||||
element.openFile = element.openFile.split(','); | |||||
} | |||||
} | } | ||||
// wx.getStorageSync('dressCode')+ | // wx.getStorageSync('dressCode')+ | ||||
if (res.rows.length>0) { | if (res.rows.length>0) { | ||||
@@ -13,6 +13,8 @@ | |||||
"van-dropdown-menu": "@vant/weapp/dropdown-menu/index", | "van-dropdown-menu": "@vant/weapp/dropdown-menu/index", | ||||
"van-popup": "@vant/weapp/popup/index", | "van-popup": "@vant/weapp/popup/index", | ||||
"van-dialog": "@vant/weapp/dialog/index", | "van-dialog": "@vant/weapp/dialog/index", | ||||
"van-grid": "@vant/weapp/grid/index", | |||||
"van-grid-item": "@vant/weapp/grid-item/index", | |||||
"van-dropdown-item": "@vant/weapp/dropdown-item/index" | "van-dropdown-item": "@vant/weapp/dropdown-item/index" | ||||
} | } | ||||
} | } |
@@ -13,7 +13,20 @@ | |||||
bind:change="goSearch" | bind:change="goSearch" | ||||
/> | /> | ||||
</view> | </view> | ||||
<view class="grid_main"> | |||||
<view bind:tap="goList" data-type="yeb"> | |||||
<image src="/image/index/index_block_04.png" mode="heightFix"/> | |||||
<text>余额表</text> | |||||
</view> | |||||
<view text="负债表" bind:tap="goList" data-type="fzb"> | |||||
<image src="/image/index/index_block_23.png" mode="heightFix"/> | |||||
<text>负债表</text> | |||||
</view> | |||||
<view text="公开表" bind:tap="goList" data-type="gkb"> | |||||
<image src="/image/index/index_block_26.png" mode="heightFix"/> | |||||
<text>公开表</text> | |||||
</view> | |||||
</view> | |||||
<scroll-view scroll-y refresher-threshold="0" style="height:100%" bindscrolltolower="paging" lower-threshold="100"> | <scroll-view scroll-y refresher-threshold="0" style="height:100%" bindscrolltolower="paging" lower-threshold="100"> | ||||
<!-- wx:for="{{list}}" wx:key="index" wx:for-item="item" right-width="{{ 50 }}" --> | <!-- wx:for="{{list}}" wx:key="index" wx:for-item="item" right-width="{{ 50 }}" --> | ||||
<van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{list}}" wx:key="index" > | <van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{list}}" wx:key="index" > | ||||
@@ -3,6 +3,37 @@ | |||||
border: 1px solid #5CAE77!important; | border: 1px solid #5CAE77!important; | ||||
background: #fff!important; | background: #fff!important; | ||||
} | } | ||||
.van-grid-item__content--square { | |||||
padding-top: 0; | |||||
padding-bottom: 0; | |||||
} | |||||
.grid_main{ | |||||
width: 94%; | |||||
margin: 0 auto 2vh; | |||||
overflow: hidden; | |||||
border-radius: 15px; | |||||
box-shadow: 0 8px 20px rgba(3, 3, 67, .1); | |||||
display: flex; | |||||
justify-content: space-around; | |||||
align-items: center; | |||||
background-color: #ffffff; | |||||
padding: 2vh 0; | |||||
} | |||||
.grid_main view{ | |||||
font-size: 14px; | |||||
color: #333333; | |||||
display: flex; | |||||
flex-direction: column; | |||||
align-items: center; | |||||
} | |||||
.grid_main view text{ | |||||
font-size: 14px; | |||||
color: #333333; | |||||
margin-top: 5px; | |||||
} | |||||
.grid_main view image{ | |||||
height: 43px; | |||||
} | |||||
van-search { | van-search { | ||||
flex: 0.8; | flex: 0.8; | ||||
} | } | ||||
@@ -0,0 +1,319 @@ | |||||
// pages/finance/list_balance_ranking/list_balance_ranking.js | |||||
import * as UTIL from '../../../utils/util.js'; | |||||
import * as API from '../../../utils/API.js'; | |||||
const app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
popupVisible:false, | |||||
subjects:[], | |||||
isIPX: app.globalData.isIPX, | |||||
subjectName:'', | |||||
visible:false, | |||||
subjectId:'', | |||||
radio:'1', | |||||
applicationList:[], | |||||
applicationListSecond:[], | |||||
assetStatusOptions:[], | |||||
auditStatus:[], | |||||
loading: false, | |||||
finished: false, | |||||
show: false, | |||||
showTab: false, | |||||
showPickerTime: false, | |||||
fileList:[], | |||||
listLength:'0', | |||||
searchInput:'', | |||||
queryParams:{ | |||||
pageNum:1, | |||||
pageSize:999, | |||||
startDate:'', | |||||
startSubjectId:'', | |||||
endSubjectId:'', | |||||
showSubSubject:false | |||||
}, | |||||
uploadFiles1:[], | |||||
projectId:'', | |||||
projectIndex:'', | |||||
showBtn:true, | |||||
yearMonth:[], | |||||
deptName:'', | |||||
minDate: new Date().getTime(), | |||||
maxDate: new Date().getTime(), | |||||
currentDate: new Date(), | |||||
date:'' | |||||
}, | |||||
changeTabItem(e){ | |||||
console.log(e.detail.currentTarget.dataset.item); | |||||
console.log(e); | |||||
this.setData({ | |||||
subjectName:e.detail.currentTarget.dataset.item.subjectId+ " " + e.detail.currentTarget.dataset.item.subjectName, | |||||
['queryParams.endSubjectId']:e.detail.currentTarget.dataset.item.subjectId, | |||||
popupVisible:false | |||||
}) | |||||
this.getList(); | |||||
}, | |||||
showSub(event){ | |||||
this.setData({ | |||||
['queryParams.showSubSubject']:event.detail | |||||
}) | |||||
this.getList(); | |||||
}, | |||||
onClose(e){ | |||||
console.log(e); | |||||
this.setData({ | |||||
popupVisible:false | |||||
}) | |||||
}, | |||||
openTabs(e){ | |||||
console.log(e); | |||||
this.setData({ | |||||
tabsVisible:true | |||||
}) | |||||
this.selectComponent('#tabs').resize(); | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
UTIL.httpRequest(API.getLoginBook,{}, { | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
if (res.data.currentDay != null || res.data.startDay != null){ | |||||
let resDate = res.data.currentDay != null ? res.data.currentDay : res.data.startDay != null ? res.data.startDay : UTIL.formatDates(new Date()) | |||||
let date = resDate.split('-'); | |||||
let mindate = res.data.startDay.split('-') | |||||
this.setData({ | |||||
date:date[0] + '年' + date[1] + '月', | |||||
currentDate:new Date(date[0], date[1]-1, 1).getTime(), | |||||
['queryParams.startDate']:resDate, | |||||
minDate: new Date(mindate[0],mindate[1]-1).getTime(), | |||||
}) | |||||
this.getList(); | |||||
this.getSubjects(); | |||||
} | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
getList(){ | |||||
var _this = this; | |||||
setTimeout(() => { | |||||
UTIL.httpRequest(API.trailBalanceList,_this.data.queryParams, { | |||||
success: (response) => { | |||||
// _this.data.listLength = response.total; | |||||
response.rows.map(res=>{ | |||||
res.bqjffs = Number(res.bqjffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
return $1 + ","; }).replace(/\.$/, ""); | |||||
res.bqdffs = Number(res.bqdffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
return $1 + ","; }).replace(/\.$/, ""); | |||||
res.qcjfye = Number(res.qcjfye).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
return $1 + ","; }).replace(/\.$/, ""); | |||||
res.qcdfye = Number(res.qcdfye).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
return $1 + ","; }).replace(/\.$/, ""); | |||||
res.qmjffs = Number(res.qmjffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
return $1 + ","; }).replace(/\.$/, ""); | |||||
res.qmdffs = Number(res.qmdffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
return $1 + ","; }).replace(/\.$/, ""); | |||||
}) | |||||
// _this.data.applicationList = response.rows; | |||||
_this.setData({ | |||||
listLength:response.total, | |||||
applicationList:response.rows, | |||||
}) | |||||
} | |||||
}); | |||||
}, 1000); | |||||
}, | |||||
openPick(){ | |||||
this.setData({ | |||||
showPickerTime:true | |||||
}) | |||||
}, | |||||
closePick(){ | |||||
this.setData({ | |||||
showPickerTime:false | |||||
}) | |||||
}, | |||||
onConfirm(time) { | |||||
console.log(time.detail); | |||||
let date = UTIL.formatDates(time.detail).split('-'); | |||||
this.setData({ | |||||
date:date[0] + '年' + date[1] + '月', | |||||
['queryParams.startDate']:UTIL.formatDates(time.detail), | |||||
showPickerTime : false | |||||
}) | |||||
this.getList(); | |||||
}, | |||||
back:function(){ | |||||
wx.navigateBack({ | |||||
delta: 1 | |||||
}) | |||||
}, | |||||
getSubjects() { | |||||
this.data.subjects = []; | |||||
var that = this; | |||||
let map = {}; | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'subject_type', {method:'GET'}, { | |||||
success: (resp) => { | |||||
this.setData({ | |||||
subjects:resp.data.map((x) => { | |||||
let item = { | |||||
subjectId: x.dictValue, | |||||
subjectName: x.dictLabel, | |||||
subjectNameAll: x.dictLabel, | |||||
subjectType: x.dictValue, | |||||
subjectLevel: 0, | |||||
children: [], | |||||
visible: true, | |||||
}; | |||||
map[x.dictValue] = item; | |||||
return item; | |||||
}) | |||||
}); | |||||
console.log(this.data.subjects); | |||||
UTIL.httpRequest('/finance/subject/listAll',{year:this.data.queryParams.startDate ? this.data.queryParams.startDate.substr(0, 4) : null}, { | |||||
success: (resp) => { | |||||
let list = this.makeTree(resp.rows || resp.data); | |||||
console.log(list); | |||||
for(let v of list) | |||||
{ | |||||
if(v.subjectId.length === 3) | |||||
{ | |||||
map[v.subjectType].children.push(v); | |||||
} | |||||
} | |||||
this.setData({ | |||||
subjects:this.data.subjects | |||||
}) | |||||
} | |||||
}); | |||||
} | |||||
}) | |||||
// this.getDicts('subject_type').then((resp) => { | |||||
// let url = '/finance/subject/listAll?year='+this.yearNews; // '/open/villageAffairs/public/subjects/153' | |||||
// request(url).then((resp) => { | |||||
// }) | |||||
// }); | |||||
}, | |||||
makeTree(list) { | |||||
function isnull(p) { | |||||
return p === null || p === undefined || p === ''; | |||||
} | |||||
function makeTree_r(l, p) { | |||||
const isRoot = isnull(p); | |||||
let res = []; | |||||
for(let v of l) | |||||
{ | |||||
if((isRoot && isnull(v.parentId)) || (!isRoot && v.parentId == p)) | |||||
{ | |||||
let arr = makeTree_r(l, v.subjectId); | |||||
if(arr.length > 0) | |||||
v.children = arr; | |||||
else | |||||
delete v.children; | |||||
res.push(v); | |||||
} | |||||
} | |||||
return res; | |||||
} | |||||
return makeTree_r(list.map((x) => { | |||||
x.visible = true; | |||||
return x; | |||||
})); | |||||
}, | |||||
openPup(){ | |||||
this.setData({ | |||||
popupVisible:true | |||||
}) | |||||
}, | |||||
onTabChanged(){ | |||||
this.setData({searchValue:''}) | |||||
this.onSearch(); | |||||
}, | |||||
onSearch(value) { | |||||
function handleTree_r(l, func) { | |||||
let res = 0; | |||||
for(let v of l) | |||||
{ | |||||
let r = func(v) ? 1 : 0; | |||||
if(v.children && Array.isArray(v.children) && v.children.length > 0) | |||||
{ | |||||
r += handleTree_r(v.children, func); | |||||
} | |||||
v.visible = r > 0; | |||||
res += r; | |||||
} | |||||
return res; | |||||
} | |||||
for(let v of this.data.subjects) | |||||
{ | |||||
if(v.subjectId === this.data.active && value) | |||||
{ | |||||
handleTree_r(v.children, (x) => x.subjectId.startsWith(value) || x.subjectName.indexOf(value) !== -1); | |||||
} | |||||
else | |||||
{ | |||||
handleTree_r(v.children, (x) => true); | |||||
} | |||||
} | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
} | |||||
}) |
@@ -0,0 +1,13 @@ | |||||
{ | |||||
"usingComponents": { | |||||
"childrenPage":"/component/SubjectTreeChooserNodeItem/childrenPage", | |||||
"van-popup": "@vant/weapp/popup/index", | |||||
"van-datetime-picker": "@vant/weapp/datetime-picker/index", | |||||
"van-checkbox": "@vant/weapp/checkbox/index", | |||||
"van-tab": "@vant/weapp/tab/index", | |||||
"van-tabs": "@vant/weapp/tabs/index", | |||||
"van-collapse": "@vant/weapp/collapse/index", | |||||
"van-collapse-item": "@vant/weapp/collapse-item/index", | |||||
"van-checkbox-group": "@vant/weapp/checkbox-group/index" | |||||
} | |||||
} |
@@ -0,0 +1,94 @@ | |||||
<!--pages/finance/list_balance_ranking/list_balance_ranking.wxml--> | |||||
<view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};"> | |||||
<image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
<text style="top:{{isIPX?'54px':'30px'}};">余额表</text> | |||||
</view> | |||||
<view class="home_wrapper" style="margin-top:{{isIPX?'88px':'64px'}};"> | |||||
<view class="search_info"> | |||||
<view class="date_box" bind:tap="openPick"> | |||||
<image src="/image/icon/date_icon.png"></image> | |||||
<p>{{date}}</p> | |||||
</view> | |||||
<van-popup show="{{showPickerTime}}" position="bottom"> | |||||
<van-datetime-picker | |||||
value="{{currentDate}}" | |||||
type="year-month" | |||||
title="选择年月" | |||||
min-date="{{minDate}}" | |||||
max-date="{{maxDate}}" | |||||
bind:confirm="onConfirm" | |||||
bind:cancel="closePick" | |||||
/> | |||||
</van-popup> | |||||
<view class="search_block"> | |||||
<image src="/image/apply/fixedAssets_icon_1.png" mode="" class="icon"/> | |||||
<view class="ipt" bind:tap="openPup" >{{subjectName==''?'请选择科目查询':subjectName}}</view> | |||||
<image src="/image/apply/delete_icon_input.png" mode="" class="delete_icon" wx:if="{{subjectName}}" bind:tap="emptyInput"/> | |||||
</view> | |||||
<!-- visible=true <view class="total">共{{listLength}}个资产</view> @input="getSearch"--> | |||||
</view> | |||||
<view class="radio_box"> | |||||
<van-checkbox value="{{queryParams.showSubSubject}}" bind:change="showSub" checked-color="#2facfe">显示明细</van-checkbox> | |||||
<view class="total">共{{listLength}}条</view> | |||||
</view> | |||||
<view class="balance-main"> | |||||
<!-- <view class="main-title">--> | |||||
<!-- <view class="company">单位:{{ this.$store.getters.bookName }}</view>--> | |||||
<!-- <view class="nper">{{ accountingYear }}年{{ accountingMonth }}期</view>--> | |||||
<!-- <view class="amountOf">金额:元</view>--> | |||||
<!-- </view>--> | |||||
<view class="main-center"> | |||||
<view class="datagrid"> | |||||
<view class="header"> | |||||
<view class="xmmc">科目</view> | |||||
<view class="qj">期初余额</view> | |||||
<view class="zy">本期发生</view> | |||||
<view class="dfje">期末余额</view> | |||||
</view> | |||||
<view class="header header_sec"> | |||||
<view class="xmmc">编码</view> | |||||
<view class="qj">名称</view> | |||||
<view class="zy">本期发生</view> | |||||
<view class="dfje">期末余额</view> | |||||
<view class="xmmc">科目</view> | |||||
<view class="qj">期初余额</view> | |||||
<view class="zy">本期发生</view> | |||||
<view class="dfje">期末余额</view> | |||||
</view> | |||||
<view class="mok_list"> | |||||
<ul class="list"> | |||||
<li class="header_sec" wx:for="{{applicationList}}" wx:key="id"> | |||||
<view class="xmmc">{{ item.subjectId }}</view> | |||||
<view class="xmmc">{{item.subjectName}}</view> | |||||
<view class="qj">{{ item.qcjfye }}</view> | |||||
<view class="qj">{{item.qcdfye}}</view> | |||||
<view class="zy">{{item.bqjffs}}</view> | |||||
<view class="zy">{{item.bqdffs}}</view> | |||||
<view class="dfje">{{item.qmjffs}}</view> | |||||
<view class="dfje">{{item.qmdffs}}</view> | |||||
</li> | |||||
</ul> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<!-- <SubjectTreeChooser :visible.sync="visible" @select="getSearch" v-model="queryParams.startSubjectId" :year="queryParams.startDate ? queryParams.startDate.substr(0, 4) : null" :can-select-non-leaf="true" height="480px"></SubjectTreeChooser> --> | |||||
<van-popup show="{{popupVisible}}" root-portal position="bottom" close-on-click-overlay bind:after-enter="openTabs" bind:close="onClose"> | |||||
<!-- <van-search | |||||
v-model="searchValue" | |||||
placeholder="按科目编码/名称筛选" | |||||
@input="onSearch" | |||||
/> --> | |||||
<van-tabs wx:if="{{tabsVisible}}" animated sticky id="tabs" bind:change="onTabChanged"> | |||||
<van-tab title="{{item.subjectName}}" name="{{item.subjectId}}" wx:for="{{subjects}}" wx:key="index"> | |||||
<view style="height: 480px;"> | |||||
<childrenPage bind:cancel="changeTabItem" subjects="{{item.children}}"></childrenPage> | |||||
</view> | |||||
</van-tab> | |||||
</van-tabs> | |||||
</van-popup> | |||||
</view> | |||||
@@ -0,0 +1,229 @@ | |||||
.balance-main { | |||||
background: #fff; | |||||
} | |||||
.balance-main .main-title { | |||||
margin-bottom: 5PX; | |||||
padding: 0 10PX; | |||||
height: 33PX; | |||||
line-height: 33PX; | |||||
color: #333; | |||||
font-size: 13PX; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
} | |||||
.balance-main .main-title .nper { | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-title .amountOf { | |||||
text-align: right; | |||||
} | |||||
.balance-main .main-center { | |||||
border: 1PX solid #CACBCC; | |||||
border-bottom: 0; | |||||
overflow-x: scroll; | |||||
} | |||||
.balance-main .main-center .datagrid { | |||||
min-height: 100PX; | |||||
width: 250%; | |||||
} | |||||
.balance-main .main-center .datagrid .header { | |||||
background: #f8f8f9; | |||||
font-weight: bold; | |||||
display: flex; | |||||
color: #278dff; | |||||
} | |||||
.balance-main .main-center .datagrid .header_sec view { | |||||
width: 12.5%; | |||||
} | |||||
.balance-main .main-center .datagrid .kmbm, | |||||
.balance-main .main-center .datagrid .xmmc, | |||||
.balance-main .main-center .datagrid .qj, | |||||
.balance-main .main-center .datagrid .zy, | |||||
.balance-main .main-center .datagrid .jfje, | |||||
.balance-main .main-center .datagrid .dfje, | |||||
.balance-main .main-center .datagrid .fx, | |||||
.balance-main .main-center .datagrid .ye { | |||||
height: 29PX; | |||||
line-height: 29PX; | |||||
font-size: 13PX; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
border-right: 1PX solid #CACBCC; | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-center .datagrid .xmmc { | |||||
width: 25%; | |||||
text-align: center; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .qj { | |||||
width: 25%; | |||||
text-align: center; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .zy { | |||||
width: 25%; | |||||
text-align: center; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .dfje { | |||||
width: 25%; | |||||
text-align: center; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .fx { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid .ye { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
border-right: 0; | |||||
} | |||||
.balance-main .main-center .datagrid .mok_list { | |||||
display: block; | |||||
overflow-y: scroll; | |||||
height: calc(100vh - 310PX); | |||||
} | |||||
.balance-main .main-center .datagrid .list { | |||||
width: 100%; | |||||
} | |||||
.balance-main .main-center .datagrid ul { | |||||
margin: 0; | |||||
padding: 0; | |||||
} | |||||
.balance-main .main-center .datagrid ul li { | |||||
display: block; | |||||
overflow: hidden; | |||||
list-style: none; | |||||
} | |||||
.balance-main .main-center .datagrid ul li.header { | |||||
background: #f8f8f9; | |||||
font-weight: bold; | |||||
} | |||||
.balance-main .main-center .datagrid ul li.header_sec view { | |||||
width: 12.5%; | |||||
} | |||||
.balance-main .main-center .datagrid ul li:nth-child(even) { | |||||
background: #e9e9e9; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .kmbm, | |||||
.balance-main .main-center .datagrid ul li .xmmc, | |||||
.balance-main .main-center .datagrid ul li .qj, | |||||
.balance-main .main-center .datagrid ul li .zy, | |||||
.balance-main .main-center .datagrid ul li .jfje, | |||||
.balance-main .main-center .datagrid ul li .dfje, | |||||
.balance-main .main-center .datagrid ul li .fx, | |||||
.balance-main .main-center .datagrid ul li .ye { | |||||
height: 29PX; | |||||
line-height: 29PX; | |||||
float: left; | |||||
font-size: 13PX; | |||||
border-bottom: 1PX solid #CACBCC; | |||||
border-right: 1PX solid #CACBCC; | |||||
text-align: center; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .xmmc { | |||||
width: 26%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .qj { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .zy { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .dfje { | |||||
width: 26%; | |||||
text-align: left; | |||||
padding-left: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .fx { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
} | |||||
.balance-main .main-center .datagrid ul li .ye { | |||||
width: 12%; | |||||
text-align: right; | |||||
padding-right: 10PX; | |||||
border-right: 0; | |||||
} | |||||
.search_info { | |||||
padding: 20px 23px 0; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
} | |||||
.search_info .search_block { | |||||
height: 35px; | |||||
flex: 1; | |||||
border-radius: 59px; | |||||
background: #fff; | |||||
display: flex; | |||||
padding-right: 35px; | |||||
align-items: center; | |||||
box-shadow: 0px 6px 5px rgba(63, 68, 75, 0.2); | |||||
margin-left: 20px; | |||||
} | |||||
.search_info .search_block .icon { | |||||
width: 15px; | |||||
height: 15px; | |||||
display: block; | |||||
margin: 0 8px 0 15px; | |||||
} | |||||
.search_info .search_block .delete_icon { | |||||
width: 15PX; | |||||
height: 15PX; | |||||
display: block; | |||||
margin: 0 8px 0 26px; | |||||
} | |||||
.search_info .search_block .ipt { | |||||
flex: 1; | |||||
font-size: 14px; | |||||
background: none; | |||||
border: 0 none; | |||||
line-height: 59px; | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
} | |||||
.total{ | |||||
font-size: 14PX; | |||||
color: #858585; | |||||
} | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
/* min-height: 100vh; */ | |||||
width: 100vw; | |||||
} | |||||
.date_box { | |||||
display: flex; | |||||
align-items: center; | |||||
flex-shrink: 0; | |||||
} | |||||
.date_box image { | |||||
width: 30PX; | |||||
height: 30px; | |||||
border-radius: 100%; | |||||
box-shadow: 0px 6px 10px rgba(63, 68, 75, 0.5); | |||||
} | |||||
.date_box p { | |||||
font-size: 14PX; | |||||
margin-left: 5PX; | |||||
color: #2facfe; | |||||
} | |||||
.radio_box{ | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
padding:20px 23px; | |||||
} |
@@ -16,7 +16,7 @@ | |||||
<view class="add_btn" bindtap="goAdd"><text>填报</text></view> | <view class="add_btn" bindtap="goAdd"><text>填报</text></view> | ||||
</view> | </view> | ||||
<scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100"> | <scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100"> | ||||
<van-swipe-cell right-width="{{ 220 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" > | |||||
<van-swipe-cell right-width="{{ 150 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" > | |||||
<view class="li" bindtap="goUpdate" data-id="{{item.id}}"> | <view class="li" bindtap="goUpdate" data-id="{{item.id}}"> | ||||
<view class="tit_box"> | <view class="tit_box"> | ||||
<image src="/image/icon/fixedAssets_icon.png" style="width: 15px;height: 15px;margin-right: 10px;" referrer="no-referrer|origin|unsafe-url"></image> | <image src="/image/icon/fixedAssets_icon.png" style="width: 15px;height: 15px;margin-right: 10px;" referrer="no-referrer|origin|unsafe-url"></image> | ||||
@@ -48,15 +48,15 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view slot="right" class="deleteBox"> | <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> | <view> | ||||
<image src="../../image/icon/scrap_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | <image src="../../image/icon/scrap_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | ||||
</view> | </view> | ||||
<view> | <view> | ||||
<text style="color:#A5A5A5">报废</text> | <text style="color:#A5A5A5">报废</text> | ||||
</view> | </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> | <view> | ||||
<image src="../../image/icon/sell_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | <image src="../../image/icon/sell_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | ||||
</view> | </view> | ||||
@@ -71,7 +71,7 @@ | |||||
<view> | <view> | ||||
<text style="color:red">删除</text> | <text style="color:red">删除</text> | ||||
</view> | </view> | ||||
</view> | |||||
</view> --> | |||||
<view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(98,173,102,0.2);" data-id="{{item.id}}" data-index="{{index}}" data-status="{{item.assetStatus}}" bindtap="upload"> | <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> | <view> | ||||
<image src="../../image/icon/upload_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | <image src="../../image/icon/upload_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | ||||
@@ -85,9 +85,25 @@ | |||||
<image src="../../image/icon/relevance_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | <image src="../../image/icon/relevance_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | ||||
</view> | </view> | ||||
<view> | <view> | ||||
<text style="color: rgb(239,135,7);">变更</text> | |||||
<text style="color: rgb(239,135,7);">处置</text> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(238,95,0,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}"> | |||||
<view> | |||||
<image src="../../image/icon/sell_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image> | |||||
</view> | |||||
<view> | |||||
<text style="color: rgb(238,95,0);">出租</text> | |||||
</view> | |||||
</view> | |||||
<!-- <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(239,135,7,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}"> | |||||
<view> | |||||
<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> | </van-swipe-cell> | ||||
</scroll-view> | </scroll-view> | ||||
@@ -64,7 +64,7 @@ text{display: block;} | |||||
color: #31936c; | color: #31936c; | ||||
} | } | ||||
.deleteBox{ | .deleteBox{ | ||||
width: 220px; | |||||
width: 150px; | |||||
text-align: center; | text-align: center; | ||||
height: 100%; | height: 100%; | ||||
background: #F6F6F6; | background: #F6F6F6; | ||||
@@ -0,0 +1,704 @@ | |||||
// 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:[], | |||||
transferStatusOptions:[], | |||||
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 + 'transfer_status', {method:'GET'}, { | |||||
success: (res) => { | |||||
this.setData({ | |||||
transferStatusOptions:res.data | |||||
}); | |||||
} | |||||
}) | |||||
//所属银行 | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'audit_status', {method:'GET'}, { | |||||
success: (res) => { | |||||
} | |||||
}) | |||||
// 资金支出类别字典查询 | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, { | |||||
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 | |||||
}); | |||||
}) | |||||
} | |||||
}) | |||||
//四议两公开 | |||||
UTIL.httpRequest( | |||||
API.URL_GET_FINDLIST, | |||||
{ | |||||
method:'GET', | |||||
tableName:'t_yinnong_transfer', | |||||
tableId:res.data.id, | |||||
fileType:4 | |||||
}, | |||||
{ | |||||
success: (res) => { | |||||
let list = []; | |||||
res.data.forEach((item2,index2)=>{ | |||||
let fileForm = res.data.fileForm?res.data.fileForm:[]; | |||||
fileForm.push({ | |||||
file: wx.getStorageSync('dressCode')+item2.fileUrl, | |||||
fileType:'4', | |||||
bizPath:'transfer', | |||||
tableName:'t_yinnong_transfer', | |||||
tableId:res.data.id | |||||
}) | |||||
list.push({ | |||||
tempFilePath:wx.getStorageSync('dressCode')+item2.fileUrl, | |||||
id:item2.id | |||||
}) | |||||
that.setData({ | |||||
["form.fileNum"]:that.data.form.fileNum+1, | |||||
["form.SYLGKimage"]:list, | |||||
["form.fileForm"]:fileForm | |||||
}); | |||||
}) | |||||
} | |||||
}) | |||||
let query = { | |||||
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); | |||||
response.rows[i].transferStatusText = UTIL.getTransform(response.rows[i].transferStatus,that.data.transferStatusOptions); | |||||
} | |||||
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_GETPROCESSNEW+options.id , {method:'GET'}, { | |||||
success: (res) => { | |||||
console.log(res); | |||||
for (let i = 0; i < res.data.length; i++) { | |||||
const element = res.data.processSchedule.审批事项[i]; | |||||
if (element.electronicSignature!=null) { | |||||
element.electronicSignature = wx.getStorageSync('dressCode')+element.electronicSignature; | |||||
} | |||||
} | |||||
const arr = []; | |||||
for (let key in res.data) { | |||||
if (res.data.hasOwnProperty(key)) { // 确保键在对象自身上,而不是从原型链继承 | |||||
for (let i = 0; i < res.data[key].length; i++) { | |||||
const element = res.data[key][i]; | |||||
console.log(`Key: ${key}, Value: ${res.data[key][i].electronicSignature}`); | |||||
if (element.electronicSignature!=null) { | |||||
element.electronicSignature = wx.getStorageSync('dressCode')+element.electronicSignature; | |||||
} | |||||
} | |||||
arr.push([key,res.data[key]]) | |||||
// that.setData({instanceId:res.data.instanceId}) | |||||
} | |||||
} | |||||
that.setData({spsxOptions:arr}) | |||||
// if(options.business == 'xj'){ | |||||
// console.log(that.data.instanceId) | |||||
// // 查询现金审批事项流转进度 | |||||
// UTIL.httpRequest(API.URL_GET_REVIEWPROCESS+that.data.instanceId , {method:'GET'}, { | |||||
// success: (res) => { | |||||
// console.log(res); | |||||
// if(res.data.processSchedule.审批事项){ | |||||
// that.setData({spsxOptions:res.data.processSchedule.审批事项}) | |||||
// } | |||||
// that.setData({instanceId:res.data.instanceId}) | |||||
// } | |||||
// }) | |||||
// } | |||||
} | |||||
}) | |||||
UTIL.hideLoadingHaveMask(); | |||||
} | |||||
} | |||||
}) | |||||
},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 | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
goAgreeNew(){//2024-7-15审批功能修改 字段名称、接口地址、请求参数格式发生变动 | |||||
var that = this ; | |||||
let data = { | |||||
taskId:that.data.taskId, | |||||
auditbatchNo:that.data.form.auditbatchNo, | |||||
pass:true, | |||||
remark:that.data.comment == '' ? '同意':that.data.comment, | |||||
deptId:JSON.parse(wx.getStorageSync('user')).deptId, | |||||
method:'POST' | |||||
}; | |||||
console.log(data); | |||||
UTIL.httpRequest(API.A_audit ,data, { | |||||
success: (res) => { | |||||
console.log(res); | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
wx.showToast({ | |||||
title: '审批成功', | |||||
icon: 'success', | |||||
duration: 2000, | |||||
complete(){ | |||||
setTimeout(function(){ | |||||
that.back(); | |||||
},2000) | |||||
} | |||||
}) | |||||
}else{ | |||||
wx.showToast({ | |||||
title: '操作失败', | |||||
icon: 'error', | |||||
duration: 2000 | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
goDisNew(){//2024-7-15审批功能修改 字段名称、接口地址、请求参数格式发生变动 | |||||
var that = this ; | |||||
let data = { | |||||
taskId:that.data.taskId, | |||||
auditbatchNo:that.data.form.auditbatchNo, | |||||
pass:false, | |||||
remark:that.data.comment == '' ? '驳回':that.data.comment, | |||||
deptId:JSON.parse(wx.getStorageSync('user')).deptId, | |||||
method:'POST' | |||||
}; | |||||
console.log(data); | |||||
UTIL.httpRequest(API.A_audit ,data, { | |||||
success: (res) => { | |||||
console.log(res); | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
wx.showToast({ | |||||
title: '审批成功', | |||||
icon: 'success', | |||||
duration: 2000, | |||||
complete(){ | |||||
setTimeout(function(){ | |||||
that.back(); | |||||
},2000) | |||||
} | |||||
}) | |||||
}else{ | |||||
wx.showToast({ | |||||
title: '操作失败', | |||||
icon: 'error', | |||||
duration: 2000 | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
commentInput(e){ | |||||
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,24 @@ | |||||
{ | |||||
"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", | |||||
"van-divider": "@vant/weapp/divider/index" | |||||
} | |||||
} |
@@ -0,0 +1,540 @@ | |||||
<!--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"/> | |||||
<van-field wx:if="{{form.paymentState == '4' || form.paymentState == '5'}}" required readonly label="转账状态" value="{{ form.payeeList[childrenIndex].transferStatusText }}" placeholder="转账状态" border="{{ false }}" input-align="right"/> | |||||
<van-field wx:if="{{form.paymentState == '4' || form.paymentState == '5'}}" required readonly label="交易结果描述" value="{{ form.payeeList[childrenIndex].causeFailure }}" placeholder="交易结果描述" border="{{ false }}" input-align="right" type="textarea" autosize="{{autosize}}"/> | |||||
</view> | |||||
<view 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> --> | |||||
<van-empty wx:if="{{!form.FPimage}}" 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.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> --> | |||||
<van-empty wx:if="{{!form.QTimage}}" description="暂无其他" style="margin: 0 auto;" /> | |||||
</view> | |||||
</view> | |||||
<view class="fj-li"> | |||||
<view class="fj-tt"> | |||||
<text>四议两公开</text> | |||||
</view> | |||||
<view class="img_box"> | |||||
<view class="img_list" wx:for="{{form.SYLGKimage}}" wx:for-index="childrenIndex" wx:key="id"> | |||||
<image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.SYLGKimage}}" data-index="{{childrenIndex}}" bindtap="openPreview" ></image> | |||||
</view> | |||||
<van-empty wx:if="{{!form.SYLGKimage}}" description="暂无四议两公开" style="margin: 0 auto;" /> | |||||
</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" style="padding: 10px 0;"> | |||||
<!-- <view class="steps-tit">审批流程</view> --> | |||||
<block wx:for="{{spsxOptions}}" wx:for-index="childrenIndex" wx:for-item="childrenItem" wx:key="childrenIndex"> | |||||
<van-divider contentPosition="center">批次号:{{childrenItem[0]}}</van-divider> | |||||
<van-row wx:for="{{childrenItem[1]}}" wx:key="index"> | |||||
<van-col span="3"> | |||||
<view class="index">{{index+1}}</view> | |||||
<!-- :class="{'indexCenter':index==0 ? false : true}" {{(item.approverStatus != null||index==0) ? 'active':'' }}--> | |||||
<block wx:if="{{index==0}}"> | |||||
<view class="indexBorder"> | |||||
<view class="ssT" wx:if="{{index>0}}"></view> | |||||
<view class="yq"></view> | |||||
<view class="ss" wx:if="{{spsxOptions.length != index+1}}"></view> | |||||
</view> | |||||
</block> | |||||
<block wx:else> | |||||
<view class="indexBorder indexCenter"> | |||||
<view class="ssT" wx:if="{{index>0}}"></view> | |||||
<view class="yq"></view> | |||||
<view class="ss" wx:if="{{childrenItem[1].length != index+1}}"></view> | |||||
</view> | |||||
</block> | |||||
</van-col> | |||||
<van-col span="21" style="height: 77px;"> | |||||
<van-cell center="{{true}}" border="{{false}}"> | |||||
<view slot="title" class="cellTit"> | |||||
<text wx:if="{{item.electronicSignature == null}}">{{item.actorName}}</text> | |||||
<image wx:else src="{{item.electronicSignature}}" style="height: 24px;width: 48px;"></image> | |||||
<text wx:if="{{item.auditBy != null}}">{{item.auditBy}}</text> | |||||
</view> | |||||
<view class="agree" wx:if="{{item.auditStatus=='3'}}">同意</view> | |||||
<view class="in" wx:elif="{{(item.auditStatus=='1')}}">审核中</view> | |||||
<view class="disagree" wx:elif="{{item.auditStatus=='2'}}">驳回</view> | |||||
</van-cell> | |||||
<van-cell center border="{{false}}"> | |||||
<view slot="title" style="margin-top: 10px;"> | |||||
<view style="color: #999999;">{{ item.auditRemark==null?'无':item.auditRemark }}</view> | |||||
</view> | |||||
<view style="color: #999999;font-size: 12px;margin-top: 10px;" wx:if="{{item.auditTime}}">{{ sub.times(item.auditTime) }}</view> | |||||
</van-cell> | |||||
</van-col> | |||||
</van-row> | |||||
</block> | |||||
</view> | |||||
<van-empty wx:if="{{spsxOptions.length<1&&pageType=='see'}}" description="暂无审核数据" /> | |||||
<view class="main-box" style="margin-top: 15px;" wx:if="{{pageType!='see'}}"> | |||||
<input class="input_tit" value="{{comment}}" placeholder="请输入审批意见" bindinput="commentInput" style="margin-top: 10px;margin-bottom: 0;"/> | |||||
<!-- --> | |||||
</view> | |||||
<view class="bottom" style="margin-bottom: 0px;" wx:if="{{pageType!='see'}}"> | |||||
<button type="warn" plain class="btnDis" bindtap="goDisNew">驳回</button> | |||||
<button type="primary" class="btnAgree" bindtap="goAgreeNew">同意</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, | showList:false, | ||||
showListText:'更多', | showListText:'更多', | ||||
num:1 | |||||
num:1, | |||||
active:1 | |||||
}, | }, | ||||
onLoad: function (options) { | onLoad: function (options) { | ||||
//获取滚动条高度 | //获取滚动条高度 | ||||
@@ -90,12 +91,17 @@ Page({ | |||||
// }) | // }) | ||||
// }, | // }, | ||||
onShow(){ | onShow(){ | ||||
//获取滚动条高度 | |||||
// this.computeBarLocation(); | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'payment_state', {method:'GET'}, { | |||||
success: (res) => { | |||||
this.setData({ | |||||
paymentStateOption:res.data | |||||
}) | |||||
} | |||||
}) | |||||
//获取用户信息 | //获取用户信息 | ||||
this.getUserInfo() | this.getUserInfo() | ||||
//查询待办 | |||||
this.getTaskList(); | |||||
//查询已办 | |||||
this.getTaskDoneList(); | |||||
//查询dept | //查询dept | ||||
this.getTreeDept(); | this.getTreeDept(); | ||||
}, | }, | ||||
@@ -131,34 +137,28 @@ Page({ | |||||
let data = { | let data = { | ||||
pageNum:1, | pageNum:1, | ||||
pageSize:999, | pageSize:999, | ||||
orderByColumn:"A.ID_", | |||||
isAsc:"desc", | |||||
// orderByColumn:"A.ID_", | |||||
// isAsc:"desc", | |||||
systemType:4, | systemType:4, | ||||
method:"GET", | method:"GET", | ||||
deptId:JSON.parse(wx.getStorageSync('user')).deptId, | |||||
// taskName:'相关人员审批' | // taskName:'相关人员审批' | ||||
} | } | ||||
UTIL.httpRequest(API.URL_GET_TASKLIST,data, { | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'activity_business_type', {method:'GET'}, { | |||||
success: (res) => { | |||||
} | |||||
}) | |||||
UTIL.httpRequest(API.A_myTodoList,data, { | |||||
success: (res) => { | success: (res) => { | ||||
if (res.code == API.SUCCESS_CODE) { | if (res.code == API.SUCCESS_CODE) { | ||||
let list = []; | 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]) | |||||
} | |||||
} | |||||
this.setData({todoList:list,todoNum:list.length}) | |||||
for(let i = 0;i < res.total;i++){ | |||||
res.rows[i].createTime = res.rows[i].createTime.substr(0,10) | |||||
console.log(res.rows[i].createTime); | |||||
list.push(res.rows[i]) | |||||
} | } | ||||
this.setData({todoList:list,todoNum:res.rows.length}) | |||||
} | } | ||||
}, fail: (res) => { | |||||
console.log(res); | |||||
}, | |||||
complete: (res) => { | |||||
} | } | ||||
}) | }) | ||||
}, | }, | ||||
@@ -166,28 +166,37 @@ Page({ | |||||
let data = { | let data = { | ||||
pageNum:1, | pageNum:1, | ||||
pageSize:999, | pageSize:999, | ||||
orderByColumn:"A.ID_", | |||||
isAsc:"desc", | |||||
// orderByColumn:"A.ID_", | |||||
// isAsc:"desc", | |||||
systemType:4, | systemType:4, | ||||
method:"GET", | method:"GET", | ||||
deptId:JSON.parse(wx.getStorageSync('user')).deptId, | |||||
// taskName:'相关人员审批' | // taskName:'相关人员审批' | ||||
} | } | ||||
UTIL.httpRequest(API.URL_GET_TASKDONELIST,data, { | |||||
UTIL.httpRequest(API.A_myDoneList,data, { | |||||
success: (res) => { | success: (res) => { | ||||
if (res.code == API.SUCCESS_CODE) { | if (res.code == API.SUCCESS_CODE) { | ||||
let list = []; | 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]) | |||||
} | |||||
} | |||||
// for(let i = 0;i<res.total;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]) | |||||
// } | |||||
// } | |||||
// } | |||||
for(let i = 0;i < res.total;i++){ | |||||
res.rows[i].data.expenditureAmount = Number(res.rows[i].data.expenditureAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||||
return $1 + ","; }).replace(/\.$/, "") | |||||
res.rows[i].auditTime = res.rows[i].auditTime.substr(0,10) | |||||
console.log(res.rows[i].createTime); | |||||
list.push(res.rows[i]) | |||||
} | |||||
this.setData({doneList:list,doneNum:list.length}) | this.setData({doneList:list,doneNum:list.length}) | ||||
} | |||||
} | } | ||||
}, fail: (res) => { | }, fail: (res) => { | ||||
console.log(res); | console.log(res); | ||||
@@ -196,7 +205,7 @@ Page({ | |||||
} | } | ||||
}) | }) | ||||
}, | }, | ||||
getTransferList:function(e){ | |||||
getTransferList:function(e){//已废弃 | |||||
let data = { | let data = { | ||||
// pageNum:1, | // pageNum:1, | ||||
// pageSize:10, | // pageSize:10, | ||||
@@ -213,8 +222,9 @@ Page({ | |||||
this.setData({yfqNum:a}) | this.setData({yfqNum:a}) | ||||
for(let i = 0;i<res.total;i++){ | 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) => { | res.rows[i].totalAmount = Number(res.rows[i].totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | ||||
return $1 + ","; }).replace(/\.$/, "") | |||||
} | |||||
return $1 + ","; }).replace(/\.$/, ""); | |||||
} | |||||
this.setData({yfqList:res.rows}) | this.setData({yfqList:res.rows}) | ||||
} | } | ||||
}, fail: (res) => { | }, fail: (res) => { | ||||
@@ -227,21 +237,22 @@ Page({ | |||||
let data = { | let data = { | ||||
// pageNum:1, | // pageNum:1, | ||||
// pageSize:10, | // pageSize:10, | ||||
transferType:"1", | |||||
auditStatus:"3", | |||||
method:"GET" | |||||
transferType:"", | |||||
params:{ | |||||
"auditStatusXiaochengxu":"2" | |||||
}, | |||||
method:"POST", | |||||
} | } | ||||
UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, { | UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, { | ||||
success: (res) => { | success: (res) => { | ||||
console.log(res); | console.log(res); | ||||
if (res.code == API.SUCCESS_CODE) { | 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++){ | 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(/\.$/, "") | return $1 + ","; }).replace(/\.$/, "") | ||||
c[i].paymentStateText = UTIL.getTransform(res.rows[i].paymentState,this.data.paymentStateOption); | |||||
} | } | ||||
this.setData({yfqList:c}) | this.setData({yfqList:c}) | ||||
} | } | ||||
@@ -256,10 +267,11 @@ Page({ | |||||
let data = { | let data = { | ||||
// pageNum:1, | // pageNum:1, | ||||
// pageSize:10, | // 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, { | UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, { | ||||
success: (res) => { | success: (res) => { | ||||
@@ -311,6 +323,7 @@ Page({ | |||||
}, | }, | ||||
/* 计算bar 高度*/ | /* 计算bar 高度*/ | ||||
computeBarLocation() { | computeBarLocation() { | ||||
console.log('aaaaaaaaaaaaa'); | |||||
var that = this; | var that = this; | ||||
let CustomMenuButton = wx.getMenuButtonBoundingClientRect(); | let CustomMenuButton = wx.getMenuButtonBoundingClientRect(); | ||||
let CustomWidows = wx.getSystemInfoSync(); | let CustomWidows = wx.getSystemInfoSync(); | ||||
@@ -321,11 +334,12 @@ Page({ | |||||
query.select('.navList_main').boundingClientRect(); | query.select('.navList_main').boundingClientRect(); | ||||
query.select('.child_function').boundingClientRect(); | query.select('.child_function').boundingClientRect(); | ||||
query.select('.work_plan').boundingClientRect(); | query.select('.work_plan').boundingClientRect(); | ||||
query.exec((res) => { | query.exec((res) => { | ||||
let wrokScrollHeight = CustomWidows.windowHeight; | let wrokScrollHeight = CustomWidows.windowHeight; | ||||
res.forEach((v)=>{ | res.forEach((v)=>{ | ||||
wrokScrollHeight = wrokScrollHeight - v.height; | wrokScrollHeight = wrokScrollHeight - v.height; | ||||
console.log(v.height); | |||||
}) | }) | ||||
wrokScrollHeight = wrokScrollHeight-CustomMenuButton.top-CustomMenuButton.bottom -15; | wrokScrollHeight = wrokScrollHeight-CustomMenuButton.top-CustomMenuButton.bottom -15; | ||||
that.setData({ | that.setData({ | ||||
@@ -344,13 +358,16 @@ Page({ | |||||
this.setData({userInfoObj:res.user}) | this.setData({userInfoObj:res.user}) | ||||
this.setData({region:res.user.deptName}) | this.setData({region:res.user.deptName}) | ||||
this.setData({item:JSON.stringify(res.user)}) | this.setData({item:JSON.stringify(res.user)}) | ||||
wx.setStorageSync('user', JSON.stringify(res.user)) | |||||
this.getBookList() | this.getBookList() | ||||
//查询已制单 | //查询已制单 | ||||
this.getTransferList2(); | this.getTransferList2(); | ||||
//查询已发起 | //查询已发起 | ||||
this.getTransferList(); | |||||
// this.getTransferList1(); | |||||
this.getTransferList1(); | |||||
//查询待办 | |||||
this.getTaskList(); | |||||
//查询已办 | |||||
this.getTaskDoneList(); | |||||
} | } | ||||
} | } | ||||
}) | }) | ||||
@@ -363,7 +380,9 @@ Page({ | |||||
this.setData({provinces:res.data}) | this.setData({provinces:res.data}) | ||||
if(res.data[0].children){ | if(res.data[0].children){ | ||||
this.setData({citys:res.data[0].children}) | this.setData({citys:res.data[0].children}) | ||||
if(res.data[0].children[this.data.value[1]].children){this.setData({areas:res.data[0].children[this.data.value[1]].children})} | |||||
if(res.data[0].children[this.data.value[1]].children){ | |||||
this.setData({areas:res.data[0].children[this.data.value[1]].children}) | |||||
} | |||||
} | } | ||||
} | } | ||||
@@ -382,10 +401,14 @@ Page({ | |||||
if (res.code == API.SUCCESS_CODE) { | if (res.code == API.SUCCESS_CODE) { | ||||
this.setData({bookList:res.rows}) | this.setData({bookList:res.rows}) | ||||
if(this.data.bookName==""&&res.total>0){ | 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){ | }else if(this.data.bookName==""&&res.total==0){ | ||||
this.setData({bookName:"无可用账套"}) | this.setData({bookName:"无可用账套"}) | ||||
} | } | ||||
@@ -454,6 +477,7 @@ Page({ | |||||
value: [provinceNum, cityNum, areaNum] | value: [provinceNum, cityNum, areaNum] | ||||
}) | }) | ||||
} | } | ||||
console.log(this.data.value); | console.log(this.data.value); | ||||
}, | }, | ||||
preventTouchmove() {}, | preventTouchmove() {}, | ||||
@@ -462,29 +486,34 @@ Page({ | |||||
cityCancel(e) { | cityCancel(e) { | ||||
var id = this.data.provinces[0].id | var id = this.data.provinces[0].id | ||||
this.setData({ | this.setData({ | ||||
citys: this.data.lastCitys || this.data.userInfoObj.parentDeptName, //默认北京市辖区, | |||||
areas: this.data.lastAreas || this.data.userInfoObj.deptName, | |||||
value: [...this.data.regionValue], | |||||
// citys: this.data.lastCitys || this.data.userInfoObj.parentDeptName, //默认北京市辖区, | |||||
// areas: this.data.lastAreas || this.data.userInfoObj.deptName, | |||||
// value: [...this.data.regionValue], | |||||
visible: false | visible: false | ||||
}) | }) | ||||
}, | }, | ||||
// 提交时由序号获取省市区id | // 提交时由序号获取省市区id | ||||
getRegionId(type) { | getRegionId(type) { | ||||
console.log(this.data.provinces); | |||||
console.log(this.data.regionValue); | |||||
let value = 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') { | if (type === 'provinceId') { | ||||
let provinceId = this.data.provinces[value[0]].id | |||||
return provinceId | return provinceId | ||||
} else if (type === 'townId') { | } else if (type === 'townId') { | ||||
let townId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id | |||||
return townId | return townId | ||||
} else { | } 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 | return areaId | ||||
} | } | ||||
}, | }, | ||||
@@ -516,6 +545,8 @@ Page({ | |||||
} catch (error) { | } catch (error) { | ||||
console.log('adress select something error') | console.log('adress select something error') | ||||
} | } | ||||
console.log(this.getRegionId('areas')); | |||||
this.setData({ | this.setData({ | ||||
region: region, | region: region, | ||||
lastCitys: this.data.citys, | lastCitys: this.data.citys, | ||||
@@ -534,16 +565,23 @@ Page({ | |||||
success: (res) => { | success: (res) => { | ||||
setTimeout(()=>{ | setTimeout(()=>{ | ||||
_this.reset() | _this.reset() | ||||
_this.onLoad() | |||||
_this.onShow() | |||||
},1000) | },1000) | ||||
} | } | ||||
}) | }) | ||||
}) | }) | ||||
// this.data.userInfoObj.loginDeptId = this.getRegionId('areas'); | |||||
// this.getBookList(); | |||||
} | } | ||||
}, | }, | ||||
godetail:function(e){ | godetail:function(e){ | ||||
// wx.navigateTo({ | |||||
// url: '/pages/apply/paymentTemplate/add/add?id='+e.currentTarget.dataset.id, | |||||
// }) | |||||
wx.navigateTo({ | 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){ | goMajorDetail:function(e){ | ||||
@@ -553,7 +591,7 @@ Page({ | |||||
}, | }, | ||||
gosee:function(e){ | gosee:function(e){ | ||||
wx.navigateTo({ | 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){ | goUpdate(e){ | ||||
@@ -588,7 +626,7 @@ Page({ | |||||
content: '确认删除?', | content: '确认删除?', | ||||
success (res) { | success (res) { | ||||
if (res.confirm) { | 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) => { | success: (res) => { | ||||
if (res.code == API.SUCCESS_CODE) { | if (res.code == API.SUCCESS_CODE) { | ||||
that.data.yzdList.splice(e.currentTarget.dataset.index, 1); | that.data.yzdList.splice(e.currentTarget.dataset.index, 1); | ||||
@@ -620,5 +658,51 @@ Page({ | |||||
tmplIds: ['_Npje859RvKIf5AcqaikWYGXJpOcigMTzyB3HjJ1L9I'], | tmplIds: ['_Npje859RvKIf5AcqaikWYGXJpOcigMTzyB3HjJ1L9I'], | ||||
success (res) { } | 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('用户点击取消') | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
}) | }) |
@@ -96,9 +96,14 @@ | |||||
<block wx:if="{{showList}}"> | <block wx:if="{{showList}}"> | ||||
<view class="flex_block" data-url="/pages/finance/index" bindtap="navigate" hover-class="btnView"> | |||||
<!-- <view class="flex_block" data-url="/pages/finance/index" bindtap="navigate" hover-class="btnView"> | |||||
<view class="image"><image class="attribute" src="../../image/index/icon_index_05.png" mode="aspectFit"></image></view> | <view class="image"><image class="attribute" src="../../image/index/icon_index_05.png" mode="aspectFit"></image></view> | ||||
<text class="desc">财务公开</text> | <text class="desc">财务公开</text> | ||||
</view> --> | |||||
<view class="flex_block" data-url="/pages/discussions/list" bindtap="navigate" 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> | ||||
<view class="flex_block" data-url="/pages/bank/bank" bindtap="navigate" hover-class="btnView"> | <view class="flex_block" data-url="/pages/bank/bank" bindtap="navigate" hover-class="btnView"> | ||||
@@ -151,6 +156,10 @@ | |||||
<view class="image"><image class="attribute" src="../../image/index/nav_pjsy.png" mode="aspectFit"></image></view> | <view class="image"><image class="attribute" src="../../image/index/nav_pjsy.png" mode="aspectFit"></image></view> | ||||
<text class="desc">票据使用</text> | <text class="desc">票据使用</text> | ||||
</view> --> | </view> --> | ||||
<view class="flex_block" data-url="/pages/mainBody/list/list" bindtap="navigate" hover-class="btnView"> | |||||
<view class="image"><image class="attribute" src="../../image/index/paymentManager_icon.png" mode="aspectFit"></image></view> | |||||
<text class="desc">主体名录</text> | |||||
</view> | |||||
</block> | </block> | ||||
<view class="flex_block" bindtap="openView" hover-class="btnView"> | <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_ckqb.png" mode="aspectFit"></image></view> | ||||
@@ -168,74 +177,110 @@ | |||||
</view> | </view> | ||||
<scroll-view scroll-y="true" style="height: {{wrokScrollHeight}}px;padding: 0rpx 32.5rpx;" > | <scroll-view scroll-y="true" style="height: {{wrokScrollHeight}}px;padding: 0rpx 32.5rpx;" > | ||||
<view class="workflow" wx:if="{{active=='1'}}" wx:for-item="item" wx:for="{{todoList}}" wx:key="id" data-id="{{item.formData.id}}" data-taskId="{{item.taskId}}" data-business='{{item.formData.activityBusinessType=="35"?"xj":"yh"}}' data-type="up" bindtap="{{item.formData.activityBusinessType == '20' ? 'goMajorDetail':'gosee'}}"> | |||||
<view class="workflow" wx:if="{{active=='1'}}" wx:for-item="item" wx:for="{{todoList}}" wx:key="id" data-id="{{item.data.id}}" data-taskId="{{item.id}}" data-business='{{item.formData.activityBusinessType=="35"?"xj":"yh"}}' data-type="up" bindtap="gosee"> | |||||
<!--1--> | <!--1--> | ||||
<view class="workflow_list"> | <view class="workflow_list"> | ||||
<view class="process_intro"> | <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.auditName}}</view> | |||||
</view> | |||||
<!-- <view class="state">待审</view> --> | <!-- <view class="state">待审</view> --> | ||||
<view class="time">{{item.formData.applyTime}}</view> | |||||
<view class="time">{{item.createTime}}</view> | |||||
</view> | </view> | ||||
<view class="process_pay"> | <view class="process_pay"> | ||||
<view class="describe"> | <view class="describe"> | ||||
<image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | <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.data.transferType=='2'?'信用卡转账':item.data.transferType=='1'?'银行转账':'其他'}}</text> | |||||
</view> | </view> | ||||
<view class="amount" wx:if="{{item.formData.activityBusinessType!='20'}}"><text class="unit">¥</text>{{item.formData.totalAmount}}</view> | |||||
<view class="amount"><text class="unit">¥</text>{{item.data.expenditureAmount}}</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
<view class="workflow" wx:if="{{active=='2'}}" wx:for-item="item" wx:for="{{doneList}}" wx:key="id" data-id="{{item.formData.id}}" data-taskId="{{item.taskId}}" data-business='{{item.formData.activityBusinessType=="35"?"xj":"yh"}}' data-type="see" bindtap="{{item.formData.activityBusinessType == '20' ? 'goMajorDetail':'gosee'}}"> | |||||
<view class="workflow" wx:if="{{active=='2'}}" wx:for-item="item" wx:for="{{doneList}}" wx:key="id" data-id="{{item.data.id}}" data-taskId="{{item.id}}" data-business='{{item.formData.activityBusinessType=="35"?"xj":"yh"}}' data-type="see" bindtap="gosee"> | |||||
<!--1--> | <!--1--> | ||||
<view class="workflow_list"> | <view class="workflow_list"> | ||||
<view class="process_intro"> | <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.auditName}}</view> | |||||
</view> | |||||
<!-- <view class="state">已审</view> --> | <!-- <view class="state">已审</view> --> | ||||
<view class="time">{{item.formData.applyTime}}</view> | |||||
<view class="time">{{item.auditTime}}</view> | |||||
</view> | </view> | ||||
<view class="process_pay"> | <view class="process_pay"> | ||||
<view class="describe"> | <view class="describe"> | ||||
<image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | <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.data.transferType=='2'?'信用卡转账':item.data.transferType=='1'?'银行转账':'其他'}}</text> | |||||
</view> | </view> | ||||
<view class="amount" wx:if="{{item.formData.activityBusinessType!='20'}}"><text class="unit">¥</text>{{item.formData.totalAmount}}</view> | |||||
<view class="amount"><text class="unit">¥</text>{{item.data.expenditureAmount}}</view> | |||||
</view> | </view> | ||||
</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="workflow_list"> | ||||
<view class="process_intro"> | <view class="process_intro"> | ||||
<view class="name"> | <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> | ||||
<!-- <view class="state">已发起</view> --> | |||||
<view class="time">{{item.submitDate}}</view> | |||||
<view class="time">{{item.applyDate}}</view> | |||||
</view> | </view> | ||||
<view class="process_pay"> | <view class="process_pay"> | ||||
<view class="describe"> | <view class="describe"> | ||||
<image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | <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> | ||||
<view class="amount"><text class="unit">¥</text>{{item.totalAmount}}</view> | |||||
<view class="amount"><text class="unit">¥</text>{{item.expenditureAmount}}</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | |||||
</view> --> | |||||
<!-- {{active}} --> | |||||
<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 style="font-size: 12px;">{{item.paymentStateText}}</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"> | <van-swipe-cell right-width="{{ 65 }}" wx:if="{{active=='4'}}" wx:for-item="item" wx:for="{{yzdList}}" wx:key="id" class="workflow"> | ||||
<!--1--> | <!--1--> | ||||
<view class="workflow_list" data-id="{{item.id}}" bindtap="godetail"> | <view class="workflow_list" data-id="{{item.id}}" bindtap="godetail"> | ||||
<view class="process_intro"> | <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="state">已制单</view> --> | ||||
<view class="time">{{item.submitDate}}</view> | |||||
<view class="time">{{item.applyDate}}</view> | |||||
</view> | </view> | ||||
<view class="process_pay"> | <view class="process_pay"> | ||||
<view class="describe"> | <view class="describe"> | ||||
<image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image> | <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> | ||||
<view class="amount"><text class="unit">¥</text>{{item.totalAmount}}</view> | |||||
<view class="amount"><text class="unit">¥</text>{{item.expenditureAmount}}</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view slot="right" class="deleteBox" style="background-color: rgb(235, 4, 4,0.2);"> | <view slot="right" class="deleteBox" style="background-color: rgb(235, 4, 4,0.2);"> | ||||
@@ -247,19 +247,20 @@ | |||||
width: 390rpx; | width: 390rpx; | ||||
font-size: 34rpx; | font-size: 34rpx; | ||||
margin-right: 30rpx; | 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; | display: -webkit-box; | ||||
-webkit-box-orient: vertical; | -webkit-box-orient: vertical; | ||||
-webkit-line-clamp: 1; | -webkit-line-clamp: 1; | ||||
word-break: break-all; | word-break: break-all; | ||||
overflow: hidden; | overflow: hidden; | ||||
} | } | ||||
.workflow .process_intro .name .name_tit{ | |||||
width: 290rpx; | |||||
overflow: hidden; | |||||
text-overflow: ellipsis; | |||||
white-space: nowrap; | |||||
float: left; | |||||
} | |||||
.workflow .process_intro .state{ | .workflow .process_intro .state{ | ||||
width: 93rpx; | width: 93rpx; | ||||
height: 42rpx; | height: 42rpx; | ||||
@@ -287,7 +288,7 @@ | |||||
.workflow .workflow_list .process_pay .describe{ | .workflow .workflow_list .process_pay .describe{ | ||||
font-size: 30rpx; | font-size: 30rpx; | ||||
width: 330rpx; | |||||
width: 320rpx; | |||||
color: #3c9370; | color: #3c9370; | ||||
display: flex; | display: flex; | ||||
align-items: center; | align-items: center; | ||||
@@ -416,6 +417,15 @@ | |||||
border-radius: 5px; | border-radius: 5px; | ||||
font-size: 12px; | 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{ | .deleteBox{ | ||||
width: 65px; | width: 65px; | ||||
text-align: center; | text-align: center; | ||||
@@ -0,0 +1,170 @@ | |||||
// pages/mainBody/detail/detail.js | |||||
import * as UTIL from '../../../utils/util.js'; | |||||
import * as API from '../../../utils/API.js'; | |||||
const app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
isIPX: app.globalData.isIPX, | |||||
// 主体类别字典 | |||||
statisticsTypeIdOptions: [], | |||||
// 示范社类型字典 | |||||
modelSocietyTypeOptions: [], | |||||
// 经营状态字典 | |||||
registrationStatusOptions: [], | |||||
// 企业类型字典 | |||||
enterpriseTypeOptions: [], | |||||
//产业分类字典项 | |||||
industryClassificationTypeOptions: [], | |||||
// 审核状态字典 | |||||
reviewStatusOptions: [], | |||||
}, | |||||
back:function(){ | |||||
wx.navigateBack({ | |||||
delta: 1 | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
var that = this; | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'newBusinessEntity_statistics_project', {method:'GET'}, { | |||||
success: (res) => { | |||||
that.setData({ | |||||
statisticsTypeIdOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'model_society_type', {method:'GET'}, { | |||||
success: (res) => { | |||||
that.setData({ | |||||
modelSocietyTypeOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'registration_status', {method:'GET'}, { | |||||
success: (res) => { | |||||
that.setData({ | |||||
registrationStatusOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'enterprise_type', {method:'GET'}, { | |||||
success: (res) => { | |||||
that.setData({ | |||||
enterpriseTypeOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'Industrial_classification_type', {method:'GET'}, { | |||||
success: (res) => { | |||||
that.setData({ | |||||
industryClassificationTypeOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'sys_yes_no', {method:'GET'}, { | |||||
success: (res) => { | |||||
that.setData({ | |||||
reviewStatusOptions:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
let data = { | |||||
method: 'GET' | |||||
} | |||||
UTIL.httpRequest(API.URL_GET_ENTITYDETAIL + options.id ,data,{ | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
res.data.statisticsTypeIdText = UTIL.getTransform(res.data.statisticsTypeId,that.data.statisticsTypeIdOptions); | |||||
res.data.industryClassificationTypeText = UTIL.getTransform(res.data.industryClassificationType,that.data.industryClassificationTypeOptions); | |||||
res.data.modelSocietyTypeText = UTIL.getTransform(res.data.modelSocietyType,that.data.modelSocietyTypeOptions); | |||||
res.data.registrationStatusText = UTIL.getTransform(res.data.registrationStatus,that.data.registrationStatusOptions); | |||||
res.data.enterpriseTypeText = UTIL.getTransform(res.data.enterpriseType,that.data.enterpriseTypeOptions); | |||||
UTIL.httpRequest('/system/dept/treeselectByDeptId', {deptId: res.data.serviceDeptId,method:'GET'}, { | |||||
success: (res2) => { | |||||
res.data.serviceDeptIdName = res2.data[0].label; | |||||
} | |||||
}) | |||||
let fileList = res.data.masterMap.split(','); | |||||
let fileImg = [] | |||||
fileList.map((rr,index) => { | |||||
fileImg.push({ | |||||
url: wx.getStorageSync('dressCode') + rr, | |||||
name: '图片' + index, | |||||
isImage: true, | |||||
}); | |||||
}) | |||||
res.data.fileImg = fileImg; | |||||
console.log(fileImg); | |||||
UTIL.httpRequest('/finance/book/list', {deptId: 0,method:'GET'}, { | |||||
success: (res2) => { | |||||
console.log(res2.rows.filter(function (e) { return e.id == res.data.bookId; })[0]); | |||||
res.data.bookName = res2.rows.filter(function (e) { return e.id == res.data.bookId; })[0].bookName; | |||||
this.setData({ | |||||
detail:res.data, | |||||
}) | |||||
} | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
} | |||||
}) |
@@ -0,0 +1,8 @@ | |||||
{ | |||||
"usingComponents": { | |||||
"van-cell": "@vant/weapp/cell/index", | |||||
"van-cell-group": "@vant/weapp/cell-group/index", | |||||
"van-divider": "@vant/weapp/divider/index", | |||||
"van-uploader": "@vant/weapp/uploader/index" | |||||
} | |||||
} |
@@ -0,0 +1,37 @@ | |||||
<!--pages/mainBody/detail/detail.wxml--> | |||||
<view class="ns" style="height:{{isIPX?'88px':'64px'}};"> | |||||
<image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
<text style="top:{{isIPX?'54px':'30px'}};">主体名录</text> | |||||
</view> | |||||
<view class="main-box" style="margin-top:{{isIPX?'103px':'79px'}};"> | |||||
<van-divider contentPosition="center">基本信息</van-divider> | |||||
<van-cell title="主体名称" value="{{detail.entityName}}" /> | |||||
<van-cell title="主体类别" value="{{detail.statisticsTypeIdText}}" /> | |||||
<van-cell title="社会信用代码" value="{{detail.socialCreditCode}}" /> | |||||
<van-cell title="法人代表" value="{{detail.corporateRepresentativeName}}" /> | |||||
<van-cell title="所属行业" value="{{detail.industryClassificationTypeText}}" /> | |||||
<van-cell title="示范类型" value="{{detail.modelSocietyTypeText}}" /> | |||||
<van-cell title="主体住址" value="{{detail.entityAddress}}" /> | |||||
<van-cell title="成立时间" value="{{detail.registerTime}}" /> | |||||
<van-cell title="经营状态" value="{{detail.registrationStatusText}}" /> | |||||
<van-cell title="企业类型" value="{{detail.enterpriseTypeText}}" /> | |||||
<van-cell title="营业期限" value="{{detail.operatingPeriod}}" /> | |||||
<van-cell title="经营范围" value="{{detail.businessScope}}" /> | |||||
</view> | |||||
<view class="main-box" style="margin-top:15px;"> | |||||
<van-divider contentPosition="center">其他信息</van-divider> | |||||
<van-cell title="负责人" value="{{detail.principalName}}" /> | |||||
<van-cell title="联系电话" value="{{detail.tal}}" /> | |||||
<van-cell title="开户银行" value="{{detail.depositBankName}}" /> | |||||
<van-cell title="银行账号" value="{{detail.accountNumber}}" /> | |||||
<van-cell title="网站网址" value="{{detail.webLinks}}" /> | |||||
<van-cell title="关联账套" value="{{detail.bookName}}" /> | |||||
<van-cell title="服务区域" value="{{detail.serviceDeptIdName}}" /> | |||||
<van-cell title="评分" value="{{detail.score}}" /> | |||||
<van-cell title="主图" border="{{false}}" /> | |||||
<view style="padding: 0 20px;"> | |||||
<van-uploader file-list="{{ detail.fileImg }}" show-upload="{{false}}" deletable="{{false}}" /> | |||||
</view> | |||||
</view> |
@@ -0,0 +1,11 @@ | |||||
/* pages/mainBody/detail/detail.wxss */ | |||||
.main-box{ | |||||
background: #ffffff; | |||||
width: 94%; | |||||
margin: 0 auto; | |||||
border-radius: 10px; | |||||
box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16); | |||||
position: relative; | |||||
overflow: hidden; | |||||
} |
@@ -0,0 +1,141 @@ | |||||
// pages/index/policy/list/list.js | |||||
import * as UTIL from '../../../utils/util.js'; | |||||
import * as API from '../../../utils/API.js'; | |||||
const app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
//自定义导航栏 | |||||
isIPX: app.globalData.isIPX, | |||||
value:'', | |||||
total:0, | |||||
list:[], | |||||
pageNums:1, | |||||
title:'', | |||||
entityName:'', | |||||
option1: [ | |||||
{ text: '专业合作社', value: 1 }, | |||||
{ text: '家庭农场', value: 2 }, | |||||
{ text: '龙头企业', value: 3 }, | |||||
{ text: '农业庄园', value: 4 }, | |||||
{ text: '专业大户', value: 5 } | |||||
], | |||||
value1: 0, | |||||
statisticsTypeId: 1 | |||||
}, | |||||
goDetail(e) { | |||||
wx.navigateTo({ | |||||
url: '/pages/mainBody/detail/detail?id='+e.currentTarget.dataset.id, | |||||
}) | |||||
}, | |||||
changeTab(e){ | |||||
var that = this ; | |||||
console.log(e.detail); | |||||
that.setData({statisticsTypeId:e.detail}); | |||||
this.getList(); | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
this.getList(); | |||||
}, | |||||
paging(){ | |||||
this.setData({ | |||||
pageNums:this.data.pageNums+1, | |||||
}) | |||||
this.getList(); | |||||
}, | |||||
getList(){ | |||||
let data = { | |||||
pageNum:this.data.pageNums, | |||||
pageSize:10, | |||||
translate_dict:true, | |||||
entityName:this.data.entityName, | |||||
statisticsTypeId:this.data.statisticsTypeId, | |||||
method: 'GET' | |||||
} | |||||
UTIL.httpRequest(API.URL_GET_ENTITYLIST,data,{ | |||||
success: (res) => { | |||||
if (res.code == API.SUCCESS_CODE) { | |||||
let arr = this.data.list; | |||||
if (arr.length>=res.total){return;} | |||||
res.rows.map(rr=>{ | |||||
rr.releaseTime = rr.releaseTime == null?'':rr.releaseTime.substr(0,10); | |||||
arr.push(rr) | |||||
}) | |||||
this.setData({ | |||||
total:res.total, | |||||
list:arr | |||||
}) | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
goSearch(e){ | |||||
this.setData({ | |||||
pageNums:1, | |||||
entityName:e.detail, | |||||
list:[] | |||||
}) | |||||
this.getList(); | |||||
}, | |||||
back:function(){ | |||||
wx.navigateBack({ | |||||
delta: 1 | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
} | |||||
}) |
@@ -0,0 +1,10 @@ | |||||
{ | |||||
"navigationStyle":"custom", | |||||
"usingComponents": { | |||||
"van-search": "@vant/weapp/search/index", | |||||
"van-icon": "@vant/weapp/icon/index", | |||||
"van-cell": "@vant/weapp/cell/index", | |||||
"van-dropdown-menu": "@vant/weapp/dropdown-menu/index", | |||||
"van-dropdown-item": "@vant/weapp/dropdown-item/index" | |||||
} | |||||
} |
@@ -0,0 +1,49 @@ | |||||
<!--pages/index/policy/list/list.wxml--> | |||||
<view class="ns" style="height:{{isIPX?'88px':'64px'}};"> | |||||
<image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image> | |||||
<text style="top:{{isIPX?'54px':'30px'}};">主体名录</text> | |||||
</view> | |||||
<view style="margin-top:{{isIPX?'88px':'64px'}};background: linear-gradient(to right, #429a68, #9ecf67);"> | |||||
<van-search | |||||
value="{{ value }}" | |||||
shape="round" | |||||
background="transparent" | |||||
placeholder="请输入相关内容搜索" | |||||
clearable | |||||
bind:change="goSearch" | |||||
use-left-icon-slot | |||||
> | |||||
<van-icon slot="left-icon" name="search" size="20" color="#2962EF" style="margin-right: 10px;" /> | |||||
</van-search> | |||||
</view> | |||||
<van-dropdown-menu> | |||||
<van-dropdown-item value="{{ statisticsTypeId }}" options="{{ option1 }}" bind:change="changeTab" /> | |||||
</van-dropdown-menu> | |||||
<scroll-view scroll-y refresher-threshold="0" style="height:76vh" bindscrolltolower="paging" lower-threshold="100"> | |||||
<!-- <view class="flex_main" bind:tap="goDetail"> | |||||
<van-cell use-label-slot border="{{false}}"> | |||||
<view slot="icon" style="border-right: 3px solid #9ecf67;height: 16px;margin-top: .5vh;margin-right: 5px;"></view> | |||||
<view slot="title"> | |||||
<text class="title">主体名称主体名称主体名称主体名称主体名称{{statisticsTypeId}}</text> | |||||
</view> | |||||
<view slot="label" class="label"> | |||||
<text>法人姓名</text> | |||||
<text>主体地址主体地址主体地址主体地址</text> | |||||
</view> | |||||
</van-cell> | |||||
</view> --> | |||||
<view class="flex_main" wx:for="{{list}}" data-id="{{item.id}}" bind:tap="goDetail"> | |||||
<van-cell use-label-slot border="{{false}}"> | |||||
<view slot="icon" style="border-right: 3px solid #9ecf67;height: 16px;margin-top: .5vh;margin-right: 5px;"></view> | |||||
<view slot="title"> | |||||
<text class="title">{{item.entityName}}</text> | |||||
</view> | |||||
<view slot="label" class="label"> | |||||
<text>{{item.corporateRepresentativeName}}</text> | |||||
<text>{{item.entityAddress}}</text> | |||||
</view> | |||||
</van-cell> | |||||
</view> | |||||
</scroll-view> |