fix:最新优化
This commit is contained in:
parent
6a7e01c0bf
commit
84077c1b4c
@ -1,5 +1,5 @@
|
|||||||
NODE_ENV= development
|
NODE_ENV= development
|
||||||
VITE_HTTP_BASE_URL = http://10.39.13.78:8002/api/
|
# VITE_HTTP_BASE_URL = http://10.39.13.78:8002/api/
|
||||||
# VITE_HTTP_BASE_URL = http://test-weapp-api.linyikj.com.cn/api/
|
VITE_HTTP_BASE_URL = http://test-weapp-api.linyikj.com.cn/api/
|
||||||
# VITE_HTTP_BASE_URL = https://weapp-api.linyikj.com.cn/api/
|
# VITE_HTTP_BASE_URL = https://weapp-api.linyikj.com.cn/api/
|
||||||
VITE_ACCESS_TOKEN_KEY= 'ACCESS_TOKEN_CUSTOMER'
|
VITE_ACCESS_TOKEN_KEY= 'ACCESS_TOKEN_CUSTOMER'
|
||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "0.0.108"
|
"version": "0.0.113"
|
||||||
}
|
}
|
||||||
@ -96,19 +96,51 @@ export default {
|
|||||||
},
|
},
|
||||||
handleSubmitOrder() {
|
handleSubmitOrder() {
|
||||||
let bill_ids: any = []
|
let bill_ids: any = []
|
||||||
|
let selectedHouseName = '' // 记录选中的房屋名称
|
||||||
|
let hasSelectedBills = false // 是否有选中的账单
|
||||||
|
console.log(model?.items?.value,'model?.items?.value')
|
||||||
|
|
||||||
model?.items?.value?.map((res: any) => {
|
model?.items?.value?.map((res: any) => {
|
||||||
res?.bills?.map((k: any) => {
|
res?.bills?.map((k: any) => {
|
||||||
k?.details?.map((i: any) => {
|
k?.details?.map((i: any) => {
|
||||||
if (k?.checked) {
|
if (k?.checked) {
|
||||||
|
// 检查是否跨房屋
|
||||||
|
if (!hasSelectedBills) {
|
||||||
|
// 第一次选中,记录房屋名称
|
||||||
|
selectedHouseName = res?.house_name
|
||||||
|
hasSelectedBills = true
|
||||||
|
} else if (selectedHouseName !== res?.house_name) {
|
||||||
|
// 发现跨房屋的情况
|
||||||
|
showToast('不能跨房屋提交账单,请选择同一房屋的账单进行支付!')
|
||||||
|
return
|
||||||
|
}
|
||||||
bill_ids.push(i?.id)
|
bill_ids.push(i?.id)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
console.log(bill_ids)
|
||||||
if (!bill_ids?.length) {
|
if (!bill_ids?.length) {
|
||||||
showToast('至少选择一个账单!')
|
showToast('至少选择一个账单!')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 再次检查是否跨房屋(双重检查)
|
||||||
|
const houseSet = new Set<string>()
|
||||||
|
model?.items?.value?.forEach((res: any) => {
|
||||||
|
res?.bills?.forEach((k: any) => {
|
||||||
|
if (k?.checked) {
|
||||||
|
houseSet.add(res?.house_name)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
if (houseSet.size > 1) {
|
||||||
|
showToast('不能跨房屋提交账单,请选择同一房屋的账单进行支付!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
getApiLoading(Apis.HouseOrder.HouseOrders.Store, {
|
getApiLoading(Apis.HouseOrder.HouseOrders.Store, {
|
||||||
bill_ids: bill_ids,
|
bill_ids: bill_ids,
|
||||||
amount: model?.total_amount?.value,
|
amount: model?.total_amount?.value,
|
||||||
|
|||||||
@ -1,9 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<view class="pay_title">支付金额</view>
|
<view class="house_title">
|
||||||
|
{{ useModel?.houseInfo?.value?.asset_house?.full_name || '-' }}
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="pay_price">
|
<view class="pay_price">
|
||||||
<text>¥</text>{{ useModel?.orderShow.value?.total_payable_amount || '0.00' }}
|
<text>¥</text>{{ useModel?.orderShow.value?.total_payable_amount || '0.00' }}
|
||||||
</view>
|
</view>
|
||||||
|
<view class="pay_title_sub">支付金额</view>
|
||||||
<view class="pay_type">
|
<view class="pay_type">
|
||||||
<view class="pay_label">
|
<view class="pay_label">
|
||||||
<image src="/static/svg/wx_pay.svg" mode="heightFix" />
|
<image src="/static/svg/wx_pay.svg" mode="heightFix" />
|
||||||
|
|||||||
@ -7,6 +7,7 @@ const getShow = (timer?: any) => {
|
|||||||
Apis.HouseOrder.HouseOrders.Show({ id: useModel?.OrderInfo?.value?.id }).then(res => {
|
Apis.HouseOrder.HouseOrders.Show({ id: useModel?.OrderInfo?.value?.id }).then(res => {
|
||||||
useModel.loadingShowNumber.value += 1
|
useModel.loadingShowNumber.value += 1
|
||||||
useModel.orderShow.value = res?.data
|
useModel.orderShow.value = res?.data
|
||||||
|
useModel.houseInfo.value = res?.data?.house_order_items[0]
|
||||||
if (res?.data?.order_status === 'Paid') {
|
if (res?.data?.order_status === 'Paid') {
|
||||||
useModel.payDisabled.value = false
|
useModel.payDisabled.value = false
|
||||||
clearInterval(timer)
|
clearInterval(timer)
|
||||||
|
|||||||
@ -8,5 +8,6 @@ export default {
|
|||||||
payDisabled: ref(false),
|
payDisabled: ref(false),
|
||||||
hideStatus: ref(false),
|
hideStatus: ref(false),
|
||||||
loadingLabel: ref(''),
|
loadingLabel: ref(''),
|
||||||
timer: ref<any>()
|
timer: ref<any>(),
|
||||||
|
houseInfo: ref<any>({}),
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,13 +2,25 @@ page {
|
|||||||
background-color: #f3f3f4;
|
background-color: #f3f3f4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.house_title{
|
||||||
|
text-align: center;
|
||||||
|
font-size:34rpx;
|
||||||
|
padding:70rpx 0 40rpx 0;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
.pay_title{
|
.pay_title{
|
||||||
font-size:30rpx;
|
font-size:30rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
padding:70rpx 0 40rpx 0;
|
padding: 40rpx 0;
|
||||||
|
}
|
||||||
|
.pay_title_sub{
|
||||||
|
font-size:24rpx;
|
||||||
|
color:#999;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.pay_price{
|
.pay_price{
|
||||||
font-size: 50rpx;
|
font-size: 50rpx;
|
||||||
|
|||||||
81
src/INDEX/pay_general/index.vue
Normal file
81
src/INDEX/pay_general/index.vue
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<view class="house_title">
|
||||||
|
<!-- {{ useModel?.houseInfo?.value?.remark || '-' }} -->
|
||||||
|
<hs-enum-tag
|
||||||
|
:value="useModel?.orderShow?.value?.type"
|
||||||
|
:Enums="BillPaymentsTypeEnum"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="pay_price">
|
||||||
|
<text>¥</text>{{ useModel?.orderShow.value?.amount || '0.00' }}
|
||||||
|
</view>
|
||||||
|
<view class="pay_title_sub">支付金额</view>
|
||||||
|
<view class="pay_type">
|
||||||
|
<view class="pay_label">
|
||||||
|
<image src="/static/svg/wx_pay.svg" mode="heightFix" />
|
||||||
|
<text>微信支付</text>
|
||||||
|
</view>
|
||||||
|
<uni-icons type="checkbox-filled" size="23" color="#48B338"></uni-icons>
|
||||||
|
</view>
|
||||||
|
<view class="footer_btn">
|
||||||
|
<hs-button
|
||||||
|
type="primary"
|
||||||
|
size="md"
|
||||||
|
:disabled="useModel?.payDisabled?.value"
|
||||||
|
:loading="useModel?.payDisabled?.value"
|
||||||
|
:loading_label="useModel?.loadingLabel?.value"
|
||||||
|
label="立即支付"
|
||||||
|
@click="method.onPay"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { onHide, onLoad, onShow, onUnload } from '@dcloudio/uni-app'
|
||||||
|
import { getCurrentInstance } from 'vue'
|
||||||
|
import method from './method'
|
||||||
|
import useModel from './model'
|
||||||
|
import { BillPaymentsTypeEnum } from '@/gen/Enums'
|
||||||
|
|
||||||
|
onLoad(async e => {
|
||||||
|
console.log('onLoad', e)
|
||||||
|
await getCurrentInstance()?.appContext.config.globalProperties.$onLaunched
|
||||||
|
useModel.loadingLabel.value = ''
|
||||||
|
useModel.loadingShowNumber.value = 0
|
||||||
|
useModel.hideStatus.value = false
|
||||||
|
useModel.payDisabled.value = false
|
||||||
|
useModel.OrderInfo.value = e
|
||||||
|
method?.getShow()
|
||||||
|
})
|
||||||
|
|
||||||
|
onShow(() => {
|
||||||
|
if (useModel?.hideStatus?.value) {
|
||||||
|
//记录是否跳去第三方支付小程序-取消
|
||||||
|
useModel.hideStatus.value = false
|
||||||
|
//检查支付状态
|
||||||
|
method?.getShow(null)
|
||||||
|
method?.loadShow()
|
||||||
|
}
|
||||||
|
console.log('onShow')
|
||||||
|
})
|
||||||
|
|
||||||
|
onHide(() => {
|
||||||
|
if (useModel?.payDisabled?.value) {
|
||||||
|
//记录是否跳去第三方支付小程序
|
||||||
|
useModel.hideStatus.value = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
onUnload(() => {
|
||||||
|
useModel.loadingLabel.value = ''
|
||||||
|
useModel.loadingShowNumber.value = 0
|
||||||
|
useModel.hideStatus.value = false
|
||||||
|
useModel.payDisabled.value = false
|
||||||
|
clearInterval(useModel.timer.value)
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
@import './style.scss';
|
||||||
|
</style>
|
||||||
66
src/INDEX/pay_general/method.ts
Normal file
66
src/INDEX/pay_general/method.ts
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
import { Apis } from '@/gen/Apis'
|
||||||
|
import useModel from './model'
|
||||||
|
import { getApiLoading } from '@/common/libraries/apiLoading'
|
||||||
|
import { tongLianPay } from '@/common/libraries/pay'
|
||||||
|
|
||||||
|
const getShow = (timer?: any) => {
|
||||||
|
Apis.Bill.Bills.Show({ bill_id: useModel?.OrderInfo?.value?.id }).then(res => {
|
||||||
|
useModel.loadingShowNumber.value += 1
|
||||||
|
useModel.orderShow.value = res?.data
|
||||||
|
// useModel.houseInfo.value = res?.data?.house_order_items[0]
|
||||||
|
if (res?.data?.payment_status === 'Paid') {
|
||||||
|
useModel.payDisabled.value = false
|
||||||
|
clearInterval(timer)
|
||||||
|
useModel.loadingLabel.value = ''
|
||||||
|
uni.hideLoading()
|
||||||
|
uni.redirectTo({
|
||||||
|
url: '/INDEX/pay/success'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
console.log('orderShow', res?.data)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const loadShow = () => {
|
||||||
|
useModel.loadingLabel.value = '更新账单中...'
|
||||||
|
useModel.timer.value = setInterval(() => {
|
||||||
|
if (
|
||||||
|
useModel?.loadingShowNumber?.value > 5 &&
|
||||||
|
useModel?.orderShow?.value?.order_status === 'Pending'
|
||||||
|
) {
|
||||||
|
useModel.loading.value = false
|
||||||
|
useModel.payDisabled.value = false
|
||||||
|
useModel.loadingShowNumber.value = 0
|
||||||
|
useModel.loadingLabel.value = ''
|
||||||
|
uni.hideLoading()
|
||||||
|
clearInterval(useModel.timer.value)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (useModel.loadingShowNumber.value <= 5) {
|
||||||
|
getShow(useModel.timer.value)
|
||||||
|
}
|
||||||
|
}, 1500)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
onPay() {
|
||||||
|
useModel.loading.value = true
|
||||||
|
getApiLoading(Apis.Bill.Bills.Payment, { bill_id: useModel?.OrderInfo?.value?.id,payment_method:useModel?.orderShow?.value?.payment_method }).then(
|
||||||
|
res => {
|
||||||
|
console.log('onPay', res?.data)
|
||||||
|
useModel.loading.value = false
|
||||||
|
useModel.payDisabled.value = true
|
||||||
|
tongLianPay(
|
||||||
|
res?.data,
|
||||||
|
() => {},
|
||||||
|
() => {
|
||||||
|
useModel.loading.value = false
|
||||||
|
useModel.payDisabled.value = false
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
loadShow,
|
||||||
|
getShow
|
||||||
|
}
|
||||||
13
src/INDEX/pay_general/model.ts
Normal file
13
src/INDEX/pay_general/model.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { ref } from 'vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
loading: ref(false),
|
||||||
|
loadingShowNumber: ref(-1),
|
||||||
|
OrderInfo: ref<any>({}),
|
||||||
|
orderShow: ref<any>({}),
|
||||||
|
payDisabled: ref(false),
|
||||||
|
hideStatus: ref(false),
|
||||||
|
loadingLabel: ref(''),
|
||||||
|
timer: ref<any>(),
|
||||||
|
houseInfo: ref<any>({}),
|
||||||
|
}
|
||||||
70
src/INDEX/pay_general/style.scss
Normal file
70
src/INDEX/pay_general/style.scss
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
page {
|
||||||
|
background-color: #f3f3f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.house_title{
|
||||||
|
text-align: center;
|
||||||
|
font-size:34rpx;
|
||||||
|
padding:70rpx 0 40rpx 0;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay_title{
|
||||||
|
font-size:30rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 600;
|
||||||
|
padding: 40rpx 0;
|
||||||
|
}
|
||||||
|
.pay_title_sub{
|
||||||
|
font-size:24rpx;
|
||||||
|
color:#999;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay_price{
|
||||||
|
font-size: 50rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 600;
|
||||||
|
color:#DF3600;
|
||||||
|
text{
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay_type{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin:100rpx 30rpx 0 30rpx;
|
||||||
|
padding:30rpx;
|
||||||
|
.pay_label{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size:28rpx;
|
||||||
|
image{
|
||||||
|
width:60rpx;
|
||||||
|
height:60rpx;
|
||||||
|
}
|
||||||
|
text{
|
||||||
|
padding-left:10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.footer_btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 100;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 25rpx 30rpx;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
border-top-left-radius: 15rpx;
|
||||||
|
border-top-right-radius: 15rpx;
|
||||||
|
padding-bottom: calc(25rpx + constant(safe-area-inset-bottom));
|
||||||
|
padding-bottom: calc(25rpx + env(safe-area-inset-bottom));
|
||||||
|
}
|
||||||
33
src/INDEX/pay_general/success.vue
Normal file
33
src/INDEX/pay_general/success.vue
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<template>
|
||||||
|
<view class="success_page">
|
||||||
|
<view>
|
||||||
|
<uni-icons type="checkbox-filled" size="70" color="#48B338"></uni-icons>
|
||||||
|
</view>
|
||||||
|
<view class="success_label"> 支付成功 </view>
|
||||||
|
<view class="success_des"> 您的物业费账单已实时更新 </view>
|
||||||
|
<hs-footer btnParimaryName="返回首页" @handleParmaryClick="onBackHome" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
const onBackHome = () => {
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/index/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.success_page {
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 30%;
|
||||||
|
.success_label {
|
||||||
|
font-size: 36rpx;
|
||||||
|
padding: 15rpx 0;
|
||||||
|
}
|
||||||
|
.success_des {
|
||||||
|
color: #666;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -89,6 +89,9 @@ export default {
|
|||||||
if (!data?.visitor_phone) {
|
if (!data?.visitor_phone) {
|
||||||
return showToast('请设置访客手机号!')
|
return showToast('请设置访客手机号!')
|
||||||
}
|
}
|
||||||
|
if (auth?.data?.user?.phone === data?.visitor_phone) {
|
||||||
|
return showToast('当前访客手机号已是住户!')
|
||||||
|
}
|
||||||
if (!data?.visit_reason) {
|
if (!data?.visit_reason) {
|
||||||
return showToast('请添加来访事由!')
|
return showToast('请添加来访事由!')
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,7 +59,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-if="i?.status !== 'Pending'" class="footer_items">
|
<view v-if="i?.status !== 'Pending' && i?.construction_status !== 'CompletedConstruction'" class="footer_items">
|
||||||
<template v-if="i?.status === 'Draft' || i?.status === 'Rejected'">
|
<template v-if="i?.status === 'Draft' || i?.status === 'Rejected'">
|
||||||
<hs-button
|
<hs-button
|
||||||
:label="i?.status === 'Rejected' ? '重新编辑' : '继续编辑'"
|
:label="i?.status === 'Rejected' ? '重新编辑' : '继续编辑'"
|
||||||
@ -68,6 +68,7 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="i?.status === 'Approved'">
|
<template v-if="i?.status === 'Approved'">
|
||||||
|
<template v-if="i?.status === 'Approved' && i?.construction_status !== 'CompletedConstruction'">
|
||||||
<hs-button
|
<hs-button
|
||||||
label="添加工人"
|
label="添加工人"
|
||||||
type="ghost"
|
type="ghost"
|
||||||
@ -80,6 +81,7 @@
|
|||||||
<hs-button label="装修延期" type="ghost" @click="method.handleExtension(i)" />
|
<hs-button label="装修延期" type="ghost" @click="method.handleExtension(i)" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</cc-scroll-loading>
|
</cc-scroll-loading>
|
||||||
|
|||||||
@ -135,7 +135,7 @@
|
|||||||
<hs-footer
|
<hs-footer
|
||||||
v-if="
|
v-if="
|
||||||
useModel?.showData?.value?.status === 'Approved' &&
|
useModel?.showData?.value?.status === 'Approved' &&
|
||||||
!useModel?.showData?.value?.house_work_orders?.length
|
!useModel?.showData?.value?.house_work_orders?.length && useModel?.showData?.value?.construction_status !== 'CompletedConstruction'
|
||||||
"
|
"
|
||||||
btnOtherShow
|
btnOtherShow
|
||||||
btnParimaryName="申请验收"
|
btnParimaryName="申请验收"
|
||||||
@ -146,7 +146,8 @@
|
|||||||
<hs-footer
|
<hs-footer
|
||||||
v-if="
|
v-if="
|
||||||
useModel?.showData?.value?.status === 'Approved' &&
|
useModel?.showData?.value?.status === 'Approved' &&
|
||||||
useModel?.showData?.value?.house_work_orders?.length
|
useModel?.showData?.value?.house_work_orders?.length &&
|
||||||
|
useModel?.showData?.value?.construction_status !== 'CompletedConstruction'
|
||||||
"
|
"
|
||||||
btnParimaryName="装修延期"
|
btnParimaryName="装修延期"
|
||||||
@handleParmaryClick="method.handleExtension"
|
@handleParmaryClick="method.handleExtension"
|
||||||
|
|||||||
69
src/ME/incidental_expenses/index.vue
Normal file
69
src/ME/incidental_expenses/index.vue
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<template>
|
||||||
|
<view class="release_items_page">
|
||||||
|
<cc-scroll-loading :meta="useModel?.metaData?.value" @load="method?.loadMore">
|
||||||
|
<view v-for="(i, index) in useModel?.listData?.value" :key="`items_${index}`" class="items">
|
||||||
|
<view class="cell_items">
|
||||||
|
<view class="label"> 状态 </view>
|
||||||
|
<view :class="`value status status_${i.payment_status}`">
|
||||||
|
{{ HouseOrdersOrderStatusEnum[i.payment_status as keyof typeof HouseOrdersOrderStatusEnum]?.text }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell_items">
|
||||||
|
<view class="label"> 支付金额 </view>
|
||||||
|
<view class="value"> ¥{{ i?.amount || '-' }} </view>
|
||||||
|
</view>
|
||||||
|
<view class="cell_items">
|
||||||
|
<view class="label"> 订单号 </view>
|
||||||
|
<view class="value">
|
||||||
|
{{ i?.payment_no || '-' }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="cell_items">
|
||||||
|
<view class="label"> 支付方式 </view>
|
||||||
|
<view class="value"> {{ HouseOrdersPaymentMethodEnum[i.payment_method as keyof typeof HouseOrdersPaymentMethodEnum]?.text }} </view>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
<view class="cell_items">
|
||||||
|
<view class="label"> 支付时间 </view>
|
||||||
|
<view class="value"> {{ i?.paid_time || '-' }} </view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="cell_items">
|
||||||
|
<view class="label"> 创建日期 </view>
|
||||||
|
<view class="value"> {{ i?.created_at || '-' }} </view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="cell_items">
|
||||||
|
<view class="label"> 其他备注 </view>
|
||||||
|
<view class="value"> {{ i?.remark || '-' }} </view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</cc-scroll-loading>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { onLoad, onShow, onUnload } from '@dcloudio/uni-app'
|
||||||
|
import method from './method'
|
||||||
|
import useModel from './model'
|
||||||
|
import { HouseOrdersOrderStatusEnum, HouseOrdersPaymentMethodEnum } from '@/gen/Enums'
|
||||||
|
onLoad(() => {
|
||||||
|
method?.getList()
|
||||||
|
})
|
||||||
|
onShow(() => {
|
||||||
|
if (useModel?.loadingStatus?.value) {
|
||||||
|
useModel.listData.value = []
|
||||||
|
useModel.formData.value = { page: 1 }
|
||||||
|
method?.getList()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
onUnload(() => {
|
||||||
|
useModel.loadingStatus.value = false
|
||||||
|
useModel.listData.value = []
|
||||||
|
useModel.formData.value = { page: 1 }
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
@import './style.scss';
|
||||||
|
</style>
|
||||||
29
src/ME/incidental_expenses/method.ts
Normal file
29
src/ME/incidental_expenses/method.ts
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import { Apis } from '@/gen/Apis'
|
||||||
|
import useModel from './model'
|
||||||
|
import { useWeAppAuthStore } from '@/common'
|
||||||
|
import { getApiLoading } from '@/common/libraries/apiLoading'
|
||||||
|
import userLoginStatus from '@/common/libraries/userUserLogin'
|
||||||
|
import { showToastBack, showToast } from '@/common/libraries/naviHelper'
|
||||||
|
const auth = useWeAppAuthStore()
|
||||||
|
|
||||||
|
const getList = () => {
|
||||||
|
getApiLoading(Apis.Bill.Bills.List, useModel?.formData?.value).then(res => {
|
||||||
|
useModel.listData.value = [...useModel.listData.value, ...res.data]
|
||||||
|
useModel.metaData.value = res.meta
|
||||||
|
useModel.loadingStatus.value = true
|
||||||
|
console.log(res)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
getList,
|
||||||
|
loadMore(page: number) {
|
||||||
|
useModel.formData.value.page = page
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
showPassedDoc(res: { id: string }) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/ME/release_items/show/index?id=${res?.id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
8
src/ME/incidental_expenses/model.ts
Normal file
8
src/ME/incidental_expenses/model.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { reactive, ref } from 'vue'
|
||||||
|
export default {
|
||||||
|
listData: ref<any>([]),
|
||||||
|
formData: ref({ page: 1 }),
|
||||||
|
metaData: ref({}),
|
||||||
|
currentTabs: ref(0),
|
||||||
|
loadingStatus: ref(false)
|
||||||
|
}
|
||||||
41
src/ME/incidental_expenses/style.scss
Normal file
41
src/ME/incidental_expenses/style.scss
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
page {
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
}
|
||||||
|
.release_items_page {
|
||||||
|
padding-bottom: calc(130rpx + constant(safe-area-inset-bottom));
|
||||||
|
padding-bottom: calc(130rpx + env(safe-area-inset-bottom));
|
||||||
|
}
|
||||||
|
.items {
|
||||||
|
margin: 30rpx 30rpx 0 30rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 15rpx;
|
||||||
|
padding: 30rpx 30rpx 0 30rpx;
|
||||||
|
.cell_items {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
color: #3d3d3d;
|
||||||
|
font-size: 28rpx;
|
||||||
|
padding-bottom: 25rpx;
|
||||||
|
}
|
||||||
|
.footer_items {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
padding: 25rpx 0;
|
||||||
|
}
|
||||||
|
.status {
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
padding: 6rpx 12rpx;
|
||||||
|
font-size: 23rpx;
|
||||||
|
background-color: #c5c5c5;
|
||||||
|
}
|
||||||
|
.status_Pending {
|
||||||
|
background-color: #ff8d1a;
|
||||||
|
}
|
||||||
|
.status_Paid {
|
||||||
|
background-color: #52c41a;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -15,9 +15,7 @@ const bindPickerChange = (e: any) => {
|
|||||||
let data = useModel?.listData?.value[e.detail.value] || {}
|
let data = useModel?.listData?.value[e.detail.value] || {}
|
||||||
console.log(data, 'data')
|
console.log(data, 'data')
|
||||||
useModel.currentHouse.value = data
|
useModel.currentHouse.value = data
|
||||||
if (data?.type === 2) {
|
|
||||||
method?.getQrCode()
|
method?.getQrCode()
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@ -26,6 +26,12 @@
|
|||||||
<view class="pass_address_label">
|
<view class="pass_address_label">
|
||||||
{{ useModel?.currentHouse?.value?.full_name || '' }}
|
{{ useModel?.currentHouse?.value?.full_name || '' }}
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view class="qr_code">
|
||||||
|
<image :src="useModel?.qrCode?.value" mode="widthFix" />
|
||||||
|
</view>
|
||||||
|
<view class="qr_code_label"> 请出示二维码协助员工扫码 </view>
|
||||||
|
|
||||||
<template v-if="useModel?.currentHouse?.value?.type === 1">
|
<template v-if="useModel?.currentHouse?.value?.type === 1">
|
||||||
<view class="house_relation_time">
|
<view class="house_relation_time">
|
||||||
<view class="house_relation_label">
|
<view class="house_relation_label">
|
||||||
@ -42,10 +48,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="useModel?.currentHouse?.value?.type === 2">
|
<template v-if="useModel?.currentHouse?.value?.type === 2">
|
||||||
<view class="qr_code">
|
|
||||||
<image :src="useModel?.qrCode?.value" mode="widthFix" />
|
|
||||||
</view>
|
|
||||||
<view class="qr_code_label"> 请出示二维码协助员工扫码 </view>
|
|
||||||
<view class="user_qr_code">
|
<view class="user_qr_code">
|
||||||
<image
|
<image
|
||||||
:src="
|
:src="
|
||||||
|
|||||||
@ -24,16 +24,22 @@ const getList = () => {
|
|||||||
useModel.listData.value = [...useModel.listData.value, ...data]
|
useModel.listData.value = [...useModel.listData.value, ...data]
|
||||||
if (useModel.listData.value?.length) {
|
if (useModel.listData.value?.length) {
|
||||||
useModel.currentHouse.value = useModel?.listData?.value[0]
|
useModel.currentHouse.value = useModel?.listData?.value[0]
|
||||||
if (useModel?.currentHouse?.value?.type === 2) {
|
|
||||||
getQrCode()
|
getQrCode()
|
||||||
}
|
// if (useModel?.currentHouse?.value?.type === 2) {
|
||||||
|
// getQrCode()
|
||||||
|
// }
|
||||||
|
// if (useModel?.currentHouse?.value?.type === 1) {
|
||||||
|
// getQrCode()
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const getQrCode = () => {
|
const getQrCode = () => {
|
||||||
getApiLoading(Apis.Visitor.VisitorApplies.VisitorQrCode, {
|
let url = useModel?.currentHouse?.value?.type === 2?Apis.Visitor.VisitorApplies.VisitorQrCode:Apis.Visitor.VisitorApplies.ResidentQrCode
|
||||||
id: useModel?.currentHouse?.value?.id
|
getApiLoading(url, {
|
||||||
|
id: useModel?.currentHouse?.value?.id,
|
||||||
|
asset_houses_id: useModel?.currentHouse?.value?.id
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
useModel.qrCode.value = res?.data?.qr_code
|
useModel.qrCode.value = res?.data?.qr_code
|
||||||
console.log(res)
|
console.log(res)
|
||||||
|
|||||||
9
src/gen/ApiTypes.d.ts
vendored
9
src/gen/ApiTypes.d.ts
vendored
@ -94,9 +94,9 @@ declare namespace ApiTypes {
|
|||||||
namespace Asset {
|
namespace Asset {
|
||||||
namespace AssetHouses {
|
namespace AssetHouses {
|
||||||
type GetCities = {
|
type GetCities = {
|
||||||
"city"?: string; // -
|
"city"?: string; // 城市
|
||||||
"city_id"?: string; // -
|
"city_id"?: string; // 城市ID
|
||||||
"app_id": string; // -
|
"app_id": string; // 小程序ID
|
||||||
};
|
};
|
||||||
type SelectProject = {
|
type SelectProject = {
|
||||||
"name"?: string; // -
|
"name"?: string; // -
|
||||||
@ -574,6 +574,9 @@ declare namespace ApiTypes {
|
|||||||
type VisitorQrCode = {
|
type VisitorQrCode = {
|
||||||
"id": number; // id
|
"id": number; // id
|
||||||
};
|
};
|
||||||
|
type ResidentQrCode = {
|
||||||
|
"asset_houses_id": number; // 房屋ID
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
namespace WechatWork {
|
namespace WechatWork {
|
||||||
|
|||||||
@ -296,6 +296,9 @@ export const Apis = {
|
|||||||
HsbPaymentCallback(): Promise<MyResponseType> {
|
HsbPaymentCallback(): Promise<MyResponseType> {
|
||||||
return request('customer/loop/c_c_b/hsb_payment_callback', {});
|
return request('customer/loop/c_c_b/hsb_payment_callback', {});
|
||||||
},
|
},
|
||||||
|
ReconciliationCallback(): Promise<MyResponseType> {
|
||||||
|
return request('customer/loop/c_c_b/reconciliation_callback', {});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Msg: {
|
Msg: {
|
||||||
@ -401,6 +404,9 @@ export const Apis = {
|
|||||||
VisitorQrCode(data: ApiTypes.Visitor.VisitorApplies.VisitorQrCode): Promise<MyResponseType> {
|
VisitorQrCode(data: ApiTypes.Visitor.VisitorApplies.VisitorQrCode): Promise<MyResponseType> {
|
||||||
return request('customer/visitor/visitor_applies/visitor_qr_code', { data });
|
return request('customer/visitor/visitor_applies/visitor_qr_code', { data });
|
||||||
},
|
},
|
||||||
|
ResidentQrCode(data: ApiTypes.Visitor.VisitorApplies.ResidentQrCode): Promise<MyResponseType> {
|
||||||
|
return request('customer/visitor/visitor_applies/resident_qr_code', { data });
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
WechatWork: {
|
WechatWork: {
|
||||||
|
|||||||
@ -71,6 +71,7 @@ export const ApprovalTemplatesTypeEnum = {
|
|||||||
'ContractPayment': {"text":"合同支付","color":"#00bcd4","value":"ContractPayment"},
|
'ContractPayment': {"text":"合同支付","color":"#00bcd4","value":"ContractPayment"},
|
||||||
'OtherContractSeal': {"text":"其它合同用印","color":"#795548","value":"OtherContractSeal"},
|
'OtherContractSeal': {"text":"其它合同用印","color":"#795548","value":"OtherContractSeal"},
|
||||||
'HouseBillUpdate': {"text":"物业账单修改","color":"#607d8b","value":"HouseBillUpdate"},
|
'HouseBillUpdate': {"text":"物业账单修改","color":"#607d8b","value":"HouseBillUpdate"},
|
||||||
|
'BillUpdate': {"text":"其他账单修改","color":"#795548","value":"BillUpdate"},
|
||||||
};
|
};
|
||||||
|
|
||||||
// 车位产权类型
|
// 车位产权类型
|
||||||
@ -292,9 +293,50 @@ export const BannersTypeEnum = {
|
|||||||
'Text': {"text":"文本","color":"#0000ff","value":"Text"},
|
'Text': {"text":"文本","color":"#0000ff","value":"Text"},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// BillPaymentsStatusEnum
|
||||||
|
export const BillPaymentsStatusEnum = {
|
||||||
|
'Pending': {"text":"待审","color":"#faad14","value":"Pending"},
|
||||||
|
'Approved': {"text":"已审","color":"#52c41a","value":"Approved"},
|
||||||
|
'Rejected': {"text":"驳回","color":"#f5222d","value":"Rejected"},
|
||||||
|
};
|
||||||
|
|
||||||
|
// BillPaymentsTypeEnum
|
||||||
|
export const BillPaymentsTypeEnum = {
|
||||||
|
'DoorCard': {"text":"门卡","color":"#2196f3","value":"DoorCard"},
|
||||||
|
'ResourceOrder': {"text":"资源订单","color":"#4caf50","value":"ResourceOrder"},
|
||||||
|
'EmergencyEvent': {"text":"突发事件","color":"#ef4444","value":"EmergencyEvent"},
|
||||||
|
'RenovationDeposit': {"text":"装修押金","color":"#f59e0b","value":"RenovationDeposit"},
|
||||||
|
};
|
||||||
|
|
||||||
|
// BillsFlowTypeEnum
|
||||||
|
export const BillsFlowTypeEnum = {
|
||||||
|
'Income': {"text":"收入","color":"#10b981","value":"Income"},
|
||||||
|
'Expense': {"text":"支出","color":"#ef4444","value":"Expense"},
|
||||||
|
};
|
||||||
|
|
||||||
|
// BillsRefundStatusEnum
|
||||||
|
export const BillsRefundStatusEnum = {
|
||||||
|
'Requested': {"text":"已申请","color":"#2196f3","value":"Requested"},
|
||||||
|
'Reviewing': {"text":"审核中","color":"#ff9800","value":"Reviewing"},
|
||||||
|
'Rejected': {"text":"已拒绝","color":"#f44336","value":"Rejected"},
|
||||||
|
'Processing': {"text":"退款中","color":"#9c27b0","value":"Processing"},
|
||||||
|
'Refunded': {"text":"已退款","color":"#4caf50","value":"Refunded"},
|
||||||
|
'Failed': {"text":"退款失败","color":"#e91e63","value":"Failed"},
|
||||||
|
};
|
||||||
|
|
||||||
|
// BillsStatusEnum
|
||||||
|
export const BillsStatusEnum = {
|
||||||
|
'PendingPayment': {"text":"待支付","color":"#facc15","value":"PendingPayment"},
|
||||||
|
'Paid': {"text":"已支付","color":"#10b981","value":"Paid"},
|
||||||
|
'ToBeConfirmed': {"text":"待确认","color":"#f97316","value":"ToBeConfirmed"},
|
||||||
|
'Overdue': {"text":"已逾期","color":"#ef4444","value":"Overdue"},
|
||||||
|
'UnderApproval': {"text":"审批中","color":"#8b5cf6","value":"UnderApproval"},
|
||||||
|
'Cancelled': {"text":"已取消","color":"#9ca3af","value":"Cancelled"},
|
||||||
|
};
|
||||||
|
|
||||||
// 缓存类型
|
// 缓存类型
|
||||||
export const CacheTypeEnum = {
|
export const CacheTypeEnum = {
|
||||||
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#16df7a","value":"MobilePhoneVerificationCode"},
|
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#68b5f8","value":"MobilePhoneVerificationCode"},
|
||||||
};
|
};
|
||||||
|
|
||||||
// CompaniesMerchantTypeEnum
|
// CompaniesMerchantTypeEnum
|
||||||
@ -558,6 +600,25 @@ export const ConvenienceServicesTypeEnum = {
|
|||||||
'GovernmentConsulting': {"text":"政务咨询","color":"#10b981","value":"GovernmentConsulting"},
|
'GovernmentConsulting': {"text":"政务咨询","color":"#10b981","value":"GovernmentConsulting"},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// CooperationSuggestionEnum
|
||||||
|
export const CooperationSuggestionEnum = {
|
||||||
|
'Recommend': {"text":"建议合作","color":"#28a745","value":"Recommend"},
|
||||||
|
'Restrict': {"text":"建议限制合作","color":"#ffc107","value":"Restrict"},
|
||||||
|
'Pause': {"text":"建议暂不合作","color":"#fd7e14","value":"Pause"},
|
||||||
|
'Eliminate': {"text":"建议淘汰","color":"#dc3545","value":"Eliminate"},
|
||||||
|
};
|
||||||
|
|
||||||
|
// CreditRatingEnum
|
||||||
|
export const CreditRatingEnum = {
|
||||||
|
'AAA': {"text":"AAA","color":"#28a745","value":"AAA"},
|
||||||
|
'AA': {"text":"AA","color":"#28a745","value":"AA"},
|
||||||
|
'A': {"text":"A","color":"#28a745","value":"A"},
|
||||||
|
'BBB': {"text":"BBB","color":"#ffc107","value":"BBB"},
|
||||||
|
'BB': {"text":"BB","color":"#ffc107","value":"BB"},
|
||||||
|
'B': {"text":"B","color":"#ffc107","value":"B"},
|
||||||
|
'CCC': {"text":"CCC","color":"#dc3545","value":"CCC"},
|
||||||
|
};
|
||||||
|
|
||||||
// CustomerBacklogsStatusEnum
|
// CustomerBacklogsStatusEnum
|
||||||
export const CustomerBacklogsStatusEnum = {
|
export const CustomerBacklogsStatusEnum = {
|
||||||
'Pending': {"text":"待办","color":"#faad14","value":"Pending"},
|
'Pending': {"text":"待办","color":"#faad14","value":"Pending"},
|
||||||
@ -1078,6 +1139,13 @@ export const HouseWorkOrdersTypeEnum = {
|
|||||||
'SecurityInspection': {"text":"安全巡检","color":"#e67e22","value":"SecurityInspection"},
|
'SecurityInspection': {"text":"安全巡检","color":"#e67e22","value":"SecurityInspection"},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// InfoVerificationEnum
|
||||||
|
export const InfoVerificationEnum = {
|
||||||
|
'Authentic': {"text":"真实完整","color":"#28a745","value":"Authentic"},
|
||||||
|
'Discrepancy': {"text":"存在差异","color":"#ffc107","value":"Discrepancy"},
|
||||||
|
'Fake': {"text":"信息造假","color":"#dc3545","value":"Fake"},
|
||||||
|
};
|
||||||
|
|
||||||
// 公告阅读者类型
|
// 公告阅读者类型
|
||||||
export const MsgPropertyAnnouncementReadsReaderTypeEnum = {
|
export const MsgPropertyAnnouncementReadsReaderTypeEnum = {
|
||||||
'Customer': {"text":"客户","color":"#3b82f6","value":"Customer"},
|
'Customer': {"text":"客户","color":"#3b82f6","value":"Customer"},
|
||||||
@ -1139,12 +1207,27 @@ export const PayTypeEnum = {
|
|||||||
'Alipay': {"text":"支付宝","color":"#1677ff","value":"Alipay"},
|
'Alipay': {"text":"支付宝","color":"#1677ff","value":"Alipay"},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// QualificationEvaluationEnum
|
||||||
|
export const QualificationEvaluationEnum = {
|
||||||
|
'Compliant': {"text":"合规","color":"#28a745","value":"Compliant"},
|
||||||
|
'BasicCompliant': {"text":"基本合规","color":"#ffc107","value":"BasicCompliant"},
|
||||||
|
'NonCompliant': {"text":"不合规","color":"#dc3545","value":"NonCompliant"},
|
||||||
|
};
|
||||||
|
|
||||||
// 题目类型枚举
|
// 题目类型枚举
|
||||||
export const QuestionsTypeEnum = {
|
export const QuestionsTypeEnum = {
|
||||||
'Score': {"text":"评分题","color":"#4caf50","value":"Score"},
|
'Score': {"text":"评分题","color":"#4caf50","value":"Score"},
|
||||||
'Fill': {"text":"填空题","color":"#2196f3","value":"Fill"},
|
'Fill': {"text":"填空题","color":"#2196f3","value":"Fill"},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// RatingOutlookEnum
|
||||||
|
export const RatingOutlookEnum = {
|
||||||
|
'Stable': {"text":"稳定","color":"#28a745","value":"Stable"},
|
||||||
|
'Positive': {"text":"正面","color":"#17a2b8","value":"Positive"},
|
||||||
|
'Negative': {"text":"负面","color":"#dc3545","value":"Negative"},
|
||||||
|
'Observation': {"text":"观察","color":"#ffc107","value":"Observation"},
|
||||||
|
};
|
||||||
|
|
||||||
// 退款状态枚举
|
// 退款状态枚举
|
||||||
export const RefundsStatusEnum = {
|
export const RefundsStatusEnum = {
|
||||||
'Pending': {"text":"待审批","color":"#ff9800","value":"Pending"},
|
'Pending': {"text":"待审批","color":"#ff9800","value":"Pending"},
|
||||||
@ -1267,6 +1350,13 @@ export const ResourcesReservationStatusEnum = {
|
|||||||
'Not': {"text":"无预约","color":"#f44336","value":"Not"},
|
'Not': {"text":"无预约","color":"#f44336","value":"Not"},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// RiskLevelEnum
|
||||||
|
export const RiskLevelEnum = {
|
||||||
|
'Low': {"text":"低风险","color":"#28a745","value":"Low"},
|
||||||
|
'Medium': {"text":"中风险","color":"#ffc107","value":"Medium"},
|
||||||
|
'High': {"text":"高风险","color":"#dc3545","value":"High"},
|
||||||
|
};
|
||||||
|
|
||||||
// 性别
|
// 性别
|
||||||
export const SexEnum = {
|
export const SexEnum = {
|
||||||
'Male': {"text":"男","color":"#0000ff","value":"Male"},
|
'Male': {"text":"男","color":"#0000ff","value":"Male"},
|
||||||
|
|||||||
@ -278,6 +278,11 @@
|
|||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "放行详情"
|
"navigationBarTitleText": "放行详情"
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
"path": "incidental_expenses/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "缴费记录"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -351,6 +356,12 @@
|
|||||||
"navigationBarTitleText": "收银台"
|
"navigationBarTitleText": "收银台"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "pay_general/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "通用收费"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "pay/success",
|
"path": "pay/success",
|
||||||
"style": {
|
"style": {
|
||||||
|
|||||||
@ -68,6 +68,11 @@ const area_functional: any = [
|
|||||||
label: '意见反馈',
|
label: '意见反馈',
|
||||||
icon: 'Feedback',
|
icon: 'Feedback',
|
||||||
url: '/ME/feedback/index'
|
url: '/ME/feedback/index'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '支付记录',
|
||||||
|
icon: 'incidental_expenses',
|
||||||
|
url: '/ME/incidental_expenses/index'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
const goToPage = (url: string) => {
|
const goToPage = (url: string) => {
|
||||||
|
|||||||
@ -5,9 +5,9 @@
|
|||||||
:style="`padding-top:${capsuleRect.top + capsuleRect.height}px;`"
|
:style="`padding-top:${capsuleRect.top + capsuleRect.height}px;`"
|
||||||
>
|
>
|
||||||
<view v-if="userData?.user" class="user_info_avatar">
|
<view v-if="userData?.user" class="user_info_avatar">
|
||||||
<view
|
<view>
|
||||||
><up-avatar size="60" :src="userData?.user?.avatar && userData?.user?.avatar[0]?.url"
|
<up-avatar size="60" :src="userData?.user?.avatar && userData?.user?.avatar[0]?.url" />
|
||||||
/></view>
|
</view>
|
||||||
<view class="user_info_name_phone">
|
<view class="user_info_name_phone">
|
||||||
<view class="name" v-if="userData?.user?.name">
|
<view class="name" v-if="userData?.user?.name">
|
||||||
{{ userData?.user?.name || '比较懒还没设置名字' }}
|
{{ userData?.user?.name || '比较懒还没设置名字' }}
|
||||||
|
|||||||
@ -29,6 +29,12 @@ onShow(async () => {
|
|||||||
url: `/INDEX/pay/index?id=${data[1]}`
|
url: `/INDEX/pay/index?id=${data[1]}`
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
if (data[0] === '2') {
|
||||||
|
//其他收费-订单支付
|
||||||
|
uni.redirectTo({
|
||||||
|
url: `/INDEX/pay_general/index?id=${data[1]}`
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
|
|||||||
1
src/static/svg/incidental_expenses.svg
Normal file
1
src/static/svg/incidental_expenses.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="20" height="20" viewBox="0 0 20 20"><path d="M13.244798660620116,11.328916592913817L10.988408060620117,11.328916592913817L10.988408060620117,10.055605892913817L13.244800560620117,10.055605892913817C13.653592560620117,10.055605892913817,13.985815960620117,9.72338389291382,13.985815960620117,9.314590492913819C13.985815960620117,8.905797492913818,13.653592560620117,8.573575492913818,13.244800560620117,8.573575492913818L11.882567360620117,8.573575492913818L13.393002060620116,6.850715292913819C13.663236660620118,6.543137672913819,13.632816360620117,6.0746954729138185,13.325075660620117,5.804648612913819C13.017261960620118,5.535114354913818,12.549381760620118,5.565496246913819,12.279009360620117,5.872575372913818L10.247391660620117,8.189482492913818L8.214540160620118,5.873809722913818C7.944493260620117,5.566069129913818,7.476051030620117,5.535650476913818,7.168473360620117,5.8058829629138184C6.860732790620117,6.075929822913818,6.830314130620117,6.544372082913818,7.100546540620117,6.851949592913819L8.610981960620117,8.574809792913818L7.249985520620117,8.574809792913818C6.841192390620117,8.574809792913818,6.508970260620117,8.907031992913819,6.508970260620117,9.315824992913818C6.508970260620117,9.724618392913818,6.841192390620117,10.056840392913818,7.249985520620117,10.056840392913818L9.506376960620116,10.056840392913818L9.506376960620116,11.33015109291382L7.249985520620117,11.33015109291382C6.841192390620117,11.33015109291382,6.508970260620117,11.662373492913819,6.508970260620117,12.07116599291382C6.508970260620117,12.479958992913819,6.841192390620117,12.812181492913819,7.249985520620117,12.812181492913819L9.506376960620116,12.812181492913819L9.506376960620116,14.131187892913818C9.506376960620116,14.539982292913818,9.838599660620117,14.872203392913818,10.247393160620117,14.872203392913818C10.656185660620118,14.872203392913818,10.988408060620117,14.539982292913818,10.988408060620117,14.131187892913818L10.988408060620117,12.812181492913819L13.244800560620117,12.812181492913819C13.653592560620117,12.812181492913819,13.985815960620117,12.479958992913819,13.985815960620117,12.07116599291382C13.985815960620117,11.662373492913819,13.653592560620117,11.328916092913818,13.244798660620116,11.328916592913817Z" fill="#2A7EFB" fill-opacity="1"/><path d="M18.509325,20L10,20C4.4856119,20,0,15.513154,0,10C0,4.4868479,4.4868479,0,10,0C15.513154,0,20,4.4868479,20,10C20,11.393108,19.718414,12.741757,19.163891,14.007656C19.000011,14.382636,18.563023,14.553562,18.188223,14.389279C17.81324,14.225406,17.642317,13.788411,17.806599,13.41361C18.278379,12.335432,18.517971,11.186861,18.517971,10C18.517971,5.3031988,14.696803,1.4820296,10.000002,1.4820296C5.3032007,1.4820296,1.480796,5.3019652,1.480796,10.000002C1.480796,14.698039,5.3019643,18.517971,9.9987669,18.517971L16.719772,18.517971L14.704213,16.502409C14.415217,16.213415,14.415217,15.744104,14.704213,15.453873C14.993209,15.164878,15.462518,15.164878,15.752749,15.453873L19.032978,18.734102C19.245401,18.946526,19.308388,19.265163,19.193529,19.541807C19.078674,19.818451,18.809443,20,18.509325,20Z" fill="#333333" fill-opacity="1"/></svg>
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
Loading…
x
Reference in New Issue
Block a user