Browse Source

代码更新

master
pangdongxu 3 months ago
parent
commit
899219f844
74 changed files with 3619 additions and 407 deletions
  1. +18
    -3
      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. BIN
      image/apply/delete_icon_input.png
  11. BIN
      image/apply/fixedAssets_icon_1.png
  12. BIN
      image/icon/date_icon.png
  13. BIN
      image/index/index_block_04.png
  14. BIN
      image/index/index_block_23.png
  15. BIN
      image/index/index_block_26.png
  16. BIN
      image/index/nav_dlzh.png
  17. BIN
      image/index/nav_jymx.png
  18. BIN
      image/index/nav_pjqs.png
  19. BIN
      image/index/nav_pjsy.png
  20. BIN
      image/index/nav_sztj.png
  21. BIN
      image/index/nav_zzdz.png
  22. +0
    -3
      pages/apply/approval/approval.wxml
  23. +8
    -4
      pages/apply/paymentTemplate/add/upLoad/upLoad.wxml
  24. +144
    -6
      pages/apply/paymentTemplate/addNew/addNew.js
  25. +20
    -3
      pages/apply/paymentTemplate/addNew/addNew.wxml
  26. +1
    -0
      pages/apply/paymentTemplate/addNew/addNew.wxss
  27. +3
    -3
      pages/contract/list/list.js
  28. +166
    -0
      pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.js
  29. +6
    -0
      pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.json
  30. +68
    -0
      pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxml
  31. +221
    -0
      pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.wxss
  32. +222
    -0
      pages/finance/detailed_liabilities/detailed_liabilities.js
  33. +7
    -0
      pages/finance/detailed_liabilities/detailed_liabilities.json
  34. +71
    -0
      pages/finance/detailed_liabilities/detailed_liabilities.wxml
  35. +214
    -0
      pages/finance/detailed_liabilities/detailed_liabilities.wxss
  36. +25
    -3
      pages/finance/index.js
  37. +2
    -0
      pages/finance/index.json
  38. +14
    -1
      pages/finance/index.wxml
  39. +31
    -0
      pages/finance/index.wxss
  40. +319
    -0
      pages/finance/list_balance_ranking/list_balance_ranking.js
  41. +13
    -0
      pages/finance/list_balance_ranking/list_balance_ranking.json
  42. +94
    -0
      pages/finance/list_balance_ranking/list_balance_ranking.wxml
  43. +229
    -0
      pages/finance/list_balance_ranking/list_balance_ranking.wxss
  44. +147
    -16
      pages/handle/expenditureAuditNew/expenditureAuditNew.js
  45. +2
    -1
      pages/handle/expenditureAuditNew/expenditureAuditNew.json
  46. +77
    -52
      pages/handle/expenditureAuditNew/expenditureAuditNew.wxml
  47. +57
    -44
      pages/index/index.js
  48. +16
    -10
      pages/index/index.wxml
  49. +1
    -1
      pages/index/index.wxss
  50. +170
    -0
      pages/mainBody/detail/detail.js
  51. +8
    -0
      pages/mainBody/detail/detail.json
  52. +37
    -0
      pages/mainBody/detail/detail.wxml
  53. +11
    -0
      pages/mainBody/detail/detail.wxss
  54. +141
    -0
      pages/mainBody/list/list.js
  55. +10
    -0
      pages/mainBody/list/list.json
  56. +49
    -0
      pages/mainBody/list/list.wxml
  57. +42
    -0
      pages/mainBody/list/list.wxss
  58. +56
    -0
      pages/majorEvent/add/add.js
  59. +48
    -8
      pages/majorEvent/add/add.wxml
  60. +3
    -2
      pages/majorEvent/add/add.wxss
  61. +7
    -8
      pages/payee/add/add.js
  62. +2
    -0
      pages/payee/index.js
  63. +31
    -2
      pages/paymentManager/paymentManager.js
  64. +23
    -2
      pages/paymentManager/paymentManager.wxml
  65. +51
    -40
      pages/paymentManager/toPay/toPay.js
  66. +27
    -19
      pages/paymentManager/toPay/toPay.wxml
  67. +335
    -114
      pages/transaction/transaction.js
  68. +118
    -39
      pages/transaction/transaction.wxml
  69. +3
    -3
      pages/user/login/login.js
  70. +2
    -2
      pages/user/region/region.js
  71. +10
    -13
      project.config.json
  72. +16
    -2
      project.private.config.json
  73. +89
    -2
      utils/API.js
  74. +1
    -1
      utils/util.js

+ 18
- 3
app.json View File

@@ -9,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",
@@ -23,7 +21,6 @@
"pages/bill/bill",
"pages/statistics/statistics",
"pages/user/region/region",
"pages/finance/index",
"pages/resources/resources",
"pages/resources/detail/detail",
"pages/resources/edit/edit",
@@ -144,6 +141,24 @@
"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"
]
}
],
"window": {


+ 32
- 0
component/SubjectTreeChooserNodeItem/SubjectTreeChooserNodeItem.js View File

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

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

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

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

+ 43
- 0
component/SubjectTreeChooserNodeItem/childrenPage.js View File

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

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

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

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

BIN
image/apply/delete_icon_input.png View File

Before After
Width: 202  |  Height: 200  |  Size: 9.9 KiB

BIN
image/apply/fixedAssets_icon_1.png View File

Before After
Width: 30  |  Height: 30  |  Size: 1.5 KiB

BIN
image/icon/date_icon.png View File

Before After
Width: 51  |  Height: 49  |  Size: 2.8 KiB

BIN
image/index/index_block_04.png View File

Before After
Width: 64  |  Height: 64  |  Size: 3.7 KiB

BIN
image/index/index_block_23.png View File

Before After
Width: 65  |  Height: 58  |  Size: 3.6 KiB

BIN
image/index/index_block_26.png View File

Before After
Width: 65  |  Height: 58  |  Size: 2.7 KiB

BIN
image/index/nav_dlzh.png View File

Before After
Width: 34  |  Height: 36  |  Size: 1.4 KiB

BIN
image/index/nav_jymx.png View File

Before After
Width: 40  |  Height: 34  |  Size: 867 B

BIN
image/index/nav_pjqs.png View File

Before After
Width: 39  |  Height: 33  |  Size: 1.7 KiB

BIN
image/index/nav_pjsy.png View File

Before After
Width: 40  |  Height: 32  |  Size: 898 B

BIN
image/index/nav_sztj.png View File

Before After
Width: 37  |  Height: 35  |  Size: 840 B

BIN
image/index/nav_zzdz.png View File

Before After
Width: 41  |  Height: 35  |  Size: 962 B

+ 0
- 3
pages/apply/approval/approval.wxml View File

@@ -111,9 +111,6 @@
</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">


+ 8
- 4
pages/apply/paymentTemplate/add/upLoad/upLoad.wxml View File

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


+ 144
- 6
pages/apply/paymentTemplate/addNew/addNew.js View File

@@ -164,6 +164,7 @@ Page({
SJimage:[],
FPimage:[],
QTimage:[],
SYLGKimage:[],
activeName:0,
showTitle:true,
collapseDis:false,
@@ -250,6 +251,7 @@ Page({
SJimage: [],
FPimage: [],
QTimage: [],
SYLGKimage: [],
imgcount:0,
activeNames: 0,
applyDate:'',
@@ -343,7 +345,6 @@ Page({
["form.approvalTemplateId"]:res.rows[0].id,
["form.approvalTemplateName"]:res.rows[0].name,
})
// 审批模板
UTIL.httpRequest(API.URL_GET_selectApprovalByTemplateId+res.rows[0].id , {method:'GET'}, {
success: (rres) => {
@@ -525,6 +526,39 @@ Page({
})
}
})
//四议两公开
UTIL.httpRequest(
API.URL_GET_FINDLIST,
{
method:'GET',
tableName:'t_yinnong_transfer',
tableId:res.data.id,
fileType:4
},
{
success: (res) => {
let list = [];
res.data.forEach((item2,index2)=>{
let fileForm = res.data.fileForm?res.data.fileForm:[];
fileForm.push({
file: wx.getStorageSync('dressCode')+item2.fileUrl,
fileType:'4',
bizPath:'transfer',
tableName:'t_yinnong_transfer',
tableId:res.data.id
})
list.push({
tempFilePath:wx.getStorageSync('dressCode')+item2.fileUrl,
id:item2.id
})
that.setData({
["form.fileNum"]:that.data.form.fileNum+1,
["form.SYLGKimage"]:list,
["form.fileForm"]:fileForm
});
})
}
})

let query = {
method:'GET',
@@ -1406,6 +1440,12 @@ Page({
showFile:true
})
// console.log(that.data.form)
}else{
wx.showToast({
title: res.msg,
icon: 'error',
duration: 2000
})
}
}
})
@@ -1563,7 +1603,7 @@ Page({

goCustomSubmit(){
var that = this;
UTIL.httpRequest(API.URL_GET_TRANSFERCUSTOMSUBMIT+this.data.form.id, {method : 'POST'}, {
UTIL.httpRequest(API.URL_GET_TRANSFERCUSTOMSUBMIT2+this.data.form.id, {method : 'POST'}, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
wx.showToast({
@@ -1576,6 +1616,12 @@ Page({
},2000)
}
})
}else{
wx.showToast({
title: res.msg,
icon: 'error',
duration: 2000
})
}
}
})
@@ -1588,7 +1634,7 @@ Page({
})
that.goKeepNew();
setTimeout(() => {
UTIL.httpRequest(API.URL_GET_TRANSFERCUSTOMSUBMIT+this.data.form.id, {method : 'POST'}, {
UTIL.httpRequest(API.URL_GET_TRANSFERCUSTOMSUBMIT2+this.data.form.id, {method : 'POST'}, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
wx.hideLoading();
@@ -1602,6 +1648,12 @@ Page({
},2000)
}
})
}else{
wx.showToast({
title: res.msg,
icon: 'error',
duration: 2000
})
}
}
})
@@ -1667,7 +1719,8 @@ Page({
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})
@@ -1737,7 +1790,8 @@ Page({
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})
@@ -1804,7 +1858,76 @@ Page({
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) ;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})

const element = fileForm[0];
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: res.tempFiles[0].tempFilePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:element,
success (response){
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}
})

},fail(err){
console.log(err);
}
})
},
SYLGKtakephoto(e){
var that = this;
let fileForm = [];
wx.chooseMedia({
mediaType: ['image'],
sourceType: ['album', 'camera'],
camera: 'back',
count: 1,
success(res) {
console.log(res);
res.tempFiles.forEach(item => {
fileForm.push({
file: item.tempFilePath,
fileType:'4',
bizPath:'transfer',
tableName:'t_yinnong_transfer',
tableId:that.data.form.id
})
})
console.log(fileForm);
let tem = that.data.form.SYLGKimage?that.data.form.SYLGKimage:[];

res.tempFiles.forEach(r=>{
tem.push({
tempFilePath:r.tempFilePath
})
})
that.setData({
["form.SYLGKimage"]:tem,
["form.fileForm"]:fileForm
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})
@@ -2114,6 +2237,12 @@ Page({
}
})
}else{
wx.showToast({
title: res.msg,
icon: 'error',
duration: 2000
})
}
}
})
@@ -2312,6 +2441,15 @@ Page({
["form.payeeList"]:this.data.form.payeeList,
})
},
removePayer(e){
console.log(e);
let i = e.currentTarget.dataset.index;
let list = this.data.form.payeeList;
list.splice(i,1);
this.setData({
["form.payeeList"]:list,
})
},
onChangePayeeMoney(event){
console.log(event);
this.setData({


+ 20
- 3
pages/apply/paymentTemplate/addNew/addNew.wxml View File

@@ -257,7 +257,7 @@
</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}}">
<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
@@ -275,6 +275,9 @@
</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: 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.bankAccountType }}" data-transferType="{{ form.transferType }}">
<view slot="label" style="color: var(--field-label-color,#646566);">
收款方<van-tag plain type="danger" color="#5CAE77" round style="margin-left:10px;">选择</van-tag>
@@ -316,11 +319,11 @@

<!-- wx:if="{{showFile}}" -->

<view class="file_box" 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="main-box" wx:if="{{showFile}}" >
<view class="fj-box">
<view class="fj-li">
<view class="fj-tt">
@@ -365,6 +368,20 @@
</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.QTimage" 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>



+ 1
- 0
pages/apply/paymentTemplate/addNew/addNew.wxss View File

@@ -54,6 +54,7 @@ text{display: block;}
margin: 0 auto;
border-radius: 10px;
box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16);
position: relative;
}
.main-box block{
float: right;


+ 3
- 3
pages/contract/list/list.js View File

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


+ 166
- 0
pages/finance/detailed_incomeAndExpenditurePublic/detailed_incomeAndExpenditurePublic.js View File

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+ 147
- 16
pages/handle/expenditureAuditNew/expenditureAuditNew.js View File

@@ -14,6 +14,7 @@ Page({
active:0,
spsxOptions:[],
paymentPatternOptions:[],
transferStatusOptions:[],
nickName:'',
comment:'',
activeNames: 0,
@@ -56,6 +57,19 @@ Page({
});
}
})
//所属银行
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'transfer_status', {method:'GET'}, {
success: (res) => {
this.setData({
transferStatusOptions:res.data
});
}
})
//所属银行
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'audit_status', {method:'GET'}, {
success: (res) => {
}
})
// 资金支出类别字典查询
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'capital_expenditure_type', {method:'GET'}, {
success: (res) => {
@@ -294,6 +308,39 @@ Page({
})
}
})
//四议两公开
UTIL.httpRequest(
API.URL_GET_FINDLIST,
{
method:'GET',
tableName:'t_yinnong_transfer',
tableId:res.data.id,
fileType:4
},
{
success: (res) => {
let list = [];
res.data.forEach((item2,index2)=>{
let fileForm = res.data.fileForm?res.data.fileForm:[];
fileForm.push({
file: wx.getStorageSync('dressCode')+item2.fileUrl,
fileType:'4',
bizPath:'transfer',
tableName:'t_yinnong_transfer',
tableId:res.data.id
})
list.push({
tempFilePath:wx.getStorageSync('dressCode')+item2.fileUrl,
id:item2.id
})
that.setData({
["form.fileNum"]:that.data.form.fileNum+1,
["form.SYLGKimage"]:list,
["form.fileForm"]:fileForm
});
})
}
})

let query = {
method:'GET',
@@ -307,6 +354,7 @@ Page({
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
@@ -336,33 +384,46 @@ Page({
})

// 查询审批事项流转进度
UTIL.httpRequest(API.URL_GET_GETPROCESS+options.id , {method:'GET'}, {
UTIL.httpRequest(API.URL_GET_GETPROCESSNEW+options.id , {method:'GET'}, {
success: (res) => {
console.log(res);
for (let i = 0; i < res.data.processSchedule.审批事项.length; i++) {
for (let i = 0; i < res.data.length; i++) {
const element = res.data.processSchedule.审批事项[i];
if (element.electronicSignature!=null) {
element.electronicSignature = wx.getStorageSync('dressCode')+element.electronicSignature;
}
}
if(res.data.processSchedule != null){
that.setData({spsxOptions:res.data.processSchedule.审批事项})
}
that.setData({instanceId:res.data.instanceId})

if(options.business == 'xj'){
console.log(that.data.instanceId)
// 查询现金审批事项流转进度
UTIL.httpRequest(API.URL_GET_REVIEWPROCESS+that.data.instanceId , {method:'GET'}, {
success: (res) => {
console.log(res);
if(res.data.processSchedule.审批事项){
that.setData({spsxOptions:res.data.processSchedule.审批事项})
const arr = [];
for (let key in res.data) {
if (res.data.hasOwnProperty(key)) { // 确保键在对象自身上,而不是从原型链继承
for (let i = 0; i < res.data[key].length; i++) {
const element = res.data[key][i];
console.log(`Key: ${key}, Value: ${res.data[key][i].electronicSignature}`);
if (element.electronicSignature!=null) {
element.electronicSignature = wx.getStorageSync('dressCode')+element.electronicSignature;
}
that.setData({instanceId:res.data.instanceId})
}
})
arr.push([key,res.data[key]])
// that.setData({instanceId:res.data.instanceId})
}
}
that.setData({spsxOptions:arr})


// if(options.business == 'xj'){
// console.log(that.data.instanceId)
// // 查询现金审批事项流转进度
// UTIL.httpRequest(API.URL_GET_REVIEWPROCESS+that.data.instanceId , {method:'GET'}, {
// success: (res) => {
// console.log(res);
// if(res.data.processSchedule.审批事项){
// that.setData({spsxOptions:res.data.processSchedule.审批事项})
// }
// that.setData({instanceId:res.data.instanceId})
// }
// })
// }
}
})
UTIL.hideLoadingHaveMask();
@@ -462,6 +523,76 @@ Page({
}
})
},
goAgreeNew(){//2024-7-15审批功能修改 字段名称、接口地址、请求参数格式发生变动
var that = this ;
let data = {
taskId:that.data.taskId,
auditbatchNo:that.data.form.auditbatchNo,
pass:true,
remark:that.data.comment == '' ? '同意':that.data.comment,
deptId:JSON.parse(wx.getStorageSync('user')).deptId,
method:'POST'
};
console.log(data);
UTIL.httpRequest(API.A_audit ,data, {
success: (res) => {
console.log(res);
if (res.code == API.SUCCESS_CODE) {
wx.showToast({
title: '审批成功',
icon: 'success',
duration: 2000,
complete(){
setTimeout(function(){
that.back();
},2000)
}
})
}else{
wx.showToast({
title: '操作失败',
icon: 'error',
duration: 2000
})
}
}
})
},
goDisNew(){//2024-7-15审批功能修改 字段名称、接口地址、请求参数格式发生变动
var that = this ;
let data = {
taskId:that.data.taskId,
auditbatchNo:that.data.form.auditbatchNo,
pass:false,
remark:that.data.comment == '' ? '驳回':that.data.comment,
deptId:JSON.parse(wx.getStorageSync('user')).deptId,
method:'POST'
};
console.log(data);
UTIL.httpRequest(API.A_audit ,data, {
success: (res) => {
console.log(res);
if (res.code == API.SUCCESS_CODE) {
wx.showToast({
title: '审批成功',
icon: 'success',
duration: 2000,
complete(){
setTimeout(function(){
that.back();
},2000)
}
})
}else{
wx.showToast({
title: '操作失败',
icon: 'error',
duration: 2000
})
}
}
})
},
commentInput(e){
console.log(e);
var that = this;


+ 2
- 1
pages/handle/expenditureAuditNew/expenditureAuditNew.json View File

@@ -18,6 +18,7 @@
"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-empty": "@vant/weapp/empty/index",
"van-divider": "@vant/weapp/divider/index"
}
}

+ 77
- 52
pages/handle/expenditureAuditNew/expenditureAuditNew.wxml View File

@@ -323,6 +323,9 @@
<van-field required readonly label="开户银行" value="{{ form.payeeList[childrenIndex].bankDeposit }}" placeholder="请输入开户银行" border="{{ false }}" bind:change="onChange" input-align="right" arrow-direction ="down"/>
<van-field required readonly label="收入金额" value="{{ form.payeeList[childrenIndex].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}}">
@@ -369,45 +372,64 @@
<view class="fj-box">
<view class="fj-li">
<view class="fj-tt">
<text>收据</text><van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag>
<text>收据</text>
<!-- <van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> -->
</view>
<view 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}}">
<!-- <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> -->
<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>
<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}}">
<!-- <view class="img_list" wx:if="{{!form.FPimage}}">
<image class="img_li img_add" src="/image/apply/fj_upload.png"></image>
</view>
</view> -->
<van-empty wx:if="{{!form.FPimage}}" description="暂无发票" style="margin: 0 auto;" />
</view>
</view>
<view class="fj-li">
<view class="fj-tt">
<text>其他</text><van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag>
<text>其他</text>
<!-- <van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag> -->
</view>
<view 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}}">
<!-- <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>

@@ -450,57 +472,60 @@
</view>
<text class="title" style="padding: 0 calc(3% + 20px);">审批流程</text>

<view class="main-box steps-box">
<view class="main-box steps-box" style="padding: 10px 0;">
<!-- <view class="steps-tit">审批流程</view> -->
<van-row wx:for="{{spsxOptions}}" wx:key="index">
<van-col span="3">
<view class="index {{(item.approverStatus != null||index==0) ? 'active':'' }}">{{index+1}}</view>
<!-- :class="{'indexCenter':index==0 ? false : true}" -->
<block wx:if="{{index==0}}">
<view class="indexBorder">
<view class="ssT" wx:if="{{index>0}}"></view>
<view class="yq"></view>
<view class="ss" wx:if="{{spsxOptions.length != index+1}}"></view>
</view>
</block>
<block wx:else>
<view class="indexBorder indexCenter">
<view class="ssT" wx:if="{{index>0}}"></view>
<view class="yq"></view>
<view class="ss" wx:if="{{spsxOptions.length != index+1}}"></view>
</view>
</block>
</van-col>
<van-col span="21" style="height: 77px;">
<van-cell center="{{true}}" border="{{false}}">
<view slot="title" class="cellTit">
<text wx:if="{{item.electronicSignature == null}}">{{item.assigneeName}}</text>
<image wx:else src="{{item.electronicSignature}}" style="height: 24px;width: 48px;"></image>
<text wx:if="{{item.deptLabel != null}}">{{item.deptLabel}}</text>
</view>
<view class="agree" wx:if="{{item.approverStatus=='2'}}">同意</view>
<view class="in" wx:elif="{{(item.assigneeName==nickName && pageType!='see')}}">审核中</view>
<view class="disagree" wx:elif="{{item.approverStatus=='3'}}">驳回</view>
</van-cell>

<van-cell center border="{{false}}">
<view slot="title" style="margin-top: 10px;">
<view style="color: #999999;line-height: 32px;">{{ item.comment }}</view>
</view>
<view style="color: #999999;font-size: 12px;margin-top: 10px;line-height: 32px;">{{ sub.times(item.time) }}</view>
</van-cell>
<block wx:for="{{spsxOptions}}" wx:for-index="childrenIndex" wx:for-item="childrenItem" wx:key="childrenIndex">
<van-divider contentPosition="center">批次号:{{childrenItem[0]}}</van-divider>
<van-row wx:for="{{childrenItem[1]}}" wx:key="index">
<van-col span="3">
<view class="index">{{index+1}}</view>
<!-- :class="{'indexCenter':index==0 ? false : true}" {{(item.approverStatus != null||index==0) ? 'active':'' }}-->
<block wx:if="{{index==0}}">
<view class="indexBorder">
<view class="ssT" wx:if="{{index>0}}"></view>
<view class="yq"></view>
<view class="ss" wx:if="{{spsxOptions.length != index+1}}"></view>
</view>
</block>
<block wx:else>
<view class="indexBorder indexCenter">
<view class="ssT" wx:if="{{index>0}}"></view>
<view class="yq"></view>
<view class="ss" wx:if="{{childrenItem[1].length != index+1}}"></view>
</view>
</block>
</van-col>
<van-col span="21" style="height: 77px;">
<van-cell center="{{true}}" border="{{false}}">
<view slot="title" class="cellTit">
<text wx:if="{{item.electronicSignature == null}}">{{item.actorName}}</text>
<image wx:else src="{{item.electronicSignature}}" style="height: 24px;width: 48px;"></image>
<text wx:if="{{item.auditBy != null}}">{{item.auditBy}}</text>
</view>
<view class="agree" wx:if="{{item.auditStatus=='3'}}">同意</view>
<view class="in" wx:elif="{{(item.auditStatus=='1')}}">审核中</view>
<view class="disagree" wx:elif="{{item.auditStatus=='2'}}">驳回</view>
</van-cell>

</van-col>
</van-row>
<van-cell center border="{{false}}">
<view slot="title" style="margin-top: 10px;">
<view style="color: #999999;">{{ item.auditRemark==null?'无':item.auditRemark }}</view>
</view>
<view style="color: #999999;font-size: 12px;margin-top: 10px;" wx:if="{{item.auditTime}}">{{ sub.times(item.auditTime) }}</view>
</van-cell>

</van-col>
</van-row>
</block>
</view>
<van-empty wx:if="{{spsxOptions.length<1&&pageType=='see'}}" description="暂无审核数据" />
<view class="main-box" wx:if="{{pageType!='see'}}">
<view class="main-box" style="margin-top: 15px;" wx:if="{{pageType!='see'}}">
<input class="input_tit" value="{{comment}}" placeholder="请输入审批意见" bindinput="commentInput" style="margin-top: 10px;margin-bottom: 0;"/>
<!-- -->
</view>
<view class="bottom" style="margin-bottom: 0px;" wx:if="{{pageType!='see'}}">
<button type="warn" plain class="btnDis" bindtap="goDis">驳回</button>
<button type="primary" class="btnAgree" bindtap="goAgree">同意</button>
<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>


+ 57
- 44
pages/index/index.js View File

@@ -91,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();
},
@@ -132,36 +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_GETDICTTYPE + 'activity_business_type', {method:'GET'}, {
success: (res) => {
}
})
UTIL.httpRequest(API.URL_GET_TASKLIST,data, {
UTIL.httpRequest(API.A_myTodoList,data, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
let list = [];
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') {
res.rows[i].formData.expenditureAmount = Number(res.rows[i].formData.expenditureAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ","; }).replace(/\.$/, "")
list.push(res.rows[i])
}
}
}
this.setData({todoList:list,todoNum:list.length})
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) => {
}
})
},
@@ -169,27 +166,36 @@ 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 = [];
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++){
// 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) => {
@@ -199,7 +205,7 @@ Page({
}
})
},
getTransferList:function(e){
getTransferList:function(e){//已废弃
let data = {
// pageNum:1,
// pageSize:10,
@@ -216,7 +222,8 @@ 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})
}
@@ -245,6 +252,7 @@ Page({
for(let i = 0;i< c.length;i++){
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})
}
@@ -315,6 +323,7 @@ Page({
},
/* 计算bar 高度*/
computeBarLocation() {
console.log('aaaaaaaaaaaaa');
var that = this;
let CustomMenuButton = wx.getMenuButtonBoundingClientRect();
let CustomWidows = wx.getSystemInfoSync();
@@ -325,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({
@@ -348,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.getTaskList();
//查询已办
this.getTaskDoneList();
}
}
})
@@ -471,9 +484,9 @@ 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
})
},


+ 16
- 10
pages/index/index.wxml View File

@@ -151,6 +151,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,41 +172,41 @@
</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">
<view class="name_tit">{{item.formData.remark}}</view>
<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.transferType=='2'?'信用卡转账':item.formData.transferType=='1'?'银行转账':'其他'}}</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.expenditureAmount}}</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">
<view class="name_tit">{{item.formData.remark}}</view>
<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.transferType=='2'?'信用卡转账':item.formData.transferType=='1'?'银行转账':'其他'}}</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.expenditureAmount}}</view>
<view class="amount"><text class="unit">¥</text>{{item.data.expenditureAmount}}</view>
</view>
</view>
</view>
@@ -224,6 +228,7 @@
</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">
@@ -241,6 +246,7 @@
<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>


+ 1
- 1
pages/index/index.wxss View File

@@ -288,7 +288,7 @@

.workflow .workflow_list .process_pay .describe{
font-size: 30rpx;
width: 330rpx;
width: 320rpx;
color: #3c9370;
display: flex;
align-items: center;


+ 170
- 0
pages/mainBody/detail/detail.js View File

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

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

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

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

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

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

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

+ 42
- 0
pages/mainBody/list/list.wxss View File

@@ -0,0 +1,42 @@
/* pages/index/policy/list/list.wxss */
page{
height: 100vh;
overflow: hidden;
}
.label{
display: flex;
justify-content: space-between;
}
.title{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
.flex_main{
width: 92%;
background-color: #ffffff;
margin: 1.5vh auto 0;
padding: 1vw 1vw;
border-radius: 15px;
box-shadow: 0 8px 20px rgba(3, 3, 67, .1);
}

.van-search {
width: 90%;
margin: 0 auto;
}
.van-search__content {
padding-top: 5px ;
padding-bottom: 5px ;
}
.list_num{
font-size: 24rpx;
width: 85%;
margin: 0 auto;
}
.list_num text{
font-weight: bold;
color: #2A63EF;
}

+ 56
- 0
pages/majorEvent/add/add.js View File

@@ -25,6 +25,28 @@ Page({
*/
onLoad(options) {
let that = this
//所属银行
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'major_type', {method:'GET'}, {
success: (res) => {
this.setData({
majorTypeOptions:res.data
});
}
})
let templateQueryParams = {
// 分页
type:'5'
};
UTIL.httpRequest(API.URL_GET_TEMPLATELIST , templateQueryParams, {
success: (res) => {
that.setData({
approvalTemplateList:res.rows,
["form.approvalTemplateId"]:res.rows[0].id,
["form.approvalTemplateName"]:res.rows[0].name,
})
}
})

if(options.id!=null&&options.id!=""){
this.setData({id:options.id})
UTIL.httpRequest(API.URL_GET_MAJOREVENTGET + this.data.id, {method:'GET'}, {
@@ -33,6 +55,9 @@ Page({
if(res.data.auditStatus!='0'&&res.data.auditStatus!='2'){
this.setData({'showBtn':false});
}
res.data.majorTypeText = UTIL.getTransform(res.data.majorType,that.data.majorTypeOptions);
let op = that.data.approvalTemplateList.filter(function (e) { return e.id == res.data.approvalTemplateId; });
res.data.approvalTemplateName = op[0].name;
this.setData({'form':res.data})
this.selectComponent('#hf_editor').setHtml(res.data.eventContent);
}
@@ -41,6 +66,15 @@ Page({
this.onShow()
}
},
onConfirmPickApproval(event) {
console.log(event);
var that = this;
this.setData({
["form.showApprovalTemplateName"]: false,
["form.approvalTemplateName"]: event.detail.value.name,
["form.approvalTemplateId"]: event.detail.value.id,
});
},
onConfirmEventTime(e){
let data = this.getNewDate(new Date(e.detail.value));
this.setData({'form.eventTime':data});
@@ -123,6 +157,21 @@ Page({
}else if(this.data.form.eventContent===''||this.data.form.eventContent==null){ //事项内容
UTIL.showToastNoneIcon('事项内容不能为空!');
return false;
}else if(this.data.form.dzbty===''||this.data.form.dzbty==null){ //事项内容
UTIL.showToastNoneIcon('村党支部提议不能为空!');
return false;
}else if(this.data.form.lwhsy===''||this.data.form.lwhsy==null){ //事项内容
UTIL.showToastNoneIcon('两委会商议不能为空!');
return false;
}else if(this.data.form.dqyshsyhjy===''||this.data.form.dqyshsyhjy==null){ //事项内容
UTIL.showToastNoneIcon('党群议事会审议和决议不能为空!');
return false;
}else if(this.data.form.jcjggk===''||this.data.form.jcjggk==null){ //事项内容
UTIL.showToastNoneIcon('决策结果公开不能为空!');
return false;
}else if(this.data.form.ssqkgk===''||this.data.form.ssqkgk==null){ //事项内容
UTIL.showToastNoneIcon('实施情况公开不能为空!');
return false;
}else if(this.data.status=='0'){
this.setData({'status':'1'})
var that = this;
@@ -187,6 +236,13 @@ Page({
delta: 1
})
},
onConfirm(event) {
this.setData({
[event.currentTarget.dataset.name]: false,
[event.currentTarget.dataset.value]: event.detail.value.dictValue,
[event.currentTarget.dataset.value+'Text']: event.detail.value.dictLabel,
});
},
/**
* 生命周期函数--监听页面隐藏
*/


+ 48
- 8
pages/majorEvent/add/add.wxml View File

@@ -7,21 +7,61 @@

<van-field label="项目名称" value="{{ form.eventName }}" placeholder="项目名称" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.eventName"/>
<view class="section" style="margin-top: -28rpx;">
<view class="section__title"><text style="color:red;margin-right: 8rpx;">*</text>发生日期</view>
<picker mode="date" value="{{form.eventTime}}" bindchange="onConfirmEventTime">
<view class="picker">
{{form.eventTime?form.eventTime:'发生日期'}}
</view>
</picker>
</view>
<view class="section__title"><text style="color:red;margin-right: 8rpx;">*</text>发生日期</view>
<picker mode="date" value="{{form.eventTime}}" bindchange="onConfirmEventTime">
<view class="picker">
{{form.eventTime?form.eventTime:'发生日期'}}
</view>
</picker>
</view>
<van-popup show="{{form.showMajorType}}" round position="bottom" bind:close="closeBox" data-name="form.showMajorType">
<van-picker
columns="{{majorTypeOptions}}"
show-toolbar
value-key="dictLabel"
bind:cancel="closeBox"
bind:confirm="onConfirm"
data-name="form.showMajorType"
data-value="form.majorType"
/>
</van-popup>
<van-field required label="事项类型" readonly value="{{ form.majorTypeText }}" placeholder="请选择事项类型" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="openBox" data-name="form.showMajorType"/>

<van-popup show="{{form.showApprovalTemplateName}}" round position="bottom" bind:close="closeBox" data-name="form.showApprovalTemplateName">
<van-picker
columns="{{approvalTemplateList}}"
show-toolbar
value-key="name"
bind:cancel="closeBox"
bind:confirm="onConfirmPickApproval"
data-name="form.showApprovalTemplateName"
data-value="form.approvalTemplateId"
/>
</van-popup>
<van-field required label="审批流程" readonly value="{{ form.approvalTemplateName }}" placeholder="请选择审批流程" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction="down" bindtap="openBox" data-name="form.showApprovalTemplateName"/>


<view style="width:100%;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" bind:insertImage="insertImage" id="hf_editor"/>
</view>
<view style="margin-bottom: 15px;"></view>

<van-field label="理事会提议" value="{{ form.dzbty }}" placeholder="理事会提议" border="{{ false }}" bind:change="onChange" input-align="right" label-width="auto" required data-value="form.dzbty"/>
<van-field label="村党支部和理事会商议" value="{{ form.lwhsy }}" placeholder="村党支部和理事会商议" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.lwhsy"/>
<van-field label="党员会审议" value="{{ form.dqyshsyhjy }}" placeholder="党员会审议" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.dqyshsyhjy"/>
<van-field label="成员(代表)会决议" value="{{ form.cydbhjy }}" placeholder="成员(代表)会决议" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.cydbhjy"/>
<van-field label="决策结果公开" value="{{ form.jcjggk }}" placeholder="决策结果公开" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.jcjggk"/>
<van-field label="实施情况公开" value="{{ form.ssqkgk }}" placeholder="实施情况公开" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.ssqkgk"/>

<van-field label="备注" value="{{ form.remark }}" placeholder="备注" border="{{ false }}" bind:change="onChange" input-align="right" data-value="form.remark"/>
</view>
<view class="bottom" wx:if="{{showBtn}}">
<view class="btn2" bindtap="goSubmit">保存</view>
</view>
</view>
<view style="height: 30px;"></view>

+ 3
- 2
pages/majorEvent/add/add.wxss View File

@@ -1,4 +1,7 @@
/* pages/payee/add/add.wxss */
.van-cell__title, .van-cell__value {
max-width: 50%!important;
}
.main-box{
background: #ffffff;
padding: 20px;
@@ -40,8 +43,6 @@
margin-top: 30px;
margin-bottom: 30px;
display: flex;
position: absolute;
bottom: 10%;
}

.bottom view {


+ 7
- 8
pages/payee/add/add.js View File

@@ -95,22 +95,21 @@ Page({
bindKeyInput(e){
console.log(e.detail);
var that = this;
var str = e.detail.value;
var numArr = str.match(/\d+/g)
var nameArr = str.match(/[\u4e00-\u9fa5]/g).join("")
var str = e.detail.value.replace(/\s/g, "");
console.log(str);
var numArr = str.match(/\d+/g);
var nameArr = str.match(/[\u4e00-\u9fa5]/g).join("");
if (numArr) {
numArr.map(rr=>{
if (rr.length>16) {
console.log(rr);
console.log(UTIL.isBankCard(rr));
const carId = UTIL.isBankCard(rr);
if (carId) {
// const carId = UTIL.isBankCard(rr);
// if (carId) {
that.setData({
["form.payee"]:nameArr,
["form.payeeAccount"]:rr
})
}
}
// }
})
}
},


+ 2
- 0
pages/payee/index.js View File

@@ -54,8 +54,10 @@ Page({
var list = [];
array.map(res3=>{
// .replace(/^(.{6})(?:\d+)(.{4})$/,"\$1****\$2")
console.log('111111111111');
res3.payeeAccountText = res3.payeeAccount;
res3.bankTypeText = (res.data.filter(function (e) { return e.dictValue == res3.bankType; }))[0].dictLabel;
console.log((res.data.filter(function (e) { return e.dictValue == res3.bankType; }))[0].dictLabel);
if(payeeType == 2 && array.length>0){
if(res3.payeeType == 4 || res3.payeeType == 3 ){
list.push(res3)


+ 31
- 2
pages/paymentManager/paymentManager.js View File

@@ -104,9 +104,11 @@ Page({
remark:this.data.name,
paymentState:this.data.value1,
capitalExpenditureType:this.data.value2,
transferType:this.data.value3
transferType:this.data.value3,
auditStatus:'3',
method:'POST'
}
UTIL.httpRequest(API.URL_GET_TRANSFERPAYLIST,params,{
UTIL.httpRequest(API.URL_GET_TRANSFERLIST,params,{
success: (res) => {
let _this = this
if(res.code == 200){
@@ -194,6 +196,33 @@ Page({
url: '/pages/handle/expenditureAuditNew/expenditureAuditNew?id='+e.currentTarget.dataset.ids+'&&ids='+e.currentTarget.dataset.ids+'&&type=see',
})
},
toPayReapply(e){
let that = this;
wx.showModal({
title: '提示',
content: '此操作会将单据中支付失败的记录重新申请,请先确保在【首页-收款方】中已修改准确,再执行此操作!',
success (res) {
if (res.confirm) {
UTIL.httpRequest(API.reapply + e.currentTarget.dataset.ids, {method:'GET'}, {
success: (res) => {
if(res.code == 200){
wx.showToast({
title: '重新申请成功',
icon: 'success',
duration: 2000
})
that.getList();
}else{
UTIL.showToastNoneIcon('申请失败');
}
}
})
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
},
scrap(e){
console.log(e.currentTarget.dataset.data.id,e.currentTarget.dataset.data.index);
if(e.currentTarget.dataset.data.assetStatus != 1){


+ 23
- 2
pages/paymentManager/paymentManager.wxml View File

@@ -50,11 +50,32 @@
<text style="font-size: 10px;display: inline;">¥</text>{{item.expenditureAmount}}
</view>
</view>
<view style="text-align: right;" wx-if="{{(item.paymentState==4 || item.paymentState==5) && item.downId != null}}">
<view style="color:red;font-size: 18px;">
<text style="font-size: 12px;display: inline;">(已申请)</text>
</view>
</view>
<view style="text-align: right;" wx-if="{{(item.paymentState==4 || item.paymentState==5) && item.downId == null}}">
<view style="color:rgb(26,173,25);font-size: 18px;">
<text style="font-size: 12px;display: inline;">可重新申请</text>
</view>
</view>
<view style="text-align: right;">

<button wx-if="{{item.paymentState==1}}" type="primary" size="mini" style="border-radius: 15px;" bindtap="toPay" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}">待支付</button>

<button wx-if="{{item.paymentState==3}}" type="primary" size="mini" style="border-radius: 15px;background-color: #B3DB62;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">银行受理</button>
<button wx-if="{{item.paymentState==4}}" type="warn" size="mini" style="border-radius: 15px;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">支付失败</button>
<button wx-if="{{item.paymentState==5}}" type="primary" size="mini" style="border-radius: 15px;background-color: #FC9A55;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">部分失败</button>

<button wx-if="{{item.paymentState==4 && item.downId == null}}" type="warn" size="mini" style="border-radius: 15px;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayReapply">支付失败</button>

<button wx-if="{{item.paymentState==5 && item.downId == null}}" type="primary" size="mini" style="border-radius: 15px;background-color: #FC9A55;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayReapply">部分失败</button>

<button wx-if="{{item.paymentState==4 && item.downId != null}}" type="warn" size="mini" style="border-radius: 15px;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">支付失败</button>

<button wx-if="{{item.paymentState==5 && item.downId != null}}" type="primary" size="mini" style="border-radius: 15px;background-color: #FC9A55;" data-id="{{item.approvalItemTemplateId}}" data-ids="{{item.id}}" bindtap="toPayDetail">部分失败</button>
<button wx-if="{{item.paymentState==6}}" type="primary" size="mini" style="border-radius: 15px;">支付成功</button>

</view>
</view>
</view>


+ 51
- 40
pages/paymentManager/toPay/toPay.js View File

@@ -111,8 +111,8 @@ Page({
confirmText: '确定',
success: function (e) {
//非建行
if(_this.data.data.accountPassword==null||_this.data.data.accountPassword.length<1){
UTIL.showToastNoneIcon("请输入支付口令!");
if(_this.data.data.alternateField1==null||_this.data.data.alternateField1.length<1){
UTIL.showToastNoneIcon("请输入验证码!");
}else{
_this.setData({'showPopup':true})
}
@@ -145,10 +145,34 @@ Page({
confirmPay(){
let _this = this
this.setData({'showPopup':false})
if(this.data.data.bankType!=4){
console.log(this.data.data.bankType);
if(this.data.data.bankType==4){
let params = {
id : this.data.data.id,
accountPassword:this.data.data.accountPassword
alternateField1:this.data.data.alternateField1,
bankType: this.data.data.bankType
}
UTIL.httpRequest(API.URL_GET_PAY,params,{
success: (res) => {
wx.showModal({
title: "",
showCancel: false,
content: "支付成功,请等待银行进行处理,稍后可通过查询结果按钮查询银行处理结果。",
confirmText: '确定',
success: function (e) {
_this.back()
}
})
},
fail:(res) => {
UTIL.showToastNoneIcon(res)
}
})
}else{
let params = {
id : this.data.data.id,
accountPassword:this.data.data.accountPassword,
bankType: this.data.data.bankType
}
UTIL.httpRequest(API.URL_GET_PAY,params,{
success: (res) => {
@@ -169,7 +193,7 @@ Page({
content: res.msg,
confirmText: '确定',
success: function (e) {
_this.back()
}
})
}
@@ -178,27 +202,6 @@ Page({
UTIL.showToastNoneIcon(res)
}
})
}else{
let params = {
id : this.data.data.id,
accountPassword:this.data.data.accountPassword
}
UTIL.httpRequest(API.URL_GET_PAY,params,{
success: (res) => {
wx.showModal({
title: "",
showCancel: false,
content: "支付成功,请等待银行进行处理,稍后可通过查询结果按钮查询银行处理结果。",
confirmText: '确定',
success: function (e) {
_this.back()
}
})
},
fail:(res) => {
UTIL.showToastNoneIcon(res)
}
})
}
},
@@ -208,28 +211,36 @@ Page({
sendMsg(){
let _this = this
let params = {
id : this.data.data.id
id : this.data.data.id,
bankType: this.data.data.bankType
}
if(this.data.msgTime>0){
return false
}
UTIL.httpRequest(API.URL_GET_SENDMSG,params,{
success: (res) => {
if (res.toString().indexOf('短信发送失败') == -1){
_this.setData({'msgText':180+'s后可重新发送','msgTime':180})
_this.msgTimer = setInterval(()=>{
let tt = _this.data.msgTime
_this.setData({'msgText':tt--+'s后可重新发送','msgTime':tt})
if (_this.data.msgTime == 0){
clearInterval(_this.msgTimer);
_this.msgTime = 0 ;
_this.smsText = '';
}
},1000)
if (res.code == API.SUCCESS_CODE) {
if (res.toString().indexOf('短信发送失败') == -1){
_this.setData({'msgText':180+'s后可重新发送','msgTime':180})
_this.msgTimer = setInterval(()=>{
let tt = _this.data.msgTime
_this.setData({'msgText':tt--+'s后可重新发送','msgTime':tt})
if (_this.data.msgTime == 0){
clearInterval(_this.msgTimer);
_this.msgTime = 0 ;
_this.smsText = '';
}
},1000)
}else{
UTIL.showToastNoneIcon("短信发送失败,请联系管理员!");
}
}else{
UTIL.showToastNoneIcon("短信发送失败,请联系管理员!");
UTIL.showToastNoneIcon(res.msg);
}
}
},
fail:(res) => {
UTIL.showToastNoneIcon(res)
}
})
},
bindPickerChange:function(e){


+ 27
- 19
pages/paymentManager/toPay/toPay.wxml View File

@@ -45,25 +45,33 @@
</view>
</view>
</view>
<view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;" wx:if="{{data.bankType!=4}}">
<input type="number" placeholder="请输入口令" value="{{data.accountPassword}}" bindinput="bindNewInput" data-name="data.accountPassword"/>
</view>
<view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;position:relative;" wx:if="{{data.bankType==4}}">
<input type="number" placeholder="输入验证码" value="{{data.alternateField1}}" bindinput="bindNewInput" data-name="data.alternateField1"/>
<button type="primary" plain="true" size="mini" style="position: absolute;right: 4px;top: 5px;z-index: 999;" bind:disabled="{{msgTime>0}}"
bindtap="sendMsg" hover-class="btnView">发送验证码</button>
</view>
<view style="padding:10px;width:90%;" wx:if="{{msgText!=''}}">
<text style="color: red;">*{{msgText}}</text>

<view wx:if="{{data.doubleConfirmationStatus == 'Y'}}" style="margin-top: 20px;" class="main-box top-box topBox">
<view wx:if="{{data.doubleConfirmationUser == '' || data.doubleConfirmationUser == null}}">
<text style="text-align: center">等待领导复核中。。。</text>
</view>
<view wx:else>
<text style="text-align: center">{{ data.doubleConfirmationUser +'已于'+data.doubleConfirmationTime +'进行复核。'}}</text>
</view>
</view>

<block>
<view class="bottom">
<view class="btn1" bindtap="back">取消</view>
<view class="btn2" data-type="0" bindtap="goSubmit" hover-class="btnView">支付</view>
<view wx:if="{{data.doubleConfirmationStatus != 'Y' || !(data.doubleConfirmationUser == '' || data.doubleConfirmationUser == null)}}">
<view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;" wx:if="{{data.bankType == '1' || data.bankType == '2' || data.bankType == '3' || data.bankType == '5' || data.bankType == '9' || data.bankType == '10' || data.bankType == '18'}}">
<input type="number" placeholder="请输入口令" value="{{data.accountPassword}}" bindinput="bindNewInput" data-name="data.accountPassword"/>
</view>
</block>
<modal hidden="{{!showPopup}}" title="确认支付?" confirm-text="是" cancel-text="否" bindcancel="cancelPay" bindconfirm="confirmPay">
</modal>
<view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;position:relative;" wx:else>
<input type="number" placeholder="输入验证码" value="{{data.alternateField1}}" bindinput="bindNewInput" data-name="data.alternateField1"/>
<button type="primary" plain="true" size="mini" style="position: absolute;right: 4px;top: 5px;z-index: 999;" bind:disabled="{{msgTime>0}}" bindtap="sendMsg" hover-class="btnView">发送验证码</button>
</view>
<view style="padding:10px;width:90%;" wx:if="{{msgText!=''}}">
<text style="color: red;">*{{msgText}}</text>
</view>

<block>
<view class="bottom">
<view class="btn1" bindtap="back">取消</view>
<view class="btn2" data-type="0" bindtap="goSubmit" hover-class="btnView">支付</view>
</view>
</block>
<modal hidden="{{!showPopup}}" title="确认支付?" confirm-text="是" cancel-text="否" bindcancel="cancelPay" bindconfirm="confirmPay"></modal>
</view>

+ 335
- 114
pages/transaction/transaction.js View File

@@ -14,6 +14,7 @@ Page({
option1: [],
option2: [],
option3: [],
list: [],
value1: '',
value2: '',
value3: '',
@@ -39,7 +40,21 @@ Page({
});
},
projectId:'',
projectValue:''
projectValue:'',
pageNums:1,
params:{
actacn:'' , //付款账户
payeeActacn: '' , //收款账号
payeeToname:'' , //收款人
transtype:'' ,// 业务类型 数据字典:trans_type
direction:'' ,// 来往账标识 数据字典:direction
pageSize:'10',
pageNum:1,
method:'POST',
},
recordform: {},
formSms: {},
recordopen4: false
},

/**
@@ -47,6 +62,17 @@ Page({
*/
onLoad(options) {
var that = this;
let qu = wx.createSelectorQuery()
qu.select("#top_view").boundingClientRect()
qu.select("#top_ban").boundingClientRect()
qu.select("#top_view1").boundingClientRect()
qu.select("#top_view2").boundingClientRect()
qu.exec(res => {
console.log(res);
that.setData({
scrollHeight:wx.getWindowInfo().windowHeight-res[3].top
})
})
// 对账状态字典查询
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'check_status', {method:'GET'}, {
success: (res) => {
@@ -99,11 +125,9 @@ Page({
method:'GET',
accountType:102
}

UTIL.httpRequest(API.URL_GET_ACCOUNTLIST, sendData,{
success: (res) => {
console.log(res.rows)

let option1 = [];
res.rows.map(rr=>{
console.log(rr);
@@ -111,28 +135,51 @@ Page({
text: rr.accountName, value: rr.bankAccountNumber
})
})

that.setData({
option1:option1,
value1:res.rows[0].bankAccountNumber,
result1:res.rows[0].bankAccountNumber,
accountList:res.rows
})
let perames = {method:'POST',actacn:res.rows[0].bankAccountNumber,pageSize:'10'}
//交易明细列表
UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , perames, {
success: (res) => {
res.rows.map(rrr=>{
rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions);
})
that.setData({
list:res.rows
})
}
console.log(res.rows[0].bankAccountNumber);
let actacnName = (that.data.option1).filter(function (e) { return e.value == that.data.result1; });
that.setData({
actacnName:actacnName[0].text,
["params.actacn"]:res.rows[0].bankAccountNumber
})
that.getData();
}
})
},
getData(){
var that = this;
let data = that.data.list;
//交易明细列表
UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , this.data.params, {
success: (res) => {
console.log(res);
console.log(res.total +'---------------------'+ data.length);
if(res.total <= data.length){
return;
}else{
res.rows.map(rrr=>{
rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions);
data.push(rrr);
})
that.setData({
list:data
})
}
}
})
},
paging(){
this.setData({
pageNums:this.data.pageNums+1,
})
this.getData();
},
goSubmit(){
var that = this ;
let form = {
@@ -171,13 +218,13 @@ Page({
bindDateBeginChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
beginApplyDate: e.detail.value
['params.params.beginApplyDate']:e.detail.value,
})
},
bindDateEndChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
endApplyDate: e.detail.value
['params.params.endApplyDate']:e.detail.value,
})
},
reset(){
@@ -202,7 +249,10 @@ Page({
})
},
onClose() {
this.setData({ showPopup: false });
this.setData({
showPopup: false,
recordopen4: false
});
},
onChangeZH(event) {
console.log(event.detail);
@@ -225,106 +275,46 @@ Page({
changeTab1(event){
var that = this ;
let actacnName = (that.data.option1).filter(function (e) { return e.value == event.detail; });
console.log(actacnName);
this.setData({
result1: event.detail,
value1: event.detail,
actacnName:actacnName[0].text
actacnName:actacnName[0].text,
['params.actacn']:event.detail,
['params.pageNum']:1,
list:[]
});
let form = {
actacn:that.data.result1 , //付款账户
transtype:that.data.result2 ,// 业务类型 数据字典:trans_type
direction:that.data.result3 ,// 来往账标识 数据字典:direction
pageNum:'1',
pageSize:'10',
method:'POST',
}
console.log(form);
UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, {
success: (res) => {
res.rows.map(rrr=>{
rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions);
})
that.setData({
list:res.rows,
showPopup:false
})
}
})
// UTIL.httpRequest(API.URL_GET_GETRECONCILIATIONMOBILE , form, {
// success: (res) => {
// res.rows.map(rrr=>{
// rrr.checkStatusText = UTIL.getTransform(rrr.checkStatus,that.data.checkStatusOptions);
// })
// that.setData({
// list:res.rows,
// showPopup:false
// })
// }
// })
this.getData();
},
changeTab2(event){
this.setData({
result2: event.detail,
value2: event.detail
value2: event.detail,
['params.transtype']:event.detail,
['params.pageNum']:1,
list:[]
});
var that = this ;
let form = {
actacn:that.data.result1 , //付款账户
transtype:that.data.result2 ,// 业务类型 数据字典:trans_type
direction:that.data.result3 ,// 来往账标识 数据字典:direction
pageSize:'10',
method:'POST',
}
console.log(form);
UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, {
success: (res) => {
res.rows.map(rrr=>{
rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions);
})
that.setData({
list:res.rows,
showPopup:false
})
}
})
this.getData();
},
changeTab3(event){
this.setData({
result3: event.detail,
value3: event.detail
value3: event.detail,
['params.direction']:event.detail,
['params.pageNum']:1,
list:[]
});
var that = this ;
let form = {
actacn:that.data.result1 , //付款账户
transtype:that.data.result2 ,// 业务类型 数据字典:trans_type
direction:that.data.result3 ,// 来往账标识 数据字典:direction
pageSize:'10',
method:'POST',
}
console.log(form);
UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, {
success: (res) => {
res.rows.map(rrr=>{
rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions);
})
that.setData({
list:res.rows,
showPopup:false
})
}
})
this.getData();
},
minInput(e){
var that = this ;
that.setData({
txnamtMin: e.detail.value, //金额范围 最小
['params.params.txnamtMin']:e.detail.value,
})
},
maxInput(e){
var that = this ;
that.setData({
xnamtMax: e.detail.value, //金额范围最大
['params.params.xnamtMax']:e.detail.value,
})
},
openDZ(e){
@@ -440,8 +430,6 @@ Page({
})
}
}

},
showTransactionDialog(){
wx.navigateTo({
@@ -452,31 +440,30 @@ Page({
console.log(e);
var that = this;
let form = {
actacn:that.data.result1 , //付款账户
payeeActacn: '' , //收款账号
payeeToname:e.detail , //收款人
transtype:that.data.result2 ,// 业务类型 数据字典:trans_type
direction:that.data.result3 ,// 来往账标识 数据字典:direction
params:{
beginTxnDate:that.data.beginApplyDate,
endTxnDate:that.data.endApplyDate,
txnamtMin:that.data.txnamtMin,
txnamtMax:that.data.xnamtMax,
},
pageSize:'10',
method:'POST',
}
UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, {
success: (res) => {
res.rows.map(rrr=>{
rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions);
})
that.setData({
list:res.rows,
showPopup:false
})
}
})
this.setData({
list:[],
['params.payeeToname']:e.detail
});
this.getData();
// UTIL.httpRequest(API.URL_GET_GETRECORDETAILLIST , form, {
// success: (res) => {
// res.rows.map(rrr=>{
// rrr.directionText = UTIL.getTransform(rrr.direction,that.data.directionOptions);
// })
// that.setData({
// list:res.rows,
// showPopup:false
// })
// }
// })
},
/**
* 生命周期函数--监听页面初次渲染完成
@@ -525,5 +512,239 @@ Page({
*/
onShareAppMessage() {

},

handleHuidan(rows) {
console.log(rows);
this.data.recordform.id = rows.currentTarget.dataset.row.id;
this.data.recordform.method = 'GET';
this.data.recordListOpen = false;
UTIL.httpRequest(API.transactionDetailsQuery2OnlyQuery , this.data.recordform, {
success: (response) => {
this.setData({
tYinnongTradingRecordDetailList: response.data,
recordListOpen: true,
title: "查看回单列表数据"
})
}
})
},
handleView1(rows){
let dataRow = rows.currentTarget.dataset.row;
if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){
this.showfileFunction(dataRow.alternateField2);
} else{
UTIL.showToastNoneIcon("暂无回单,请到村账户模块查询电子回单!");
}
},
handleView2(rows){
this.checkId = rows.currentTarget.dataset.row.id;
this.yinnongTransfersIndexOpen = false;
this.tYinnongTransferDetaiList = [];
const baseURL = wx.getStorageSync('dressCode');
//console.info(baseURL);
const id = rows.currentTarget.dataset.row.id || this.ids
if(rows.currentTarget.dataset.row.alternateField2 != null && rows.currentTarget.dataset.row.alternateField2 != "" && rows.currentTarget.dataset.row.alternateField2.indexOf('失败') == -1){
this.receiptUrl = baseURL+rows.currentTarget.dataset.row.alternateField2;
this.recordopen = true;
if(rows.currentTarget.dataset.row.transferId != null){
this.yinnongTransfersListOpen = true;
this.yinnongTransfersIndexApplyOpen = false;
this.tYinnongTransferDetaiList=[];
queryTransferDetail(rows.currentTarget.dataset.row.transferId).then((res) => {
this.yinnongTransfersIndexOpen = true;
for (let i = 0 ; i < res.rows.length; i++){
res.rows[i].transferStatus = this.transferStatusFormat(res.rows[i])
this.tYinnongTransferDetaiList.push(res.rows[i])
}
});
}else{
this.yinnongTransfersListOpen = false;
}
} else {
bankReceiptPhoto(rows.currentTarget.dataset.row.id).then((response) => {
//console.info(response);
if (response.code === 200) {
this.receiptUrl =baseURL+ response.msg;
this.recordopen = true;
this.getList();
}
});
}
},
handleView3(rows){
const id = rows.currentTarget.dataset.row.id;
let dataRow = rows.currentTarget.dataset.row;
if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){
this.showfileFunction(dataRow.alternateField2);
} else{
UTIL.httpRequest(API.getDianzihuidan + id , {method: 'GET'}, {
success: (response) => {
if(response.data.alternateField2 != null && response.data.alternateField2 != "" && response.data.alternateField2.indexOf('失败') ==-1){
this.showfileFunction(response.data.alternateField2);
} else{
UTIL.showToastNoneIcon(response.data.alternateField2);
}
}
})
}
},
handleView4(rows){
let row = rows.currentTarget.dataset.row;
if(row.alternateField2 != null && row.alternateField2 != "" && row.alternateField2.indexOf('失败') == -1){
this.showfileFunction(row.alternateField2);
} else {
UTIL.httpRequest(API.queryReceiptPhoto4 + row.id , {method: 'GET'}, {
success: (response) => {
this.setData({
recordopen4: true
})
}
})
}
},
handleView5(rows){
let dataRow = rows.currentTarget.dataset.row;
if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){
this.showfileFunction(dataRow.alternateField2);
} else {
UTIL.httpRequest(API.queryReceiptPhoto5 + dataRow.id , {method: 'GET'}, {
success: (response) => {
if (response.code === 200) {
this.showfileFunction(response.msg);
}else{
UTIL.showToastNoneIcon(response.msg);
}
}
})
}
},
handleView6(rows){
let dataRow = rows.currentTarget.dataset.row;
if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){
const filenames = dataRow.alternateField2.split("|");
if(filenames.length == 1){
this.showfileFunction(filenames[0]);
}else{
for (var i=0;i<filenames.length;i++){
this.showfileFunction(filenames[i]);
}
}
} else {
UTIL.httpRequest(API.queryReceiptPhoto6 + dataRow.id , {method: 'GET'}, {
success: (response) => {
if (response.code === 200) {
const filenames = response.msg.split("|");
if(filenames.length == 1){
this.showfileFunction(filenames[0]);
}else{
for (var i=0;i<filenames.length;i++){
this.showfileFunction(filenames[i]);
}
}
}else{
UTIL.showToastNoneIcon(response.msg);
}
}
})
}
},
handleView8(rows){
let dataRow = rows.currentTarget.dataset.row;
if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){
const filenames = dataRow.alternateField2.split("|");
if(filenames.length == 1){
this.showfileFunction(filenames[0]);
}else{
for (var i=0;i<filenames.length;i++){
this.showfileFunction(filenames[i]);
}
}
} else {
UTIL.httpRequest(API.queryReceiptPhoto8 + dataRow.id , {method: 'GET'}, {
success: (response) => {
if (response.code === 200) {
const filenames = response.msg.split("|");
if(filenames.length == 1){
this.showfileFunction(filenames[0]);
}else{
for (var i=0;i<filenames.length;i++){
this.showfileFunction(filenames[i]);
}
}
}else{
UTIL.showToastNoneIcon(response.msg);
}
}
})
}
},
handleView18(rows){
let dataRow = rows.currentTarget.dataset.row;
if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){
this.showfileFunction(dataRow.alternateField2);
} else{
UTIL.httpRequest(API.queryReceiptPhoto18 + dataRow.id , {method: 'GET'}, {
success: (response) => {
if (response.code === 200) {
if(response.data.alternateField2 != null && response.data.alternateField2 != "" && response.data.alternateField2.indexOf('失败') ==-1){
this.showfileFunction(response.data.alternateField2);
} else{
UTIL.showToastNoneIcon(response.msg);
}
}else{
UTIL.showToastNoneIcon(response.msg);
}
}
})
}
},
/** 绑定手机号操作 */
smsSubmitForm() {
this.formSms.method = 'GET';
UTIL.httpRequest(API.bankReceiptPhoto4sms , this.formSms, {
success: (response) => {
if (response.code === 200) {
this.setData({
recordopen4: false
})
this.showfileFunction(response.msg);
}else{
UTIL.showToastNoneIcon(response.msg);
}
}
})
},

showfileFunction(url){
const baseURL = wx.getStorageSync('dressCode');
if(url.indexOf('pdf') < 0){
wx.previewImage({
current: baseURL+ url, // 当前显示图片的http链接
urls: [baseURL+ url] // 需要预览的图片http链接列表
})
}else{
wx.downloadFile({
// 示例 url,并非真实存在
url: baseURL+url,
success: function (res) {
const filePath = res.tempFilePath;
wx.openDocument({
filePath: filePath,
fileType: 'pdf', // 注意这里需要指定文件类型为'pdf'
success: function (res) {
console.log('打开文档成功');
},
fail: function (err) {
UTIL.showToastNoneIcon('打开文档失败');
}
});
},
fail: function (err) {
UTIL.showToastNoneIcon('下载文件失败');
}
});
}
}

})

+ 118
- 39
pages/transaction/transaction.wxml View File

@@ -4,7 +4,7 @@
<text style="top:{{isIPX?'54px':'30px'}};">交易明细</text>
</view>

<view class="search_box" style="margin-top:{{isIPX?'88px':'64px'}};">
<view class="search_box" id="top_view" style="margin-top:{{isIPX?'88px':'64px'}};">
<van-search
value="{{ value }}"
shape="round"
@@ -14,7 +14,7 @@
bind:change="goSearch"
/>
</view>
<view class="top_view">
<view class="top_view" id="top_view1">
<van-dropdown-menu active-color="#5CAE77" bind:change="changeTab" id="top_view1" style="width: 82%;">
<van-dropdown-item value="{{ value1 }}" options="{{ option1 }}" bind:change="changeTab1" />
<van-dropdown-item value="{{ value2 }}" options="{{ option2 }}" bind:change="changeTab2" />
@@ -25,54 +25,118 @@
<image src="/image/icon/icon_sx.png" style="width: 15px;height: 15px;margin-left: 5px;"></image>
</view>
</view>
<scroll-view scroll-y refresher-threshold="0" style="height:100%" bindscrolltolower="paging" lower-threshold="100">
<scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100" id="top_view2">
<!-- wx:for="{{list}}" wx:key="index" wx:for-item="item" right-width="{{ 50 }}" -->
<van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{list}}" wx:key="index" >
<view class="li" data-id="{{item.approvalItemTemplateId}}" data-id="{{item.id}}" bindtap="toPayDetail" >
<view style="width:70%;flex:7;">
<view class="tit_box">
<van-swipe-cell right-width="{{ 65 }}" class="workflow" wx:for="{{list}}" wx:key="index" >
<view class="li" data-id="{{item.approvalItemTemplateId}}" data-id="{{item.id}}" bindtap="toPayDetail" >
<view style="width:70%;flex:7;">
<view class="tit_box">
<view>
<text class="tit">凭证编号{{item.vchnum}}</text>
<text class="tit">{{item.payerAccount}}</text>
</view>
<text class="tit_tab2 tit_sb">{{item.vchnum}}</text>
</view>
<view class="tit_box">
<view style="background-color: #5CAE77;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">我</view>
<view>
<text class="tit">{{actacnName}}</text>
</view>
<text class="tit_tab">{{item.directionText}}</text>
</view>
<view class="tit_box">
<view style="background-color: #E90000;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">对</view>
<text class="tit">{{item.payeeToname}}</text>
<text class="tit_tab3 hui">{{item.payeeActacn}}</text>
</view>
<view style="display: flex;align-items: center;margin-top: 10px;">
<image src="/image/icon/clock_icon.png" style="width: 15px;height: 15px;border-radius:5px;margin-right: 5px;"></image>
<text style="color: #878787;line-height: 1;">{{item.txndate}}</text>
<text class="tit_tab3 {{item.direction == '1' && item.furinfo!='冲正' ? 'green' : 'red'}}">¥<text style="font-size: 1.5rem;display: inline-block;">{{item.direction == '1' ? '+' : item.furinfo!='冲正' ? '-':''}}{{item.txnamt}}</text></text>
</view>
</view>
</view>
<view slot="right" class="cell_right">
<!-- <view class="button_box"><view></view></view> -->
<!-- <view class="button_box"
data-url="{{item.alternateField2}}"
data-field1="{{item.alternateField1}}"
data-field4="{{item.alternateField4}}"
data-field9="{{item.alternateField9}}"
data-id="{{item.id}}"
bindtap="goHD"
>
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>回单</text>
</view>
</view> -->

<view class="button_box" data-row="{{item}}" bindtap="handleHuidan" wx:if="{{item.alternateField1=='2' && item.alternateField2 != null && item.alternateField2 != '' && item.alternateField2.indexOf('失败') == -1}}">
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>重查回单列表</text>
</view>
</view>

<view class="button_box" data-row="{{item}}" bindtap="handleView1" wx:if="{{item.alternateField1=='1' && item.alternateField2!='' && item.alternateField2!=null}}">
<view>
<text class="tit">凭证编号{{item.vchnum}}</text>
<text class="tit">{{item.payerAccount}}</text>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
<text class="tit_tab2 tit_sb">{{item.vchnum}}</text>
</view>
<view class="tit_box">
<view style="background-color: #5CAE77;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">我</view>
<view class="button_box" data-row="{{item}}" bindtap="handleView2" wx:if="{{item.alternateField1=='2' && item.alternateField9!='' && item.alternateField9!=null}}">
<view>
<text class="tit">{{actacnName}}</text>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
<text class="tit_tab">{{item.directionText}}</text>
</view>
<view class="tit_box">
<view style="background-color: #E90000;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">对</view>
<text class="tit">{{item.payeeToname}}</text>
<text class="tit_tab3 hui">{{item.payeeActacn}}</text>

<view class="button_box" data-row="{{item}}" bindtap="handleView4" wx:if="{{item.alternateField1=='4' && item.alternateField5!='' && item.alternateField5!=null}}">
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
</view>
<view style="display: flex;align-items: center;margin-top: 10px;">
<image src="/image/icon/clock_icon.png" style="width: 15px;height: 15px;border-radius:5px;margin-right: 5px;"></image>
<text style="color: #878787;line-height: 1;">{{item.txndate}}</text>
<text class="tit_tab3 {{item.direction == '1' && item.furinfo!='冲正' ? 'green' : 'red'}}">¥<text style="font-size: 1.5rem;display: inline-block;">{{item.direction == '1' ? '+' : item.furinfo!='冲正' ? '-':''}}{{item.txnamt}}</text></text>

<view class="button_box" data-row="{{item}}" bindtap="handleView3" wx:if="{{item.alternateField1=='3'}}">
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
</view>
</view>
</view>
<view slot="right" class="cell_right">
<!-- <view class="button_box"><view></view></view> -->
<view class="button_box"
data-url="{{item.alternateField2}}"
data-field1="{{item.alternateField1}}"
data-field4="{{item.alternateField4}}"
data-field9="{{item.alternateField9}}"
data-id="{{item.id}}"
bindtap="goHD"
>
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>回单</text>

<view class="button_box" data-row="{{item}}" bindtap="handleView5" wx:if="{{item.alternateField1=='5' && item.alternateField4!='' && item.alternateField4!=null}}">
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
</view>

<view class="button_box" data-row="{{item}}" bindtap="handleView6" wx:if="{{item.alternateField1=='6'}}">
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
</view>

<view class="button_box" data-row="{{item}}" bindtap="handleView8" wx:if="{{item.alternateField1=='8'}}">
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
</view>

<view class="button_box" data-row="{{item}}" bindtap="handleView18" wx:if="{{item.alternateField1=='18'}}">
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
</view>

</view>
</view>
</van-swipe-cell>
</van-swipe-cell>
</scroll-view>

<van-popup
@@ -157,6 +221,21 @@
<input class="input_tit" placeholder="请输入人工对账备注" style="width: 90%;margin: 0 auto;margin-top: 25px;margin-bottom: 10px;text-align: center;border: 1px solid #ddd;height: 35px;line-height: 35px;" value="{{manualRemark}}" bindinput="bindNameInput"/>
</van-dialog>


<van-dialog
use-slot
title="回单短信"
show="{{ recordopen4 }}"
bind:close="onClose"
theme='round-button'
confirmButtonText="确定"
bind:confirm="smsSubmitForm"
before-close="{{ beforeClose }}"
closeOnClickOverlay="{{ true }}"
>
<input class="input_tit" placeholder="请输入短信验证码" style="width: 90%;margin: 0 auto;margin-top: 25px;margin-bottom: 10px;text-align: center;border: 1px solid #ddd;height: 35px;line-height: 35px;" value="{{formSms.alternateField2}}" bindinput="bindNameInput"/>
</van-dialog>

<wxs module="iOf">
var indexOf = function(name,value){
return name.indexOf(value);


+ 3
- 3
pages/user/login/login.js View File

@@ -64,8 +64,8 @@ Page({
wx.setStorageSync('sessionKey', res.data.sessionKey);
getApp().globalData.userInfo.token = res.token;
}else{
wx.setstorageSync('openId', res.data.openId);
wx.setStorageSync('sessionKey', res.data.sessionkey);
wx.setStorageSync('openId', res.data.openId);
wx.setStorageSync('sessionKey', res.data.sessionKey);
this.setData({showPhoneBtn:true})
}
} else {
@@ -155,7 +155,7 @@ Page({
}
//console.log(detail)
let sendData = {
sessionKey:STORAGE.getSessionKey(),
sessionKey:wx.getStorageSync('sessionKey'),
iv:detail.iv,
encryptedData:detail.encryptedData
}


+ 2
- 2
pages/user/region/region.js View File

@@ -35,10 +35,10 @@ Page({
},
goChangeUrl(e){
// https://192.168.0.112:8080/api e.currentTarget.dataset.url
const url = e.currentTarget.dataset.url;
const url = e.currentTarget.dataset.url; //e.currentTarget.dataset.url;
const name = e.currentTarget.dataset.name;
const parentname = e.currentTarget.dataset.parentname;
wx.setStorageSync('dressCode', url);
wx.setStorageSync('dressCode', url);//'http://116.255.223.226:8082/nsgk_test'
wx.setStorageSync('dressName', parentname+'-'+name);
getApp().globalData.APIURL = url
wx.reLaunch({


+ 10
- 13
project.config.json View File

@@ -1,14 +1,5 @@
{
"description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"packOptions": {
"ignore": [
{
"value": ".eslintrc.js",
"type": "file"
}
],
"include": []
},
"setting": {
"urlCheck": false,
"es6": true,
@@ -29,8 +20,6 @@
"compileHotReLoad": false,
"lazyloadPlaceholderEnable": false,
"useMultiFrameRuntime": true,
"useApiHook": true,
"useApiHostProcess": true,
"babelSetting": {
"ignore": [],
"disablePlugins": [],
@@ -54,7 +43,15 @@
"tabSize": 2
},
"condition": {},
"appid": "wx42bfbc1eab7aacce",
"compileType": "miniprogram",
"libVersion": "2.23.2"
"packOptions": {
"ignore": [
{
"value": ".eslintrc.js",
"type": "file"
}
],
"include": []
},
"appid": "wx42bfbc1eab7aacce"
}

+ 16
- 2
project.private.config.json View File

@@ -1,10 +1,24 @@
{
"setting": {
"compileHotReLoad": false
"compileHotReLoad": true
},
"condition": {
"miniprogram": {
"list": [
{
"name": "pages/finance/list_balance_ranking/list_balance_ranking",
"pathName": "pages/finance/list_balance_ranking/list_balance_ranking",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "pages/finance/list_balance_ranking/list_balance_ranking",
"pathName": "pages/finance/list_balance_ranking/list_balance_ranking",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "pages/user/login/login",
"pathName": "pages/user/login/login",
@@ -226,5 +240,5 @@
},
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "nsgk_yebz",
"libVersion": "2.25.0"
"libVersion": "3.7.11"
}

+ 89
- 2
utils/API.js View File

@@ -28,6 +28,10 @@ const URL_POST_USERBAND = `/wechat/phoneLogin`;
const URL_GET_GETINFO = `/getInfo`;
//获取待办
const URL_GET_TASKLIST = `/activiti/process/taskList`;
//获取待办
const A_myTodoList = `/approval/audit/todoList`;
//获取已办
const A_myDoneList = `/approval/audit/doneList`;
//获取已办
const URL_GET_TASKDONELIST = `/activiti/process/taskDoneList`;
//获取已发起、已制单
@@ -137,6 +141,8 @@ const URL_GET_UPDATETYINNONGTRANSFERFOSTATUS = `/yinnong/transfer/updateTYinnong

//查询审批事项流转进度
const URL_GET_GETPROCESS = `/yinnong/transfer/getProcessSchedule/`;
//查询审批事项流转进度(新-2024-7-16)
const URL_GET_GETPROCESSNEW = `/yinnong/transfer/getProcessScheduleInfoNew/`;

//查询审批事项流转进度
const URL_GET_GETPROCESSHISTORY = `/activiti/process/listHistory/`;
@@ -147,6 +153,9 @@ const URL_GET_GETYRANSFERPROCESS = `/yinnong/transfer/getProcessSchedule/`;
//审批流办理
const URL_GET_PROCESSCOMPLETE = `/activiti/process/mobileComplete`;

//审批流办理(新)
const A_audit = `/approval/audit/audit`;

//复核
const URL_GET_TOREVIEWSUBMIT = `/yinnong/approvalItems/toReviewSubmit/`;

@@ -380,7 +389,7 @@ const URL_GET_TRANSFERINFOS= `/yinnong/transferDetail/getDetails/`;
const URL_GET_SENDMSG= `/yinnong/transfer/sendSms/`;

//支付
const URL_GET_PAY= `/yinnong/transfer/pay/`;
const URL_GET_PAY= `/yinnong/transfer/pay`;

//重大事项列表
const URL_GET_MAJOREVENTLIST= `/yinnong/majorevent/list/`;
@@ -394,6 +403,9 @@ const URL_POST_MAJOREVENTADD= `/yinnong/majorevent/add/`;
//重大事项修改
const URL_POST_MAJOREVENTUPDATE= `/yinnong/majorevent/edit/`;

//重大事项查询审批模板列表
// const URL_POST_MAJOREVENTUPDATE= `/yinnong/majorevent/edit/`;

//重大事项删除
const URL_GET_MAJOREVENTDELETE= `/yinnong/majorevent/remove/`;

@@ -475,6 +487,33 @@ const URL_GET_GETDIANZIHUIDAN2= `/yinnong/receipt/queryReceiptPhoto5/`;
//交易明细回单3
const URL_GET_GETDIANZIHUIDAN3= `/yinnong/receipt/queryReceiptPhoto/`;

//回单1
const transactionDetailsQuery2OnlyQuery= `/yinnong/receipt/transactionDetailsQuery2OnlyQuery`;

//回单2
const queryReceiptPhoto= `/yinnong/receipt/queryReceiptPhoto/`;

//回单3
const getDianzihuidan= `/yinnong/recordDetail/getDianzihuidan/`;

//回单4
const queryReceiptPhoto4= `/yinnong/receipt/queryReceiptPhoto4/`;

//回单5
const queryReceiptPhoto5= `/yinnong/receipt/queryReceiptPhoto5/`;

//回单6
const queryReceiptPhoto6= `/yinnong/receipt/queryReceiptPhoto6/`;

//回单8
const queryReceiptPhoto8= `/yinnong/receipt/queryReceiptPhoto8/`;

//回单18
const queryReceiptPhoto18= `/yinnong/receipt/queryReceiptPhoto18/`;

//验证验证码
const bankReceiptPhoto4sms= `/yinnong/receipt/bankReceiptPhoto4sms`;

//代管账户列表查询
const URL_GET_GETTACCOUNTLIST= `/yinnong/taccount/list`;

@@ -573,6 +612,7 @@ const URL_GET_TRANSFERADD = `/yinnong/transfer/add`;

//提交审批
const URL_GET_TRANSFERCUSTOMSUBMIT = `/yinnong/transfer/customSubmit/`;
const URL_GET_TRANSFERCUSTOMSUBMIT2 = `/yinnong/transfer/offlineCustomSubmit/`;

//修改银行转账
const URL_GET_TRANSFEREDIT = `/yinnong/transfer/edit`;
@@ -583,6 +623,31 @@ const URL_GET_GETCODE = `/gkyzm`;
//账号密码登录
const URL_GET_LOGIN = `/login`;

//
const getLoginBook = `/finance/book/getLoginBook`;

// 查询科目余额表 可分页 需授权
const trailBalanceList = `/finance/balance/list`;

//查询资产负债表(公式报表模板)
const assetLiabilityReportByExpTpl = `/finance/report/assetLiabilityReportByExpTpl`;

//查询收支公开榜
const financialIncomeExpenditurePublic = `/finance/open/financialIncomeExpenditurePublic`;

//公式科目模板分类列表
const expressionReportByCategory = `/finance/expressionReport/category/`;

//公式科目模板分类列表
const reapply = `/yinnong/transfer/reapply/`;


//查询主体基本信息列表
const URL_GET_ENTITYLIST = `/entity/entity/list`;

//查询主体基本信息列表
const URL_GET_ENTITYDETAIL = `/entity/entity/get/`;




@@ -606,6 +671,8 @@ export {
URL_POST_USERBAND,
URL_GET_GETINFO,
URL_GET_TASKLIST,
A_myTodoList,
A_myDoneList,
URL_GET_TASKDONELIST,
URL_GET_TRANSFERLIST,
URL_POST_UPDATEPWD,
@@ -642,8 +709,10 @@ export {
URL_GET_USERAPPRO,
URL_GET_FINDLIST,
URL_GET_APPROVALITEMS,
A_audit,
URL_GET_REMOVEAPPROVAL,
URL_GET_GETPROCESS,
URL_GET_GETPROCESSNEW,
URL_GET_PROCESSCOMPLETE,
URL_GET_TOREVIEWSUBMIT,
URL_GET_REVIEWPROCESS,
@@ -790,11 +859,29 @@ export {
URL_GET_TRANSFERREMOVE,
URL_GET_TRANSFERADD,
URL_GET_TRANSFERCUSTOMSUBMIT,
URL_GET_TRANSFERCUSTOMSUBMIT2,
URL_GET_PAYEESELECTLISTNEW,
URL_GET_TRANSFEREDIT,
URL_GET_REMOVETRANFERL,
URL_GET_selectApprovalByTemplateId,
URL_GET_UPDATETYINNONGTRANSFERFOSTATUS,
URL_GET_GETCODE,
URL_GET_LOGIN
URL_GET_LOGIN,
getLoginBook,
trailBalanceList,
assetLiabilityReportByExpTpl,
financialIncomeExpenditurePublic,
expressionReportByCategory,
transactionDetailsQuery2OnlyQuery,
queryReceiptPhoto,
getDianzihuidan,
queryReceiptPhoto4,
queryReceiptPhoto5,
queryReceiptPhoto6,
queryReceiptPhoto8,
queryReceiptPhoto18,
bankReceiptPhoto4sms,
reapply,
URL_GET_ENTITYLIST,
URL_GET_ENTITYDETAIL
}

+ 1
- 1
utils/util.js View File

@@ -473,7 +473,7 @@ const hideLoadings = () => {
}

const hideLoadingWithErrorTips = (err = '加载失败...') => {
hideLoading()
wx.hideLoading()
wx.showToast({
title: err,
icon: 'error',


Loading…
Cancel
Save