提交 035b6dff authored 作者: 何忠建's avatar 何忠建

联调优化

上级 9d557b59
差异被折叠。
......@@ -62,7 +62,22 @@ http.interceptors.response.use((response) => {
uni.hideLoading();
}
}, 30)
return Promise.reject(response)
//未登录时清空缓存跳转
if (response.statusCode == 401) {
uni.showToast({
icon: "none",
title: 'Token失效,请重新登录!'
})
wx.clearStorage()
uni.showTabBar()
uni.reLaunch({
url: '/pages/mine/index'
})
} else {
return Promise.reject(response)
}
})
export {
......
......@@ -57,31 +57,27 @@
}
},
{
"path": "pages/withdrawalList/index",
"path": "pages/reconciliationList/index",
"style": {
"navigationBarTitleText": "提现流水"
"navigationBarTitleText": "对账管理"
}
},
{
"path": "pages/reconciliationList/index",
"style": {
"navigationBarTitleText": "对账"
}
}, {
"path": "pages/reconciliationDetails/index",
"style": {
"navigationBarTitleText": "对账详情"
}
}, {
"path": "pages/reconciliationBring/index",
},
{
"path": "pages/settlementList/index",
"style": {
"navigationBarTitleText": "申请对账"
"navigationBarTitleText": "结算管理"
}
},
{
"path": "pages/settlementList/index",
"path": "pages/statementsList/index",
"style": {
"navigationBarTitleText": "结算"
"navigationBarTitleText": "选择对账单"
}
},
{
......@@ -96,6 +92,12 @@
"navigationBarTitleText": "结算详情"
}
},
{
"path": "pages/withdrawalList/index",
"style": {
"navigationBarTitleText": "提现流水"
}
},
{
"path": "pages/myInformation/index",
"style": {
......
......@@ -28,7 +28,7 @@
data() {
return {
page: {
pageSize: 10,
pageSize: 20,
pageNo: 1
},
dataList: [],
......@@ -36,9 +36,6 @@
}
},
computed: {
hideAdd() {
return this.dataList.some(item => item.auditStatus !== 'auditPass')
}
},
methods: {
async getList(flag) {
......
差异被折叠。
......@@ -4,7 +4,7 @@
<view class="page">
<view class="user">
<template v-if="isLogin && userAvatar">
<image :src="userAvatar" class="icon" ></image>
<image :src="userAvatar" class="icon"></image>
</template>
<view class="icon" v-else>
<uni-icons type="person" size="50px" color="#6A59F2"></uni-icons>
......@@ -97,6 +97,17 @@
this.isLogin = false
}
},
onShow() {
const token = uni.getStorageSync('token');
if (token) {
this.isLogin = true
this.userName = uni.getStorageSync('user_name')
this.userAvatar = uni.getStorageSync('user_avatar')
this.userPhone = uni.getStorageSync('user_phone')
} else {
this.isLogin = false
}
},
onHide() {
if (timer) clearTimeout(timer)
timer = null
......
......@@ -4,81 +4,77 @@
<view class="community">
<view class="image">
<image
src="https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/8b9eaa6e92ad56895430be936cc03896_1690364063102.jpg"
:src="imageURL+details.communityImage"
class="icon"></image>
</view>
<view class="details">
<view class="content">
<view class="item">
<view class="name">小区名称</view>
<view class="detail">汉江之星小区</view>
<view class="detail">{{details.communityName}}</view>
</view>
<view class="item">
<view class="name">所属区域</view>
<view class="detail">{{details.communityArea}}</view>
</view>
<view class="item">
<view class="name">占地面积</view>
<view class="detail">123</view>
<view class="detail">{{details.coverArea}}</view>
</view>
<view class="item">
<view class="name">楼栋数</view>
<view class="detail">12</view>
<view class="detail">{{details.buildingNum}}</view>
</view>
<view class="item">
<view class="name">业主数量</view>
<view class="detail">110</view>
<view class="name">房屋数量</view>
<view class="detail">{{details.houseNum}}</view>
</view>
<view class="item">
<view class="name">商铺数量</view>
<view class="detail">20</view>
<view class="detail">{{details.shopNum || ''}}</view>
</view>
<view class="item">
<view class="name">联系人</view>
<view class="detail">张三</view>
<view class="detail">{{details.adminName}}</view>
</view>
<view class="item">
<view class="name">联系人电话</view>
<view class="detail">13012341231</view>
<view class="detail">{{details.adminPhone}}</view>
</view>
<view class="item text">
<view class="name">详细地址</view>
<view class="detail">湖北省十堰市郧阳区汉江之星 小区B栋201</view>
<view class="detail">{{details.addressInfo}}</view>
</view>
</view>
</view>
<!-- <view class="form-submit" @click="onSubmit">解绑</view> -->
</view>
</view>
</view>
</template>
<script>
import serverConfig from '@/config/server_config.js';
import {
getCommunityRepairDetailApi,
editCommunityRepairApi
getCommunityDetail
} from '@/config/api.js'
export default {
data() {
return {
rateValue: 5,
evaluation: '',
formModel: {
},
imageList: [
'https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/8b9eaa6e92ad56895430be936cc03896_1690364063102.jpg'
]
details: {},
imageURL: ''
}
},
methods: {
async getDetail(id) {
// let {
// result
// } = await getCommunityRepairDetailApi({
// id
// })
// this.formModel = {
// ...result
// }
// this.imageList = result.repairPhoto ? result.repairPhoto.split(',') : []
let {
result
} = await getCommunityDetail({
id
})
this.details = {
...result
}
},
async onSubmit() {
// await editCommunityRepairApi({
......@@ -101,7 +97,11 @@
},
},
onLoad(option) {
this.getDetail(option.id)
const token = uni.getStorageSync('token');
if (token && option.id) {
this.imageURL = `${serverConfig.imageURL}`
this.getDetail(option.id)
}
}
}
</script>
......@@ -130,12 +130,13 @@
.details {
position: absolute;
top: 370rpx;
margin: 0 30rpx;
margin: 0 3%;
background-color: #ffffff;
border-radius: 16rpx;
padding: 30rpx;
width: 94%;
.content {
padding: 30rpx;
.item {
display: flex;
height: 70rpx;
......@@ -159,7 +160,7 @@
margin-bottom: 20rpx;
.detail {
line-height: 52rpx;
//line-height: 52rpx;
}
.image {
......
......@@ -5,65 +5,100 @@
<uni-search-bar placeholder="请输入小区名" bgColor="#ffffff" radius="100" @confirm="search"
@cancel="cancel" />
</view>
<view class="list" v-if="allList.length">
<view class="item" :class="{'noRead' : item.readStatus === '2'}" v-for="item in allList" :key="item.id"
@click="toDetails(1)">
<image mode="aspectFill" :src="item.image" class="icon"></image>
<view class="list" v-if="dataList.length">
<view class="item" v-for="item in dataList" :key="item.id" @click="toDetails(item.id)">
<image mode="aspectFill" :src="imageURL+item.communityImage" class="icon"></image>
<view class="con">
<view class="name">{{item.title}}</view>
<view class="name">{{item.communityName}}</view>
<view class="add">
<image mode="aspectFill" src="../../static/images/icon_adress.png" class="icon"></image>
{{item.card}}
{{item.addressInfo}}
</view>
</view>
</view>
</view>
<no-data :show="allList.length === 0" text="暂无数据"></no-data>
<no-data :show="dataList.length === 0" text="暂无数据"></no-data>
</view>
</view>
</template>
<script>
import serverConfig from '@/config/server_config.js';
import {
queryNoticePageApi
getCompanyListApi
} from '@/config/api.js'
import serverConfig from '@/config/server_config.js';
import noData from '@/components/no-data/no-data'
export default {
components: {
noData
},
data() {
return {
activeStatus: '',
allPageNo: 1,
yesPageNo: 1,
notPageNo: 1,
allList: [{
id: 1,
image: 'https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/8b9eaa6e92ad56895430be936cc03896_1690364063102.jpg',
title: '汉江之星小区',
card: '湖北省十堰市郧阳区汉江之星小区B栋201',
},{
id: 2,
image: 'https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/bg_1690786506694.png',
title: '阳光花园小区',
card: '湖北省十堰市郧阳区阳光花园小区21号楼',
}],
page: {
pageSize: 10,
pageNo: 1
},
dataList: [],
isFinish: false,
imageURL: '',
}
},
computed: {},
methods: {
async getList() {
async getList(flag) {
let {
result
} = await getCompanyListApi(this.page)
let data = result.records;
if (flag) {
uni.stopPullDownRefresh();
this.dataList = [].concat(data)
} else {
this.dataList = this.dataList.concat(data)
}
if (data.length < 10) {
this.isFinish = true
} else {
this.page.pageNo += 1
}
},
toDetails(id) {
uni.navigateTo({
url: `/pages/myCommunityDetails/index?id=${id}`
});
if (id) {
uni.navigateTo({
url: `/pages/myCommunityDetails/index?id=${id}`
});
}
},
search(value) {
console.log(value)
if (value.value) {
this.page.communityName = value.value.toString();
this.dataList = [];
this.page.pageNo = 1;
this.getList();
}
},
cancel() {
this.dataList = [];
this.page.communityName = '';
this.page.pageNo = 1;
this.getList();
}
},
onLoad() {
const token = uni.getStorageSync('token');
if (token) {
this.imageURL = `${serverConfig.imageURL}`
this.getList()
}
},
onShow() {
//this.getList()
onPullDownRefresh() {
this.page.pageNo = 1
this.getList(true)
},
onReachBottom() {
if (this.isFinish) return
this.getList()
}
}
</script>
......@@ -141,6 +176,7 @@
/* 追加这一行代码 */
}
.add {
margin-top: 20rpx;
font-size: 28rpx;
......@@ -148,6 +184,7 @@
height: 30rpx;
line-height: 30rpx;
display: flex;
.icon {
width: 19rpx;
height: 24rpx;
......
......@@ -9,7 +9,9 @@
头像
</view>
<view class="form-item-fr">
<image :src="formData.avatar || 'https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/lxLTJxnMqmF4536a26893262a4d66527a51bcab612c9_1687861702460.png'" class="icon"></image>
<image
:src="formData.avatar || 'https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/lxLTJxnMqmF4536a26893262a4d66527a51bcab612c9_1687861702460.png'"
class="icon"></image>
<uni-icons type="forward" color="#E4E4EA"></uni-icons>
</view>
</view>
......@@ -18,8 +20,8 @@
姓名
</view>
<view class="form-item-fr">
<view class="form-item-tit">{{formData.residentName}}</view>
<!-- <input class="form-item-tit" v-model="formData.residentName" focus placeholder="请输入姓名" /> -->
<view class="form-item-tit">{{formData.realname}}</view>
<!-- <input class="form-item-tit" v-model="formData.realname" focus placeholder="请输入姓名" /> -->
</view>
</view>
<view class="form-item">
......@@ -30,30 +32,31 @@
<uni-data-checkbox v-model="formData.sex" :localdata="sexs" class="form-item-tit" />
</view>
</view>
<view class="form-item">
<!-- <view class="form-item">
<view class="form-item-fl">
年龄
</view>
<view class="form-item-fr">
<input class="form-item-tit" v-model="formData.age" focus placeholder="请输入年龄" />
</view>
</view>
</view> -->
<view class="form-item">
<view class="form-item-fl">
<view class="asterisk">*</view>手机号码
</view>
<view class="form-item-fr">
<view class="form-item-tit">{{formData.residentPhone}}</view>
<view class="form-item-tit">{{formData.phone}}</view>
</view>
</view>
<view class="form-item">
<!-- <view class="form-item">
<view class="form-item-fl">
地址
</view>
<view class="form-item-fr">
<view class="form-item-tit">{{formData.address}}</view>
</view>
</view><strong></strong>
</view> -->
<strong></strong>
</uni-forms>
</view>
......@@ -68,9 +71,9 @@
<script>
import userVatar from '@/components/user-vatar.vue';
import {
queryLoginPhoneApi,
uploadFile,
getUserInfoApi,
editOwnerApi
userEditApi
} from '@/config/api.js'
import serverConfig from "@/config/server_config.js";
export default {
......@@ -80,100 +83,102 @@
data() {
return {
formData: {
id:'',
avatar: '',
temAvatar: '',
residentName: '',
realname: '',
sex: '',
age: '',
address: '',
residentPhone: '',
platformCode: ''
//age: '',
//address: '',
phone: '',
//platformCode: ''
},
sexs: [
{ text: '男', value: 1 },
{ text: '女', value: 2 }
sexs: [{
text: '男',
value: 1
},
{
text: '女',
value: 2
}
],
hasTmp: false
}
},
methods: {
async getUserInfo() {
let userType = uni.getStorageSync('user_type')
let {result} = await getUserInfoApi({userType})
if(userType === '1') {
let avatar = result.avatar ? `${serverConfig.imageURL}${result.avatar}` : ''
this.formData = {
avatar,
temAvatar: result.avatar,
residentName: result.residentName,
sex: result.sex,
age: result.age,
residentPhone: result.residentPhone,
address: result.platformName,
platformCode: result.platformCode
}
} else {
let avatar = result.employeeAvatar ? `${serverConfig.imageURL}${result.employeeAvatar}` : ''
let phone = uni.getStorageSync('user_phone')
let params = {
loginName: phone,
platformType: 'partner'
}
let res = await queryLoginPhoneApi(params)
if (res.code === 200 && res.result && res.result.token) {
let userInfo = res.result.userInfo;
let avatar = userInfo.avatar ? `${serverConfig.imageURL}${userInfo.avatar}` : ''
this.formData = {
id:userInfo.id,
avatar,
temAvatar: result.employeeAvatar,
residentName: result.employeeName,
sex: result.sex,
age: result.age,
residentPhone: result.employeePhone,
address: result.platformName,
platformCode: result.platformCode
temAvatar: userInfo.avatar,
realname: userInfo.realname,
sex: userInfo.sex,
//age: userInfo.age,
phone: userInfo.phone,
address: userInfo.platformName,
//platformCode: userInfo.platformCode
}
}
},
onOpenAvatar() {
this.$refs.userVatar.userForm.userAvatarUrl = this.formData.avatar
this.$refs.userVatar.userForm.nickname = this.formData.residentName
this.$nextTick(()=> {
this.$refs.userVatar.userForm.nickname = this.formData.realname
this.$nextTick(() => {
this.$refs.userVatar.$refs.userProfileShow.open()
})
},
saveUserOk(form) {
this.formData.avatar = form.userAvatarUrl
this.formData.residentName = form.nickname
this.formData.realname = form.nickname
this.hasTmp = form.isTmp
},
async onSaveInfo() {
let uploadImg = ''
if(this.hasTmp) {
let {message} = await uploadFile({
if (this.hasTmp) {
let {
message
} = await uploadFile({
filePath: this.formData.avatar,
name: 'file',
formData: { //其他需要携带的参数
formData: { //其他需要携带的参数
'biz': 'scott/pic'
}
})
uploadImg = message
}
let avatar = uploadImg || this.formData.temAvatar
let userType = uni.getStorageSync('user_type')
await editOwnerApi({
await userEditApi({
id:this.formData.id,
avatar,
residentName: this.formData.residentName,
realname: this.formData.realname,
sex: this.formData.sex,
age: this.formData.age,
residentPhone: this.formData.residentPhone,
platformCode: this.formData.platformCode,
userType
//age: this.formData.age,
//phone: this.formData.phone,
//platformCode: this.formData.platformCode,
//userType: 1
})
let user_avatar = avatar ? `${serverConfig.imageURL}${avatar}` : ''
uni.setStorageSync('user_avatar', user_avatar)
uni.setStorageSync('user_name', this.formData.residentName)
uni.setStorageSync('user_name', this.formData.realname)
var pages = getCurrentPages();
var page = pages[pages.length - 2];
page.$vm.userAvatar = user_avatar
page.$vm.userName = this.formData.residentName
setTimeout(()=> {
page.$vm.userName = this.formData.realname
setTimeout(() => {
uni.showToast({
title: '保存成功!',
icon: 'none'
});
setTimeout(()=> {
setTimeout(() => {
uni.navigateBack()
}, 1500)
}, 30)
......
......@@ -11,10 +11,10 @@
<view class="con">
<view class="name">{{item.shopName}}</view>
<view class="tags">
<view :class="item.auditTatus === 'auditPass'?'tag purple':'tag gray'">
<template v-if="item.auditTatus === 'waitAudit'">待审核</template>
<template v-if="item.auditTatus === 'auditPass'">审核通过</template>
<template v-if="item.auditTatus === 'refuse'">审核拒绝</template>
<view :class="item.auditStatus === 'refuse'?'tag red':'tag purple'">
<template v-if="item.auditStatus === 'waitAudit'">待审核</template>
<template v-if="item.auditStatus === 'auditPass'">审核通过</template>
<template v-if="item.auditStatus === 'refuse'">审核拒绝</template>
</view>
<view class="tag red" v-if="item.freezingStatus === 'freeze'">冻结</view>
</view>
......@@ -57,9 +57,6 @@
}
},
computed: {
hideAdd() {
return this.dataList.some(item => item.auditStatus !== 'auditPass')
}
},
methods: {
async getList(flag) {
......
......@@ -7,60 +7,64 @@
<view class="reconciliation">
<view class="top">
<view class="tab">
<view :class="active == 1?'tit on':'tit'" @click="toWwitch(1)">待对账<view class="num">3</view>
<view :class="active == 1?'tit on':'tit'" @click="toWwitch(1)">待对账<view class="num"
v-if="active == 1">{{total}}</view>
</view>
<view :class="active == 2?'tit on':'tit'" @click="toWwitch(2)">待审核<view class="num"
v-if="active == 2">{{total}}</view>
</view>
<view :class="active == 3?'tit on':'tit'" @click="toWwitch(3)">已对账<view class="num"
v-if="active == 3">{{total}}</view>
</view>
<view :class="active == 4?'tit on':'tit'" @click="toWwitch(4)">对账驳回<view class="num"
v-if="active == 4">{{total}}</view>
</view>
<view :class="active == 2?'tit on':'tit'" @click="toWwitch(2)">已对账</view>
<view :class="active == 3?'tit on':'tit'" @click="toWwitch(3)">对账待审核</view>
<view :class="active == 4?'tit on':'tit'" @click="toWwitch(4)">对账驳回</view>
</view>
</view>
<view class="list">
<checkbox-group @change="checkboxChange">
<view class="item" v-for="(item,index) in payList" :key="item.id">
<view class="title">
<view class="title-l">
<view class="name" @click="toDetail(item.id)">CX312314141241</view>
<view :class="active == 1?'tag purple':'tag gray'">待对账</view>
</view>
<checkbox :value="item.id" color="#6A59F2" :checked="item.checked" v-if="active == 1" />
<view class="list" v-if="dataList.length">
<view class="item" v-for="(item,index) in dataList" :key="item.id" @click="toDetail(item.id)">
<view class="title">
<view class="name">{{item.orderNum}}</view>
<view class="tag purple" v-if="item.reconciliationStatus === 1">未对账</view>
<view class="tag purple" v-else-if="item.reconciliationStatus === 2">对账待审核</view>
<view class="tag gray" v-else-if="item.reconciliationStatus === 3">已对账</view>
<view class="tag red" v-else-if="item.reconciliationStatus === 4">对账驳回</view>
</view>
<view class="content">
<view class="text">
<view class="name">买家名称</view>
<view class="detail">{{item.buyerName}}</view>
</view>
<view class="content">
<view class="text">
<view class="name">用户账号</view>
<view class="detail">1521542****</view>
</view>
<view class="text">
<view class="name">分利金额</view>
<view class="detail">¥3000.00</view>
</view>
<view class="text">
<view class="name">订单时间</view>
<view class="detail">2021-11-21 13:00</view>
</view>
<view class="text">
<view class="name">分利金额</view>
<view class="detail">{{item.shareMoney}}</view>
</view>
<view class="text">
<view class="name">订单时间</view>
<view class="detail">{{item.createTime}}</view>
</view>
</view>
<view class="belongs-to">
<view class="text">
<view class="name">所属小区</view>
<view class="detail">{{item.communityName}}</view>
</view>
<view class="belongs-to">
<view class="text">
<view class="name">所属小区</view>
<view class="detail">汉江之星小区</view>
</view>
<view class="text">
<view class="name">所属物业</view>
<view class="detail">汉江之星物业公司</view>
</view>
<view class="text">
<view class="name">所属物业</view>
<view class="detail">{{item.propertyName}}</view>
</view>
</view>
</checkbox-group>
</view>
</view>
<no-data :show="payList.length === 0" text="暂无缴费信息"></no-data>
<no-data :show="dataList.length === 0" text="暂无数据"></no-data>
</view>
</view>
<view class="form-submit" @click="onSubmit" v-if="active == 1">申请对账</view>
</view>
</template>
<script>
import {
communityPaymentApi
shareBenefitListApi
} from '@/config/api.js'
import noData from '@/components/no-data/no-data'
export default {
......@@ -69,58 +73,88 @@
},
data() {
return {
active: 1,
payList: [{id:'1111'}, {id:'2222'}, {id:'3333'}, {id:'44444'}],
checkboxList: []
total: 0,
page: {
platformType: 'partner',
reconciliationStatus: 1,
pageSize: 10,
pageNo: 1
},
dataList: [],
isFinish: false,
active: 1
}
},
methods: {
async getList(chargeTypeCode) {
async getList(flag) {
let {
result
} = await communityPaymentApi({
chargeTypeCode
})
this.payList = result.records
} = await shareBenefitListApi(this.page)
this.total = result.total;
let data = result.records;
if (flag) {
uni.stopPullDownRefresh();
this.dataList = [].concat(data)
} else {
this.dataList = this.dataList.concat(data)
}
if (data.length < 10) {
this.isFinish = true
} else {
this.page.pageNo += 1
}
},
toWwitch(type) {
this.active = type;
this.page.reconciliationStatus = type;
this.dataList = [];
this.page.pageNo = 1;
this.getList();
},
toDetail(id) {
uni.navigateTo({
url: `/pages/reconciliationDetails/index?id=${id}`,
});
},
checkboxChange: function(e) {
console.log(e)
this.checkboxList = e.detail.value;
},
onSubmit() {
console.log(this.checkboxList)
if (this.checkboxList.length > 0) {
if (id) {
uni.navigateTo({
url: `/pages/reconciliationBring/index?ids=${this.checkboxList}`,
});
} else {
uni.showToast({
title: '请选择对账单!',
icon: 'none'
url: `/pages/reconciliationDetails/index?id=${id}`,
});
}
},
search(value) {
if (value.value) {
this.page.orderNum = value.value.toString();
this.dataList = [];
this.page.pageNo = 1;
this.getList();
}
},
cancel() {
this.dataList = [];
this.page.orderNum = '';
this.page.pageNo = 1;
this.page.reconciliationStatus = 1;
this.active = 1;
this.getList();
}
},
onLoad() {
const token = uni.getStorageSync('token');
if (token) {
this.getList()
}
},
onLoad(option) {
// this.userName = uni.getStorageSync('user_name')
// this.userPhone = uni.getStorageSync('user_phone')
// this.platformName = uni.getStorageSync('platform_name')
// this.getList(option.code)
// let obj = freeType.find(item=>item.code === option.code)
// if(obj) {
// uni.setNavigationBarTitle({
// title: obj.name
// })
// }
onShow() {
const token = uni.getStorageSync('token');
if (token) {
this.getList()
}
},
onPullDownRefresh() {
this.page.pageNo = 1
this.getList(true)
},
onReachBottom() {
if (this.isFinish) return
this.getList()
}
}
</script>
......@@ -232,6 +266,12 @@
background-color: #F8F8F8;
border: 1px solid #B6B6BA;
}
.red {
color: #f5222d;
background-color: #fff1f0;
border: 1px solid #f5222d;
}
}
......@@ -284,17 +324,4 @@
}
}
}
.form-submit {
position: fixed;
bottom: 10rpx;
height: 80rpx;
line-height: 80rpx;
background-color: #6A59F2;
border-radius: 80rpx;
width: 100%;
text-align: center;
font-size: 28rpx;
color: #FFFFFF;
}
</style>
\ No newline at end of file
......@@ -30,55 +30,63 @@
<uni-icons type="forward" color="#E4E4EA"></uni-icons>
</view>
</view>
<view class="form-item">
<view class="form-item-fl">
<view class="asterisk"></view>结算日期
</view>
<view class="form-item-fr">
<uni-datetime-picker type="datetime" v-model="formData.balanceDate"
:clear-icon="false" />
</view>
</view>
<view class="form-item-text">
<view class="title">备注</view>
<view class="textarea-box">
<textarea class="textarea" :maxlength="200" placeholder-style="font-size:14px"
v-model="formData.repairDesc" auto-height placeholder="请输入备注" />
v-model="formData.remarks" auto-height placeholder="请输入备注" />
</view>
</view>
</uni-forms>
</view>
<view class="list">
<view class="item" v-for="item in payList" :key="item.id" @click="toDetail(item.id)">
<view class="list" v-if="shareBenefitsList.length">
<view class="item" v-for="item in shareBenefitsList" :key="item.id">
<view class="title">
<view class="name">CX312314141241</view>
<view class="name">{{item.orderNum}}</view>
<view class="tag">已对账</view>
</view>
<view class="content">
<view class="text">
<view class="name">用户账号</view>
<view class="detail">18888889999</view>
<view class="name">买家名称</view>
<view class="detail">{{item.buyerName}}</view>
</view>
<view class="text">
<view class="name">分利金额</view>
<view class="detail">3000.00</view>
<view class="detail">{{item.shareMoney}}</view>
</view>
<view class="text">
<view class="name"> 订单时间</view>
<view class="detail">2021-11-21 13:00</view>
<view class="detail">{{item.createTime}}</view>
</view>
</view>
<view class="belongs-to">
<view class="text">
<view class="name">所属小区</view>
<view class="detail">汉江之星小区</view>
<view class="detail">{{item.communityName}}</view>
</view>
<view class="text">
<view class="name">所属物业</view>
<view class="detail">汉江之星物业公司</view>
<view class="detail">{{item.propertyName}}</view>
</view>
</view>
</view>
</view>
<no-data :show="payList.length === 0" text="暂无缴费信息"></no-data>
</view>
<view class="submit-box">
<view class="left">
<view class="amount">50000</view>
<view class="time">2023-11-21 至 2024-04-31</view>
<view class="amount">{{balanceMoney}}</view>
<!-- <view class="time">2023-11-21 至 2024-04-31</view> -->
</view>
<view class="right"><button class="form-submit">确定</button></view>
<view class="right"><button class="form-submit" @click="toSubmit()">确定</button></view>
</view>
</view>
......@@ -87,7 +95,8 @@
<script>
import {
communityPaymentApi
getIdsStatementsApi,
shareBalanceAddApi
} from '@/config/api.js'
import noData from '@/components/no-data/no-data'
export default {
......@@ -96,9 +105,13 @@
},
data() {
return {
formData: {},
shareBenefitIds: '',
formData: {
balanceDate: ''
},
balanceMoney: 0,
paymentTypeList: [{
label: '转账',
label: '微信转账',
value: '1'
}],
paymentTypeIndex: 0,
......@@ -107,19 +120,37 @@
value: '1'
}],
bankCardIndex: 0,
payList: [{}, {}]
shareBenefitsList: []
}
},
methods: {
async getList(chargeTypeCode) {
async getList(ids) {
let {
result
} = await communityPaymentApi({
chargeTypeCode
} = await getIdsStatementsApi({
ids
})
this.payList = result.records
this.shareBenefitsList = result;
let list = this.shareBenefitsList
let sum = 0
for (var i = 0; i < list.length; i++) {
sum += list[i].shareMoney
}
this.balanceMoney = sum
},
timeWeekFormat(time) {
let date = new Date(time);
let year = date.getFullYear();
// 在日期格式中,月份是从0开始的,因此要加0,使用三元表达式在小于10的前面加0,以达到格式统一 如 09:11:05
let month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
let hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
let minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
let seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
// 拼接
return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
// return year + "-" + month + "-" + day;
},
bindPickerChange(e, type) {
if (type === 'paymentType') {
this.paymentTypeIndex = Number(e.detail.value)
......@@ -127,18 +158,50 @@
this.bankCardIndex = Number(e.detail.value)
}
},
async toSubmit() {
if (!this.formData.balanceDate) {
uni.showToast({
title: '请选择结算日期!',
icon: 'none'
});
return false
}
if (!this.formData.remarks) {
uni.showToast({
title: '请填写备注!',
icon: 'none'
});
return false
}
let params = {
balanceWay: '微信转账',
bankCard: '工行1234567890',
shareBenefitIds: this.shareBenefitIds,
balanceDate: this.formData.balanceDate,
remarks: this.formData.remarks
}
await shareBalanceAddApi(params)
setTimeout(() => {
uni.showToast({
title: '保存成功!',
icon: 'none'
});
uni.navigateTo({
url: '/pages/settlementList/index'
});
}, 30)
}
},
onLoad(option) {
// this.userName = uni.getStorageSync('user_name')
// this.userPhone = uni.getStorageSync('user_phone')
// this.platformName = uni.getStorageSync('platform_name')
// this.getList(option.code)
// let obj = freeType.find(item=>item.code === option.code)
// if(obj) {
// uni.setNavigationBarTitle({
// title: obj.name
// })
// }
const token = uni.getStorageSync('token');
if (token && option.ids) {
//this.formData.balanceDate = '2022-07-08 0:01:10'
this.shareBenefitIds = option.ids
this.getList(option.ids)
let times = new Date()
this.formData.balanceDate = this.timeWeekFormat(times)
}
}
}
</script>
......
......@@ -2,61 +2,77 @@
<view class="container">
<view class="page">
<view class="settlement">
<view class="details">
<view class="details" v-if="details.balanceStatus">
<view class="item">
<view class="name">对账总金额 </view>
<view class="detail amount">¥5000.00</view>
<view class="name">结算单号</view>
<view class="detail">{{details.balanceNum}}</view>
</view>
<view class="item">
<view class="name">订单状态</view>
<view class="tag">{{details.balanceStatusName}}</view>
</view>
<view class="item">
<view class="name">结算总金额 </view>
<view class="detail amount">{{details.balanceMoney}}</view>
</view>
<view class="item">
<view class="name">提交时间</view>
<view class="detail">{{details.createTime}}</view>
</view>
<view class="item">
<view class="name">提交人</view>
<view class="detail">{{details.createBy}}</view>
</view>
<view class="item">
<view class="name">账单数量</view>
<view class="detail">{{details.balanceCount}}</view>
</view>
<view class="item">
<view class="name">结算方式</view>
<view class="detail">转账</view>
<view class="detail">{{details.balanceWay}}</view>
</view>
<view class="item">
<view class="name">银行卡</view>
<view class="detail">6524154285628542254</view>
<view class="detail">{{details.bankCard}}</view>
</view>
<view class="item">
<view class="name">对账日期</view>
<view class="detail">2021-11-21 13:00</view>
</view>
<view class="item text">
<view class="name">备注</view>
<view class="detail"></view>
<view class="name">结算日期</view>
<view class="detail">{{details.balanceDate}}</view>
</view>
</view>
<view class="list">
<view class="item" v-for="item in payList" :key="item.id" @click="toDetail(item.id)">
<view class="list" v-if="shareBenefitsList.length">
<view class="item" v-for="item in shareBenefitsList" :key="item.id">
<view class="title">
<view class="name">CX312314141241</view>
<view class="name">{{item.orderNum}}</view>
<view class="tag">已对账</view>
</view>
<view class="content">
<view class="text">
<view class="name">用户账号</view>
<view class="detail">18888889999</view>
<view class="name">买家名称</view>
<view class="detail">{{item.buyerName}}</view>
</view>
<view class="text">
<view class="name">分利金额</view>
<view class="detail">3000.00</view>
<view class="detail">{{item.shareMoney}}</view>
</view>
<view class="text">
<view class="name"> 订单时间</view>
<view class="detail">2021-11-21 13:00</view>
<view class="detail">{{item.createTime}}</view>
</view>
</view>
<view class="belongs-to">
<view class="text">
<view class="name">所属小区</view>
<view class="detail">汉江之星小区</view>
<view class="detail">{{item.communityName}}</view>
</view>
<view class="text">
<view class="name">所属物业</view>
<view class="detail">汉江之星物业公司</view>
<view class="detail">{{item.propertyName}}</view>
</view>
</view>
</view>
</view>
<no-data :show="payList.length === 0" text="暂无缴费信息"></no-data>
<no-data :show="shareBenefitsList.length === 0" text="暂无信息"></no-data>
</view>
</view>
......@@ -65,7 +81,7 @@
<script>
import {
communityPaymentApi
shareBalanceDetailApi
} from '@/config/api.js'
import noData from '@/components/no-data/no-data'
export default {
......@@ -74,49 +90,33 @@
},
data() {
return {
formData: {},
paymentTypeList: [{
label: '转账',
value: '1'
}],
paymentTypeIndex: 0,
bankCardList: [{
label: '工行1234567890',
value: '1'
}],
bankCardIndex: 0,
payList: [{}, {}]
details: {},
shareBenefitsList: []
}
},
methods: {
async getList(chargeTypeCode) {
async getDetail(id) {
let {
result
} = await communityPaymentApi({
chargeTypeCode
} = await shareBalanceDetailApi({
id
})
this.payList = result.records
},
bindPickerChange(e, type) {
if (type === 'paymentType') {
this.paymentTypeIndex = Number(e.detail.value)
} else if (type === 'bankCard') {
this.bankCardIndex = Number(e.detail.value)
this.details = result.shareBalance;
this.shareBenefitsList = result.shareBenefitsList;
if (this.details.balanceStatus == 2) {
this.details.balanceStatusName = '结算待审核'
} else if (this.details.balanceStatus == 3) {
this.details.balanceStatusName = '已结算'
} else if (this.details.balanceStatus == 4) {
this.details.balanceStatusName = '结算驳回'
}
},
}
},
onLoad(option) {
// this.userName = uni.getStorageSync('user_name')
// this.userPhone = uni.getStorageSync('user_phone')
// this.platformName = uni.getStorageSync('platform_name')
// this.getList(option.code)
// let obj = freeType.find(item=>item.code === option.code)
// if(obj) {
// uni.setNavigationBarTitle({
// title: obj.name
// })
// }
const token = uni.getStorageSync('token');
if (token && option.id) {
this.getDetail(option.id)
}
}
}
</script>
......@@ -145,8 +145,8 @@
width: 100%;
display: flex;
justify-content: space-between;
height: 60rpx;
line-height: 60rpx;
height: 70rpx;
line-height: 70rpx;
.name {
width: 35%;
......@@ -160,6 +160,17 @@
color: #373737;
text-align: right;
}
.tag {
padding: 0 24rpx;
height: 40rpx;
line-height: 40rpx;
font-size: 24rpx;
text-align: center;
color: #6A59F2;
background-color: #F5F4FF;
border: 1px solid #6A59F2;
border-radius: 36rpx;
}
.amount{
font-size: 40rpx;
color: #6A59F2;
......
......@@ -7,49 +7,59 @@
<view class="settlement">
<view class="top">
<view class="tab">
<view :class="active == 1?'tit on':'tit'" @click="toWwitch(1)">未结算<view class="num">3</view>
<view :class="active == 2?'tit on':'tit'" @click="toWwitch(2)">结算待审核<view class="num"
v-if="active == 2">{{total}}</view>
</view>
<view :class="active == 2?'tit on':'tit'" @click="toWwitch(2)">已结算</view>
<view :class="active == 3?'tit on':'tit'" @click="toWwitch(3)">结算待审核</view>
<view :class="active == 4?'tit on':'tit'" @click="toWwitch(4)">结算驳回</view>
<view :class="active == 3?'tit on':'tit'" @click="toWwitch(3)">已结算<view class="num"
v-if="active == 3">{{total}}</view>
</view>
<view :class="active == 4?'tit on':'tit'" @click="toWwitch(4)">结算驳回<view class="num"
v-if="active == 4">{{total}}</view>
</view>
<!-- <view :class="active == 1?'tit on':'tit'" @click="toWwitch(1)">全部</view> -->
</view>
</view>
<view class="list">
<view class="item" v-for="item in payList" :key="item.id" @click="toDetail(item.id)">
<view class="list" v-if="dataList.length">
<view class="item" v-for="item in dataList" :key="item.id" @click="toDetail(item.id)">
<view class="title">
<view class="name">CX312314141241</view>
<view class="tag">未结算<uni-icons type="forward" size="13" color="#6A59F2"></uni-icons></view>
<view class="name">{{item.balanceNum}}</view>
<view class="tag">
<template v-if="item.balanceStatus === 2">结算待审核</template>
<template v-else-if="item.balanceStatus === 3">已结算</template>
<template v-else-if="item.balanceStatus === 4">结算驳回</template>
<uni-icons type="forward" size="13" color="#6A59F2"></uni-icons>
</view>
</view>
<view class="content">
<view class="text">
<view class="name">分利金额</view>
<view class="detail">3000.00</view>
<view class="detail">{{item.balanceMoney}}</view>
</view>
<view class="text">
<view class="name">账单数量</view>
<view class="detail">3</view>
<view class="detail">{{item.balanceCount}}</view>
</view>
<view class="text">
<view class="name">结算方式</view>
<view class="detail">转账</view>
<view class="detail">{{item.balanceWay}}</view>
</view>
<view class="text">
<view class="name">提交时间</view>
<view class="detail">2021-11-21 13:00</view>
<view class="detail">{{item.createTime}}</view>
</view>
</view>
</view>
</view>
<no-data :show="payList.length === 0" text="暂无缴费信息"></no-data>
<no-data :show="dataList.length === 0" text="暂无数据"></no-data>
</view>
</view>
<view class="form-submit" @click="toSettlement">申请结算</view>
</view>
</template>
<script>
import {
communityPaymentApi
shareBalanceListApi
} from '@/config/api.js'
import noData from '@/components/no-data/no-data'
export default {
......@@ -58,39 +68,92 @@
},
data() {
return {
active:1,
payList: [{}, {}]
total: 0,
page: {
platformType: 'partner',
balanceStatus: 2,
pageSize: 10,
pageNo: 1
},
dataList: [],
isFinish: false,
active: 2
}
},
methods: {
async getList(chargeTypeCode) {
async getList(flag) {
let {
result
} = await communityPaymentApi({
chargeTypeCode
})
this.payList = result.records
} = await shareBalanceListApi(this.page)
this.total = result.total;
let data = result.records;
if (flag) {
uni.stopPullDownRefresh();
this.dataList = [].concat(data)
} else {
this.dataList = this.dataList.concat(data)
}
if (data.length < 10) {
this.isFinish = true
} else {
this.page.pageNo += 1
}
},
toWwitch(type) {
this.active = type;
this.page.balanceStatus = type;
this.dataList = [];
this.page.pageNo = 1;
this.getList();
},
toDetail(id) {
if (id) {
uni.navigateTo({
url: `/pages/settlementDetails/index?id=${id}`,
});
}
},
toSettlement() {
uni.navigateTo({
url: `/pages/settlementApplyfor/index?id=${id}`,
url: `/pages/statementsList/index`,
});
},
search(value) {
if (value.value) {
this.page.balanceNum = value.value.toString();
this.dataList = [];
this.page.pageNo = 1;
this.getList();
}
},
cancel() {
this.dataList = [];
this.page.balanceNum = '';
this.page.pageNo = 1;
this.page.balanceStatus = 2;
this.active = 2;
this.getList();
}
},
onLoad(option) {
// this.userName = uni.getStorageSync('user_name')
// this.userPhone = uni.getStorageSync('user_phone')
// this.platformName = uni.getStorageSync('platform_name')
// this.getList(option.code)
// let obj = freeType.find(item=>item.code === option.code)
// if(obj) {
// uni.setNavigationBarTitle({
// title: obj.name
// })
// }
onLoad() {
const token = uni.getStorageSync('token');
if (token) {
this.getList()
}
},
onShow() {
const token = uni.getStorageSync('token');
if (token) {
this.getList()
}
},
onPullDownRefresh() {
this.page.pageNo = 1
this.getList(true)
},
onReachBottom() {
if (this.isFinish) return
this.getList()
}
}
</script>
......@@ -125,7 +188,7 @@
padding: 0 10rpx;
.tit {
width: 25%;
width: 33.33%;
height: 60rpx;
line-height: 60rpx;
display: flex;
......@@ -216,4 +279,17 @@
}
}
}
.form-submit {
position: fixed;
bottom: 10rpx;
height: 80rpx;
line-height: 80rpx;
background-color: #6A59F2;
border-radius: 80rpx;
width: 100%;
text-align: center;
font-size: 28rpx;
color: #FFFFFF;
}
</style>
\ No newline at end of file
......@@ -2,12 +2,13 @@
<view class="container">
<view class="page">
<view class="shops">
<view class="details">
<view class="details" v-if="imgUrl">
<view class="code">
<image src="https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/code_1691046274361.jpg" class="icon"></image>
<text>寿康永乐二维码</text>
<image :src="imgUrl" class="icon"></image>
<text>商铺收款二维码</text>
</view>
</view>
<no-data :show="!imgUrl" text="暂无数据"></no-data>
</view>
</view>
</view>
......@@ -15,54 +16,37 @@
<script>
import {
getCommunityRepairDetailApi,
editCommunityRepairApi
getShopQrCode
} from '@/config/api.js'
import noData from '@/components/no-data/no-data'
export default {
components: {
noData
},
data() {
return {
rateValue: 5,
evaluation: '',
formModel: {
},
imageList: ['https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/bg_1690786506694.png']
imgUrl: ''
}
},
methods: {
async getDetail(id) {
// let {
// result
// } = await getCommunityRepairDetailApi({
// id
// })
// this.formModel = {
// ...result
// }
// this.imageList = result.repairPhoto ? result.repairPhoto.split(',') : []
},
async onSubmit() {
// await editCommunityRepairApi({
// id: this.formModel.id,
// repairEvaluate: this.evaluation,
// evaluateCount: this.rateValue
// })
// uni.$emit('change-maintenance');
// setTimeout(() => {
// uni.showToast({
// title: '评价成功!',
// icon: 'none'
// });
// setTimeout(() => {
// uni.navigateBack({
// delta: 2
// });
// }, 1500)
// }, 30)
async getDetail(code) {
let {
result
} = await getShopQrCode({
shopCode: code,
platformType: 'partner'
})
if (result && result != undefined) {
this.imgUrl = window.URL.createObjectURL(new Blob([result]));
}
}
},
onLoad(option) {
this.getDetail(option.id)
const token = uni.getStorageSync('token');
if (token && option.code) {
this.getDetail(option.code)
}
}
}
</script>
......@@ -83,28 +67,30 @@
border-radius: 16rpx;
padding: 100rpx 30rpx;
margin-bottom: 30rpx;
.code{
display: flex;
flex-wrap: wrap;
justify-content: center;
.icon{
.code {
display: flex;
flex-wrap: wrap;
justify-content: center;
.icon {
width: 380rpx;
height: 380rpx;
padding: 60rpx;
border-radius: 20rpx;
border: 1px solid #D5E2F3;
}
text{
text {
font-size: 32rpx;
color: #373737;
margin-top: 40rpx;
font-weight: bold;
}
}
}
}
</style>
\ No newline at end of file
......@@ -53,7 +53,8 @@
</view>
</view>
<view class="form-submit" @click="onSubmit" v-if="communityCode">确认绑定</view>
<view class="form-submit" @click="toCode" v-else>商铺收款二维码</view>
<view class="form-submit" @click="toCode" v-if="!communityCode && details.auditStatus == 'auditPass'">
商铺收款二维码</view>
</view>
</view>
</view>
......@@ -70,8 +71,7 @@
return {
communityCode: '',
details: {},
imageURL: '',
imageList: ['https://life.cloud.hjxbc.cn/sys/common/static/scott/pic/bg_1690786506694.png']
imageURL: ''
}
},
methods: {
......@@ -105,15 +105,17 @@
}
},
toCode() {
uni.navigateTo({
url: '/pages/shopsCode/index'
});
if (this.details.shopCode) {
uni.navigateTo({
url: '/pages/shopsCode/index?code=' + this.details.shopCode
});
}
}
},
onLoad(option) {
const token = uni.getStorageSync('token');
if (token && option.id) {
if(option.code){
if (option.code) {
this.communityCode = option.code;
}
this.imageURL = `${serverConfig.imageURL}`
......@@ -166,7 +168,7 @@
margin-bottom: 20rpx;
.detail {
line-height: 52rpx;
//line-height: 52rpx;
}
.image {
......
......@@ -50,9 +50,6 @@
}
},
computed: {
hideAdd() {
return this.dataList.some(item => item.auditStatus !== 'auditPass')
}
},
methods: {
async getList(flag) {
......
......@@ -2,67 +2,53 @@
<view class="container">
<view class="page">
<view class="reconciliation">
<view class="list">
<view class="item" v-for="item in payList" :key="item.id" @click="toDetail(item.id)">
<view class="title">
<view class="name">CX312314141241</view>
<view class="tag">待对账</view>
</view>
<view class="content">
<view class="text">
<view class="name">用户账号</view>
<view class="detail">18888889999</view>
</view>
<view class="text">
<view class="name">分利金额</view>
<view class="detail">¥3000.00</view>
</view>
<view class="text">
<view class="name"> 订单时间</view>
<view class="detail">2021-11-21 13:00</view>
<view class="list" v-if="dataList.length">
<checkbox-group @change="checkboxChange">
<view class="item" v-for="(item,index) in dataList" :key="item.id">
<view class="title">
<view class="title-l">
<view class="name">{{item.orderNum}}</view>
<view class="tag purple">已对账</view>
</view>
<checkbox :value="item.id" color="#6A59F2" :checked="item.checked" />
</view>
</view>
<view class="belongs-to">
<view class="text">
<view class="name">所属小区</view>
<view class="detail">汉江之星小区</view>
</view>
<view class="text">
<view class="name">所属物业</view>
<view class="detail">汉江之星物业公司</view>
<view class="content">
<view class="text">
<view class="name">买家名称</view>
<view class="detail">{{item.buyerName}}</view>
</view>
<view class="text">
<view class="name">分利金额</view>
<view class="detail">{{item.shareMoney}}</view>
</view>
<view class="text">
<view class="name">订单时间</view>
<view class="detail">{{item.createTime}}</view>
</view>
</view>
</view>
</view>
</view>
<view class="form" :show="payList.length > 0">
<uni-forms>
<view class="form-item-text">
<view class="title">备注</view>
<view class="textarea-box">
<textarea class="textarea" :maxlength="200" placeholder-style="font-size:14px"
v-model="formData.repairDesc" auto-height placeholder="请输入备注" />
<view class="belongs-to">
<view class="text">
<view class="name">所属小区</view>
<view class="detail">{{item.communityName}}</view>
</view>
<view class="text">
<view class="name">所属物业</view>
<view class="detail">{{item.propertyName}}</view>
</view>
</view>
</view>
</uni-forms>
</checkbox-group>
</view>
<no-data :show="payList.length === 0" text="暂无缴费信息"></no-data>
</view>
<view class="submit-box">
<view class="left">
<view class="amount">¥50000</view>
<view class="time">2023-11-21 至 2024-04-31</view>
</view>
<view class="right"><button class="form-submit">确定</button></view>
<no-data :show="dataList.length === 0" text="暂无数据"></no-data>
</view>
</view>
<view class="form-submit" @click="toSettlement">申请结算</view>
</view>
</template>
<script>
import {
communityPaymentApi
getShareBalanceListApi
} from '@/config/api.js'
import noData from '@/components/no-data/no-data'
export default {
......@@ -71,39 +57,67 @@
},
data() {
return {
formData: {},
payList: [{}, {}]
page: {
platformType: 'partner',
pageSize: 10,
pageNo: 1
},
dataList: [],
isFinish: false,
checkboxList: []
}
},
methods: {
async getList(chargeTypeCode) {
async getList(flag) {
let {
result
} = await communityPaymentApi({
chargeTypeCode
})
this.payList = result.records
} = await getShareBalanceListApi(this.page)
this.total = result.total;
let data = result.records;
if (flag) {
uni.stopPullDownRefresh();
this.dataList = [].concat(data)
} else {
this.dataList = this.dataList.concat(data)
}
if (data.length < 10) {
this.isFinish = true
} else {
this.page.pageNo += 1
}
},
bindPickerChange(e, type) {
if (type === 'paymentType') {
this.paymentTypeIndex = Number(e.detail.value)
} else if (type === 'bankCard') {
this.bankCardIndex = Number(e.detail.value)
}
checkboxChange: function(e) {
this.checkboxList = e.detail.value;
},
toSettlement() {
if (this.checkboxList.length > 0) {
let ids = this.checkboxList.toString()
uni.navigateTo({
url: `/pages/settlementApplyfor/index?ids=${ids}`,
});
} else {
uni.showToast({
title: '请选择对账单!',
icon: 'none'
});
}
}
},
onLoad() {
const token = uni.getStorageSync('token');
if (token) {
this.getList()
}
},
onPullDownRefresh() {
this.page.pageNo = 1
this.getList(true)
},
onLoad(option) {
// this.userName = uni.getStorageSync('user_name')
// this.userPhone = uni.getStorageSync('user_phone')
// this.platformName = uni.getStorageSync('platform_name')
// this.getList(option.code)
// let obj = freeType.find(item=>item.code === option.code)
// if(obj) {
// uni.setNavigationBarTitle({
// title: obj.name
// })
// }
onReachBottom() {
if (this.isFinish) return
this.getList()
}
}
</script>
......@@ -118,77 +132,12 @@
background-color: #F8F6F9;
}
.search {
background-color: #ffffff;
}
.reconciliation {
padding: 30rpx;
margin-bottom: 60rpx;
.form {
background-color: #ffffff;
border-radius: 16rpx;
padding: 30rpx;
margin-bottom: 30rpx;
.form-item {
display: flex;
align-items: center;
justify-content: space-between;
height: 100rpx;
line-height: 100rpx;
border-bottom: 1px solid #F8F6F9;
overflow: hidden;
}
.form-item-fl {
font-size: 30rpx;
color: #373737;
display: flex;
.asterisk {
color: #F42E2E;
width: 10rpx;
margin-right: 6rpx;
}
}
.form-item-fr {
display: flex;
flex: 2;
align-items: center;
justify-content: flex-end;
margin-left: 20rpx;
}
.form-item-tit {
font-size: 30rpx;
color: #666;
margin-right: 20rpx;
text-align: right;
}
.form-item-text {
.title {
height: 100rpx;
line-height: 100rpx;
font-size: 30rpx;
color: #373737;
margin-left: 10rpx;
}
.textarea-box {
background-color: #F8F8F8;
border-radius: 5px;
.textarea {
font-size: 30rpx;
width: 100%;
min-height: 200rpx;
padding: 20rpx;
box-sizing: border-box;
}
}
}
}
.list {
.item {
......@@ -202,6 +151,11 @@
line-height: 40rpx;
margin-bottom: 30rpx;
display: flex;
justify-content: space-between;
.title-l {
display: flex;
}
.name {
font-size: 34rpx;
......@@ -218,10 +172,19 @@
line-height: 40rpx;
font-size: 24rpx;
text-align: center;
border-radius: 36rpx;
}
.purple {
color: #6A59F2;
background-color: #F5F4FF;
border: 1px solid #6A59F2;
border-radius: 36rpx;
}
.gray {
color: #B6B6BA;
background-color: #F8F8F8;
border: 1px solid #B6B6BA;
}
}
......@@ -249,7 +212,7 @@
}
.belongs-to {
padding: 30rpx;
padding: 25rpx;
background-color: #F8F6F9;
display: flex;
border-radius: 16rpx;
......@@ -271,47 +234,21 @@
}
}
}
}
}
}
.submit-box {
padding: 30rpx;
background: #ffffff;
.form-submit {
position: fixed;
bottom: 10rpx;
height: 80rpx;
line-height: 80rpx;
background-color: #6A59F2;
border-radius: 80rpx;
width: 100%;
box-sizing: border-box;
bottom: 0;
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid #F5F4FF;
.left {
.amount {
font-size: 40rpx;
color: #6A59F2;
font-weight: bold;
}
.time {
font-size: 28rpx;
color: #9D9CA6;
margin-top: 10rpx;
}
}
.right {
.form-submit {
height: 80rpx;
line-height: 80rpx;
background-color: #6A59F2;
border-radius: 80rpx;
width: 240rpx;
text-align: center;
font-size: 28rpx;
color: #FFFFFF;
}
}
text-align: center;
font-size: 28rpx;
color: #FFFFFF;
}
</style>
\ No newline at end of file
......@@ -2,37 +2,36 @@
<view class="container">
<view class="page">
<view class="search">
<uni-search-bar placeholder="请输入单号" bgColor="#F8F6F9" radius="100" @confirm="search"
@cancel="cancel" />
<uni-search-bar placeholder="请输入单号" bgColor="#F8F6F9" radius="100" @confirm="search" @cancel="cancel" />
</view>
<view class="withdrawal">
<view class="list">
<view class="item" v-for="item in payList" :key="item.id" @click="toDetail(item.id)">
<view class="list" v-if="dataList.length">
<view class="item" v-for="item in dataList" :key="item.id">
<view class="title">
<view class="name">CX312314141241</view>
<view class="name">{{item.balanceNum}}</view>
<view class="tag">已结算</view>
</view>
<view class="content">
<view class="text">
<view class="name">分利金额</view>
<view class="detail">3000.00</view>
<view class="detail">{{item.balanceMoney}}</view>
</view>
<view class="text">
<view class="name">账单数量</view>
<view class="detail">3</view>
<view class="detail">{{item.balanceCount}}</view>
</view>
<view class="text">
<view class="name">结算方式</view>
<view class="detail">转账</view>
<view class="detail">{{item.balanceWay}}</view>
</view>
<view class="text">
<view class="name">提交时间</view>
<view class="detail">2021-11-21 13:00</view>
<view class="detail">{{item.createTime}}</view>
</view>
</view>
</view>
</view>
<no-data :show="payList.length === 0" text="暂无缴费信息"></no-data>
<no-data :show="dataList.length === 0" text="暂无数据"></no-data>
</view>
</view>
......@@ -41,7 +40,7 @@
<script>
import {
communityPaymentApi
shareBalanceListApi
} from '@/config/api.js'
import noData from '@/components/no-data/no-data'
export default {
......@@ -50,49 +49,63 @@
},
data() {
return {
userName: '',
userPhone: '',
platformName: '',
payList: [{},{}]
page: {
platformType: 'partner',
balanceStatus: 3,
pageSize: 10,
pageNo: 1
},
dataList: [],
isFinish: false,
}
},
methods: {
async getList(chargeTypeCode) {
async getList(flag) {
let {
result
} = await communityPaymentApi({
chargeTypeCode
})
this.payList = result.records
} = await shareBalanceListApi(this.page)
this.total = result.total;
let data = result.records;
if (flag) {
uni.stopPullDownRefresh();
this.dataList = [].concat(data)
} else {
this.dataList = this.dataList.concat(data)
}
if (data.length < 10) {
this.isFinish = true
} else {
this.page.pageNo += 1
}
},
toRecord(type) {
if (type == 1) {
uni.navigateTo({
url: '/pages/payCostStatistical/index',
});
} else if (type == 2) {
uni.navigateTo({
url: '/pages/payCostRecord/index',
});
search(value) {
if (value.value) {
this.page.balanceNum = value.value.toString();
this.dataList = [];
this.page.pageNo = 1;
this.getList();
}
},
toDetail(id) {
uni.navigateTo({
url: `/pages/payCostDetails/index?id=${id}`,
});
cancel() {
this.dataList = [];
this.page.balanceNum = '';
this.page.pageNo = 1;
this.getList();
}
},
onLoad() {
const token = uni.getStorageSync('token');
if (token) {
this.getList()
}
},
onLoad(option) {
// this.userName = uni.getStorageSync('user_name')
// this.userPhone = uni.getStorageSync('user_phone')
// this.platformName = uni.getStorageSync('platform_name')
// this.getList(option.code)
// let obj = freeType.find(item=>item.code === option.code)
// if(obj) {
// uni.setNavigationBarTitle({
// title: obj.name
// })
// }
onPullDownRefresh() {
this.page.pageNo = 1
this.getList(true)
},
onReachBottom() {
if (this.isFinish) return
this.getList()
}
}
</script>
......@@ -106,13 +119,14 @@
padding: 0 0 90rpx;
background-color: #F8F6F9;
}
.search{
.search {
background-color: #ffffff;
}
.withdrawal {
padding: 30rpx;
.list {
.item {
background-color: #ffffff;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论