初步联调装表
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { getLoginParkList, getParkBuildingList } from "../../service/park"
|
||||
import { getParkSimpleMeterList } from "../../service/meter"
|
||||
import { getParkSimpleMeterList, getParkBoxList, getCardList, getCollectionList, getInventoryMeter } from "../../service/meter"
|
||||
import { alertInfo } from "../../utils/index";
|
||||
import request from "../../utils/request"
|
||||
import { payWays, feeType } from "../../utils/data";
|
||||
import { payWays, feeType, meterType } from "../../utils/data";
|
||||
import { getTenementList, getWxTenementList } from "../../service/tenement";
|
||||
const { OK } = request;
|
||||
|
||||
@@ -35,6 +35,7 @@ Component({
|
||||
searchText: "",
|
||||
payWays,
|
||||
feeType,
|
||||
meterType
|
||||
},
|
||||
lifetimes: {
|
||||
attached() {
|
||||
@@ -96,6 +97,17 @@ Component({
|
||||
})
|
||||
this.triggerEvent("confirm", { data: item, way: index, type } );
|
||||
},
|
||||
onMeterTypeConfirm(event) {
|
||||
const { index } = event.detail;
|
||||
const { meterType = [], type } = this.data;
|
||||
const item = meterType[index];
|
||||
this.setData({
|
||||
columns: [],
|
||||
list: [],
|
||||
searchText: ""
|
||||
})
|
||||
this.triggerEvent("confirm", { data: item, way: index, type } );
|
||||
},
|
||||
onSearch() {
|
||||
const { type, bind, filterBind } = this.data;
|
||||
switch(type) {
|
||||
@@ -105,12 +117,24 @@ Component({
|
||||
case "meter":
|
||||
this.onSearchMeter();
|
||||
return
|
||||
case "inventoryMeter":
|
||||
this.onSearchInventoryMeter();
|
||||
return
|
||||
case "tenement":
|
||||
this.onSearchTenement();
|
||||
return;
|
||||
case "building":
|
||||
this.onSearchBuilding();
|
||||
return;
|
||||
case "meterBox":
|
||||
this.onSearchMeterBox();
|
||||
return;
|
||||
case "card":
|
||||
this.onSearchCard();
|
||||
return;
|
||||
case "collection":
|
||||
this.onSearchCollection();
|
||||
return;
|
||||
}
|
||||
},
|
||||
async onSearchPark() {
|
||||
@@ -125,6 +149,18 @@ Component({
|
||||
list: parks,
|
||||
})
|
||||
},
|
||||
async onSearchCollection() {
|
||||
const { searchText = "" } = this.data;
|
||||
const { code, message, data: parks = [] } = await getCollectionList({keyword: searchText, page: 1});
|
||||
if (code !== OK) {
|
||||
alertInfo(message)
|
||||
return
|
||||
}
|
||||
this.setData({
|
||||
columns: parks?.map(item => item?.name),
|
||||
list: parks,
|
||||
})
|
||||
},
|
||||
async onSearchMeter() {
|
||||
const { searchText = "", park, filterBind } = this.data;
|
||||
const { code, message, data: parks = [] } = await getParkSimpleMeterList({keyword: searchText, park, isNeedBind: !filterBind});
|
||||
@@ -137,6 +173,18 @@ Component({
|
||||
list: parks || [],
|
||||
})
|
||||
},
|
||||
async onSearchInventoryMeter() {
|
||||
const { searchText = "", park, filterBind } = this.data;
|
||||
const { code, message, data: parks = [] } = await getInventoryMeter({keyword: searchText, park, isNeedBind: !filterBind});
|
||||
if (code !== OK) {
|
||||
alertInfo(message)
|
||||
return
|
||||
}
|
||||
this.setData({
|
||||
columns: parks?.map(item => `${item.sn}`) || [],
|
||||
list: parks || [],
|
||||
})
|
||||
},
|
||||
async onSearchTenement() {
|
||||
const { searchText = "", park, isBack } = this.data;
|
||||
const { code, message, data = [] } = isBack ? await getWxTenementList({keyword: searchText, park}) : await getTenementList({keyword: searchText, park});
|
||||
@@ -161,6 +209,30 @@ Component({
|
||||
list: data,
|
||||
})
|
||||
},
|
||||
async onSearchMeterBox() {
|
||||
const { park } = this.data;
|
||||
const { code, message, data = [] } = await getParkBoxList({park});
|
||||
if (code !== OK) {
|
||||
alertInfo(message)
|
||||
return
|
||||
}
|
||||
this.setData({
|
||||
columns: data?.length ? data?.map(item => item?.address) : [],
|
||||
list: data,
|
||||
})
|
||||
},
|
||||
async onSearchCard() {
|
||||
const { park } = this.data;
|
||||
const { code, message, data = [] } = await getCardList({park});
|
||||
if (code !== OK) {
|
||||
alertInfo(message)
|
||||
return
|
||||
}
|
||||
this.setData({
|
||||
columns: data?.length ? data?.map(item => item?.sim_number) : [],
|
||||
list: data,
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -26,6 +26,16 @@
|
||||
bind:confirm="onFeeTypeConfirm"
|
||||
/>
|
||||
</view>
|
||||
<view wx:elif="{{type === 'meterType'}}">
|
||||
<van-picker
|
||||
custom-style="width: 100%;"
|
||||
columns="{{ meterType }}"
|
||||
title="{{title}}"
|
||||
show-toolbar="{{true}}"
|
||||
bind:cancel="onCancel"
|
||||
bind:confirm="onMeterTypeConfirm"
|
||||
/>
|
||||
</view>
|
||||
<view wx:elif="{{type !== 'pay'}}">
|
||||
<van-search
|
||||
value="{{ value }}"
|
||||
|
||||
@@ -15,7 +15,10 @@ Component({
|
||||
type: {
|
||||
type: String,
|
||||
value: "select"
|
||||
}
|
||||
},
|
||||
useSlot: Boolean,
|
||||
hideBorder: Boolean,
|
||||
required: Boolean,
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -38,6 +41,7 @@ Component({
|
||||
},
|
||||
onChangeText(e) {
|
||||
this.setData({ text: e.detail });
|
||||
console.log("----------")
|
||||
this.triggerEvent("changeText", e.detail)
|
||||
},
|
||||
onSearchKeyword() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!--components/searchSelectWrapper/index.wxml-->
|
||||
<view class="wrapper" wx:if="{{type === 'select'}}">
|
||||
<view class="label"> {{ label }} </view>
|
||||
<view class="label"><text class="required" wx:if="{{required}}">*</text>{{ label }}</view>
|
||||
<view class="content" bind:tap="clickTime" bind:tap="onSearch">
|
||||
<view class="text" wx:if="{{!text}}" style="color: #ccc;"> {{placeholder}} </view>
|
||||
<view class="text" wx:else> {{text}} </view>
|
||||
@@ -32,4 +32,11 @@
|
||||
custom-style="padding: 0;font-size: 30rpx;line-height: 32rpx;"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="wrapper" wx:if="{{useSlot}}">
|
||||
<view class="label"> {{ label }} </view>
|
||||
<view class="inputContent" bind:tap="clickTime" style="{{hideBorder ? 'border: none;' : ''}}">
|
||||
<slot></slot>
|
||||
</view>
|
||||
</view>
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
.content {
|
||||
flex: 1;
|
||||
margin-left: 30rpx;
|
||||
margin-left: 20rpx;
|
||||
margin-right: 30rpx;
|
||||
display: flex;
|
||||
padding: 10rpx 20rpx;
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
.inputContent {
|
||||
flex: 1;
|
||||
margin-left: 30rpx;
|
||||
margin-left: 20rpx;
|
||||
margin-right: 30rpx;
|
||||
display: flex;
|
||||
padding: 0 20rpx;
|
||||
@@ -33,5 +33,10 @@
|
||||
}
|
||||
|
||||
.label {
|
||||
width: 120rpx;
|
||||
width: 130rpx;
|
||||
}
|
||||
|
||||
.required {
|
||||
color: rgb(209, 83, 25);
|
||||
font-size: 30rpx;
|
||||
}
|
||||
Reference in New Issue
Block a user