Commit 0e7e5f2a authored by 李智书's avatar 李智书

1.日常缴费;

parent 6586451d
......@@ -9,8 +9,12 @@
</template>
</van-search>
</view>
<van-dropdown-menu active-color="#01CB88">
<van-dropdown-item v-model="classId" @change="dropItemChange1" :options="option1" />
<van-dropdown-menu class="dropdownMenu" active-color="#01CB88">
<van-dropdown-item v-model="classId" :title="dropTitle" @change="dropItemChange1">
<van-tree-select main-active-class="tree_father" content-active-class="tree_father" :items="items"
@click-item="treeSelect " :active-id.sync="activeIds" :main-active-index.sync="activeIndex"
max="1" />
</van-dropdown-item>
<van-dropdown-item v-model="payStatus" @change="dropItemChange2" :options="option2" />
</van-dropdown-menu>
</view>
......@@ -19,7 +23,7 @@
<view class="PageItemList" v-for="(item,index) in ChargeUserPageList" :key="index">
<view class="hrow">
<view class="left ">
<text class="name">{{item.userName||'1111'}}</text>
<text class="name">{{item.userName||''}}</text>
<text class="payStatus" v-if="item.payStatus==2"
:style="{'background':'#FFECE6','color': '#FF3B00'}">未交纳</text>
<text class="payStatus" v-if="item.payStatus==1"
......@@ -51,12 +55,15 @@
// 时间处理模块
import dayjs from 'dayjs'
let orderApi = window.location.origin
import {
Dialog
} from 'vant';
export default {
name: "PayProgressDetails",
data() {
return {
searchValue: "",
classId: 0,
classId: '',
payStatus: '',
option1: [{
text: '请选择',
......@@ -90,18 +97,73 @@
total: 0,
// 交费项目用户分页查询
ChargeUserPageList: [],
items: [],
activeIds: [],
activeIndex: 0,
dropTitle: "请选择"
}
},
onLoad: function(options) {
let personalInfo = uni.getStorageSync("personalInfo")
this.allData = Object.assign(options, personalInfo)
this.queryChargeUserPage(options.chargeId)
this.queryTeacherClassList()
},
onReachBottom: function(e) {
console.log("onReachBottom", e);
this.pageCurrent = this.pageCurrent + 1
},
methods: {
// 查询教职工管理的年级班级列表
async queryTeacherClassList() {
try {
let data = await this.$http.post({
url: orderApi + '/order-charge/charge/group/queryTeacherClassList'
}, {
"schoolId": this.allData.schoolId,
"userId": this.allData.userId || this.allData.userID
})
if (data.code != 200) {
this.dialogShow = false;
uni.showToast({
icon: "none",
mask: true,
title: data.msg
})
return
}
if (data.data && Array.isArray(data.data)) {
let tmp = data.data;
let newArr = []
for (let s of tmp) {
s.text = s.groupname;
// 导航节点额外类名
s.className = 'my-class';
let tmp2 = []
for (let i = 0; i < s.classes.length; i++) {
let s2 = s.classes[i]
s2.text = s2.groupname;
tmp2.push(s2)
}
s.children = tmp2
newArr.push(s)
}
this.items = newArr
} else {
this.items = []
}
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 一键催缴
async paymentNotice(item) {
try {
......@@ -109,9 +171,9 @@
let data = await this.$http.post({
url: orderApi + '/order-charge/teacher/charge/paymentNotice'
}, {
"chargeId": item.id,
"chargeId": item.chargeId || '',
"schoolId": this.allData.schoolId,
"userId": this.allData.userId || this.allData.userID
"userId": item.userId
})
if (data.code != 200) {
this.dialogShow = false;
......@@ -122,6 +184,34 @@
})
return
}
await Dialog.alert({
confirmButtonColor: "#01CB88",
title: '系统提示',
message: '催缴成功!',
})
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 下拉选择年纪班级
async treeSelect(value) {
try {
this.classId = value.id
let children = this.items[this.activeIndex].children
children = children.filter(v => {
return this.activeIds[0] == v.id
}).map(v => {
return v.text
}).join()
this.dropTitle = this.items[this.activeIndex].groupname + "/" + children
this.queryChargeUserPage(this.allData.chargeId, this.searchValue)
} catch (e) {
//TODO handle the exception
console.log(e);
......@@ -179,6 +269,8 @@
// 交费项目用户分页查询
async queryChargeUserPage(chargeId, userName) {
try {
this.activeIds = [];
this.activeIndex = -1;
let data = await this.$http.post({
url: orderApi + '/order-charge/teacher/charge/queryChargeUserPage'
}, {
......@@ -278,9 +370,22 @@
width: 92%;
margin: 0 auto;
padding: 0 !important;
.van-search__content {
background: #FFFFFF;
}
}
}
}
.my-class::before {
background-color: #01CB88;
}
.van-tree-select__item--active {
color: #01CB88;
}
......
......@@ -50,7 +50,8 @@
{{item.amountMust}}
</view>
</view>
<view class="hairline" style="width: 686rpx;height: 1rpx; background-color:#E6E6E6;margin-top: 28rpx;">
<view class="hairline"
style="width: 686rpx;height: 1rpx; background-color:#E6E6E6;margin-top: 28rpx;">
</view>
<view class="History">
<view class="Historyitem">
......
......@@ -287,8 +287,9 @@
</script>
<style lang="scss">
page {
page,.tainer {
background: #F3F5F6;
height: 100vh;
}
.PaymentRsults {
......@@ -325,11 +326,11 @@
}
.PayProject {
height: 460rpx;
height: auto;
margin-top: 20rpx;
.ProjectBox {
// height: 350rpx;
height: auto;
// overflow: auto;
.tabNames {
......@@ -473,99 +474,6 @@
margin: 0 auto;
}
}
@media (min-height: 650px) {
.bottomOper {
position: fixed;
left: 0;
right: 0;
bottom: 30rpx;
}
}
.bottomOper {
height: 128rpx;
background: #FFFFFF;
width: 100%;
margin-top: 20rpx;
margin-bottom: 30rpx;
.buttonContent {
display: flex;
align-items: center;
height: 100%;
justify-content: space-around;
width: 689rpx;
margin: 0 auto;
.left {
.zongji {
width: 65rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.money {
width: 125rpx;
font-size: 36rpx;
font-family: DIN;
font-weight: bold;
color: #01CB88;
line-height: 36rpx;
}
.money::before {
content: "¥";
font-size: 28rpx;
font-family: PingFang SC;
font-weight: bold;
color: #01CB88;
}
.xieyi {
font-size: 20rpx;
font-family: PingFang SC;
font-weight: 500;
}
.xieyi text:nth-child(1) {
color: #999999;
}
.xieyi text:nth-child(2) {
color: #01CB88;
}
}
.right {
width: 240rpx;
height: 72rpx;
background: rgba(1, 203, 136, 1);
border-radius: 36rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
text-align: center;
line-height: 72rpx;
// margin-right: 32rpx;
}
}
}
.headerImg {
width: 750rpx;
height: 480rpx;
......@@ -629,20 +537,4 @@
}
}
}
// .cardInfo:before,
// .cardInfo:after {
// content: " ";
// width: 100%;
// height: 0px;
// position: absolute;
// }
// .cardInfo:before {
// border-top: 16rpx dotted #01CB88;
// left: 16rpx;
// top: -6rpx;
// }
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment