暂存工作台修改
This commit is contained in:
parent
b9d1ee34a7
commit
c8649288ff
@ -1,3 +1,11 @@
|
||||
import { getParkList } from "../../service/park"
|
||||
import { getParkMeterList } from "../../service/meter"
|
||||
import { alertInfo } from "../../utils/index";
|
||||
import request from "../../utils/request"
|
||||
import { payWays } from "../../utils/data";
|
||||
|
||||
const { OK } = request;
|
||||
|
||||
// components/searchSelect/index.js
|
||||
Component({
|
||||
|
||||
@ -5,20 +13,108 @@ Component({
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
|
||||
title: String,
|
||||
type: String,
|
||||
show: Boolean,
|
||||
park: String,
|
||||
},
|
||||
observers: {
|
||||
"show,type": function(newShow, newType) {
|
||||
if (newShow && newType) {
|
||||
this.onSearch()
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
|
||||
columns: [],
|
||||
searchText: "",
|
||||
payWays,
|
||||
},
|
||||
lifetimes: {
|
||||
attached() {
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
|
||||
onChangeSearch(e) {
|
||||
this.setData({
|
||||
searchText: e.detail,
|
||||
})
|
||||
},
|
||||
onCancel() {
|
||||
this.setData({
|
||||
columns: [],
|
||||
list: [],
|
||||
searchText: ""
|
||||
})
|
||||
this.triggerEvent("cancel")
|
||||
},
|
||||
onConfirm(event) {
|
||||
const { index } = event.detail;
|
||||
const { list = [], type } = this.data;
|
||||
const item = list[index];
|
||||
this.setData({
|
||||
columns: [],
|
||||
list: [],
|
||||
searchText: ""
|
||||
})
|
||||
this.triggerEvent("confirm", { data: item, type } );
|
||||
},
|
||||
onPayConfirm(event) {
|
||||
const { index } = event.detail;
|
||||
const { payWays = [], type } = this.data;
|
||||
const item = payWays[index];
|
||||
this.setData({
|
||||
columns: [],
|
||||
list: [],
|
||||
searchText: ""
|
||||
})
|
||||
this.triggerEvent("confirm", { data: item, way: index, type } );
|
||||
},
|
||||
onSearch() {
|
||||
const { type } = this.data;
|
||||
console.log('type', type)
|
||||
switch(type) {
|
||||
case "park":
|
||||
this.onSearchPark();
|
||||
return;
|
||||
case "meter":
|
||||
console.log("meter")
|
||||
this.onSearchMeter();
|
||||
return;
|
||||
}
|
||||
},
|
||||
async onSearchPark() {
|
||||
const { searchText = "" } = this.data;
|
||||
const { code, message, data: parks = [] } = await getParkList({keyword: searchText});
|
||||
if (code !== OK) {
|
||||
alertInfo(message)
|
||||
return
|
||||
}
|
||||
this.setData({
|
||||
columns: parks?.map(item => item?.name),
|
||||
list: parks,
|
||||
})
|
||||
},
|
||||
async onSearchMeter() {
|
||||
const { searchText = "", park } = this.data;
|
||||
console.log('this.data', this.data)
|
||||
const { code, message, data: parks = [] } = await getParkMeterList({keyword: searchText, park});
|
||||
if (code !== OK) {
|
||||
alertInfo(message)
|
||||
return
|
||||
}
|
||||
this.setData({
|
||||
columns: parks?.map(item => `${item.meterNo}-${item.address}${item.tenement?.name ? '-' + item.tenement?.name : ''}`),
|
||||
list: parks,
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"van-overlay": "@vant/weapp/overlay/index",
|
||||
"van-picker": "@vant/weapp/picker/index"
|
||||
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"van-picker": "@vant/weapp/picker/index",
|
||||
"van-search": "@vant/weapp/search/index"
|
||||
}
|
||||
}
|
@ -1,14 +1,39 @@
|
||||
<!--components/searchSelect/index.wxml-->
|
||||
<van-popup
|
||||
show="{{ true }}"
|
||||
show="{{ show }}"
|
||||
bind:click="onClickHide"
|
||||
position="bottom"
|
||||
>
|
||||
<!-- <view style="height: 100%; width: 100%; display: flex;align-items: center; justify-content: center;">
|
||||
<view wx:if="{{type !== 'pay'}}">
|
||||
<van-search
|
||||
value="{{ value }}"
|
||||
placeholder="请输入搜索关键词"
|
||||
use-action-slot
|
||||
bind:change="onChangeSearch"
|
||||
>
|
||||
<view
|
||||
style="margin-left: 20rpx; margin-right: 20rpx"
|
||||
slot="action"
|
||||
bind:tap="onSearch"
|
||||
>搜索</view>
|
||||
</van-search>
|
||||
<van-picker
|
||||
custom-style="width: 100%;"
|
||||
columns="{{ columns }}"
|
||||
bind:change="onChange"
|
||||
title="{{title}}"
|
||||
show-toolbar="{{true}}"
|
||||
bind:cancel="onCancel"
|
||||
bind:confirm="onConfirm"
|
||||
/>
|
||||
</view> -->
|
||||
111
|
||||
</view>
|
||||
<view wx:else>
|
||||
<van-picker
|
||||
custom-style="width: 100%;"
|
||||
columns="{{ payWays }}"
|
||||
title="{{title}}"
|
||||
show-toolbar="{{true}}"
|
||||
bind:cancel="onCancel"
|
||||
bind:confirm="onPayConfirm"
|
||||
/>
|
||||
</view>
|
||||
</van-popup>
|
@ -1,3 +1,9 @@
|
||||
|
||||
import { handleRecharge } from "../../../../service/recharge";
|
||||
import { alertInfo, alertSuccess } from "../../../../utils/index";
|
||||
import request from '../../../../utils/request'
|
||||
const { OK } = request;
|
||||
|
||||
// pages/workBench/components/recharge/index.js
|
||||
Component({
|
||||
|
||||
@ -12,13 +18,114 @@ Component({
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
show: false,
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
|
||||
onParkFocus(e) {
|
||||
this.setData({
|
||||
show: true,
|
||||
title: "园区",
|
||||
type: 'park'
|
||||
})
|
||||
},
|
||||
onMeterFocus(e) {
|
||||
const { park } = this.data;
|
||||
if (!park) {
|
||||
alertInfo("请先选择园区")
|
||||
return;
|
||||
}
|
||||
this.setData({
|
||||
show: true,
|
||||
title: "电表",
|
||||
type: 'meter'
|
||||
})
|
||||
},
|
||||
onConfirm(e) {
|
||||
// console.log('e', e)
|
||||
const { data, type, way } = e.detail;
|
||||
console.log('e.detail', e.detail)
|
||||
switch(type) {
|
||||
case "park":
|
||||
this.setData({
|
||||
parkName: data.name,
|
||||
park: data.id,
|
||||
})
|
||||
break;
|
||||
case "meter":
|
||||
this.setData({
|
||||
meterName: `${data.meterNo}-${data.address}${data.tenement?.name ? '-' + data.tenement?.name : ''}`,
|
||||
meter: data.id,
|
||||
})
|
||||
break;
|
||||
case "pay":
|
||||
this.setData({
|
||||
payName: data,
|
||||
way: way,
|
||||
});
|
||||
break;
|
||||
}
|
||||
this.onConcal();
|
||||
},
|
||||
onConcal() {
|
||||
this.setData({
|
||||
show: false,
|
||||
title: "",
|
||||
type: "",
|
||||
})
|
||||
},
|
||||
onPayFocus() {
|
||||
this.setData({
|
||||
show: true,
|
||||
title: "付款方式",
|
||||
type: 'pay'
|
||||
})
|
||||
},
|
||||
onChangeMoney(e) {
|
||||
console.log('e', e)
|
||||
this.setData({ money: e.detail })
|
||||
},
|
||||
onChangeVoucherNo(e) {
|
||||
console.log('e', e)
|
||||
this.setData({ voucherNo: e.detail })
|
||||
},
|
||||
async handleSubmit() {
|
||||
const { park, meter, money, way, voucherNo } = this.data;
|
||||
if (!park) {
|
||||
alertInfo("请选择园区");
|
||||
return;
|
||||
}
|
||||
if (!meter) {
|
||||
alertInfo("请选择电表")
|
||||
return;
|
||||
}
|
||||
if (!money) {
|
||||
alertInfo("请输入金额")
|
||||
return
|
||||
}
|
||||
if (!way && way !== 0) {
|
||||
alertInfo("请选择付款方式")
|
||||
return
|
||||
}
|
||||
if (!voucherNo) {
|
||||
alertInfo("请输入凭证号")
|
||||
return
|
||||
}
|
||||
const { code, message } = await handleRecharge(park, {
|
||||
amount: `${money || ''}`,
|
||||
meter,
|
||||
paymentType: way,
|
||||
voucherNo,
|
||||
type: "0"
|
||||
})
|
||||
if (code !== OK) {
|
||||
alertInfo(message)
|
||||
return
|
||||
}
|
||||
alertSuccess("充值成功")
|
||||
}
|
||||
}
|
||||
})
|
@ -1,6 +1,9 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"van-popup": "@vant/weapp/popup/index"
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"search-select": "/components/searchSelect/index",
|
||||
"van-field": "@vant/weapp/field/index",
|
||||
"van-button": "@vant/weapp/button/index"
|
||||
}
|
||||
}
|
@ -1,3 +1,80 @@
|
||||
<!--pages/workBench/components/recharge/index.wxml-->
|
||||
充值
|
||||
<searchSelect />
|
||||
<van-cell-group>
|
||||
<van-field
|
||||
value="{{ parkName }}"
|
||||
placeholder="请选择园区"
|
||||
label="园区"
|
||||
readonly
|
||||
border="{{ false }}"
|
||||
use-button-slot
|
||||
title-width="70rpx"
|
||||
>
|
||||
<van-button slot="button" size="small" type="primary" bind:click="onParkFocus">
|
||||
选择
|
||||
</van-button>
|
||||
</van-field>
|
||||
<van-field
|
||||
value="{{ meterName }}"
|
||||
placeholder="请选择电表"
|
||||
label="电表"
|
||||
readonly
|
||||
border="{{ false }}"
|
||||
use-button-slot
|
||||
title-width="70rpx"
|
||||
>
|
||||
<van-button slot="button" size="small" type="primary" bind:click="onMeterFocus">
|
||||
选择
|
||||
</van-button>
|
||||
</van-field>
|
||||
<van-field
|
||||
value="{{ money }}"
|
||||
placeholder="请输入金额"
|
||||
label="金额"
|
||||
type="number"
|
||||
border="{{ false }}"
|
||||
use-button-slot
|
||||
title-width="70rpx"
|
||||
bind:change="onChangeMoney"
|
||||
>
|
||||
</van-field>
|
||||
<van-field
|
||||
value="{{ payName }}"
|
||||
placeholder="请选择付款方式"
|
||||
label="付款方式"
|
||||
readonly
|
||||
border="{{ false }}"
|
||||
use-button-slot
|
||||
title-width="140rpx"
|
||||
>
|
||||
<van-button
|
||||
slot="button"
|
||||
size="small"
|
||||
type="primary"
|
||||
bind:click="onPayFocus"
|
||||
>
|
||||
选择
|
||||
</van-button>
|
||||
</van-field>
|
||||
<van-field
|
||||
value="{{ voucherNo }}"
|
||||
placeholder="请输入凭证"
|
||||
label="凭证"
|
||||
border="{{ false }}"
|
||||
use-button-slot
|
||||
title-width="70rpx"
|
||||
bind:change="onChangeVoucherNo"
|
||||
/>
|
||||
</van-cell-group>
|
||||
|
||||
<view style="margin-top: 60rpx;display: flex; justify-content: center; align-items: center;">
|
||||
<van-button type="info" size="small" style="margin-right: 30rpx;" bind:click="handleSubmit"> 确认 </van-button>
|
||||
<van-button size="small"> 取消 </van-button>
|
||||
</view>
|
||||
<search-select
|
||||
show="{{show}}"
|
||||
title="{{title}}"
|
||||
type="{{type}}"
|
||||
park="{{park}}"
|
||||
bindconfirm="onConfirm"
|
||||
bindcancel="onConcal"
|
||||
/>
|
||||
|
@ -15,3 +15,8 @@ export const getMeterDetail = async function({ tenement, id }) {
|
||||
export const getTenementMeterList = async function(tid) {
|
||||
return await GET(`/wx/getMeterList/${tid}`);
|
||||
}
|
||||
|
||||
// 获取某一园区下的电表列表
|
||||
export const getParkMeterList = async function({park = "", keyword = ""}) {
|
||||
return await GET(`/equipment/getOperateMeterList?page=1&park=${park}&keyword=${keyword}`);
|
||||
}
|
@ -2,8 +2,8 @@ import apis from '../utils/request';
|
||||
const { GET, POST, PUT, DELETE } = apis
|
||||
|
||||
// 获取园区列表
|
||||
export const getParkList = async function({ keyword }) {
|
||||
return await GET(`/wx/getParkList?keyword=${keyword}`);
|
||||
export const getParkList = async function({ keyword = "" }) {
|
||||
return await GET(`/wx/getParkList?keyword=${keyword || ""}`);
|
||||
}
|
||||
|
||||
// 获取未登录的园区列表
|
||||
|
@ -26,3 +26,8 @@ export const returnFee = async function(data) {
|
||||
export const createPublicTopUp = async function(data) {
|
||||
return await POST(`/wx/createPublicTopUp`, data);
|
||||
}
|
||||
|
||||
// 后台充值
|
||||
export const handleRecharge = async function(park, data) {
|
||||
return await POST(`/wechatTopup/${park}`, data)
|
||||
}
|
@ -3,7 +3,8 @@ export const getRechargeOperateType = (num) => {
|
||||
return types[num];
|
||||
}
|
||||
|
||||
export const payWays = ["现金", "银行卡", "支付宝", "微信", "云闪付","对公转账", "小程序-微信支付"]
|
||||
|
||||
export const getRechargeOperateWay = (num) => {
|
||||
const types = ["现金", "银行卡", "支付宝", "微信", "云闪付","对公转账", "小程序-微信支付"]
|
||||
return types[num];
|
||||
return payWays[num];
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user