| | |
| | | <template> |
| | | <view class="cu-page cu-page--with-footer"> |
| | | <view class="cu-device-summary" v-if="device"> |
| | | <view class="cu-row cu-row--between"> |
| | | <text class="cu-name">{{ device.deviceName }}</text> |
| | | <text class="cu-status cu-status--ok">{{ device.statusText }}</text> |
| | | </view> |
| | | <view class="cu-line">房间:{{ device.roomInfo }}</view> |
| | | <view class="cu-page cu-page--with-footer cu-page--with-fab"> |
| | | <view class="cu-device-summary"> |
| | | <view class="cu-device-summary__title">商户空调统一账户</view> |
| | | <view class="cu-device-summary__balance"> |
| | | <view class="cu-device-summary__balance-label">当前账户余额</view> |
| | | <view class="cu-device-summary__balance-value">{{ device.balance }}</view> |
| | | <view class="cu-device-summary__balance-label">当前空调电费余额</view> |
| | | <view :class="['cu-device-summary__balance-value', balanceTone ? 'cu-device-summary__balance-value--' + balanceTone : '']">{{ balanceText }}</view> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | <view class="cu-page-footer"> |
| | | <view class="cu-btn cu-btn--primary" @click="submit">确认充值{{ amount ? ' ¥' + amount : '' }}</view> |
| | | </view> |
| | | <cu-workbench-fab /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { customerDeviceDetail, customerPayCreate } from '@/api' |
| | | import { customerHome, customerPayCreate } from '@/api' |
| | | import { invokeWxPay } from '@/utils/wxpay.js' |
| | | import { getBalanceTone } from '@/utils/utils.js' |
| | | |
| | | export default { |
| | | data () { |
| | | return { |
| | | deviceId: null, |
| | | device: null, |
| | | gsBalance: null, |
| | | amount: '', |
| | | remark: '', |
| | | quickAmounts: [50, 100, 200, 500] |
| | | } |
| | | }, |
| | | onLoad (q) { this.deviceId = q.id; this.load() }, |
| | | computed: { |
| | | balanceText () { |
| | | if (this.gsBalance === null || this.gsBalance === undefined || this.gsBalance === '') return '-' |
| | | const n = Number(this.gsBalance) |
| | | return Number.isNaN(n) ? this.gsBalance : n.toFixed(2) |
| | | }, |
| | | balanceTone () { |
| | | return getBalanceTone(this.gsBalance) |
| | | } |
| | | }, |
| | | onShow () { this.load() }, |
| | | methods: { |
| | | load () { |
| | | customerDeviceDetail({ deviceType: 1, deviceId: this.deviceId }).then(res => { this.device = res.data }) |
| | | customerHome().then(res => { |
| | | const gs = res.data && res.data.gsConfig |
| | | this.gsBalance = gs ? gs.leftMoney : null |
| | | }) |
| | | }, |
| | | submit () { |
| | | if (!this.amount) return uni.showToast({ title: '请输入金额', icon: 'none' }) |