Bladeren bron

Merge branch 'master' of http://116.255.223.226:3000/zhangzl/nsgk_wechat

 Conflicts:
	env/env.js
	pages/apply/paymentTemplate/add/add.js
	pages/apply/paymentTemplate/add/add.json
	pages/apply/paymentTemplate/add/add.wxml
	utils/API.js
master
pangdongxu 3 jaren geleden
bovenliggende
commit
7a18a4e9f3
17 gewijzigde bestanden met toevoegingen van 905 en 111 verwijderingen
  1. +2
    -1
      app.json
  2. +36
    -0
      component/pop-up/index.js
  3. +4
    -0
      component/pop-up/index.json
  4. +7
    -0
      component/pop-up/index.wxml
  5. +37
    -0
      component/pop-up/index.wxss
  6. +396
    -7
      pages/apply/approval/approval.js
  7. +21
    -60
      pages/apply/approval/approval.wxml
  8. +1
    -1
      pages/apply/approval/approval.wxss
  9. +1
    -1
      pages/apply/index.js
  10. +16
    -4
      pages/apply/index.wxml
  11. +1
    -3
      pages/apply/index.wxss
  12. +226
    -26
      pages/index/index.js
  13. +2
    -1
      pages/index/index.json
  14. +34
    -4
      pages/index/index.wxml
  15. +76
    -0
      pages/index/index.wxss
  16. +44
    -2
      utils/API.js
  17. +1
    -1
      utils/util.js

+ 2
- 1
app.json Bestand weergeven

@@ -15,7 +15,8 @@
"pages/apply/paymentTemplate/see/see",
"pages/apply/paymentTemplate/add/add",
"pages/payee/index",
"pages/payee/add/add"
"pages/payee/add/add",
"component/pop-up/index"
],
"window": {
"backgroundTextStyle": "light",


+ 36
- 0
component/pop-up/index.js Bestand weergeven

@@ -0,0 +1,36 @@
Component({
options: {
multipleSlots: true // 在组件定义时的选项中启用多slot支持
},
/**
* 组件的属性列表
*/
properties: {
visible: {
type: Boolean,
value: false
}
},

/**
* 组件的初始数据
*/
data: {},

/**
* 组件的方法列表
*/
methods: {
popPreventTouchmove() { },
popPreventTouchmove2() { },
popPreventTouchmove3() { },
cityChange() { },
close() {
this.triggerEvent('close')
},
handleClickMask(e) {
// console.log(e)
if (e.target.dataset.type !== 'unclose') this.close()
}
}
})

+ 4
- 0
component/pop-up/index.json Bestand weergeven

@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

+ 7
- 0
component/pop-up/index.wxml Bestand weergeven

@@ -0,0 +1,7 @@
<view catchtouchmove="popPreventTouchmove">
<view class="q-pp-mask {{ visible ? 'q-pp-mask-show' : '' }} ptp_exposure" bindtap="handleClickMask" catchtouchmove="popPreventTouchmove" data-ptpid="0d05-191c-8bb6-b8fb">
<view class=" q-pp {{ visible ? 'q-pp-show' : '' }}" catchtouchmove="popPreventTouchmove">
<slot name="content" data-type="unclose"></slot>
</view>
</view>
</view>

+ 37
- 0
component/pop-up/index.wxss Bestand weergeven

@@ -0,0 +1,37 @@
.q-pp {
position: fixed;
width: 100%;
box-sizing: border-box;
left: 0;
right: 0;
bottom: 0;
background: #f7f7f7;
transform: translate3d(0, 100%, 0);
transform-origin: center;
transition: all 0.2s ease-in-out;
z-index: 900;
visibility: hidden;
}

.q-pp-show {
transform: translate3d(0, 0, 0);
visibility: visible;
}

.q-pp-mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
z-index: 900;
transition: all 0.2s ease-in-out;
opacity: 0;
visibility: hidden;
}

.q-pp-mask-show {
opacity: 1;
visibility: visible;
}

+ 396
- 7
pages/apply/approval/approval.js Bestand weergeven

@@ -1,4 +1,6 @@
// pages/apply/approval/approval.js
import * as UTIL from '../../../utils/util.js';
import * as API from '../../../utils/API.js';
const app = getApp();
Page({

@@ -40,22 +42,406 @@ Page({
comment: '同意'
},
],
//事务总表对象
item:{},
itemId:13,
active:0,
result:[],
show:false,
showPopup:false,
templateList:[],
templateDetailList:[],
groups:[],
villages:[],
towns:[],
temName:"",
temId:""
},

/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {

//this.getApprovalItemList();
this.groupList();
this.townList();
this.villageList();
this.getApprovalItemsById();
// this.getApprovalItemList();
},
getApprovalItemsById(){
let _this = this
let url = API.URL_GET_APPROVALITEMSBYID+this.data.itemId
wx.request({
url,
method:"GET",
timeout: 60000,
header: {
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
success: function (response) {
_this.setData({item:response.data.data})
if(_this.data.item.templateId!=""&&_this.data.item.templateId!=null){
_this.setData({item:response.data.data,temId:_this.data.itemId})
let d = {
templateId : _this.data.item.templateId,
orderByColumn:"id",
isAsc:"asc"
}
UTIL.httpRequest(API.URL_GET_TEMPLATEDETAIL, d, {
success: (r) => {
if (r.code == API.SUCCESS_CODE) {
_this.setData({templateDetailList:r.rows});
let list = []
r.rows.map(rr => {
list.push(rr.userId+"")
})
_this.setData({result:list})
}
}
})
}else {
_this.getApprovalItemList()
}
}
})
},
inputTem:function(e){
this.setData({temName:e.detail.value})
},
confirmTem:function(e){
let data={
approvalTemplate:{
name:this.data.temName,
type:1,
dataType:0
},
approvalTemplateDetailList:this.data.templateDetailList,
method:"POST"
}
UTIL.httpRequest(API.URL_POST_MOBILEADD,data,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
let list = this.data.templateList
list.push(res.data)
this.setData({
temId:res.data.id,
templateList:list,
temName:"",
showPopup:false
});
}
}
})
},
cancelTem:function(e){
this.setData({temName:"",showPopup:false});
},
upItem:function(e){
let index = e.currentTarget.dataset.id
let item = this.data.templateDetailList[index]
let list = this.data.templateDetailList
if(index>0&&index<=list.length){
list.splice(index,1)
list.splice(index-1,0,item)
for(let i = 0;i< list.length;i++){
list[i].name = i+1
}
this.setData({templateDetailList:list});
}
},
downItem:function(e){
let index = e.currentTarget.dataset.id
let item = this.data.templateDetailList[index]
let list = this.data.templateDetailList
if(index>=0&&index<list.length){
list.splice(index,1)
list.splice(index+1,0,item)
for(let i = 0;i< list.length;i++){
list[i].name = i+1
}
this.setData({templateDetailList:list});
}
},
getApprovalItemList:function(){
let data={
dataType:0,
pageNum:1,
pageSize:50
}
UTIL.httpRequest(API.URL_GET_TEMPLATELIST, data, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({templateList:res.rows});
if(res.total>0){
let d = {
templateId : res.rows[0].id,
orderByColumn:"id",
isAsc:"asc"
}
UTIL.httpRequest(API.URL_GET_TEMPLATEDETAIL, d, {
success: (r) => {
if (r.code == API.SUCCESS_CODE) {
this.setData({templateDetailList:r.rows});
let list = []
r.rows.map(rr => {
list.push(rr.userId+"")
})
this.setData({result:list})
}
}
})
}
}
}
})
},
chooseTemplate:function(e){
let data = {
templateId : e.currentTarget.dataset.id,
orderByColumn:"id",
isAsc:"asc"
}
UTIL.httpRequest(API.URL_GET_TEMPLATEDETAIL, data, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({templateDetailList:res.rows});
this.closeBox();
}
}
})
},
deleteTemplate:function(e){
let ids = [e.currentTarget.dataset.id]
let url = API.URL_GET_MOBILEREMOVE+ids
let _this = this
wx.request({
url,
method:"GET",
timeout: 60000,
header: {
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
success: function (response) {
_this.getApprovalItemList()
}
})
},
townList:function(){
let _this = this
let url = API.URL_GET_TOWNINFOBYDEPTID+0
wx.request({
url,
method:"GET",
timeout: 60000,
header: {
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
success: function (response) {
let d = {
deptId:response.data.data.deptId,
deptLevel:3
}
UTIL.httpRequest(API.URL_GET_USERLIST,d,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
console.log(res);
_this.setData({towns:res.rows});
}
}
})
}
})
},
groupList:function(){
let data = {
deptId : 187,
deptLevel:1
}
UTIL.httpRequest(API.URL_GET_USERLIST,data ,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({groups:res.rows});
}
}
})
},
villageList:function(){
let data = {
deptId : 187,
deptLevel:2
}
UTIL.httpRequest(API.URL_GET_USERLIST,data ,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({villages:res.rows});
}
}
})
},
onChange(event) {
this.setData({
result: event.detail,
});
let _this = this
this.setData({result:event.detail})
this.setData({templateDetailList:[]})
let list = _this.data.templateDetailList
for (let j in event.detail){
let str = event.detail[j]
for(let i in _this.data.groups){
if(_this.data.groups[i].userId == str){
let sin = _this.data.groups[i]
list.push(sin)
_this.setData({templateDetailList:list})
}
}
for(let i in _this.data.villages){
if(_this.data.villages[i].userId == str){
let sin = _this.data.villages[i]
list.push(sin)
_this.setData({templateDetailList:list})
}
}
for(let i in _this.data.towns){
if(_this.data.towns[i].userId == str){
let sin = _this.data.towns[i]
list.push(sin)
_this.setData({templateDetailList:list})
}
}
}
},
save:function(){
let _this = this
let list = this.data.templateDetailList
list = list.filter(function(e,i,s){
s[i].name = i+1
return true
})
if(this.data.temId==""||this.data.temId==null){
let data={
approvalTemplate:{
name:this.data.temName,
type:1,
dataType:1
},
approvalTemplateDetailList:list,
method:"POST"
}
UTIL.httpRequest(API.URL_POST_MOBILEADD,data,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
let list = this.data.templateList
list.push(res.data)
this.setData({
temId:res.data.id,
templateList:list,
temName:""
});
let item_ = this.data.item
item_.templateId = res.data.id
item_.method = "POST"
UTIL.httpRequest(API.URL_POST_APPROVALITEMSEDIT,item_,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
wx.showToast({
title: "暂存成功!",
duration: 2000,
icon:"success"
})
}
}
})
}
}
})
}else{
let url = API.URL_POST_TEMPLATEEDIT
wx.request({
url,
data: list,
method:"POST",
timeout: 60000,
header: {
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
success: function (response) {
wx.showToast({
title: "暂存成功!",
duration: 2000,
icon:"success"
})
},
})
}
},
submit:function(){
let _this = this
if(this.data.temId==""||this.data.temId==null){
let data={
approvalTemplate:{
name:this.data.temName,
type:1,
dataType:1
},
approvalTemplateDetailList:this.data.templateDetailList,
method:"POST"
}
UTIL.httpRequest(API.URL_POST_MOBILEADD,data,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
let list = this.data.templateList
list.push(res.data)
this.setData({
temId:res.data.id,
templateList:list,
temName:""
});
let item_ = this.data.item
item_.templateId = res.data.id
item_.method = "POST"
UTIL.httpRequest(API.URL_POST_APPROVALITEMSEDIT,item_,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
_this.requestSubmit()
}
}
})
}
}
})
}else{
let url = API.URL_POST_TEMPLATEEDIT
wx.request({
url,
data: _this.data.templateDetailList,
method:"POST",
timeout: 60000,
header: {
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
success: function (response) {
_this.requestSubmit()
},
})
}
},
requestSubmit:function(){
let url = API.URL_POST_APPROVALITEMSSUBMIT+this.data.item.id+"/"+this.data.item.templateId
wx.request({
url,
method:"POST",
timeout: 60000,
header: {
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
success: function (r) {
wx.showToast({
title: "提交成功!",
duration: 2000,
icon:"success"
})
},
})
},
openBox:function(){
var that = this ;
@@ -66,15 +452,18 @@ Page({
closeBox:function(){
var that = this ;
that.setData({
show: false,
show: false
})
},
showPopup() {
this.setData({ showPopup: true });
this.setData({
showPopup: true,
temName:""
});
},

onClose() {
this.setData({ showPopup: false });
this.setData({ showPopup: false});
},
/**
* 生命周期函数--监听页面初次渲染完成


+ 21
- 60
pages/apply/approval/approval.wxml Bestand weergeven

@@ -6,7 +6,7 @@
<view class="pure_top" style="top:{{isIPX?'88px':'64px'}};"></view>
<view class="main-box top-box steps-box" style="margin-top:{{isIPX?'100px':'75px'}};">
<text class="box-title">审批事项</text>
<van-row wx:for="{{steps}}" wx:key="index">
<van-row wx:for="{{templateDetailList}}" wx:key="index">
<van-col span="3">
<view class="index">{{index+1}}</view>
<!-- :class="{'indexCenter':index==0 ? false : true}" -->
@@ -28,11 +28,11 @@
<van-col span="21">
<van-cell center="{{true}}" border="{{false}}">
<view slot="title">
{{item.activityName}}<text style="display: inline-block;margin-left: 10px;">村级主任审批</text>
{{item.name?item.name:index+1}}级审批<text style="display: inline-block;margin-left: 10px;">{{item.nickName}}</text>
</view>
<view style="display: flex;align-items: center;justify-content:flex-end;">
<image src="/image/apply/icon_up.png" style="width: 20px;height: 20px;"></image>
<image src="/image/apply/icon_down.png" style="width: 20px;height: 20px;margin-left: 10px;"></image>
<image src="/image/apply/icon_up.png" style="width: 20px;height: 20px;" bindtap="upItem" data-id="{{index}}"></image>
<image src="/image/apply/icon_down.png" style="width: 20px;height: 20px;margin-left: 10px;" bindtap="downItem" data-id="{{index}}"></image>
</view>
</van-cell>
</van-col>
@@ -40,33 +40,18 @@
<view class="check_box">
<van-checkbox-group value="{{ result }}" bind:change="onChange">
<van-row>
<van-col span="12">
<van-checkbox name="a" shape="square" checked-color="#2C8E68">董事长:张三</van-checkbox>
<van-checkbox name="b" shape="square" checked-color="#2C8E68">董事长:张三</van-checkbox>
</van-col>
<van-col span="12">
<van-checkbox name="c" shape="square" checked-color="#2C8E68">董事长:张三</van-checkbox>
<van-checkbox name="d" shape="square" checked-color="#2C8E68">董事长:张三</van-checkbox>
<van-col span="24" >
<van-checkbox wx:for="{{groups}}" wx:for-item="item" name="{{item.userId}}" shape="square" checked-color="#2C8E68">{{item.roles[0].roleName}}:{{item.nickName}}</van-checkbox>
</van-col>
</van-row>
<van-row>
<van-col span="12">
<van-checkbox name="a" shape="square" checked-color="#2C8E68">村长:张三</van-checkbox>
<van-checkbox name="b" shape="square" checked-color="#2C8E68">村书记:张三</van-checkbox>
</van-col>
<van-col span="12">
<van-checkbox name="c" shape="square" checked-color="#2C8E68">村主任:张三</van-checkbox>
<van-checkbox name="d" shape="square" checked-color="#2C8E68">村党委:张三</van-checkbox>
<van-col span="24" >
<van-checkbox wx:for="{{villages}}" wx:for-item="item" name="{{item.userId}}" shape="square" checked-color="#2C8E68">{{item.roles[0].roleName}}:{{item.nickName}}</van-checkbox>
</van-col>
</van-row>
<van-row>
<van-col span="12">
<van-checkbox name="a" shape="square" checked-color="#2C8E68">镇长:张三</van-checkbox>
<van-checkbox name="b" shape="square" checked-color="#2C8E68">镇书记:张三</van-checkbox>
</van-col>
<van-col span="12">
<van-checkbox name="c" shape="square" checked-color="#2C8E68">镇主任:张三</van-checkbox>
<van-checkbox name="d" shape="square" checked-color="#2C8E68">镇党委:张三</van-checkbox>
<van-col span="24">
<van-checkbox wx:for="{{towns}}" wx:for-item="item" name="{{item.userId}}" shape="square" checked-color="#2C8E68">{{item.roles[0].roleName}}:{{item.nickName}}</van-checkbox>
</van-col>
</van-row>
</van-checkbox-group>
@@ -79,12 +64,12 @@
</view>

<view class="bottom">
<view class="btn1" bindtap="openBox">保存</view>
<view class="btn2" bindtap="goApproval">保存并提交</view>
<view class="btn1" bindtap="save">暂存</view>
<view class="btn2" bindtap="submit">提交</view>
</view>

<van-action-sheet show="{{show}}" title="选择审批模板" bind:close="closeBox">
<van-swipe-cell right-width="{{ 65 }}">
<!-- <van-swipe-cell right-width="{{ 65 }}">
<van-cell label="支付水电、网费、房租" bindtap="goTemplate" >
<view slot="title">
<view class="van-cell-text">日常支付水电模板<van-tag plain type="danger" color="#FC9A55" style="margin-left:10px;">默认</van-tag></view>
@@ -94,41 +79,17 @@
<view slot="right" class="deleteBox">
<image src="/image/apply/icon_delete.png" style="width: 25px;height: 25px;margin: 0 auto;"></image>
</view>
</van-swipe-cell>
<van-swipe-cell right-width="{{ 65 }}">
<van-cell title="日常支付水电模板" label="支付水电、网费、房租" >
</van-swipe-cell> -->
<van-swipe-cell right-width="{{ 65 }}" wx:for="{{templateList}}" wx:for-item="item" >
<van-cell title="{{item.name}}" bindtap='chooseTemplate' data-id="{{item.id}}">
<van-icon slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mb.png?sign=2a8bbe2cb4d4e0f28a99fddbe042d26c&t=1648620032" class="custom-icon" size="40" style="margin-right: 10px;" />
</van-cell>
<view slot="right" class="deleteBox">
<view slot="right" class="deleteBox" bindtap='deleteTemplate' data-id="{{item.id}}">
<image src="/image/apply/icon_delete.png" style="width: 25px;height: 25px;margin: 0 auto;"></image>
</view>
</van-swipe-cell>
<van-swipe-cell right-width="{{ 65 }}">
<van-cell title="日常支付水电模板" label="支付水电、网费、房租" >
<van-icon slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mb.png?sign=2a8bbe2cb4d4e0f28a99fddbe042d26c&t=1648620032" class="custom-icon" size="40" style="margin-right: 10px;" />
</van-cell>
<view slot="right" class="deleteBox">
<image src="/image/apply/icon_delete.png" style="width: 25px;height: 25px;margin: 0 auto;"></image>
</view>
</van-swipe-cell>
<van-swipe-cell right-width="{{ 65 }}">
<van-cell title="日常支付水电模板" label="支付水电、网费、房租" >
<van-icon slot="icon" name="https://636c-cloud1-8gya17a31667774d-1310628902.tcb.qcloud.la/icon_mb.png?sign=2a8bbe2cb4d4e0f28a99fddbe042d26c&t=1648620032" class="custom-icon" size="40" style="margin-right: 10px;" />
</van-cell>
<view slot="right" class="deleteBox">
<image src="/image/apply/icon_delete.png" style="width: 25px;height: 25px;margin: 0 auto;"></image>
</view>
</van-swipe-cell>
</van-action-sheet>

<van-dialog
use-slot
title="审批模板"
show="{{ showPopup }}"
bind:close="onClose"
theme='round-button'
confirmButtonText="保存"
closeOnClickOverlay="{{ true }}"
>
<input class="input_tit" placeholder="请输入模板名称" style="width: 90%;margin: 0 auto;margin-top: 15px;margin-bottom: 10px;text-align: center;"/>
</van-dialog>
</van-action-sheet>
<modal hidden="{{!showPopup}}" title="审批模板" confirm-text="保存" cancel-text="取消" bindcancel="cancelTem" bindconfirm="confirmTem">
<input type='text' placeholder="请输入模板名称" bindinput="inputTem" auto-focus/>
</modal>

+ 1
- 1
pages/apply/approval/approval.wxss Bestand weergeven

@@ -143,7 +143,7 @@ text{display: block;}
.check_box .van-col{
height: auto;
}
.check_box van-checkbox:nth-child(2n) .van-checkbox {
.check_box van-checkbox:nth-child(n) .van-checkbox {
margin-top: 15px;
}
.van-checkbox__icon-wrap {


+ 1
- 1
pages/apply/index.js Bestand weergeven

@@ -1,7 +1,7 @@
// pages/apply/index.js
const app = getApp();
import * as UTIL from '../../utils/util.js';
import * as API from '../../utils/API.js';
const app = getApp();
Page({

/**


+ 16
- 4
pages/apply/index.wxml Bestand weergeven

@@ -5,7 +5,7 @@
</view>
<!-- 付款单位开始 -->
<view class="top" style="margin-top:{{isIPX?'100px':'75px'}};">
<image src="../../image/apply/dress_icon.png"></image>
<image src="../../image/apply/dress_icon.png" mode="widthFix"></image>
<view class="top-tit">付款单位</view>
<view class="top-title">{{bookName}}</view>
</view>
@@ -13,15 +13,27 @@
<view class="main">
<van-tabs sticky color="#000">
<van-tab title="银行账户">
<view class="bank_box" wx:for="{{accountList}}" wx:key="index">
<view class="bank_box">
<text class="zt">一般户</text>
<image src="../../image/apply/jsyh_bg2.png" style="width: 100%;position: absolute;bottom:0;z-index: 9;" mode="widthFix"></image>
<image src="../../image/apply/bgt.png" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image>
<view class="bank_content">
<image src="../../image/apply/jsyh_icon.png" style="width: 28%;" mode="widthFix"></image>
<view style="margin-bottom: 2vh;">{{item.bankAccountNumber}}<text>卡号</text></view>
<view style="margin-bottom: 2vh;">6217 0021 9000 7972 186<text>卡号</text></view>
<view>可用余额</view>
<view style="font-weight: bold;font-size: 22px;margin-top: 2vh;">{{item.balance}}</view>
<view style="font-weight: bold;font-size: 22px;margin-top: 2vh;">10,288.83</view>
</view>
</view>

<view class="bank_box">
<text class="zt">一般户</text>
<image src="../../image/apply/jsyh_bg2.png" style="width: 100%;position: absolute;bottom:0;z-index: 9;" mode="widthFix"></image>
<image src="../../image/apply/bgt.png" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image>
<view class="bank_content">
<image src="../../image/apply/jsyh_icon.png" style="width: 28%;" mode="widthFix"></image>
<view style="margin-bottom: 2vh;">6217 0021 9000 7972 186<text>卡号</text></view>
<view>可用余额</view>
<view style="font-weight: bold;font-size: 22px;margin-top: 2vh;">10,288.83</view>
</view>
</view>



+ 1
- 3
pages/apply/index.wxss Bestand weergeven

@@ -7,7 +7,6 @@
border-radius: 10px;
margin-top: 3vw;
overflow: hidden;
position: relative;
}
.top view{
padding: 18px 15px;
@@ -17,8 +16,7 @@
}
.top image{
position: absolute;
width: 100%;
height: 100%;
width: 94%;
}
.top-title{
flex: 1;


+ 226
- 26
pages/index/index.js Bestand weergeven

@@ -7,6 +7,19 @@ Page({
wrokScrollHeight:0,
userInfoObj:{}, //用户信息,
item:"",
address: '', //详细收货地址(四级)
value: [0, 0, 0], // 地址选择器省市区 暂存 currentIndex
region: '', //所在地区
deptId: '',
regionValue: [0, 0, 0], // 地址选择器省市区 最终 currentIndex
provinces: [], // 一级地址
citys: [], // 二级地址
areas: [], // 三级地址
visible: false,
isCanConfirm: true, //是否禁止在第一列滚动期间点击确定提交数据
bookId:"",
bookName:"",
bookList:[],
active:1,
// 待办列表
todoList:[],
@@ -51,6 +64,21 @@ Page({
this.getTransferList1();
//查询已制单
this.getTransferList2();
//查询dept
this.getTreeDept();
},
reset:function(){
this.setData({
active:1,
todoList:[],
doneList:[],
yfqList:[],
yzdList:[],
todoNum:0,
doneNum:0,
yfqNum:0,
yzdNum:0
})
},
switchTab:function(e){
this.setData({
@@ -65,6 +93,7 @@ Page({
}
}
},

getTaskList:function(e){
let data = {
pageNum:1,
@@ -90,7 +119,6 @@ Page({
console.log(res);
},
complete: (res) => {
console.log(res);
}
})
},
@@ -119,7 +147,6 @@ Page({
console.log(res);
},
complete: (res) => {
console.log(res);
}
})
},
@@ -133,17 +160,16 @@ Page({
}
UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, {
success: (res) => {
console.log(res);
if (res.code == API.SUCCESS_CODE) {
console.log(res);
let a = this.data.yfqNum+res.total
this.setData({yfqNum:a})
this.setData({yfqList:res.rows})
let b = this.data.yfqList
this.setData({yfqList:res.rows.concat(b)})
}
}, fail: (res) => {
console.log(res);
},
complete: (res) => {
console.log(res);
}
})
},
@@ -157,17 +183,16 @@ Page({
}
UTIL.httpRequest(API.URL_GET_TRANSFERLIST,data, {
success: (res) => {
console.log(res);
if (res.code == API.SUCCESS_CODE) {
console.log();
let a = this.data.yfqNum+res.total
this.setData({yfqNum:a})
this.setData({yfqList:res.rows})
let b = this.data.yfqList
this.setData({yfqList:res.rows.concat(b)})
}
}, fail: (res) => {
console.log(res);
},
complete: (res) => {
console.log(res);
}
})
},
@@ -187,10 +212,8 @@ Page({
this.setData({yzdList:res.rows})
}
}, fail: (res) => {
console.log(res);
},
complete: (res) => {
console.log(res);
}
})
},
@@ -201,20 +224,20 @@ Page({
})
},
//跳转支出申请
swichPayment:function(e){
console.log(e.currentTarget.dataset.current);
// let cur = e.currentTarget.dataset.current;
// if (this.data.currentTaB == cur) {
// return false;
// }else{
// wx.navigateTo({
// url: '../inCome/index?id=' + id,
// })
// }
wx.navigateTo({
url: '/pages/apply/index?',
})
},
swichPayment:function(e){
console.log(e.currentTarget.dataset.current);
// let cur = e.currentTarget.dataset.current;
// if (this.data.currentTaB == cur) {
// return false;
// }else{
// wx.navigateTo({
// url: '../inCome/index?id=' + id,
// })
// }
wx.navigateTo({
url: '/pages/apply/index?',
})
},
toList:function(){
wx.navigateTo({
url: '/pages/handle/liist?active='+this.data.active,
@@ -253,9 +276,186 @@ swichPayment:function(e){
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({userInfoObj:res.user})
this.setData({region:res.user.deptName})
this.setData({item:JSON.stringify(res.user)})
this.getBookList()
}
}
})
},
/* 获取区镇村*/
getTreeDept:function(){
UTIL.httpRequest(API.URL_GET_TREESELECTBYUSER, {method:'GET'}, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({provinces:res.data})
this.setData({citys:res.data[0].children})
this.setData({areas:res.data[0].children[this.data.value[1]].children})
}
}
})
},
/* 获取区镇村*/
getBookList:function(){
let d = {
loginDeptID : this.data.userInfoObj.loginDeptId
}
UTIL.httpRequest(API.URL_GET_BOOKLISTBYDEPTID,d, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({bookList:res.rows})
if(this.data.bookName==""&&res.total>0){
this.setData({bookName:res.rows[0].bookName})
this.setData({bookId:res.rows[0].id})
}else if(this.data.bookName==""&&res.total==0){
this.setData({bookName:"无可用账套"})
}
}
},fail:(res) => {

},complete:(res) => {

}
})
},
bindPickerChange:function(e){
this.setData({
bookId: this.data.bookList[e.detail.value].id,
bookName:this.data.bookList[e.detail.value].bookName
})
let data={
loginBookId:this.data.bookList[e.detail.value].id
}
let _this = this
UTIL.httpRequest(API.URL_GET_CHANGEBOOK,data, {
success: (res) => {
_this.reset()
_this.onLoad()
}
})
},
closePopUp() {
this.setData({
visible: false
})
},
pickAddress() {
this.setData({
visible: true,
value: [...this.data.regionValue]
})
},
// 处理省市县联动逻辑 并保存 value
cityChange(e) {
var value = e.detail.value
let {
provinces,
citys
} = this.data
var provinceNum = value[0]
var cityNum = value[1]
var areaNum = value[2]
if (this.data.value[0] !== provinceNum) {
var id = provinces[provinceNum].id
this.setData({
value: [provinceNum, 0, 0],
citys: this.data.provinces[provinceNum].children,
areas: this.data.provinces[provinceNum].children[cityNum].children
})
} else if (this.data.value[1] !== cityNum) {
var id = citys[cityNum].id
this.setData({
value: [provinceNum, cityNum, 0],
areas: this.data.provinces[provinceNum].children[cityNum].children
})
} else {
this.setData({
value: [provinceNum, cityNum, areaNum]
})
}
console.log(this.data.value);
},
preventTouchmove() {},
// 城市选择器
// 点击地区选择取消按钮
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],
visible: false
})
},
// 提交时由序号获取省市区id
getRegionId(type) {
let value = this.data.regionValue
let provinceId = this.data.provinces[value[0]].id
let townId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id
let areaId = ''
if (this.data.provinces[value[0]].children[value[1]].children[value[2]].id) {
areaId = this.data.provinces[value[0]].children[value[1]].children[value[2]].id
} else {
areaId = 0
}
if (type === 'provinceId') {
return provinceId
} else if (type === 'townId') {
return townId
} else {
return areaId
}
},
chooseStart(e) {
this.setData({
isCanConfirm: false
})
},
chooseEnd(e) {
this.setData({
isCanConfirm: true
})
},
// 点击地区选择确定按钮
citySure(e) {
if (this.data.isCanConfirm) {
var value = this.data.value
this.setData({
visible: false
})
// 将选择的城市信息显示到输入框
try {
var region = (this.data.provinces[value[0]].label || '') + (this.data.citys[value[1]].label || '')
if (this.data.areas.length > 0) {
region = this.data.areas[value[2]].label || ''
} else {
this.data.value[2] = 0
}
} catch (error) {
console.log('adress select something error')
}
this.setData({
region: region,
lastCitys: this.data.citys,
lastAreas: this.data.areas,
regionValue: value,
deptId:this.getRegionId('areas')
}, () => {
let data={
loginDeptID : this.getRegionId('areas')
}
let _this = this
UTIL.httpRequest(API.URL_GET_CHANGEDEPT,data, {
success: (res) => {
setTimeout(()=>{
_this.reset()
_this.onLoad()
},1000)
}
})
})
}
}
})

+ 2
- 1
pages/index/index.json Bestand weergeven

@@ -1,6 +1,7 @@
{
"usingComponents": {
"icon-loading":"/component/iconLoading/iconLoading"
"icon-loading":"/component/iconLoading/iconLoading",
"pop-up": "/component/pop-up/index"
},
"navigationStyle": "custom"
}

+ 34
- 4
pages/index/index.wxml Bestand weergeven

@@ -16,12 +16,20 @@
</view>
<view class="task_wrap ">
<view class="flex_block">
<view class="desc">未完成</view>
<view class="event">{{todoNum}}件</view>
<!-- <view class="desc">未完成</view> -->
<view class="event" bindtap="pickAddress">
{{ region || "请选择" }}
</view>
</view>
<view class="flex_block unfinished">
<view class="desc">已完成</view>
<view class="event">{{doneNum}}件</view>
<!-- <view class="desc">已完成</view> -->
<view class="event">
<picker bindchange="bindPickerChange" value="{{index}}" range-key="bookName" range="{{bookList}}">
<view class="picker">
{{array[index]|| bookName}}
</view>
</picker>
</view>
</view>
</view>
<view class="address_wrap">
@@ -31,6 +39,7 @@

</view>
</view>
<!--主导航-->
<view class="navList_main">
<view class="tab_item" bindtap='swichPayment'>
@@ -160,4 +169,25 @@
</view>
</view>
</scroll-view>
<pop-up visible="{{visible}}" onClose="closePopUp">
<view slot="content">
<view class="picker-view">
<view class="picker-view__pane">
<text catchtap="cityCancel">取消</text>
<text catchtap="citySure">确定</text>
</view>
<picker-view class="pick-view__group" bindchange="cityChange" bindpickstart="chooseStart" bindpickend="chooseEnd" value="{{value}}">
<picker-view-column indicator-class="item_active">
<view wx:for="{{provinces}}" class="picker-item" wx:key="index">{{item.label}}</view>
</picker-view-column>
<picker-view-column>
<view wx:for="{{citys}}" class="picker-item" wx:key="index">{{item.label}}</view>
</picker-view-column>
<picker-view-column>
<view wx:for="{{areas}}" class="picker-item" wx:key="index">{{item.label}}</view>
</picker-view-column>
</picker-view>
</view>
</view>
</pop-up>
</view>

+ 76
- 0
pages/index/index.wxss Bestand weergeven

@@ -302,4 +302,80 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.btn{
width: 100%;
height:90rpx;
padding:0 24rpx;
box-sizing:border-box;
line-height: 90rpx;
text-align: center;
display: flex;
background:rgba(255,255,255,.8);
justify-content: space-between;
}
.address-item {
min-height: 98rpx;
display: flex;
justify-content: flex-start;
align-items: center;
border-bottom: 1px solid #f1f1f1;
padding: 0 32rpx
}
.item-title {
width: 140rpx;
color: #4d4c4c;
font-size: 28rpx;
height: 98rpx;
line-height: 98rpx;
}
.item-content {
width: 520rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size: 28rpx;
height: 98rpx;
line-height: 98rpx;
color: #4d4c4c;
}
/* 地区级联选择器 */
.picker-view {
width: 100%;
display: flex;
background-color: #fff;
flex-direction: column;
justify-content: center;
align-items: center;
bottom: 0rpx;
left: 0rpx;
}
.picker-item {
line-height: 70rpx;
margin-left: 5rpx;
margin-right: 5rpx;
text-align: center;
}
.picker-view__pane {
height: 100rpx;
width: 100%;
padding: 20rpx 32rpx;
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
}
.picker-view__pane text{
color: #00cc88;
font-size: 30rpx;
}
.pick-view__group {
width: 96%;
height: 450rpx;
}

+ 44
- 2
utils/API.js Bestand weergeven

@@ -49,7 +49,14 @@ const URL_POST_USEREDIT = `${URL_PREFIX}/system/user/edit`;
const URL_GET_ACCOUNTLIST = `${URL_PREFIX}/cashier/account/list`;
//查看事项审批模板列表
const URL_GET_APPROVALITEMSLIST = `${URL_PREFIX}/yinnong/approvalItems/list`;

//获取区、镇、村地区
const URL_GET_TREESELECTBYUSER = `${URL_PREFIX}/system/dept/treeselectByUser`;
//获取账套列表
const URL_GET_BOOKLISTBYDEPTID = `${URL_PREFIX}/finance/book/listByDeptId`;
//切换部门
const URL_GET_CHANGEDEPT = `${URL_PREFIX}/system/user/changeDept`;
//切换账套
const URL_GET_CHANGEBOOK = `${URL_PREFIX}/system/user/changeBook`;
//字典查询
const URL_GET_GETDICTTYPE = `${URL_PREFIX}/system/dict/data/type/`;

@@ -67,7 +74,27 @@ const URL_GET_PAYEESELECTLIST = `${URL_PREFIX}/yinnong/payee/list`;

//当前账套付款账户列表
const URL_GET_SELECTACCOUNTLIST = `${URL_PREFIX}/cashier/account/accountList`;

//查询审批流模板列表
const URL_GET_TEMPLATELIST = `${URL_PREFIX}/service/template/list`;

//查询审批流模板列表
const URL_GET_TEMPLATEDETAIL = `${URL_PREFIX}/service/templateDetail/list`;
//根据系统组织机构id查询所在乡镇
const URL_GET_TOWNINFOBYDEPTID = `${URL_PREFIX}/system/dept/getTownInfoByDeptId/`;
//根据条件查询用户信息
const URL_GET_USERLIST = `${URL_PREFIX}/system/user/list`;
//新增模板
const URL_POST_MOBILEADD = `${URL_PREFIX}/service/template/mobileAdd`;
//删除模板
const URL_GET_MOBILEREMOVE = `${URL_PREFIX}/service/template/remove/`;
//通过审批事项id查询审批事项
const URL_GET_APPROVALITEMSBYID = `${URL_PREFIX}/yinnong/approvalItems/get/`;
//审批流id保存到事项审批
const URL_POST_APPROVALITEMSEDIT = `${URL_PREFIX}/yinnong/approvalItems/edit`;
//修改审批流数据
const URL_POST_TEMPLATEEDIT = `${URL_PREFIX}/service/templateDetail/editBatch`;
//审核事项申请
const URL_POST_APPROVALITEMSSUBMIT = `${URL_PREFIX}/yinnong/approvalItems/approvalItemsSubmit/`;
//汇票列表
const URL_GET_MONEYORDERLIST = `${URL_PREFIX}/yinnong/moneyorder/list`;

@@ -115,11 +142,26 @@ export {
URL_POST_USEREDIT,
URL_GET_ACCOUNTLIST,
URL_GET_APPROVALITEMSLIST,
URL_GET_TREESELECTBYUSER,
URL_GET_BOOKLISTBYDEPTID,
URL_GET_CHANGEBOOK,
URL_GET_CHANGEDEPT,
URL_GET_GETDICTTYPE,
URL_GET_GETPROJECTLIST,
URL_GET_CONTRACTIONLIST,
URL_GET_SELECTLIST,
URL_GET_SELECTACCOUNTLIST,
URL_GET_TEMPLATELIST,
URL_GET_TEMPLATEDETAIL,
URL_GET_TOWNINFOBYDEPTID,
URL_GET_USERLIST,
URL_POST_MOBILEADD,
URL_GET_MOBILEREMOVE,
URL_GET_APPROVALITEMSBYID,
URL_POST_APPROVALITEMSEDIT,
URL_POST_TEMPLATEEDIT,
URL_POST_APPROVALITEMSSUBMIT
URL_GET_SELECTACCOUNTLIST,
URL_GET_MONEYORDERLIST,
URL_GET_PAYEESELECTLIST,
URL_GET_DEPOSITLIST,


+ 1
- 1
utils/util.js Bestand weergeven

@@ -117,7 +117,7 @@ function httpRequest(url, data, {
finalData.token = getApp().globalData.userInfo.token;
wx.request({
url,
data: finalData,
data: finalData,
method:data.method,
timeout: 60000,
header: {


Laden…
Annuleren
Opslaan