添加充值记录页面,完善首页用户会员卡绑定信息,添加用户水卡注销及删除
| | |
| | | return request('/pay/service/wxPay',data,'POST') |
| | | } |
| | | //余额记录 |
| | | export function balanceChangeApi(data){ |
| | | return request('/userCapitalChange/search',data,'POST') |
| | | export function balanceChangeApi(date){ |
| | | return request(`/userCapitalChange/getListByUser?date=${date}`,{},'GET') |
| | | } |
| | | //消费记录 |
| | | export function paymentChangeApi(date){ |
| | | return request(`/paymentRecords/getListByUser?date=${date}`,{},'GET') |
| | | } |
| | | //充值记录 |
| | | export function rechargeChangeApi(date){ |
| | | return request(`/rechargeRecords/getListByUser?date=${date}`,{},'GET') |
| | | } |
| | | //会员卡挂失 |
| | | export function reportLossApi(cardNumber){ |
| | | return request(`/waterCard/reportLoss?cardNumber=${cardNumber}`,{},'GET') |
| | | } |
| | | //会员卡删除 |
| | | export function removeCardApi(cardNumber){ |
| | | return request(`/waterCard/remove?cardNumber=${cardNumber}`,{},'GET') |
| | | } |
| | | |
| | |
| | | { |
| | | "name": "water-drinking-uniapp", |
| | | "version": "1.0.0", |
| | | "lockfileVersion": 3, |
| | | "requires": true, |
| | | "packages": { |
| | | "": { |
| | | "name": "water-drinking-uniapp", |
| | | "version": "1.0.0", |
| | | "license": "ISC", |
| | | "dependencies": { |
| | | "@dcloudio/uni-ui": "^1.4.28" |
| | | } |
| | | }, |
| | | "node_modules/@dcloudio/uni-ui": { |
| | | "version": "1.5.6", |
| | | "resolved": "https://registry.npmmirror.com/@dcloudio/uni-ui/-/uni-ui-1.5.6.tgz", |
| | | "integrity": "sha512-jmb98PasFvZkrIDXGh94GbdWg2/jyhgs1HUG+bU8eyL7Ltias/5XBz4q8w9RXyWUfqepJRqapPA2IIQpLCuTIg==" |
| | | "name": "da-tree 树组件(支持单选、多选、无限级、主题色,Vue3版) ", |
| | | "version": "1.4.2", |
| | | "lockfileVersion": 3, |
| | | "requires": true, |
| | | "packages": { |
| | | "": { |
| | | "name": "da-tree 树组件(支持单选、多选、无限级、主题色,Vue3版) ", |
| | | "version": "1.4.2" |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/balanceRecord/index", |
| | | "path" : "pages/functionList/balanceRecord/index", |
| | | "style": { |
| | | "navigationStyle":"custom" |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/paymentRecord/index", |
| | | "path" : "pages/functionList/paymentRecord/index", |
| | | "style": { |
| | | "navigationStyle":"custom" |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/functionList/rechargeRecord/index", |
| | | "style": { |
| | | "navigationStyle":"custom" |
| | | } |
| | |
| | | import{ creatUserArchive } from '../../api/index.js' |
| | | |
| | | const form = ref({ |
| | | waterCardNumber:'', |
| | | id:JSON.parse(uni.getStorageSync('userInfo')).id, |
| | | waterCardNumber:'023B7C45', |
| | | userName:'', |
| | | userPhone:'', |
| | | remark:'', |
对比新文件 |
| | |
| | | <script setup> |
| | | import { computed, onMounted, ref } from 'vue' |
| | | import { balanceChangeApi } from '../../../api/index.js' |
| | | //返回 |
| | | function navBackTo(){ |
| | | uni.navigateBack() |
| | | } |
| | | //日期 |
| | | const endDate = ref() |
| | | const startDate = ref() |
| | | const datePay = ref() |
| | | const dateNow = ref() |
| | | //获取当前日期 |
| | | function getDate() { |
| | | const date = new Date(); |
| | | let year = date.getFullYear(); |
| | | let month = date.getMonth() + 1; |
| | | dateNow.value = year + '-' + month |
| | | datePay.value = dateNow.value |
| | | } |
| | | //选中日期 |
| | | async function bindDateChange(e){ |
| | | datePay.value = e.detail.value |
| | | await getBalanceList(datePay.value) |
| | | } |
| | | |
| | | //获取余额变动列表 |
| | | const banlanceList = ref([]) |
| | | async function getBalanceList(val){ |
| | | await balanceChangeApi(val).then((res) =>{ |
| | | if(res.code == 200){ |
| | | banlanceList.value = res.data |
| | | } |
| | | }) |
| | | } |
| | | //动态设置用户支出收入对应样式 |
| | | function setStyleMoney(val){ |
| | | if(val == 200){ |
| | | return { color:'#ebc117'} |
| | | }else{ |
| | | return { color:'#00aa00'} |
| | | } |
| | | } |
| | | onMounted(async() =>{ |
| | | getDate() |
| | | await getBalanceList(datePay.value) |
| | | }) |
| | | </script> |
| | | <template> |
| | | <view class="container"> |
| | | <navbar @navBackTo="navBackTo()" title="余额记录"></navbar> |
| | | <view class="date"> |
| | | <view class="picker"> |
| | | <picker mode="date" :value="datePay" :fields="'month'" @change="bindDateChange"> |
| | | <view class="date-text"> |
| | | <text class="uni-input">{{datePay}}</text> |
| | | <image src="../../../static/images/other/more.png" alt=''></image> |
| | | </view> |
| | | </picker> |
| | | </view> |
| | | <view class="date-money"> |
| | | <text>支出¥5341.05</text> |
| | | <text>充值¥941.59</text> |
| | | </view> |
| | | </view> |
| | | <view class="main"> |
| | | <block v-for="(item,index) in banlanceList"> |
| | | <view class="item"> |
| | | <view class="item-left"> |
| | | <text class="methods">{{item.businessName}}</text> |
| | | <text>{{item.createTimeView}}</text> |
| | | </view> |
| | | <view class="item-right"> |
| | | <view> |
| | | <text v-if="item.business == 200" style="color:#ebc117">-</text> |
| | | <text class="money" :style="setStyleMoney(item.business)">{{item.changeMoney}}</text> |
| | | <text>元</text> |
| | | </view> |
| | | <text>{{item.beforeMoney}}</text> |
| | | </view> |
| | | </view> |
| | | </block> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <style lang="scss"> |
| | | .container{ |
| | | width: 100%; |
| | | height: 100vh; |
| | | background:linear-gradient(to top,#FFFFFF,#E8EFFF); |
| | | .date{ |
| | | height: 84rpx; |
| | | width:100%; |
| | | display: flex; |
| | | padding: 0 36rpx; |
| | | box-sizing: border-box; |
| | | justify-content:space-between; |
| | | align-items: center; |
| | | .picker{ |
| | | .date-text{ |
| | | height: 84rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | text{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #000000; |
| | | margin-right:10rpx; |
| | | } |
| | | image{ |
| | | width: 28rpx; |
| | | height:32rpx; |
| | | transform: rotate(90deg); |
| | | // margin-top:10rpx; |
| | | } |
| | | } |
| | | } |
| | | .date-money{ |
| | | font-weight: 300; |
| | | font-size: 24rpx; |
| | | color: #7E7E7E; |
| | | text:first-child{ |
| | | margin-right:30rpx; |
| | | } |
| | | } |
| | | } |
| | | .main{ |
| | | width:99%; |
| | | height: calc(100vh - 84rpx - 176rpx - 70rpx); |
| | | background: #fff; |
| | | border-radius:20rpx; |
| | | margin: 0 auto; |
| | | padding:28rpx 48rpx; |
| | | box-sizing: border-box; |
| | | overflow-y: scroll; |
| | | // background: #7E7E7E; |
| | | .item{ |
| | | width:100%; |
| | | height:160rpx; |
| | | // background:rgba(170, 216, 255, 0.2); |
| | | border-bottom:1rpx solid #D8D8D8; |
| | | box-sizing:border-box; |
| | | // padding-bottom:38rpx; |
| | | justify-content:space-between; |
| | | align-items: flex-end; |
| | | display: flex; |
| | | .item-left{ |
| | | height:100%; |
| | | display:flex; |
| | | flex-direction:column; |
| | | justify-content:space-around; |
| | | align-items: flex-start; |
| | | text:first-child{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #000000; |
| | | } |
| | | .methods{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #474646; |
| | | } |
| | | text:last-child{ |
| | | font-weight: 300; |
| | | font-size: 24rpx; |
| | | color: #A7A7A7; |
| | | } |
| | | } |
| | | .item-right{ |
| | | height:100%; |
| | | display:flex; |
| | | flex-direction:column; |
| | | justify-content:space-around; |
| | | align-items:flex-end; |
| | | text{ |
| | | font-weight: 300; |
| | | font-size: 24rpx; |
| | | color: #474646; |
| | | margin-left:5rpx; |
| | | } |
| | | .money{ |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | color: #0d83bb; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | import { onMounted, ref } from 'vue' |
| | | import { paymentChangeApi } from '../../../api/index.js' |
| | | //返回 |
| | | function navBackTo(){ |
| | | uni.navigateBack() |
| | | } |
| | | //日期 |
| | | const endDate = ref() |
| | | const startDate = ref() |
| | | const datePay = ref() |
| | | const dateNow = ref() |
| | | //获取当前日期 |
| | | function getDate() { |
| | | const date = new Date(); |
| | | let year = date.getFullYear(); |
| | | let month = date.getMonth() + 1; |
| | | dateNow.value = year + '-' + month |
| | | datePay.value = dateNow.value |
| | | console.log('datePay',datePay.value) |
| | | // return `${year} + '-' + ${month}` |
| | | } |
| | | //选中日期 |
| | | async function bindDateChange(e){ |
| | | datePay.value = e.detail.value |
| | | await getBalanceList(datePay.value) |
| | | console.log('e',e) |
| | | } |
| | | |
| | | //获取消费变动列表 |
| | | const banlanceList = ref([]) |
| | | async function getBalanceList(val){ |
| | | await paymentChangeApi(val).then((res) =>{ |
| | | if(res.code == 200){ |
| | | banlanceList.value = res.data |
| | | } |
| | | }) |
| | | } |
| | | onMounted(async() =>{ |
| | | getDate() |
| | | await getBalanceList(datePay.value) |
| | | }) |
| | | </script> |
| | | <template> |
| | | <view class="container"> |
| | | <navbar @navBackTo="navBackTo()" title="消费记录"></navbar> |
| | | <view class="date"> |
| | | <view class="picker"> |
| | | <picker mode="date" :value="datePay" :fields="'month'" @change="bindDateChange"> |
| | | <view class="date-text"> |
| | | <text class="uni-input">{{datePay}}</text> |
| | | <image src="../../../static/images/other/more.png" alt=''></image> |
| | | </view> |
| | | </picker> |
| | | </view> |
| | | </view> |
| | | <view class="main"> |
| | | <block v-for="(item,index) in banlanceList"> |
| | | <view class="item"> |
| | | <view class="item-left"> |
| | | <text>购水</text> |
| | | <text class="methods">消费方式:{{item.consumptionTypeView}}</text> |
| | | <text>{{item.payTime}}</text> |
| | | </view> |
| | | <view class="item-right"> |
| | | <text class="money">{{item.paymentAmount}}</text> |
| | | <text>元</text> |
| | | </view> |
| | | </view> |
| | | </block> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <style lang="scss"> |
| | | .container{ |
| | | width: 100%; |
| | | height: 100vh; |
| | | background:linear-gradient(to top,#FFFFFF,#E8EFFF); |
| | | .date{ |
| | | height: 84rpx; |
| | | width:100%; |
| | | display: flex; |
| | | padding: 0 36rpx; |
| | | box-sizing: border-box; |
| | | justify-content:flex-start; |
| | | align-items: center; |
| | | .picker{ |
| | | .date-text{ |
| | | height: 84rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | text{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #000000; |
| | | margin-right:10rpx; |
| | | } |
| | | image{ |
| | | width: 28rpx; |
| | | height:32rpx; |
| | | transform: rotate(90deg); |
| | | // margin-top:10rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .main{ |
| | | width:99%; |
| | | height: calc(100vh - 84rpx - 176rpx - 70rpx); |
| | | background: #fff; |
| | | border-radius:20rpx; |
| | | margin: 0 auto; |
| | | padding:28rpx 48rpx; |
| | | box-sizing: border-box; |
| | | overflow-y: scroll; |
| | | // background: #7E7E7E; |
| | | .item{ |
| | | width:100%; |
| | | height:184rpx; |
| | | // background:rgba(170, 216, 255, 0.2); |
| | | border-bottom:1rpx solid #D8D8D8; |
| | | box-sizing:border-box; |
| | | padding-bottom:38rpx; |
| | | justify-content:space-between; |
| | | align-items: flex-end; |
| | | display: flex; |
| | | .item-left{ |
| | | height:100%; |
| | | display:flex; |
| | | flex-direction:column; |
| | | justify-content:space-between; |
| | | align-items: flex-start; |
| | | text:first-child{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #000000; |
| | | } |
| | | .methods{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #474646; |
| | | } |
| | | text:last-child{ |
| | | font-weight: 300; |
| | | font-size: 24rpx; |
| | | color: #A7A7A7; |
| | | } |
| | | } |
| | | .item-right{ |
| | | height:100%; |
| | | display:flex; |
| | | justify-content:flex-end; |
| | | align-items:flex-end; |
| | | text{ |
| | | font-weight: 300; |
| | | font-size: 24rpx; |
| | | color: #474646; |
| | | margin-left:5rpx; |
| | | } |
| | | .money{ |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | color: #0d83bb; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <script setup> |
| | | import { onMounted, ref } from 'vue' |
| | | import { rechargeChangeApi } from '../../../api/index.js' |
| | | //返回 |
| | | function navBackTo(){ |
| | | uni.navigateBack() |
| | | } |
| | | //日期 |
| | | const endDate = ref() |
| | | const startDate = ref() |
| | | const datePay = ref() |
| | | const dateNow = ref() |
| | | //获取当前日期 |
| | | function getDate() { |
| | | const date = new Date(); |
| | | let year = date.getFullYear(); |
| | | let month = date.getMonth() + 1; |
| | | dateNow.value = year + '-' + month |
| | | datePay.value = dateNow.value |
| | | console.log('datePay',datePay.value) |
| | | // return `${year} + '-' + ${month}` |
| | | } |
| | | //选中日期 |
| | | async function bindDateChange(e){ |
| | | datePay.value = e.detail.value |
| | | await getBalanceList(datePay.value) |
| | | console.log('e',e) |
| | | } |
| | | |
| | | //获取消费变动列表 |
| | | const banlanceList = ref([]) |
| | | async function getBalanceList(val){ |
| | | await rechargeChangeApi(val).then((res) =>{ |
| | | if(res.code == 200){ |
| | | banlanceList.value = res.data |
| | | } |
| | | }) |
| | | } |
| | | onMounted(async() =>{ |
| | | getDate() |
| | | await getBalanceList(datePay.value) |
| | | }) |
| | | </script> |
| | | <template> |
| | | <view class="container"> |
| | | <navbar @navBackTo="navBackTo()" title="充值记录"></navbar> |
| | | <view class="date"> |
| | | <view class="picker"> |
| | | <picker mode="date" :value="datePay" :fields="'month'" @change="bindDateChange"> |
| | | <view class="date-text"> |
| | | <text class="uni-input">{{datePay}}</text> |
| | | <image src="../../../static/images/other/more.png" alt=''></image> |
| | | </view> |
| | | </picker> |
| | | </view> |
| | | </view> |
| | | <view class="main"> |
| | | <block v-for="(item,index) in banlanceList"> |
| | | <view class="item"> |
| | | <view class="item-left"> |
| | | <text>购水</text> |
| | | <text class="methods">消费方式:{{item.consumptionTypeView}}</text> |
| | | <text>{{item.payTime}}</text> |
| | | </view> |
| | | <view class="item-right"> |
| | | <text class="money">{{item.paymentAmount}}</text> |
| | | <text>元</text> |
| | | </view> |
| | | </view> |
| | | </block> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <style lang="scss"> |
| | | .container{ |
| | | width: 100%; |
| | | height: 100vh; |
| | | background:linear-gradient(to top,#FFFFFF,#E8EFFF); |
| | | .date{ |
| | | height: 84rpx; |
| | | width:100%; |
| | | display: flex; |
| | | padding: 0 36rpx; |
| | | box-sizing: border-box; |
| | | justify-content:flex-start; |
| | | align-items: center; |
| | | .picker{ |
| | | .date-text{ |
| | | height: 84rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | text{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #000000; |
| | | margin-right:10rpx; |
| | | } |
| | | image{ |
| | | width: 28rpx; |
| | | height:32rpx; |
| | | transform: rotate(90deg); |
| | | // margin-top:10rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .main{ |
| | | width:99%; |
| | | height: calc(100vh - 84rpx - 176rpx - 70rpx); |
| | | background: #fff; |
| | | border-radius:20rpx; |
| | | margin: 0 auto; |
| | | padding:28rpx 48rpx; |
| | | box-sizing: border-box; |
| | | overflow-y: scroll; |
| | | // background: #7E7E7E; |
| | | .item{ |
| | | width:100%; |
| | | height:184rpx; |
| | | // background:rgba(170, 216, 255, 0.2); |
| | | border-bottom:1rpx solid #D8D8D8; |
| | | box-sizing:border-box; |
| | | padding-bottom:38rpx; |
| | | justify-content:space-between; |
| | | align-items: flex-end; |
| | | display: flex; |
| | | .item-left{ |
| | | height:100%; |
| | | display:flex; |
| | | flex-direction:column; |
| | | justify-content:space-between; |
| | | align-items: flex-start; |
| | | text:first-child{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #000000; |
| | | } |
| | | .methods{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #474646; |
| | | } |
| | | text:last-child{ |
| | | font-weight: 300; |
| | | font-size: 24rpx; |
| | | color: #A7A7A7; |
| | | } |
| | | } |
| | | .item-right{ |
| | | height:100%; |
| | | display:flex; |
| | | justify-content:flex-end; |
| | | align-items:flex-end; |
| | | text{ |
| | | font-weight: 300; |
| | | font-size: 24rpx; |
| | | color: #474646; |
| | | margin-left:5rpx; |
| | | } |
| | | .money{ |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | color: #0d83bb; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <script setup> |
| | | import { onMounted, ref } from "vue"; |
| | | import { getVipInfoApi,getUserInfo } from '../../api/index.js' |
| | | import { getVipInfoApi,getUserInfo,reportLossApi,removeCardApi } from '../../api/index.js' |
| | | import { onShow } from '@dcloudio/uni-app' |
| | | //状态栏高度 |
| | | const topHeight = ref(0) |
| | |
| | | */ |
| | | const cardInfo = ref({ |
| | | id:'', |
| | | userName:'', |
| | | userName:'微信用户', |
| | | headImg:'', |
| | | userPhone:'', |
| | | |
| | | waterCardNumber:'', |
| | | balance:'', |
| | | count:'', |
| | | userPhone:'', |
| | | }) |
| | | const isVip = ref(false) |
| | | //获取会员卡信息 |
| | | async function getInfo(){ |
| | | let res = await getUserInfo() |
| | | if(res.code == 200){ |
| | | console.log('res',res.data) |
| | | cardInfo.value.userName = res.data.userInfo.userName |
| | | cardInfo.value.headImg = res.data.userInfo.headImg |
| | | cardInfo.value.userPhone = res.data.userInfo.userPhone |
| | | cardInfo.value.id = res.data.userInfo.id |
| | | if(res.data.userInfo.waterCardNumber){ |
| | | let res1 = await getVipInfoApi() |
| | | cardInfo.value.waterCardNumber = res1.data.cardNumber |
| | | if(res1.data.cardType == 1){ |
| | | cardInfo.value.balance = res1.data.balance |
| | | }else if(res1.data.cardType == 2){ |
| | | cardInfo.value.count = res1.data.count |
| | | async function getVipInfo(){ |
| | | await getVipInfoApi().then((res) =>{ |
| | | if(res.code == 200){ |
| | | cardInfo.value.waterCardNumber = res.data.cardNumber |
| | | if(res.data.cardType == 1){ |
| | | cardInfo.value.balance = res.data.balance |
| | | }else if(res.data.cardType == 2){ |
| | | cardInfo.value.count = res.data.count |
| | | } |
| | | isVip.value = true |
| | | }else{ |
| | | isVip.value = false |
| | | } |
| | | uni.setStorageSync('userInfo',JSON.stringify(cardInfo.value)) |
| | | } |
| | | }) |
| | | } |
| | | //获取用户信息 |
| | | async function getInfo(){ |
| | | await getUserInfo().then(async(res) =>{ |
| | | if(res.code == 200){ |
| | | cardInfo.value.userName = res.data.userInfo.userName ? res.data.userInfo.userName : cardInfo.value.userName |
| | | cardInfo.value.headImg = res.data.userInfo.headImg |
| | | cardInfo.value.userPhone = res.data.userInfo.userPhone |
| | | cardInfo.value.id = res.data.userInfo.id |
| | | |
| | | if(res.data.userInfo.waterCardNumber){ |
| | | await getVipInfo() |
| | | }else{ |
| | | isVip.value = false |
| | | } |
| | | uni.setStorageSync('userInfo',JSON.stringify(cardInfo.value)) |
| | | } |
| | | }) |
| | | } |
| | | /** |
| | | * 扫码取水相关 |
| | |
| | | * 功能列表相关 |
| | | */ |
| | | const functionList = ref([ |
| | | {text:'余额记录',icon:'../../static/images/index/icon31.png',url:'/pages/balanceRecord/index'}, |
| | | {text:'消费记录',icon:'../../static/images/index/icon32.png',url:'/pages/paymentRecord/index'}, |
| | | {text:'充值记录',icon:'../../static/images/index/icon33.png',url:''}, |
| | | {text:'账户共享',icon:'../../static/images/index/icon34.png',url:''}, |
| | | {text:'优惠卷',icon:'../../static/images/index/icon35.png',url:''}, |
| | | {text:'电子发票',icon:'../../static/images/index/icon36.png',url:''}, |
| | | {text:'联系客服',icon:'../../static/images/index/icon37.png',url:''}, |
| | | {text:'推广分佣',icon:'../../static/images/index/icon38.png',url:''}, |
| | | {text:'余额记录',icon:'../../static/images/index/icon31.png',url:'/pages/functionList/balanceRecord/index',isUrl:1}, |
| | | {text:'消费记录',icon:'../../static/images/index/icon32.png',url:'/pages/functionList/paymentRecord/index',isUrl:1}, |
| | | {text:'充值记录',icon:'../../static/images/index/icon33.png',url:'/pages/functionList/rechargeRecord/index',isUrl:1}, |
| | | {text:'账户共享',icon:'../../static/images/index/icon34.png',url:'',isUrl:1}, |
| | | {text:'优惠卷',icon:'../../static/images/index/icon35.png',url:'',isUrl:1}, |
| | | {text:'电子发票',icon:'../../static/images/index/icon36.png',url:'',isUrl:1}, |
| | | {text:'会员卡挂失',icon:'../../static/images/index/icon37.png',url:'',isUrl:2}, |
| | | {text:'会员卡注销',icon:'../../static/images/index/icon38.png',url:'',isUrl:3}, |
| | | ]) |
| | | function navTo(itemUrl){ |
| | | if(itemUrl){ |
| | | uni.navigateTo({ |
| | | url:itemUrl |
| | | }) |
| | | } |
| | | } |
| | | //功能列表点击功能 |
| | | async function setEvent(isUrl,url){ |
| | | if(isUrl == 1){ |
| | | navTo(url) |
| | | }else if(isUrl == 2){ |
| | | uni.showModal({ |
| | | title: '会员卡挂失', |
| | | content: '确认挂失会员卡?', |
| | | success: async function(res) { |
| | | if (res.confirm) { |
| | | await reportLossApi(cardInfo.value.waterCardNumber).then((res) =>{ |
| | | if(res.code == 200){ |
| | | uni.showToast({ |
| | | title: '已挂失', |
| | | duration: 2000, |
| | | }); |
| | | } |
| | | }) |
| | | }else{ |
| | | console.log('点击了取消7') |
| | | } |
| | | } |
| | | }) |
| | | }else if(isUrl == 3){ |
| | | uni.showModal({ |
| | | title: '会员卡注销', |
| | | content: '确认注销会员卡?', |
| | | success: async function(res) { |
| | | if (res.confirm) { |
| | | await removeCardApi(cardInfo.value.waterCardNumber).then(async(res) =>{ |
| | | if(res.code == 200){ |
| | | uni.showToast({ |
| | | title: '已注销', |
| | | duration: 2000, |
| | | }); |
| | | await getVipInfo().then((res) =>{ |
| | | if(res.code == 200){ |
| | | if(!res.data.id){ |
| | | isVip.value = false |
| | | cardInfo.value.balance = '' |
| | | cardInfo.value.count = '' |
| | | cardInfo.value.waterCardNumber = '' |
| | | uni.setStorageSync('userInfo',JSON.stringify(cardInfo.value)) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }else{ |
| | | console.log('点击了取消8') |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | |
| | | <view class="card-left"> |
| | | <view class="left-top"> |
| | | <view> |
| | | <image src="../../static/images/index/code1.png" alt=""></image> |
| | | <image v-if="isVip" src="../../static/images/index/code1.png" alt=""></image> |
| | | <text>会员卡</text> |
| | | </view> |
| | | <view>ID:{{cardInfo.waterCardNumber}}</view> |
| | | <view v-if="isVip">ID:{{cardInfo.waterCardNumber}}</view> |
| | | </view> |
| | | <view class="left-bottom">电话:{{cardInfo.userPhone}}</view> |
| | | <!-- <view v-if="cardInfo.userPhone" class="left-bottom">电话:{{cardInfo.userPhone}}</view> --> |
| | | </view> |
| | | <view class="card-right"> |
| | | <view class="card-right-top"> |
| | |
| | | <image src='../../static/images/index/vip-add.png' alt=''></image> |
| | | <text>添加会员卡</text> |
| | | </view> --> |
| | | <text>金额卡</text> |
| | | <text>{{cardInfo.balance}}元</text> |
| | | <text v-if="isVip">金额卡</text> |
| | | <text v-if="!isVip">未绑定会员卡</text> |
| | | <text v-if="isVip">{{cardInfo.balance}}元</text> |
| | | </view> |
| | | <view class="card-right-bottom" @click="navTo('/pages/recharge/index')">充值</view> |
| | | <view v-if="isVip" class="card-right-bottom" @click="navTo('/pages/recharge/index')">充值</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="box2-title"><text>功能列表</text></view> |
| | | <view class="box2-content"> |
| | | <block v-for="(item,index) in functionList" :key="index"> |
| | | <view class="box2-item" @click="navTo(item.url)"> |
| | | <view class="box2-item" @click="setEvent(item.isUrl,item.url)"> |
| | | <image :src= "item.icon" alt=""></image> |
| | | <view class="box2-item-text">{{item.text}}</view> |
| | | </view> |
| | |
| | | import{ ref ,onMounted} from 'vue' |
| | | import { wxPayApi } from '../../api/index.js' |
| | | |
| | | const choosedMoney = ref() |
| | | const choosedMoney = ref(50) |
| | | const disabled = ref(true) |
| | | //选择金额 |
| | | const moneyList = ref([ |
| | |
| | | if(disabled.value){ |
| | | money = choosedMoney.value |
| | | }else{ |
| | | money = otherMoney.value |
| | | money = Number(otherMoney.value) |
| | | } |
| | | await wxPayApi({businessType:1,tradeAmount:money}).then((res) =>{ |
| | | console.log('reswxpay',res) |
对比新文件 |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <navbar title = '站点列表'></navbar> |
| | | <view class="content"> |
| | | <view class="nav"> |
| | | <view class="nav-title"> |
| | | <view @click="switchTo(1)" class="title-text" :style="isNav === 1 ? isActive : {}">送水点</view> |
| | | <view @click="switchTo(2)" class="title-text" :style="isNav === 2 ? isActive : {}">设备点</view> |
| | | </view> |
| | | </view> |
| | | <view v-if="isNav === 1" class="main"> |
| | | <block v-for="(item,index) in sendWaterSiteList" :key='index'> |
| | | <view class="item"> |
| | | <view class="item-img"> |
| | | <image src="../../static/logo.png" alt=''></image> |
| | | </view> |
| | | <view class="item-info"> |
| | | <view class="info-name">{{item.name}}</view> |
| | | <view class="info-addr" @click="openMap(item.latitude,item.longitude)"> |
| | | <text class="addr-text">地址:{{item.address}}</text> |
| | | <view> |
| | | <image src="../../static/images/index/icon22.png" alt=''></image> |
| | | <text>{{item.distanceValue}}km</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </block> |
| | | </view> |
| | | |
| | | <view v-if="isNav === 2" class="main"> |
| | | <block v-for="(item,index) in facilitySiteList" :key='index'> |
| | | <view class="item"> |
| | | <view class="item-img"> |
| | | <image src="../../static/logo.png" alt=''></image> |
| | | </view> |
| | | <view class="item-info"> |
| | | <view class="info-name">{{item.name}}</view> |
| | | <view class="info-addr"> |
| | | <text class="addr-text">地址:{{item.address}}</text> |
| | | <view @click="openMap(item.latitude,item.longitude)"> |
| | | <image src="../../static/images/index/icon22.png" alt=''></image> |
| | | <text>{{item.distanceValue}}km</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </block> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { onMounted, ref } from 'vue' |
| | | import { siteApi } from '../../api/index.js' |
| | | const isNav = ref(2)//1:送水点;2:设备点 |
| | | const isActive = ref({borderBottom:`3px solid #226AC9`}) |
| | | const userLocation = ref() |
| | | const sendWaterSiteList = ref([]) |
| | | const facilitySiteList = ref([]) |
| | | |
| | | //导航切换 |
| | | function switchTo(val){ |
| | | if((val === 1 && isNav.value === 1) || (val === 2 && isNav.value === 2)){ |
| | | }else{ |
| | | if(val === 1){ |
| | | isNav.value = 1 |
| | | }else if(val === 2){ |
| | | isNav.value = 2 |
| | | } |
| | | } |
| | | } |
| | | //获取送水点及饮水设备点列表 |
| | | async function getSiteList(){ |
| | | let param1 = { |
| | | type:1, |
| | | latitude: userLocation.value.lat, |
| | | longitude:userLocation.value.lon, |
| | | } |
| | | let param2 = {...param1} |
| | | param2.type = 2 |
| | | await siteApi(param1).then((res) =>{ |
| | | sendWaterSiteList.value = res.data |
| | | }) |
| | | await siteApi(param2).then((res1) =>{ |
| | | facilitySiteList.value = res1.data |
| | | }) |
| | | } |
| | | //打开地图导航 |
| | | function openMap(lat,lon){ |
| | | uni.openLocation({ |
| | | latitude: parseFloat(lat), |
| | | longitude: parseFloat(lon), |
| | | scale:18 |
| | | }) |
| | | } |
| | | onMounted(async() =>{ |
| | | userLocation.value = JSON.parse(uni.getStorageSync('userLocation')) |
| | | await getSiteList() |
| | | }) |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .container{ |
| | | width: 100%; |
| | | height: 100vh; |
| | | .content{ |
| | | width: 100%; |
| | | height:calc(100vh - 176rpx); |
| | | background:linear-gradient(to top,#FFFFFF,#E8EFFF); |
| | | padding:32rpx 0 100rpx; |
| | | box-sizing: border-box; |
| | | .nav{ |
| | | height: 100rpx; |
| | | width:100%; |
| | | box-sizing: border-box; |
| | | margin-bottom:32rpx; |
| | | background-color: #FFF; |
| | | .nav-title{ |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | padding: 0 160rpx; |
| | | height: 100rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .title-text{ |
| | | font-weight: 300; |
| | | font-size: 32rpx; |
| | | color: #000000; |
| | | width:120rpx; |
| | | height:65rpx; |
| | | text-align: center; |
| | | line-height:65rpx; |
| | | } |
| | | } |
| | | } |
| | | .main{ |
| | | height:calc(100vh - 176rpx - 350rpx); |
| | | width:100%; |
| | | // background-color: #e4f8ff; |
| | | padding:0 32rpx; |
| | | box-sizing: border-box; |
| | | .item{ |
| | | height:200rpx; |
| | | width:100%; |
| | | background-color: #FFFFFF; |
| | | border-radius: 24rpx; |
| | | padding:0 20rpx; |
| | | margin-bottom:20rpx; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items:center; |
| | | .item-img{ |
| | | image{ |
| | | width:130rpx; |
| | | height: 130rpx; |
| | | } |
| | | } |
| | | .item-info{ |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-left:20rpx; |
| | | justify-content: space-between; |
| | | .info-name{ |
| | | color:#222c35; |
| | | } |
| | | .info-addr{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items:center; |
| | | .addr-text{ |
| | | width:340rpx; |
| | | height:80rpx; |
| | | color: #6a6e75; |
| | | font-size:26rpx; |
| | | } |
| | | view{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items:center; |
| | | image{ |
| | | width:50rpx; |
| | | height:50rpx; |
| | | } |
| | | text{ |
| | | color: #6a6e75; |
| | | font-size:26rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <view class="info-list"> |
| | | <view class="item"> |
| | | <text>会员卡号</text> |
| | | <text>{{userInfo.waterCardNumber}}</text> |
| | | <text v-if="userInfo.waterCardNumber">{{userInfo.waterCardNumber}}</text> |
| | | <text v-else>未绑定会员卡</text> |
| | | </view> |
| | | <view class="item"> |
| | | <text>联系方式</text> |
| | | <view> |
| | | <input v-if="isEdit" v-model="editForm.userPhone" placeholder="请输入新联系方式"/> |
| | | <text v-else>{{userInfo.userPhone}}</text> |
| | | <text v-if="userInfo.userPhone">{{userInfo.userPhone}}</text> |
| | | <text v-if="!userInfo.userPhone">未添加联系方式</text> |
| | | <!-- <image class="edit"src="../../static/images//other/more.png" alt=''></image> --> |
| | | </view> |
| | | </view> |
| | |
| | | { |
| | | "hash": "01069312", |
| | | "hash": "675162bf", |
| | | "configHash": "14deb472", |
| | | "lockfileHash": "8eeba737", |
| | | "browserHash": "7ec93261", |
| | | "lockfileHash": "8b439a23", |
| | | "browserHash": "8f4b50d7", |
| | | "optimized": {}, |
| | | "chunks": {} |
| | | } |
| | |
| | | function wxPayApi(data) { |
| | | return util_request.request("/pay/service/wxPay", data, "POST"); |
| | | } |
| | | function balanceChangeApi(date) { |
| | | return util_request.request(`/userCapitalChange/getListByUser?date=${date}`, {}, "GET"); |
| | | } |
| | | function paymentChangeApi(date) { |
| | | return util_request.request(`/paymentRecords/getListByUser?date=${date}`, {}, "GET"); |
| | | } |
| | | function rechargeChangeApi(date) { |
| | | return util_request.request(`/rechargeRecords/getListByUser?date=${date}`, {}, "GET"); |
| | | } |
| | | function reportLossApi(cardNumber) { |
| | | return util_request.request(`/waterCard/reportLoss?cardNumber=${cardNumber}`, {}, "GET"); |
| | | } |
| | | function removeCardApi(cardNumber) { |
| | | return util_request.request(`/waterCard/remove?cardNumber=${cardNumber}`, {}, "GET"); |
| | | } |
| | | exports.balanceChangeApi = balanceChangeApi; |
| | | exports.creatUserArchive = creatUserArchive; |
| | | exports.deleteAddressApi = deleteAddressApi; |
| | | exports.editAddressApi = editAddressApi; |
| | |
| | | exports.getUserInfo = getUserInfo; |
| | | exports.getVipInfoApi = getVipInfoApi; |
| | | exports.paymentChangeApi = paymentChangeApi; |
| | | exports.rechargeChangeApi = rechargeChangeApi; |
| | | exports.removeCardApi = removeCardApi; |
| | | exports.reportLossApi = reportLossApi; |
| | | exports.searchAddress = searchAddress; |
| | | exports.searchFacilityApi = searchFacilityApi; |
| | | exports.setAddressDefaultApi = setAddressDefaultApi; |
| | |
| | | "./pages/index/index.js"; |
| | | "./pages/addCard/index.js"; |
| | | "./pages/userInfo/index.js"; |
| | | "./pages/balanceRecord/index.js"; |
| | | "./pages/paymentRecord/index.js"; |
| | | "./pages/functionList/balanceRecord/index.js"; |
| | | "./pages/functionList/paymentRecord/index.js"; |
| | | "./pages/functionList/rechargeRecord/index.js"; |
| | | "./pages/scanWater/index.js"; |
| | | "./pages/recharge/index.js"; |
| | | "./pages/sendWater/index.js"; |
| | |
| | | "pages/index/index", |
| | | "pages/addCard/index", |
| | | "pages/userInfo/index", |
| | | "pages/balanceRecord/index", |
| | | "pages/paymentRecord/index", |
| | | "pages/functionList/balanceRecord/index", |
| | | "pages/functionList/paymentRecord/index", |
| | | "pages/functionList/rechargeRecord/index", |
| | | "pages/scanWater/index", |
| | | "pages/recharge/index", |
| | | "pages/sendWater/index", |
| | |
| | | exports._imports_0$5 = _imports_0$3; |
| | | exports._imports_0$6 = _imports_0$2; |
| | | exports._imports_0$7 = _imports_0$1; |
| | | exports._imports_1 = _imports_1$2; |
| | | exports._imports_1$1 = _imports_1$1; |
| | | exports._imports_1 = _imports_1$1; |
| | | exports._imports_1$1 = _imports_1$2; |
| | | exports._imports_1$2 = _imports_1; |
| | | exports._imports_10 = _imports_10; |
| | | exports._imports_11 = _imports_11; |
| | |
| | | "use strict"; |
| | | const BASE_URL = "http://113.250.189.120:8031"; |
| | | const BASE_URL = "http://192.168.0.105:8031"; |
| | | exports.BASE_URL = BASE_URL; |
| | |
| | | __name: "index", |
| | | setup(__props) { |
| | | const form = common_vendor.ref({ |
| | | waterCardNumber: "", |
| | | id: JSON.parse(common_vendor.index.getStorageSync("userInfo")).id, |
| | | waterCardNumber: "023B7C45", |
| | | userName: "", |
| | | userPhone: "", |
| | | remark: "" |
| | |
| | | } |
| | | const cardInfo = common_vendor.ref({ |
| | | id: "", |
| | | userName: "", |
| | | userName: "微信用户", |
| | | headImg: "", |
| | | userPhone: "", |
| | | waterCardNumber: "", |
| | | balance: "", |
| | | count: "", |
| | | userPhone: "" |
| | | count: "" |
| | | }); |
| | | const isVip = common_vendor.ref(false); |
| | | async function getInfo() { |
| | | let res = await api_index.getUserInfo(); |
| | | if (res.code == 200) { |
| | | console.log("res", res.data); |
| | | cardInfo.value.userName = res.data.userInfo.userName; |
| | | cardInfo.value.headImg = res.data.userInfo.headImg; |
| | | cardInfo.value.userPhone = res.data.userInfo.userPhone; |
| | | cardInfo.value.id = res.data.userInfo.id; |
| | | if (res.data.userInfo.waterCardNumber) { |
| | | let res1 = await api_index.getVipInfoApi(); |
| | | cardInfo.value.waterCardNumber = res1.data.cardNumber; |
| | | if (res1.data.cardType == 1) { |
| | | cardInfo.value.balance = res1.data.balance; |
| | | } else if (res1.data.cardType == 2) { |
| | | cardInfo.value.count = res1.data.count; |
| | | async function getVipInfo() { |
| | | await api_index.getVipInfoApi().then((res) => { |
| | | if (res.code == 200) { |
| | | cardInfo.value.waterCardNumber = res.data.cardNumber; |
| | | if (res.data.cardType == 1) { |
| | | cardInfo.value.balance = res.data.balance; |
| | | } else if (res.data.cardType == 2) { |
| | | cardInfo.value.count = res.data.count; |
| | | } |
| | | isVip.value = true; |
| | | } else { |
| | | isVip.value = false; |
| | | } |
| | | common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value)); |
| | | } |
| | | }); |
| | | } |
| | | async function getInfo() { |
| | | await api_index.getUserInfo().then(async (res) => { |
| | | if (res.code == 200) { |
| | | cardInfo.value.userName = res.data.userInfo.userName ? res.data.userInfo.userName : cardInfo.value.userName; |
| | | cardInfo.value.headImg = res.data.userInfo.headImg; |
| | | cardInfo.value.userPhone = res.data.userInfo.userPhone; |
| | | cardInfo.value.id = res.data.userInfo.id; |
| | | if (res.data.userInfo.waterCardNumber) { |
| | | await getVipInfo(); |
| | | } else { |
| | | isVip.value = false; |
| | | } |
| | | common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value)); |
| | | } |
| | | }); |
| | | } |
| | | function toScan() { |
| | | common_vendor.index.scanCode({ |
| | |
| | | }); |
| | | } |
| | | const functionList = common_vendor.ref([ |
| | | { text: "余额记录", icon: "../../static/images/index/icon31.png", url: "/pages/balanceRecord/index" }, |
| | | { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "/pages/paymentRecord/index" }, |
| | | { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "" }, |
| | | { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "" }, |
| | | { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "" }, |
| | | { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "" }, |
| | | { text: "联系客服", icon: "../../static/images/index/icon37.png", url: "" }, |
| | | { text: "推广分佣", icon: "../../static/images/index/icon38.png", url: "" } |
| | | { text: "余额记录", icon: "../../static/images/index/icon31.png", url: "/pages/functionList/balanceRecord/index", isUrl: 1 }, |
| | | { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "/pages/functionList/paymentRecord/index", isUrl: 1 }, |
| | | { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "/pages/functionList/rechargeRecord/index", isUrl: 1 }, |
| | | { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "", isUrl: 1 }, |
| | | { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "", isUrl: 1 }, |
| | | { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "", isUrl: 1 }, |
| | | { text: "会员卡挂失", icon: "../../static/images/index/icon37.png", url: "", isUrl: 2 }, |
| | | { text: "会员卡注销", icon: "../../static/images/index/icon38.png", url: "", isUrl: 3 } |
| | | ]); |
| | | function navTo(itemUrl) { |
| | | if (itemUrl) { |
| | | common_vendor.index.navigateTo({ |
| | | url: itemUrl |
| | | }); |
| | | } |
| | | } |
| | | async function setEvent(isUrl, url) { |
| | | if (isUrl == 1) { |
| | | navTo(url); |
| | | } else if (isUrl == 2) { |
| | | common_vendor.index.showModal({ |
| | | title: "会员卡挂失", |
| | | content: "确认挂失会员卡?", |
| | | success: async function(res) { |
| | | if (res.confirm) { |
| | | await api_index.reportLossApi(cardInfo.value.waterCardNumber).then((res2) => { |
| | | if (res2.code == 200) { |
| | | common_vendor.index.showToast({ |
| | | title: "已挂失", |
| | | duration: 2e3 |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | console.log("点击了取消7"); |
| | | } |
| | | } |
| | | }); |
| | | } else if (isUrl == 3) { |
| | | common_vendor.index.showModal({ |
| | | title: "会员卡注销", |
| | | content: "确认注销会员卡?", |
| | | success: async function(res) { |
| | | if (res.confirm) { |
| | | await api_index.removeCardApi(cardInfo.value.waterCardNumber).then(async (res2) => { |
| | | if (res2.code == 200) { |
| | | common_vendor.index.showToast({ |
| | | title: "已注销", |
| | | duration: 2e3 |
| | | }); |
| | | await getVipInfo().then((res3) => { |
| | | if (res3.code == 200) { |
| | | if (!res3.data.id) { |
| | | isVip.value = false; |
| | | cardInfo.value.balance = ""; |
| | | cardInfo.value.count = ""; |
| | | cardInfo.value.waterCardNumber = ""; |
| | | common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value)); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | console.log("点击了取消8"); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | |
| | | await getInfo(); |
| | | }); |
| | | return (_ctx, _cache) => { |
| | | return { |
| | | return common_vendor.e({ |
| | | a: common_assets._imports_0$1, |
| | | b: common_vendor.t(cardInfo.value.userName), |
| | | c: common_assets._imports_1, |
| | | c: common_assets._imports_1$1, |
| | | d: common_assets._imports_2, |
| | | e: common_vendor.o(($event) => navTo("/pages/addCard/index")), |
| | | f: common_vendor.o(($event) => navTo("/pages/userInfo/index")), |
| | | g: common_assets._imports_3, |
| | | h: common_assets._imports_4, |
| | | i: common_vendor.t(cardInfo.value.waterCardNumber), |
| | | j: common_vendor.t(cardInfo.value.userPhone), |
| | | k: common_vendor.t(cardInfo.value.balance), |
| | | l: common_vendor.o(($event) => navTo("/pages/recharge/index")), |
| | | m: topHeight.value + "rpx", |
| | | n: common_assets._imports_5, |
| | | o: common_vendor.o(($event) => navTo("/pages/sendWater/index")), |
| | | p: common_assets._imports_1$1, |
| | | q: common_vendor.o(($event) => navTo("/pages/facilityList/index")), |
| | | r: common_assets._imports_7, |
| | | s: common_vendor.o(($event) => toScan()), |
| | | t: common_vendor.f(functionList.value, (item, index, i0) => { |
| | | h: isVip.value |
| | | }, isVip.value ? { |
| | | i: common_assets._imports_4 |
| | | } : {}, { |
| | | j: isVip.value |
| | | }, isVip.value ? { |
| | | k: common_vendor.t(cardInfo.value.waterCardNumber) |
| | | } : {}, { |
| | | l: isVip.value |
| | | }, isVip.value ? {} : {}, { |
| | | m: !isVip.value |
| | | }, !isVip.value ? {} : {}, { |
| | | n: isVip.value |
| | | }, isVip.value ? { |
| | | o: common_vendor.t(cardInfo.value.balance) |
| | | } : {}, { |
| | | p: isVip.value |
| | | }, isVip.value ? { |
| | | q: common_vendor.o(($event) => navTo("/pages/recharge/index")) |
| | | } : {}, { |
| | | r: topHeight.value + "rpx", |
| | | s: common_assets._imports_5, |
| | | t: common_vendor.o(($event) => navTo("/pages/sendWater/index")), |
| | | v: common_assets._imports_1, |
| | | w: common_vendor.o(($event) => navTo("/pages/facilityList/index")), |
| | | x: common_assets._imports_7, |
| | | y: common_vendor.o(($event) => toScan()), |
| | | z: common_vendor.f(functionList.value, (item, index, i0) => { |
| | | return { |
| | | a: item.icon, |
| | | b: common_vendor.t(item.text), |
| | | c: common_vendor.o(($event) => navTo(item.url), index), |
| | | c: common_vendor.o(($event) => setEvent(item.isUrl, item.url), index), |
| | | d: index |
| | | }; |
| | | }), |
| | | v: common_assets._imports_8, |
| | | w: common_assets._imports_9, |
| | | x: common_assets._imports_10, |
| | | y: common_vendor.o(($event) => navTo("/pages/station/index")), |
| | | z: common_assets._imports_11, |
| | | A: common_assets._imports_10 |
| | | }; |
| | | A: common_assets._imports_8, |
| | | B: common_assets._imports_9, |
| | | C: common_assets._imports_10, |
| | | D: common_vendor.o(($event) => navTo("/pages/station/index")), |
| | | E: common_assets._imports_11, |
| | | F: common_assets._imports_10 |
| | | }); |
| | | }; |
| | | } |
| | | }; |
| | |
| | | <view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + m}}"><view class="user-info data-v-1cf27b2a" bindtap="{{f}}"><image class="user-img data-v-1cf27b2a" src="{{a}}" alt=""></image><text class="data-v-1cf27b2a">{{b}}</text><image class="user-more data-v-1cf27b2a" src="{{c}}"></image><view class="user-add-card data-v-1cf27b2a" bindtap="{{e}}"><image class="data-v-1cf27b2a" src="{{d}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{g}}" alt=""></image><view class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{h}}" alt=""></image><text class="data-v-1cf27b2a">会员卡</text></view><view class="data-v-1cf27b2a">ID:{{i}}</view></view><view class="left-bottom data-v-1cf27b2a">电话:{{j}}</view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text class="data-v-1cf27b2a">金额卡</text><text class="data-v-1cf27b2a">{{k}}元</text></view><view class="card-right-bottom data-v-1cf27b2a" bindtap="{{l}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{o}}"><image class="data-v-1cf27b2a" src="{{n}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{q}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{p}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{s}}"><image class="data-v-1cf27b2a" src="{{r}}" alt=""></image><view class="data-v-1cf27b2a">扫码取水</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{t}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{v}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a" bindtap="{{y}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{w}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">蔡家供水服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{z}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{A}}" alt=""></image></view></view></view></view></view></view> |
| | | <view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + r}}"><view class="user-info data-v-1cf27b2a" bindtap="{{f}}"><image class="user-img data-v-1cf27b2a" src="{{a}}" alt=""></image><text class="data-v-1cf27b2a">{{b}}</text><image class="user-more data-v-1cf27b2a" src="{{c}}"></image><view class="user-add-card data-v-1cf27b2a" bindtap="{{e}}"><image class="data-v-1cf27b2a" src="{{d}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{g}}" alt=""></image><view class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image wx:if="{{h}}" class="data-v-1cf27b2a" src="{{i}}" alt=""></image><text class="data-v-1cf27b2a">会员卡</text></view><view wx:if="{{j}}" class="data-v-1cf27b2a">ID:{{k}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{l}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{m}}" class="data-v-1cf27b2a">未绑定会员卡</text><text wx:if="{{n}}" class="data-v-1cf27b2a">{{o}}元</text></view><view wx:if="{{p}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{q}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{t}}"><image class="data-v-1cf27b2a" src="{{s}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{w}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{v}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{y}}"><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image><view class="data-v-1cf27b2a">扫码取水</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{z}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{A}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a" bindtap="{{D}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{B}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">蔡家供水服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{C}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{E}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{F}}" alt=""></image></view></view></view></view></view></view> |
| | |
| | | const _sfc_main = { |
| | | __name: "index", |
| | | setup(__props) { |
| | | const choosedMoney = common_vendor.ref(); |
| | | const choosedMoney = common_vendor.ref(50); |
| | | const disabled = common_vendor.ref(true); |
| | | const moneyList = common_vendor.ref([ |
| | | { value: 50, active: true }, |
| | |
| | | if (disabled.value) { |
| | | money = choosedMoney.value; |
| | | } else { |
| | | money = otherMoney.value; |
| | | money = Number(otherMoney.value); |
| | | } |
| | | await api_index.wxPayApi({ businessType: 1, tradeAmount: money }).then((res) => { |
| | | console.log("reswxpay", res); |