暂存工作台修改
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
|
// components/searchSelect/index.js
|
||||||
Component({
|
Component({
|
||||||
|
|
||||||
@ -5,20 +13,108 @@ Component({
|
|||||||
* 组件的属性列表
|
* 组件的属性列表
|
||||||
*/
|
*/
|
||||||
properties: {
|
properties: {
|
||||||
|
title: String,
|
||||||
|
type: String,
|
||||||
|
show: Boolean,
|
||||||
|
park: String,
|
||||||
|
},
|
||||||
|
observers: {
|
||||||
|
"show,type": function(newShow, newType) {
|
||||||
|
if (newShow && newType) {
|
||||||
|
this.onSearch()
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组件的初始数据
|
* 组件的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
|
columns: [],
|
||||||
|
searchText: "",
|
||||||
|
payWays,
|
||||||
|
},
|
||||||
|
lifetimes: {
|
||||||
|
attached() {
|
||||||
|
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组件的方法列表
|
* 组件的方法列表
|
||||||
*/
|
*/
|
||||||
methods: {
|
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,
|
"component": true,
|
||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"van-overlay": "@vant/weapp/overlay/index",
|
"van-popup": "@vant/weapp/popup/index",
|
||||||
"van-picker": "@vant/weapp/picker/index"
|
"van-picker": "@vant/weapp/picker/index",
|
||||||
|
"van-search": "@vant/weapp/search/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,14 +1,39 @@
|
|||||||
<!--components/searchSelect/index.wxml-->
|
<!--components/searchSelect/index.wxml-->
|
||||||
<van-popup
|
<van-popup
|
||||||
show="{{ true }}"
|
show="{{ show }}"
|
||||||
bind:click="onClickHide"
|
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-picker
|
<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%;"
|
custom-style="width: 100%;"
|
||||||
columns="{{ columns }}"
|
columns="{{ columns }}"
|
||||||
bind:change="onChange"
|
title="{{title}}"
|
||||||
|
show-toolbar="{{true}}"
|
||||||
|
bind:cancel="onCancel"
|
||||||
|
bind:confirm="onConfirm"
|
||||||
/>
|
/>
|
||||||
</view> -->
|
</view>
|
||||||
111
|
<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>
|
</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
|
// pages/workBench/components/recharge/index.js
|
||||||
Component({
|
Component({
|
||||||
|
|
||||||
@ -12,13 +18,114 @@ Component({
|
|||||||
* 组件的初始数据
|
* 组件的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
|
show: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组件的方法列表
|
* 组件的方法列表
|
||||||
*/
|
*/
|
||||||
methods: {
|
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,
|
"component": true,
|
||||||
"usingComponents": {
|
"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-->
|
<!--pages/workBench/components/recharge/index.wxml-->
|
||||||
充值
|
<van-cell-group>
|
||||||
<searchSelect />
|
<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) {
|
export const getTenementMeterList = async function(tid) {
|
||||||
return await GET(`/wx/getMeterList/${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
|
const { GET, POST, PUT, DELETE } = apis
|
||||||
|
|
||||||
// 获取园区列表
|
// 获取园区列表
|
||||||
export const getParkList = async function({ keyword }) {
|
export const getParkList = async function({ keyword = "" }) {
|
||||||
return await GET(`/wx/getParkList?keyword=${keyword}`);
|
return await GET(`/wx/getParkList?keyword=${keyword || ""}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取未登录的园区列表
|
// 获取未登录的园区列表
|
||||||
|
@ -26,3 +26,8 @@ export const returnFee = async function(data) {
|
|||||||
export const createPublicTopUp = async function(data) {
|
export const createPublicTopUp = async function(data) {
|
||||||
return await POST(`/wx/createPublicTopUp`, 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];
|
return types[num];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const payWays = ["现金", "银行卡", "支付宝", "微信", "云闪付","对公转账", "小程序-微信支付"]
|
||||||
|
|
||||||
export const getRechargeOperateWay = (num) => {
|
export const getRechargeOperateWay = (num) => {
|
||||||
const types = ["现金", "银行卡", "支付宝", "微信", "云闪付","对公转账", "小程序-微信支付"]
|
return payWays[num];
|
||||||
return types[num];
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user