5 Incheckningar

Upphovsman SHA1 Meddelande Datum
  pangdongxu 469195f1ea 代码更新 3 dagar sedan
  pangdongxu 899219f844 代码更新 3 månader sedan
  张泽亮 bf48330522 登录bug修复 1 år sedan
  张泽亮 f1f27510e6 登录bug修复 1 år sedan
  pangdongxu 1df27031e3 云E报账代码更新 1 år sedan
100 ändrade filer med 15475 tillägg och 312 borttagningar
Delad Vy
  1. +51
    -14
      app.json
  2. +32
    -0
      component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.js
  3. +14
    -0
      component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.json
  4. +15
    -0
      component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.wxml
  5. +1
    -0
      component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.wxss
  6. +43
    -0
      component/SubjectTreeChooserNodeItem/childrenPage.js
  7. +8
    -0
      component/SubjectTreeChooserNodeItem/childrenPage.json
  8. +19
    -0
      component/SubjectTreeChooserNodeItem/childrenPage.wxml
  9. +1
    -0
      component/SubjectTreeChooserNodeItem/childrenPage.wxss
  10. +1
    -0
      component/editor/editor.js
  11. +4
    -5
      component/editor/editor.wxml
  12. +0
    -2
      component/editor/editor.wxss
  13. Binär
      image/apply/BOC.png
  14. Binär
      image/apply/EMS.png
  15. Binär
      image/apply/MSYH.png
  16. Binär
      image/apply/ZYB.png
  17. Binär
      image/apply/delete_icon_input.png
  18. Binär
      image/apply/fixedAssets_icon_1.png
  19. Binär
      image/apply/icon_BOC.png
  20. Binär
      image/apply/icon_EMS.png
  21. Binär
      image/apply/icon_ZYB.png
  22. Binär
      image/apply/other.png
  23. Binär
      image/icon/cancel_icon.png
  24. Binär
      image/icon/cancel_icon2.png
  25. Binär
      image/icon/date_icon.png
  26. Binär
      image/icon/input_name.png
  27. Binär
      image/icon/input_password.png
  28. Binär
      image/icon/input_yzm.png
  29. Binär
      image/index/index_block_04.png
  30. Binär
      image/index/index_block_23.png
  31. Binär
      image/index/index_block_26.png
  32. +1
    -1
      miniprogram_npm/@vant/weapp/empty/index.wxss
  33. +275
    -0
      miniprogram_npm/jsencrypt/index.js
  34. +1
    -0
      miniprogram_npm/jsencrypt/index.js.map
  35. +5511
    -0
      miniprogram_npm/wxmp-rsa/index.js
  36. +1
    -0
      miniprogram_npm/wxmp-rsa/index.js.map
  37. +10
    -0
      package-lock.json
  38. +3
    -1
      package.json
  39. +6
    -6
      pages/apply/approval/approval.wxml
  40. +6
    -2
      pages/apply/approval/approval.wxss
  41. +37
    -28
      pages/apply/index.js
  42. +8
    -7
      pages/apply/index.wxml
  43. +26
    -1
      pages/apply/index.wxss
  44. +157
    -95
      pages/apply/paymentTemplate/add/add.js
  45. +1
    -1
      pages/apply/paymentTemplate/add/add.wxml
  46. +11
    -7
      pages/apply/paymentTemplate/add/upLoad/upLoad.js
  47. +12
    -7
      pages/apply/paymentTemplate/add/upLoad/upLoad.wxml
  48. +2540
    -0
      pages/apply/paymentTemplate/addNew/addNew.js
  49. +22
    -0
      pages/apply/paymentTemplate/addNew/addNew.json
  50. +474
    -0
      pages/apply/paymentTemplate/addNew/addNew.wxml
  51. +539
    -0
      pages/apply/paymentTemplate/addNew/addNew.wxss
  52. +1
    -1
      pages/contract/contract.js
  53. +3
    -3
      pages/contract/list/list.js
  54. +183
    -0
      pages/discussions/detail/detail.js
  55. +8
    -0
      pages/discussions/detail/detail.json
  56. +44
    -0
      pages/discussions/detail/detail.wxml
  57. +46
    -0
      pages/discussions/detail/detail.wxss
  58. +242
    -0
      pages/discussions/form/form.js
  59. +10
    -0
      pages/discussions/form/form.json
  60. +36
    -0
      pages/discussions/form/form.wxml
  61. +92
    -0
      pages/discussions/form/form.wxss
  62. +136
    -0
      pages/discussions/list.js
  63. +17
    -0
      pages/discussions/list.json
  64. +42
    -0
      pages/discussions/list.wxml
  65. +348
    -0
      pages/discussions/list.wxss
  66. +16
    -7
      pages/drawee/drawee.js
  67. +2
    -2
      pages/drawee/drawee.wxml
  68. +16
    -0
      pages/drawee/drawee.wxss
  69. +166
    -0
      pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.js
  70. +6
    -0
      pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.json
  71. +68
    -0
      pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxml
  72. +221
    -0
      pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxss
  73. +222
    -0
      pages/finance/detailed_liabilities/detailed_liabilities.js
  74. +7
    -0
      pages/finance/detailed_liabilities/detailed_liabilities.json
  75. +71
    -0
      pages/finance/detailed_liabilities/detailed_liabilities.wxml
  76. +214
    -0
      pages/finance/detailed_liabilities/detailed_liabilities.wxss
  77. +25
    -3
      pages/finance/index.js
  78. +2
    -0
      pages/finance/index.json
  79. +14
    -1
      pages/finance/index.wxml
  80. +31
    -0
      pages/finance/index.wxss
  81. +319
    -0
      pages/finance/list_balance_ranking/list_balance_ranking.js
  82. +13
    -0
      pages/finance/list_balance_ranking/list_balance_ranking.json
  83. +94
    -0
      pages/finance/list_balance_ranking/list_balance_ranking.wxml
  84. +229
    -0
      pages/finance/list_balance_ranking/list_balance_ranking.wxss
  85. +22
    -6
      pages/fixedAssets/fixedAssets.wxml
  86. +1
    -1
      pages/fixedAssets/fixedAssets.wxss
  87. +704
    -0
      pages/handle/expenditureAuditNew/expenditureAuditNew.js
  88. +24
    -0
      pages/handle/expenditureAuditNew/expenditureAuditNew.json
  89. +540
    -0
      pages/handle/expenditureAuditNew/expenditureAuditNew.wxml
  90. +734
    -0
      pages/handle/expenditureAuditNew/expenditureAuditNew.wxss
  91. +163
    -79
      pages/index/index.js
  92. +69
    -24
      pages/index/index.wxml
  93. +18
    -8
      pages/index/index.wxss
  94. +170
    -0
      pages/mainBody/detail/detail.js
  95. +8
    -0
      pages/mainBody/detail/detail.json
  96. +37
    -0
      pages/mainBody/detail/detail.wxml
  97. +11
    -0
      pages/mainBody/detail/detail.wxss
  98. +141
    -0
      pages/mainBody/list/list.js
  99. +10
    -0
      pages/mainBody/list/list.json
  100. +49
    -0
      pages/mainBody/list/list.wxml

+ 51
- 14
app.json Visa fil

@@ -1,10 +1,7 @@
{
"pages": [
"pages/noLoginIndex",
"pages/user/login/login",
"pages/index/index",
"pages/index/settle/index",
"pages/index/settle/passWord/index",
"pages/index/settle/eSign/index",
"component/pop-up/index",
"pages/drawee/drawee",
"pages/drawee/add/add",
@@ -12,8 +9,6 @@
"pages/bankDraft/add/add",
"pages/project/project",
"pages/project/add/add",
"pages/finance/finance",
"pages/finance/voucher/voucher",
"pages/pay/detail",
"pages/pay/payee/payee",
"pages/contractAssets/fixedAssets",
@@ -26,18 +21,25 @@
"pages/bill/bill",
"pages/statistics/statistics",
"pages/user/region/region",
"pages/finance/index",
"pages/index/majorDetail/majorDetail",
"pages/resources/resources",
"pages/resources/detail/detail",
"pages/resources/edit/edit"
"pages/phoneLogin"
],
"subPackages": [
{
"root": "pages/index/",
"pages": [
"index",
"settle/index",
"settle/passWord/index",
"settle/eSign/index",
"majorDetail/majorDetail"
]
},
{
"root": "pages/handle/",
"pages": [
"liist",
"expenditureAudit/expenditureAudit"
"expenditureAudit/expenditureAudit",
"expenditureAuditNew/expenditureAuditNew"
]
},
{
@@ -50,7 +52,8 @@
"paymentTemplate/add/add",
"paymentTemplate/add/upLoad/upLoad",
"paymentTemplate/add/upError/upError",
"paymentTemplate/add/payeeList/payee"
"paymentTemplate/add/payeeList/payee",
"paymentTemplate/addNew/addNew"
]
},
{
@@ -135,6 +138,40 @@
"list/edit",
"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": {
@@ -142,7 +179,7 @@
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "农燊高科",
"navigationBarTitleText": "中农融信",
"navigationBarTextStyle": "black"
},
"sitemapLocation": "sitemap.json",


+ 32
- 0
component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.js Visa fil

@@ -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);
},
}
})

+ 14
- 0
component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.json Visa fil

@@ -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"
}
}

+ 15
- 0
component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.wxml Visa fil

@@ -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>

+ 1
- 0
component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.wxss Visa fil

@@ -0,0 +1 @@
/* component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.wxss */

+ 43
- 0
component/SubjectTreeChooserNodeItem/childrenPage.js Visa fil

@@ -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 })
}
}
})

+ 8
- 0
component/SubjectTreeChooserNodeItem/childrenPage.json Visa fil

@@ -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"
}
}

+ 19
- 0
component/SubjectTreeChooserNodeItem/childrenPage.wxml Visa fil

@@ -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>

+ 1
- 0
component/SubjectTreeChooserNodeItem/childrenPage.wxss Visa fil

@@ -0,0 +1 @@
/* component/SubjectTreeChooserNodeItem/childrenPage.wxss */

+ 1
- 0
component/editor/editor.js Visa fil

@@ -24,6 +24,7 @@ Component({
},
ready() {
const platform = wx.getSystemInfoSync().platform
console.log(platform);
const isIOS = platform === 'ios'
this.setData({
isIOS


+ 4
- 5
component/editor/editor.wxml Visa fil

@@ -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-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-shanchu" bindtap="clear"></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>

+ 0
- 2
component/editor/editor.wxss Visa fil

@@ -20,9 +20,7 @@

.toolbar {
padding: 0 16rpx;
height: 200rpx;
width: 100%;
position: fixed;
left: 0;
right: 100%;
bottom: 0;


Binär
image/apply/BOC.png Visa fil

Före Efter
Bredd: 22  |  Höjd: 22  |  Storlek: 1.8 KiB

Binär
image/apply/EMS.png Visa fil

Före Efter
Bredd: 22  |  Höjd: 22  |  Storlek: 1.7 KiB

Binär
image/apply/MSYH.png Visa fil

Före Efter
Bredd: 22  |  Höjd: 22  |  Storlek: 930 B

Binär
image/apply/ZYB.png Visa fil

Före Efter
Bredd: 22  |  Höjd: 22  |  Storlek: 1.8 KiB

Binär
image/apply/delete_icon_input.png Visa fil

Före Efter
Bredd: 202  |  Höjd: 200  |  Storlek: 9.9 KiB

Binär
image/apply/fixedAssets_icon_1.png Visa fil

Före Efter
Bredd: 30  |  Höjd: 30  |  Storlek: 1.5 KiB

Binär
image/apply/icon_BOC.png Visa fil

Före Efter
Bredd: 86  |  Höjd: 86  |  Storlek: 3.3 KiB

Binär
image/apply/icon_EMS.png Visa fil

Före Efter
Bredd: 86  |  Höjd: 86  |  Storlek: 5.6 KiB

Binär
image/apply/icon_ZYB.png Visa fil

Före Efter
Bredd: 86  |  Höjd: 86  |  Storlek: 10 KiB

Binär
image/apply/other.png Visa fil

Före Efter
Bredd: 22  |  Höjd: 22  |  Storlek: 349 B

Binär
image/icon/cancel_icon.png Visa fil

Före Efter
Bredd: 52  |  Höjd: 52  |  Storlek: 1.7 KiB

Binär
image/icon/cancel_icon2.png Visa fil

Före Efter
Bredd: 52  |  Höjd: 52  |  Storlek: 984 B

Binär
image/icon/date_icon.png Visa fil

Före Efter
Bredd: 51  |  Höjd: 49  |  Storlek: 2.8 KiB

Binär
image/icon/input_name.png Visa fil

Före Efter
Bredd: 24  |  Höjd: 29  |  Storlek: 697 B

Binär
image/icon/input_password.png Visa fil

Före Efter
Bredd: 28  |  Höjd: 25  |  Storlek: 462 B

Binär
image/icon/input_yzm.png Visa fil

Före Efter
Bredd: 24  |  Höjd: 28  |  Storlek: 863 B

Binär
image/index/index_block_04.png Visa fil

Före Efter
Bredd: 64  |  Höjd: 64  |  Storlek: 3.7 KiB

Binär
image/index/index_block_23.png Visa fil

Före Efter
Bredd: 65  |  Höjd: 58  |  Storlek: 3.6 KiB

Binär
image/index/index_block_26.png Visa fil

Före Efter
Bredd: 65  |  Höjd: 58  |  Storlek: 2.7 KiB

+ 1
- 1
miniprogram_npm/@vant/weapp/empty/index.wxss Visa fil

@@ -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}

+ 275
- 0
miniprogram_npm/jsencrypt/index.js
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 1
- 0
miniprogram_npm/jsencrypt/index.js.map
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 5511
- 0
miniprogram_npm/wxmp-rsa/index.js
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 1
- 0
miniprogram_npm/wxmp-rsa/index.js.map
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 10
- 0
package-lock.json Visa fil

@@ -8,6 +8,16 @@
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/@vant/weapp/-/weapp-1.10.2.tgz",
"integrity": "sha512-caqA0xQxM4lMRncFsRPPVMDdEzUBCJ4xdFXuKReXpEU3qwnVIP/WIjVDIi7mWyS7xqz8C9WfSW5JL4PrlSq31w=="
},
"jsencrypt": {
"version": "3.3.2",
"resolved": "https://registry.npmmirror.com/jsencrypt/-/jsencrypt-3.3.2.tgz",
"integrity": "sha512-arQR1R1ESGdAxY7ZheWr12wCaF2yF47v5qpB76TtV64H1pyGudk9Hvw8Y9tb/FiTIaaTRUyaSnm5T/Y53Ghm/A=="
},
"wxmp-rsa": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/wxmp-rsa/-/wxmp-rsa-2.1.0.tgz",
"integrity": "sha512-VbWMJ+vf8t7G93sjkqjCn5yGy/Si3M8uD6OFebqjJWJ1R0WCyle7X6SNia7WWG6Qe1F2/OWxhbcSGA6ebUBwIA=="
}
}
}

+ 3
- 1
package.json Visa fil

@@ -10,6 +10,8 @@
"author": "",
"license": "ISC",
"dependencies": {
"@vant/weapp": "^1.10.2"
"@vant/weapp": "^1.10.2",
"jsencrypt": "^3.3.2",
"wxmp-rsa": "^2.1.0"
}
}

+ 6
- 6
pages/apply/approval/approval.wxml Visa fil

@@ -97,20 +97,20 @@

<scroll-view scroll-y="true" style="height: 400rpx;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-top="0">
<van-swipe-cell right-width="{{ 65 }}" wx:for="{{templateList}}" wx:key="index" wx:for-item="item">
<van-cell title="{{item.name}}" bindtap='chooseTemplate' data-id="{{item.id}}">
<van-icon slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mb.png?sign=2a8bbe2cb4d4e0f28a99fddbe042d26c&t=1648620032" class="custom-icon" size="40" style="margin-right: 10px;" />
<van-cell bindtap='chooseTemplate' data-id="{{item.id}}">
<view slot="title">
<view class="van-cell-text">{{item.name}}</view>
</view>
<image src="/image/apply/icon_mb.png" slot="icon" class="custom-icon" size="40" style="margin-right: 10px;width: 40px;" mode="widthFix" ></image>
</van-cell>
<view slot="right" class="deleteBox" bindtap='deleteTemplate' data-index="{{index}}" data-id="{{item.id}}">
<view>
<image src="/image/apply/icon_end.png" style="width: 25px;height: 25px;margin: 0 auto;"></image>
<text style="display: block;text-align: center;color: #e90000;background-color: rgb(255,0,0,0.2);">禁用</text>
<text style="display: block;text-align: center;color: #e90000;">禁用</text>
</view>
</view>
</van-swipe-cell>
</scroll-view>


<van-empty wx:if="{{templateList.length == 0}}" description="暂无审批模板" />
</van-action-sheet>
<modal hidden="{{!showPopup}}" mask="{{true}}" title="审批模板" confirm-text="保存" cancel-text="取消" bindcancel="cancelTem" bindconfirm="confirmTem">


+ 6
- 2
pages/apply/approval/approval.wxss Visa fil

@@ -211,7 +211,7 @@ text{display: block;}
width: 65px;
text-align: center;
height: 100%;
background: #F6F6F6;
background-color: rgb(255,0,0,0.2);
align-items: center;
display: flex;
justify-content: center;
@@ -262,4 +262,8 @@ text{display: block;}
.bottomBtn view text{
display: block;
margin-top: 5px;
}
}
.van-cell-text{
padding: 8px;
}

+ 37
- 28
pages/apply/index.js Visa fil

@@ -33,7 +33,7 @@ swichPaymentApply:function(e){
// })
// }
wx.navigateTo({
url: '/pages/apply/paymentTemplate/add/add',
url: '/pages/apply/paymentTemplate/addNew/addNew',
})
},
openBox:function(){
@@ -152,45 +152,54 @@ swichPaymentApply:function(e){
setTimeout(function(){
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{
success: (res) => {
for (let i = 0; i < res.rows.length; i++) {
if(res.rows[i].bankAccountNumber==null){continue;}
res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 ");
res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "");
res.rows[i].bankTypeText = UTIL.getTransform(res.rows[i].bankType,that.data.bankTypeOptions);
if(res.rows){
for (let i = 0; i < res.rows.length; i++) {
if(res.rows[i].bankAccountNumber==null){continue;}
res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 ");
res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "");
res.rows[i].bankTypeText = UTIL.getTransform(res.rows[i].bankType,that.data.bankTypeOptions);
}
console.log(res.rows)
that.setData({
accountList:res.rows
})
wx.hideLoading();
}else{
wx.hideLoading();
}
console.log(res.rows)
that.setData({
accountList:res.rows
})
wx.hideLoading();
}
})
},1000)
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData2,{
success: (res) => {
for (let i = 0; i < res.rows.length; i++) {
// if(res.rows[i].bankAccountNumber==null){continue;}
// res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 ");
res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "");;
console.log(res.rows[i].balance)
if(res.rows){
for (let i = 0; i < res.rows.length; i++) {
// if(res.rows[i].bankAccountNumber==null){continue;}
// res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 ");
res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "");;
console.log(res.rows[i].balance)
}
that.setData({
accountListXJ:res.rows
})
}
that.setData({
accountListXJ:res.rows
})
}
})
UTIL.httpRequest(API.URL_GET_SELECTLIST, sendData3,{
success: (res) => {
for (let i = 0; i < res.rows.length; i++) {
res.rows[i].payeeAccount = res.rows[i].payeeAccount.replace(/(\d{4})(?=\d)/g, "$1 ");
res.rows[i].payeePaymentLines = Number(res.rows[i].payeePaymentLines).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "");
if(res.rows){
for (let i = 0; i < res.rows.length; i++) {
res.rows[i].payeeAccount = res.rows[i].payeeAccount.replace(/(\d{4})(?=\d)/g, "$1 ");
res.rows[i].payeePaymentLines = Number(res.rows[i].payeePaymentLines).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "");
}
that.setData({
accountListGWK:res.rows
})
}
that.setData({
accountListGWK:res.rows
})
}
})
},


+ 8
- 7
pages/apply/index.wxml Visa fil

@@ -17,9 +17,9 @@
<text class="zt">{{item.bankUseType == 1 ?'基本户':'一般户'}}</text>
<image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image>
<image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image>
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':''}}">
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':iOf.indexOf(item.bankTypeText,'民生') > -1 ? 'MSYH':'bank_other'}}">
<view class="bankName">
<image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':''}}.png" style="width: 25px" mode="widthFix"></image>
<image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':iOf.indexOf(item.bankTypeText,'民生') > -1 ? 'MSYH':'other'}}.png" style="width: 25px" mode="widthFix"></image>
<text>{{item.accountName}}</text>
</view>
@@ -57,7 +57,7 @@
<text>添加现金账户</text>
</view> -->

<van-empty wx:if="{{accountList.length == 0}}" description="暂无现金账户" />
<van-empty wx:if="{{accountListXJ.length == 0}}" description="暂无现金账户" />
<!-- <van-empty wx:if="{{accountList.length == 0}}" description="暂无银行账户" /> -->
</van-tab>
@@ -78,13 +78,14 @@
</view>
<view class="holder">持有人:{{item.payee}}</view>
</view>
<van-empty wx:if="{{accountListGWK.length == 0}}" description="暂无公务卡账户" />
</van-tab>
</van-tabs>
</view>

<view class="bottom">
<view class="btn1" bindtap="openBox">支付模板</view>
<!-- <view class="btn1" bindtap="openBox">支付模板</view> -->
<view class="btn2" bindtap="swichPaymentApply">下一步</view>
</view>
<view class="ipXbtn"></view>
@@ -92,12 +93,12 @@
<scroll-view scroll-y="true" style="height: 400rpx;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" scroll-top="0">
<van-swipe-cell right-width="{{ 130 }}" wx:for="{{approvalItemsOptions}}" wx:key="index">
<van-cell-group>
<van-cell label="{{item.approvalItems}}" bindtap="goTemplate" data-options="{{item.templateContent}}" data-id="{{item.id}}" >
<van-cell label="{{item.approvalItems}}" bindtap="goTemplate" data-options="{{item.templateContent}}" data-id="{{item.id}}">
<view slot="title">
<view class="van-cell-text">{{item.templateName}}<van-tag plain type="danger" color="#FC9A55" style="margin-left:10px;" wx:if="{{index == 0&&item.defaultValue == 1}}"><image src="/image/apply/icon_mr.png" style="width: 12px;height: 12px;margin-right: 2px;"></image>默认</van-tag></view>
</view>
<van-icon wx:if="{{index == 0&&item.defaultValue == 1}}" slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mrmb.png?sign=5e5df640777f6a7993c45e1a559dd998&t=1648619865" class="custom-icon" size="40" style="margin-right: 10px;" />
<van-icon wx:else slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mb.png?sign=2a8bbe2cb4d4e0f28a99fddbe042d26c&t=1648620032" class="custom-icon" size="40" style="margin-right: 10px;" />
<image src="/image/apply/icon_mrmb.png" wx:if="{{index == 0&&item.defaultValue == 1}}" slot="icon" class="custom-icon" style="margin-right: 10px;width: 40px;" mode="widthFix" ></image>
<image src="/image/apply/icon_mb.png" wx:else slot="icon" class="custom-icon" size="40" style="margin-right: 10px;width: 40px;" mode="widthFix" ></image>
</van-cell>
</van-cell-group>
<view slot="right" class="deleteBox">


+ 26
- 1
pages/apply/index.wxss Visa fil

@@ -60,6 +60,26 @@
background:url('https://www.nongshen.net/static/wechat/bg_RCB.png') no-repeat center;
background-size: 105% 105%;
}
.EMS{
background:url('https://www.nongshen.net/static/wechat/bg_EMS.png') no-repeat center;
background-size: 105% 105%;
}
.BOC{
background:url('https://www.nongshen.net/static/wechat/bank_BOC.png') no-repeat center;
background-size: 105% 105%;
}
.ZYB{
background:url('https://www.nongshen.net/static/wechat/bank_ZYB.png') no-repeat center;
background-size: 105% 105%;
}
.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{
background:url('https://www.nongshen.net/static/wechat/bg_GWK.png') no-repeat center;
background-size: 105% 105%;
@@ -142,6 +162,7 @@
margin-top: 30px;
margin-bottom: 30px;
display: flex;
justify-content: center;
}

.bottom view {
@@ -161,7 +182,7 @@
border: 1px solid transparent;
padding: 8px 0px;
background-image: linear-gradient(to right, #2C8E68, #5CAE77);
margin-left: 6%;
/* margin-left: 6%; */
color: #fff;
}

@@ -176,4 +197,8 @@
.van-action-sheet__header {
background: #f2f2f2;
color: #2C8E68;
}

.van-cell-text{
padding: 8px;
}

+ 157
- 95
pages/apply/paymentTemplate/add/add.js Visa fil

@@ -1234,6 +1234,7 @@ Page({
UTIL.httpRequest(API.URL_GET_SAVE, that.data.form, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
console.log(res.data.transfers.length);
for (let j = 0; j < res.data.transfers.length; j++) {
if(that.data.form.transfers[j].capitalExpenditureType == 2){
that.data.form.transfers[j].projectForm.ynType = res.data.transfers[j].transferType=='1'||res.data.transfers[j].transferType=='2'||res.data.transfers[j].transferType=='4'?'1':'2';
@@ -1242,124 +1243,176 @@ Page({
// 工程项目提交
UTIL.httpRequest(API.URL_GET_ADDPROJECTTO , that.data.form.transfers[j].projectForm, {
success: (res) => {
}
})
}
if(that.data.form.transfers[j].capitalExpenditureType == 4){
that.data.form.transfers[j].contractionForm.transferId = res.data.transfers[j].id;
that.data.form.transfers[j].contractionForm.id = '';
that.data.form.transfers[j].contractionForm.method = 'POST';

// 关联合同提交
UTIL.httpRequest(API.URL_GET_GETRELATIONADD , that.data.form.transfers[j].contractionForm, {
success: (res) => {
}
})
}

// if(that.data.form.transfers[j].transferType == '12'){
// console.log(that.data.form.transfers[j].cashForm);
// that.data.form.transfers[j].cashForm.cashId = res.data.transfers[j].id;
// that.data.form.transfers[j].cashForm.method = 'POST';
// if(that.data.form.transfers[j].cashierType == 'edit'){
// // 收票方信息增加
// UTIL.httpRequest(API.URL_GET_GETCASHDETAILEDIT , that.data.form.transfers[j].cashForm, {
// success: (res) => {
// }
// })
// }else{
// // 收票方信息修改
// UTIL.httpRequest(API.URL_GET_GETCASHDETAILADD , that.data.form.transfers[j].cashForm, {
// success: (res) => {
// }
// })
// }
// }
if(that.data.form.transfers[j].fileForm == undefined){continue;}
console.log(that.data.form.transfers[j].fileForm);
for (let i = 0; i < that.data.form.transfers[j].fileForm.length; i++) {
that.data.form.transfers[j].fileForm[i].tableId = res.data.transfers[j].id
const element = that.data.form.transfers[j].fileForm[i];
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: element.file,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:element,
success (response){
console.log(res);
},
fail(res){
console.log(res)
}
})
}
}
if(e.currentTarget.dataset.type == 0){
wx.navigateTo({
url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId+'&form='+JSON.stringify(res.data)+'&type='+that.data.formType+'&applyOptions='+JSON.stringify(that.data.templateModel),
})
}
if(e.currentTarget.dataset.type == 2){
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 2000,
})
}
if(e.currentTarget.dataset.type == 1){
console.log("aaa");
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 2000,
complete(){
setTimeout(function(){
that.back();
},2000)
// if(that.data.form.transfers[j].fileForm == undefined){continue;}

that.data.form.transfers[j].id = res.data.transfers[j].id
console.log(that.data.form.transfers[j])
that.upDownFile(that.data.form.transfers[j]).then(response=>{
wx.hideLoading();
console.log(e.currentTarget.dataset.type);
if(e.currentTarget.dataset.type == 0){
wx.navigateTo({
url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId+'&form='+JSON.stringify(res.data)+'&type='+that.data.formType+'&applyOptions='+JSON.stringify(that.data.templateModel),
})
}
})
}
if(e.currentTarget.dataset.type == 3){
UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, {
success: (res2) => {
if (res2.code == API.SUCCESS_CODE) {
wx.showToast({
title: '操作成功',
icon: 'success',
duration: 2000,
complete(){
setTimeout(function(){
that.back();
},2000)
if(e.currentTarget.dataset.type == 2){
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 2000,
})
}
if(e.currentTarget.dataset.type == 1){
console.log("aaa");
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 2000,
complete(){
setTimeout(function(){
that.back();
},2000)
}
})
}
if(e.currentTarget.dataset.type == 3){
UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, {
success: (res2) => {
if (res2.code == API.SUCCESS_CODE) {
wx.showToast({
title: '操作成功',
icon: 'success',
duration: 2000,
complete(){
setTimeout(function(){
that.back();
},2000)
}
})
}else{
wx.showToast({
title: '操作失败',
icon: 'error',
duration: 2000
})
}
})
}else{
wx.showToast({
title: '操作失败',
icon: 'error',
duration: 2000
})
}
}
})
}
}).catch((err) => {
console.log(err);
wx.hideLoading();
if(e.currentTarget.dataset.type == 0){
wx.navigateTo({
url: '/pages/apply/approval/approval?id='+res.data.approvalItemTemplate.id+'&deptId='+res.data.approvalItemTemplate.deptId+'&form='+JSON.stringify(res.data)+'&type='+that.data.formType+'&applyOptions='+JSON.stringify(that.data.templateModel),
})
}
if(e.currentTarget.dataset.type == 2){
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 2000,
})
}
if(e.currentTarget.dataset.type == 1){
console.log("aaa");
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 2000,
complete(){
setTimeout(function(){
that.back();
},2000)
}
})
}
if(e.currentTarget.dataset.type == 3){
UTIL.httpRequest(API.URL_GET_TOREVIEWSUBMIT+res.data.approvalItemTemplate.id , {method:'POST'}, {
success: (res2) => {
if (res2.code == API.SUCCESS_CODE) {
wx.showToast({
title: '操作成功',
icon: 'success',
duration: 2000,
complete(){
setTimeout(function(){
that.back();
},2000)
}
})
}else{
wx.showToast({
title: '操作失败',
icon: 'error',
duration: 2000
})
}
}
})
}
})
}
}
}
})
},

upDownFile(op){
var that = this;
console.log(op)
wx.showLoading({
title: '正在上传附件',
mask:true
})
return new Promise((resolve, reject) => {
if(op.fileForm.length > 0){
for (let i = 0; i < op.fileForm.length; i++) {
op.fileForm[i].tableId = op.id
const element = op.fileForm[i];
console.log(element);
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: element.file,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:element,
success (response){
if(op.fileForm.length == (i+1)){
resolve();
}
},
fail(res){
console.log(res)
reject();
}
})
}
}else{
reject();
}
});
},

bindKeyInput(even){
console.log(even);
this.setData({
@@ -1688,6 +1741,15 @@ Page({
that.setData({
form:that.data.form,
})


UTIL.httpRequest(API.URL_GET_TRANSFERREMOVE+e.currentTarget.dataset.id , {method:'GET'}, {
success: (res) => {
}
})

},
disabledNone(e){
console.log("b");


+ 1
- 1
pages/apply/paymentTemplate/add/add.wxml Visa fil

@@ -64,7 +64,7 @@
<view class="btnBox">
<image src="/image/apply/down.png" data-index="{{index}}" class="down" bindtap="disabledBlock"></image>
<!-- <image src="/image/apply/icon_update.png" class="update" bindtap="goUpdate"></image> -->
<image src="/image/apply/icon_delete.png" class="delete" data-index="{{index}}" bindtap="deleteTransfers"></image>
<image src="/image/apply/icon_delete.png" class="delete" data-index="{{index}}" data-id="{{item.id}}" bindtap="deleteTransfers"></image>
</view>
</van-cell-group>
</view>


+ 11
- 7
pages/apply/paymentTemplate/add/upLoad/upLoad.js Visa fil

@@ -25,7 +25,7 @@ Page({
onLoad(options) {
console.log(options);
//所属银行
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, {
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type_all', {method:'GET'}, {
success: (res) => {
this.setData({
bankTypeOptions:res.data
@@ -43,7 +43,8 @@ Page({
this.setData({
bankType:options.bankType,
index:options.index,
totalAmount:options.totalAmount
totalAmount:options.totalAmount,
isPeers:options.isPeers
})
if(options.bankType != '1'){
this.setData({
@@ -100,7 +101,8 @@ Page({
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:{
bankType:'2',
// bankType:'2',
bankType:that.data.bankType,
accountType:that.data.bankAccountType,
isPeers:that.data.isPeers
},
@@ -144,12 +146,14 @@ Page({
return;
}
let moneyCount = 0;
console.log(that.data.payeeList);
for(let i = 0 ; i < that.data.payeeList.length ; i++){
that.data.payeeList[i].bankTypeText = UTIL.getTransform(that.data.payeeList[i].bankType,that.data.bankTypeOptions);
that.data.payeeList[i].transferStatusText = UTIL.getTransform(that.data.payeeList[i].transferStatus,that.data.transferStatusOptions);
moneyCount += parseFloat(that.data.payeeList[i].incomeAmount);
}
console.log(that.data.totalAmount);
console.log(that.data.payeeList);
let totalAmount = parseFloat(that.data.totalAmount)+parseFloat(moneyCount);

console.log(totalAmount);
@@ -161,10 +165,10 @@ Page({
prevPage = pages[pages.length - 2]; //获取上一个页面,将其赋值
if (prevPage) {
prevPage.setData({
["form.transfers["+that.data.index+"].payeeList"]: that.data.payeeList,//将想要传的信息赋值给上一个页面data中的值
["form.transfers["+that.data.index+"].expenditureAmount"]: moneyCount.toFixed(2),
["form.payeeList"]: that.data.payeeList,//将想要传的信息赋值给上一个页面data中的值
["form.expenditureAmount"]: moneyCount.toFixed(2),
["form.approvalItemTemplate.totalAmount"]:totalAmount.toFixed(2),
["form.transfers["+that.data.index+"].amountReadonly"]:true
["form.amountReadonly"]:true
})
that.back()
}
@@ -197,7 +201,7 @@ Page({
UTIL.httpRequest(API.URL_GET_DOWNFILE, {method:'GET'}, {
success: (res) => {
console.log(res);
let url = ' https://dazu.nongshen.net/api/common/download?fileName='+res.msg+'&delete=true'
let url = wx.getStorageSync('dressCode')+'/common/download?fileName='+res.msg+'&delete=true'
wx.setClipboardData({
data: url,
success (res) {


+ 12
- 7
pages/apply/paymentTemplate/add/upLoad/upLoad.wxml Visa fil

@@ -33,13 +33,14 @@
</van-cell>
</view>

<view class="main-box" wx:if="{{!showBox && bankType != 5 }}">
<van-cell title="是否同行" center border="{{false}}">
<view class="main-box" wx:if="{{!showBox && (form.bankType == 2 || form.bankType == 3 || form.bankType == 4) }}">
<van-cell title="行内转账" center border="{{false}}">
<view style="float: right;">
<van-radio-group
value="{{ isPeers }}"
bind:change="onChangePee"
direction="horizontal"
direction="horizontal"
disabled
>
<van-radio name="Y" checked-color="#2C8E68">是</van-radio>
<van-radio name="N" checked-color="#2C8E68">否</van-radio>
@@ -84,12 +85,16 @@
<text>三、农业银行</text>
<text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text>
<text>2、联行号为必填项。</text>
<text>四、建设银行</text>
<text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text>
<text>2、单笔跨行、批量跨行转账时联行号为必填项。</text>
<text>五、农商行(重庆)</text>
<text>四、农商行(重庆)</text>
<text>1、导入收款方最多可以有500条。</text>
<text>2、联行号为必填项。</text>
<text>五、其他银行</text>
<text>1、联行号为必填项。</text>
<!-- <text>四、建设银行</text>
<text>1、导入收款方的所属银行需要根据页面选择的是否同行相匹配。</text>
<text>2、单笔跨行、批量跨行转账时联行号为必填项。</text> -->
<view style="height: 10vh;"></view>
</scroll-view>
<view class="bottom">
<!-- <view class="btn1" data-type="3" bindtap="goSubmit">提交复核</view> -->


+ 2540
- 0
pages/apply/paymentTemplate/addNew/addNew.js
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 22
- 0
pages/apply/paymentTemplate/addNew/addNew.json Visa fil

@@ -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"
}
}

+ 474
- 0
pages/apply/paymentTemplate/addNew/addNew.wxml Visa fil

@@ -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>

+ 539
- 0
pages/apply/paymentTemplate/addNew/addNew.wxss Visa fil

@@ -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;
}

+ 1
- 1
pages/contract/contract.js Visa fil

@@ -382,7 +382,7 @@ Page({
let fileForm={
file: event.detail,
fileType:event.currentTarget.dataset.idx,
tableName: "t_contraction_info", //上传表
tableName: "t_contraction_fill", //上传表
bizPath: "contraction", //上传目录
tableId:_this.data.itemId
}


+ 3
- 3
pages/contract/list/list.js Visa fil

@@ -251,7 +251,7 @@ Page({
upload(e){
this.setData({itemId:e.currentTarget.dataset.id});
this.asyncFun(e.currentTarget.dataset.id)
this.setData({"fileList":[]})
this.setData({fileList:[]})
},
asyncFun(id){
let uploadList = this.data.uploadOptions
@@ -260,7 +260,7 @@ Page({
uploadList.map( res => {
let oData = {
tableId: id,
tableName: "t_contraction_info", //上传表
tableName: "t_contraction_fill", //上传表
bizPath: "contraction",
fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字
method:'GET'
@@ -367,7 +367,7 @@ Page({
let fileForm={
file: event.detail,
fileType:event.currentTarget.dataset.idx,
tableName: "t_contraction_info", //上传表
tableName: "t_contraction_fill", //上传表
bizPath: "contraction", //上传目录
tableId:_this.data.itemId
}


+ 183
- 0
pages/discussions/detail/detail.js Visa fil

@@ -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() {

}
})

+ 8
- 0
pages/discussions/detail/detail.json Visa fil

@@ -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"
}
}

+ 44
- 0
pages/discussions/detail/detail.wxml Visa fil

@@ -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>

+ 46
- 0
pages/discussions/detail/detail.wxss Visa fil

@@ -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;
}

+ 242
- 0
pages/discussions/form/form.js Visa fil

@@ -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"
})
}
}
})
}
})

+ 10
- 0
pages/discussions/form/form.json Visa fil

@@ -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"
}
}

+ 36
- 0
pages/discussions/form/form.wxml Visa fil

@@ -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>

+ 92
- 0
pages/discussions/form/form.wxss Visa fil

@@ -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;
}

+ 136
- 0
pages/discussions/list.js Visa fil

@@ -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() {

}
})

+ 17
- 0
pages/discussions/list.json Visa fil

@@ -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"
}
}

+ 42
- 0
pages/discussions/list.wxml Visa fil

@@ -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>

+ 348
- 0
pages/discussions/list.wxss Visa fil

@@ -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;
}

+ 16
- 7
pages/drawee/drawee.js Visa fil

@@ -358,6 +358,7 @@ Page({
setTimeout(function(){
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{
success: (res) => {
if(res.rows){
for (let i = 0; i < res.rows.length; i++) {
if(res.rows[i].bankAccountNumber==null){continue;}
res.rows[i].bankAccountNumber = res.rows[i].bankAccountNumber.replace(/(\d{4})(?=\d)/g, "$1 ");
@@ -370,19 +371,27 @@ Page({
accountList:res.rows
})
wx.hideLoading();
}else{
wx.hideLoading();
}
}
})
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData2,{
success: (res) => {
for (let i = 0; i < res.rows.length; i++) {
res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "");

if(res.rows){
for (let i = 0; i < res.rows.length; i++) {
res.rows[i].balance = Number(res.rows[i].balance).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "");
}
console.log(res.rows)
that.setData({
accountListXJ:res.rows
})
}
console.log(res.rows)
that.setData({
accountListXJ:res.rows
})

}
})



+ 2
- 2
pages/drawee/drawee.wxml Visa fil

@@ -19,9 +19,9 @@
<text class="zt">{{item.bankUseType == 1 ?'基本户':'一般户'}}</text>
<image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image>
<image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image>
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':''}}">
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':'bank_other'}}">
<view class="bankName">
<image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':''}}.png" style="width: 25px" mode="widthFix"></image>
<image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':'other'}}.png" style="width: 25px" mode="widthFix"></image>
<text>{{item.accountName}}</text>
</view>


+ 16
- 0
pages/drawee/drawee.wxss Visa fil

@@ -62,6 +62,22 @@
background:url('https://www.nongshen.net/static/wechat/bg_RCB.png') no-repeat center;
background-size: 105% 105%;
}
.EMS{
background:url('https://www.nongshen.net/static/wechat/bg_EMS.png') no-repeat center;
background-size: 105% 105%;
}
.BOC{
background:url('https://www.nongshen.net/static/wechat/bank_BOC.png') no-repeat center;
background-size: 105% 105%;
}
.ZYB{
background:url('https://www.nongshen.net/static/wechat/bank_ZYB.png') no-repeat center;
background-size: 105% 105%;
}
.bank_other{
background:url('https://www.nongshen.net/static/wechat/bank_other.png') no-repeat center;
background-size: 105% 105%;
}
.gwk{
background:url('https://www.nongshen.net/static/wechat/bg_GWK.png') no-repeat center;
background-size: 105% 105%;


+ 166
- 0
pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.js Visa fil

@@ -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() {

}
})

+ 6
- 0
pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.json Visa fil

@@ -0,0 +1,6 @@
{
"usingComponents": {
"van-popup": "@vant/weapp/popup/index",
"van-datetime-picker": "@vant/weapp/datetime-picker/index"
}
}

+ 68
- 0
pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxml Visa fil

@@ -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>

+ 221
- 0
pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxss Visa fil

@@ -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;
}

+ 222
- 0
pages/finance/detailed_liabilities/detailed_liabilities.js Visa fil

@@ -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() {

}
})

+ 7
- 0
pages/finance/detailed_liabilities/detailed_liabilities.json Visa fil

@@ -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"
}
}

+ 71
- 0
pages/finance/detailed_liabilities/detailed_liabilities.wxml Visa fil

@@ -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>

+ 214
- 0
pages/finance/detailed_liabilities/detailed_liabilities.wxss Visa fil

@@ -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;
}

+ 25
- 3
pages/finance/index.js Visa fil

@@ -11,7 +11,25 @@ Page({
isIPX: app.globalData.isIPX,
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){
for (let i = 0; i < res.rows.length; 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')+
if (res.rows.length>0) {


+ 2
- 0
pages/finance/index.json Visa fil

@@ -13,6 +13,8 @@
"van-dropdown-menu": "@vant/weapp/dropdown-menu/index",
"van-popup": "@vant/weapp/popup/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"
}
}

+ 14
- 1
pages/finance/index.wxml Visa fil

@@ -13,7 +13,20 @@
bind:change="goSearch"
/>
</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">
<!-- 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" >


+ 31
- 0
pages/finance/index.wxss Visa fil

@@ -3,6 +3,37 @@
border: 1px solid #5CAE77!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 {
flex: 0.8;
}


+ 319
- 0
pages/finance/list_balance_ranking/list_balance_ranking.js Visa fil

@@ -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() {

}
})

+ 13
- 0
pages/finance/list_balance_ranking/list_balance_ranking.json Visa fil

@@ -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"
}
}

+ 94
- 0
pages/finance/list_balance_ranking/list_balance_ranking.wxml Visa fil

@@ -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>


+ 229
- 0
pages/finance/list_balance_ranking/list_balance_ranking.wxss Visa fil

@@ -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;
}

+ 22
- 6
pages/fixedAssets/fixedAssets.wxml Visa fil

@@ -16,7 +16,7 @@
<view class="add_btn" bindtap="goAdd"><text>填报</text></view>
</view>
<scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100">
<van-swipe-cell right-width="{{ 220 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" >
<van-swipe-cell right-width="{{ 150 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" >
<view class="li" bindtap="goUpdate" data-id="{{item.id}}">
<view class="tit_box">
<image src="/image/icon/fixedAssets_icon.png" style="width: 15px;height: 15px;margin-right: 10px;" referrer="no-referrer|origin|unsafe-url"></image>
@@ -48,15 +48,15 @@
</view>
</view>
<view slot="right" class="deleteBox">
<view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(165,165,165,0.2);" data-data="{{item}}" data-index="{{index}}" bindtap="scrap" wx:if="{{item.assetStatus != 3}}">
<!-- <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(165,165,165,0.2);" data-data="{{item}}" data-index="{{index}}" bindtap="scrap" wx:if="{{item.assetStatus != 3}}">
<view>
<image src="../../image/icon/scrap_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image>
</view>
<view>
<text style="color:#A5A5A5">报废</text>
</view>
</view>
<view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(238,95,0,0.2);" data-data="{{item}}" data-index="{{index}}" bindtap="sell" wx:if="{{item.assetStatus != 3}}">
</view> -->
<!-- <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(238,95,0,0.2);" data-data="{{item}}" data-index="{{index}}" bindtap="sell" wx:if="{{item.assetStatus != 3}}">
<view>
<image src="../../image/icon/sell_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image>
</view>
@@ -71,7 +71,7 @@
<view>
<text style="color:red">删除</text>
</view>
</view>
</view> -->
<view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(98,173,102,0.2);" data-id="{{item.id}}" data-index="{{index}}" data-status="{{item.assetStatus}}" bindtap="upload">
<view>
<image src="../../image/icon/upload_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image>
@@ -85,9 +85,25 @@
<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>
<text style="color: rgb(239,135,7);">处置</text>
</view>
</view>
<view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(238,95,0,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}">
<view>
<image src="../../image/icon/sell_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image>
</view>
<view>
<text style="color: rgb(238,95,0);">出租</text>
</view>
</view>
<!-- <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(239,135,7,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}">
<view>
<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>
</van-swipe-cell>
</scroll-view>


+ 1
- 1
pages/fixedAssets/fixedAssets.wxss Visa fil

@@ -64,7 +64,7 @@ text{display: block;}
color: #31936c;
}
.deleteBox{
width: 220px;
width: 150px;
text-align: center;
height: 100%;
background: #F6F6F6;


+ 704
- 0
pages/handle/expenditureAuditNew/expenditureAuditNew.js Visa fil

@@ -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 () {

}
})

+ 24
- 0
pages/handle/expenditureAuditNew/expenditureAuditNew.json Visa fil

@@ -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"
}
}

+ 540
- 0
pages/handle/expenditureAuditNew/expenditureAuditNew.wxml Visa fil

@@ -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>

+ 734
- 0
pages/handle/expenditureAuditNew/expenditureAuditNew.wxss Visa fil

@@ -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;
}

+ 163
- 79
pages/index/index.js Visa fil

@@ -50,7 +50,8 @@ Page({
],
showList:false,
showListText:'更多',
num:1
num:1,
active:1
},
onLoad: function (options) {
//获取滚动条高度
@@ -90,12 +91,17 @@ Page({
// })
// },
onShow(){
//获取滚动条高度
// this.computeBarLocation();
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'payment_state', {method:'GET'}, {
success: (res) => {
this.setData({
paymentStateOption:res.data
})
}
})
//获取用户信息
this.getUserInfo()
//查询待办
this.getTaskList();
//查询已办
this.getTaskDoneList();
//查询dept
this.getTreeDept();
},
@@ -131,34 +137,28 @@ Page({
let data = {
pageNum:1,
pageSize:999,
orderByColumn:"A.ID_",
isAsc:"desc",
// orderByColumn:"A.ID_",
// isAsc:"desc",
systemType:4,
method:"GET",
deptId:JSON.parse(wx.getStorageSync('user')).deptId,
// 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) => {
if (res.code == API.SUCCESS_CODE) {
let list = [];
if(res.rows!=null&&res.rows!=""){
for(let i = 0;i < res.total;i++){
if (res.rows[i].formData.activityBusinessType == '20' || res.rows[i].formData.activityBusinessType=='30' || res.rows[i].formData.activityBusinessType == '35') {
let d = this.dictTranslate(this.data.transferType,res.rows[i].formData.transferType)
res.rows[i].formData.transferType = d
res.rows[i].formData.totalAmount = Number(res.rows[i].formData.totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "")
list.push(res.rows[i])
}
}
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 = {
pageNum:1,
pageSize:999,
orderByColumn:"A.ID_",
isAsc:"desc",
// orderByColumn:"A.ID_",
// isAsc:"desc",
systemType:4,
method:"GET",
deptId:JSON.parse(wx.getStorageSync('user')).deptId,
// taskName:'相关人员审批'
}
UTIL.httpRequest(API.URL_GET_TASKDONELIST,data, {
UTIL.httpRequest(API.A_myDoneList,data, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
let list = [];
if(res.rows!=null&&res.rows!=""){
for(let i = 0;i<res.total;i++){
if (res.rows[i].formData.activityBusinessType == '20' || res.rows[i].formData.activityBusinessType=='30' || res.rows[i].formData.activityBusinessType == '35') {
let d = this.dictTranslate(this.data.transferType,res.rows[i].formData.transferType)
res.rows[i].formData.transferType = d
res.rows[i].formData.totalAmount = Number(res.rows[i].formData.totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "")
list.push(res.rows[i])
}
}
// 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})
}
}
}, fail: (res) => {
console.log(res);
@@ -196,7 +205,7 @@ Page({
}
})
},
getTransferList:function(e){
getTransferList:function(e){//已废弃
let data = {
// pageNum:1,
// pageSize:10,
@@ -213,8 +222,9 @@ Page({
this.setData({yfqNum:a})
for(let i = 0;i<res.total;i++){
res.rows[i].totalAmount = Number(res.rows[i].totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "")
}
return $1 + ","; }).replace(/\.$/, "");
}
this.setData({yfqList:res.rows})
}
}, fail: (res) => {
@@ -227,21 +237,22 @@ Page({
let data = {
// pageNum:1,
// pageSize:10,
transferType:"1",
auditStatus:"3",
method:"GET"
transferType:"",
params:{
"auditStatusXiaochengxu":"2"
},
method:"POST",
}
UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, {
success: (res) => {
console.log(res);
if (res.code == API.SUCCESS_CODE) {
let a = this.data.yfqNum+res.total
this.setData({yfqNum:a})
let b = this.data.yfqList
let c = res.rows.concat(b)
this.setData({yfqNum:res.total})
let c = res.rows
for(let i = 0;i< c.length;i++){
c[i].totalAmount = Number(c[i].totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
c[i].totalAmount = Number(c[i].totalAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "")
c[i].paymentStateText = UTIL.getTransform(res.rows[i].paymentState,this.data.paymentStateOption);
}
this.setData({yfqList:c})
}
@@ -256,10 +267,11 @@ Page({
let data = {
// pageNum:1,
// pageSize:10,
transferType:"1",
status:"0",
method:"GET",
submitter:this.data.userInfoObj.nickName
transferType:"",
method:"POST",
params:{
"auditStatusXiaochengxu":"1"
},
}
UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, {
success: (res) => {
@@ -311,6 +323,7 @@ Page({
},
/* 计算bar 高度*/
computeBarLocation() {
console.log('aaaaaaaaaaaaa');
var that = this;
let CustomMenuButton = wx.getMenuButtonBoundingClientRect();
let CustomWidows = wx.getSystemInfoSync();
@@ -321,11 +334,12 @@ Page({
query.select('.navList_main').boundingClientRect();
query.select('.child_function').boundingClientRect();
query.select('.work_plan').boundingClientRect();
query.exec((res) => {
let wrokScrollHeight = CustomWidows.windowHeight;
res.forEach((v)=>{
wrokScrollHeight = wrokScrollHeight - v.height;
console.log(v.height);
})
wrokScrollHeight = wrokScrollHeight-CustomMenuButton.top-CustomMenuButton.bottom -15;
that.setData({
@@ -344,13 +358,16 @@ Page({
this.setData({userInfoObj:res.user})
this.setData({region:res.user.deptName})
this.setData({item:JSON.stringify(res.user)})
wx.setStorageSync('user', JSON.stringify(res.user))
this.getBookList()
//查询已制单
this.getTransferList2();
//查询已发起
this.getTransferList();
// this.getTransferList1();
this.getTransferList1();
//查询待办
this.getTaskList();
//查询已办
this.getTaskDoneList();
}
}
})
@@ -363,7 +380,9 @@ Page({
this.setData({provinces:res.data})
if(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) {
this.setData({bookList:res.rows})
if(this.data.bookName==""&&res.total>0){
let loginBookId = res.rows.filter(function (e) { return e.id == that.data.userInfoObj.loginBookId; })[0].bookName;
console.log(res.rows);
this.setData({bookName:loginBookId})
this.setData({bookId:res.rows[0].id})
let loginBookId = res.rows.filter(function (e) { return e.id == that.data.userInfoObj.loginBookId; });
if(loginBookId.length > 0){
loginBookId =loginBookId[0].bookName
this.setData({bookName:loginBookId})
this.setData({bookId:res.rows[0].id})
}else{
this.setData({bookName:"选择账套"})
}
}else if(this.data.bookName==""&&res.total==0){
this.setData({bookName:"无可用账套"})
}
@@ -454,6 +477,7 @@ Page({
value: [provinceNum, cityNum, areaNum]
})
}

console.log(this.data.value);
},
preventTouchmove() {},
@@ -462,29 +486,34 @@ Page({
cityCancel(e) {
var id = this.data.provinces[0].id
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
})
},
// 提交时由序号获取省市区id
getRegionId(type) {
console.log(this.data.provinces);
console.log(this.data.regionValue);
let value = this.data.regionValue
let provinceId = this.data.provinces[value[0]].id
let townId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id
let areaId = ''
if (this.data.provinces[value[0]].children[value[1]].children[value[2]].id) {
areaId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id
} else {
areaId = 0
}
if (type === 'provinceId') {
let provinceId = this.data.provinces[value[0]].id
return provinceId
} else if (type === 'townId') {
let townId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id
return townId
} else {
let areaId = ''
if (this.data.provinces[value[0]].children[value[1]].children) {
areaId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id
} else if(this.data.provinces[value[0]].children){
areaId = this.data.provinces[value[0]].children[value[1]].id
} else if(this.data.provinces[value[0]]){
areaId = this.data.provinces[value[0]].id
} else {
areaId = 0
}
return areaId
}
},
@@ -516,6 +545,8 @@ Page({
} catch (error) {
console.log('adress select something error')
}

console.log(this.getRegionId('areas'));
this.setData({
region: region,
lastCitys: this.data.citys,
@@ -534,16 +565,23 @@ Page({
success: (res) => {
setTimeout(()=>{
_this.reset()
_this.onLoad()
_this.onShow()
},1000)
}
})
})

// this.data.userInfoObj.loginDeptId = this.getRegionId('areas');
// this.getBookList();

}
},
godetail:function(e){
// wx.navigateTo({
// url: '/pages/apply/paymentTemplate/add/add?id='+e.currentTarget.dataset.id,
// })
wx.navigateTo({
url: '/pages/apply/paymentTemplate/add/add?id='+e.currentTarget.dataset.id,
url: '/pages/apply/paymentTemplate/addNew/addNew?id='+e.currentTarget.dataset.id,
})
},
goMajorDetail:function(e){
@@ -553,7 +591,7 @@ Page({
},
gosee:function(e){
wx.navigateTo({
url: '/pages/handle/expenditureAudit/expenditureAudit?id='+e.currentTarget.dataset.id+'&taskId='+e.currentTarget.dataset.taskid+'&type='+e.currentTarget.dataset.type+'&business='+e.currentTarget.dataset.business,
url: '/pages/handle/expenditureAuditNew/expenditureAuditNew?id='+e.currentTarget.dataset.id+'&taskId='+e.currentTarget.dataset.taskid+'&type='+e.currentTarget.dataset.type+'&business='+e.currentTarget.dataset.business,
})
},
goUpdate(e){
@@ -588,7 +626,7 @@ Page({
content: '确认删除?',
success (res) {
if (res.confirm) {
UTIL.httpRequest(API.URL_GET_REMOVEAPPROVAL + e.currentTarget.dataset.id, {method:'GET'},{
UTIL.httpRequest(API.URL_GET_REMOVETRANFERL + e.currentTarget.dataset.id, {method:'GET'},{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
that.data.yzdList.splice(e.currentTarget.dataset.index, 1);
@@ -620,5 +658,51 @@ Page({
tmplIds: ['_Npje859RvKIf5AcqaikWYGXJpOcigMTzyB3HjJ1L9I'],
success (res) { }
})
}
},
rollback(e){
var that = this;
let prames = {
id : e.currentTarget.dataset.id,
auditStatus : '0',
applyUserId : '',
applyUserName : '',
applyTime : '',
instanceId : '',
processKey : '',
method:'POST'
}
wx.showModal({
title: '提示',
content: '确认撤回?',
success (res) {
if (res.confirm) {
UTIL.httpRequest(API.URL_GET_UPDATETYINNONGTRANSFERFOSTATUS, prames ,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
wx.showToast({
title: '撤回成功!',
icon: 'success',
duration: 2000
})
that.setData({
yfqList:[],
yzdList:[]
})
that.getTransferList2()
that.getTransferList1()
}else{
wx.showToast({
title: res.msg,
icon: 'error',
duration: 2000
})
}
}
})
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
},
})

+ 69
- 24
pages/index/index.wxml Visa fil

@@ -96,9 +96,14 @@
<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>
<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 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>
<text class="desc">票据使用</text>
</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>
<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>
@@ -168,74 +177,110 @@
</view>

<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-->
<view class="workflow_list">
<view class="process_intro">
<view class="name">{{item.formData.activityBusinessType == '20' ? item.formData.eventName:item.formData.approvalItems}}</view>
<view class="name">
<view class="name_tit">{{item.auditName}}</view>
</view>
<!-- <view class="state">待审</view> -->
<view class="time">{{item.formData.applyTime}}</view>
<view class="time">{{item.createTime}}</view>
</view>
<view class="process_pay">
<view class="describe">
<image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image>
<text class="textLimit">{{item.formData.activityBusinessType=='35'?'现金转账':item.formData.activityBusinessType=='30'?'银行转账':'重大事项'}}</text>
<text class="textLimit">{{item.data.transferType=='2'?'信用卡转账':item.data.transferType=='1'?'银行转账':'其他'}}</text>
</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 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-->
<view class="workflow_list">
<view class="process_intro">
<view class="name">{{item.formData.activityBusinessType == '20' ? item.formData.eventName:item.formData.approvalItems}}</view>
<view class="name">
<view class="name_tit">{{item.auditName}}</view>
</view>
<!-- <view class="state">已审</view> -->
<view class="time">{{item.formData.applyTime}}</view>
<view class="time">{{item.auditTime}}</view>
</view>
<view class="process_pay">
<view class="describe">
<image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image>
<text class="textLimit">{{item.formData.activityBusinessType=='35'?'现金转账':item.formData.activityBusinessType=='30'?'银行转账':'重大事项'}}</text>
<text class="textLimit">{{item.data.transferType=='2'?'信用卡转账':item.data.transferType=='1'?'银行转账':'其他'}}</text>
</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 class="workflow" wx:if="{{active=='3'}}" wx:for-item="item" wx:for="{{yfqList}}" wx:key="id" data-id="{{item.id}}" data-taskId="{{item.taskId}}" data-type="see" bindtap="gosee">
<!--1-->
<!-- <view class="workflow" wx:if="{{active=='3'}}" wx:for-item="item" wx:for="{{yfqList}}" wx:key="id" data-id="{{item.id}}" data-taskId="{{item.taskId}}" data-type="see" bindtap="gosee">
<view class="workflow_list">
<view class="process_intro">
<view class="name">
<view class="name_tit">{{item.approvalItems}}</view>
<view class="{{item.status == '1'?'in':item.status == '2'?'disagree':item.status == '3'?'agree':''}}">{{item.status == '1'?'审核中':item.status == '2'?'已拒绝':item.status == '3'?'已通过':''}}</view>
<view class="name_tit">{{item.remark}}</view>
<view class="{{item.auditStatus == '1'?'in':item.auditStatus == '2'?'disagree':item.auditStatus == '3'?'agree':''}}">{{item.auditStatus == '1'?'审核中':item.auditStatus == '2'?'已拒绝':item.auditStatus == '3'?'已通过':''}}</view>
</view>
<!-- <view class="state">已发起</view> -->
<view class="time">{{item.submitDate}}</view>
<view class="time">{{item.applyDate}}</view>
</view>
<view class="process_pay">
<view class="describe">
<image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image>
<text class="textLimit">{{item.formData.activityBusinessType=='35'?'现金转账':'银行转账'}}</text>
<text class="textLimit">{{item.transferType=='2'?'信用卡转账':item.transferType=='1'?'银行转账':'其他'}}</text>
</view>
<view class="amount"><text class="unit">¥</text>{{item.totalAmount}}</view>
<view class="amount"><text class="unit">¥</text>{{item.expenditureAmount}}</view>
</view>
</view>
</view>
</view> -->
<!-- {{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">
<!--1-->
<view class="workflow_list" data-id="{{item.id}}" bindtap="godetail">
<view class="process_intro">
<view class="name">{{item.approvalItems}}</view>
<view class="name">
<view class="name_tit">{{item.remark}}</view>
<view class="{{item.auditStatus == '1'?'in':item.auditStatus == '2'?'disagree':item.auditStatus == '3'?'agree':'caogao'}}">{{item.auditStatus == '1'?'审核中':item.auditStatus == '2'?'已拒绝':item.auditStatus == '3'?'已通过':'草稿'}}</view>
</view>
<!-- <view class="state">已制单</view> -->
<view class="time">{{item.submitDate}}</view>
<view class="time">{{item.applyDate}}</view>
</view>
<view class="process_pay">
<view class="describe">
<image class="amount_icon" src="../../image/index/process_icon.png" mode="aspectFit"></image>
<text class="textLimit">{{item.formData.activityBusinessType=='35'?'现金转账':'银行转账'}}</text>
<text class="textLimit">{{item.transferType=='2'?'信用卡转账':item.transferType=='1'?'银行转账':'其他'}}</text>
</view>
<view class="amount"><text class="unit">¥</text>{{item.totalAmount}}</view>
<view class="amount"><text class="unit">¥</text>{{item.expenditureAmount}}</view>
</view>
</view>
<view slot="right" class="deleteBox" style="background-color: rgb(235, 4, 4,0.2);">


+ 18
- 8
pages/index/index.wxss Visa fil

@@ -247,19 +247,20 @@
width: 390rpx;
font-size: 34rpx;
margin-right: 30rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.workflow .process_intro .name .name_tit{
width: 290rpx;
flex: 1;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
.workflow .process_intro .name .name_tit{
width: 290rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
float: left;
}
.workflow .process_intro .state{
width: 93rpx;
height: 42rpx;
@@ -287,7 +288,7 @@

.workflow .workflow_list .process_pay .describe{
font-size: 30rpx;
width: 330rpx;
width: 320rpx;
color: #3c9370;
display: flex;
align-items: center;
@@ -416,6 +417,15 @@
border-radius: 5px;
font-size: 12px;
}
.caogao{
background-color: rgba(133, 133, 133, 1);
color:#ffffff ;
text-align: center;
float: right;
padding: 2px 5px;
border-radius: 5px;
font-size: 12px;
}
.deleteBox{
width: 65px;
text-align: center;


+ 170
- 0
pages/mainBody/detail/detail.js Visa fil

@@ -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() {

}
})

+ 8
- 0
pages/mainBody/detail/detail.json Visa fil

@@ -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"
}
}

+ 37
- 0
pages/mainBody/detail/detail.wxml Visa fil

@@ -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>

+ 11
- 0
pages/mainBody/detail/detail.wxss Visa fil

@@ -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;
}

+ 141
- 0
pages/mainBody/list/list.js Visa fil

@@ -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() {

}
})

+ 10
- 0
pages/mainBody/list/list.json Visa fil

@@ -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"
}
}

+ 49
- 0
pages/mainBody/list/list.wxml Visa fil

@@ -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>

Vissa filer visades inte eftersom för många filer har ändrats

Laddar…
Avbryt
Spara