初步联调装表
This commit is contained in:
6
app.json
6
app.json
@@ -42,7 +42,11 @@
|
|||||||
"pages/workBenchNew/components/workBenchTenement/index",
|
"pages/workBenchNew/components/workBenchTenement/index",
|
||||||
"pages/workBenchNew/components/workBenchApprove/index",
|
"pages/workBenchNew/components/workBenchApprove/index",
|
||||||
"pages/workBenchNew/components/workBenchWxUser/index",
|
"pages/workBenchNew/components/workBenchWxUser/index",
|
||||||
"pages/workBenchNew/components/workBenchReading/index"
|
"pages/workBenchNew/components/workBenchReading/index",
|
||||||
|
"pages/workBenchNew/components/recharge/index",
|
||||||
|
"pages/workBenchNew/components/installMeter/index",
|
||||||
|
"pages/workBenchNew/components/uninstallMeter/index",
|
||||||
|
"pages/workBenchTodoList/index"
|
||||||
],
|
],
|
||||||
"subPackages": [
|
"subPackages": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { getLoginParkList, getParkBuildingList } from "../../service/park"
|
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 { alertInfo } from "../../utils/index";
|
||||||
import request from "../../utils/request"
|
import request from "../../utils/request"
|
||||||
import { payWays, feeType } from "../../utils/data";
|
import { payWays, feeType, meterType } from "../../utils/data";
|
||||||
import { getTenementList, getWxTenementList } from "../../service/tenement";
|
import { getTenementList, getWxTenementList } from "../../service/tenement";
|
||||||
const { OK } = request;
|
const { OK } = request;
|
||||||
|
|
||||||
@@ -35,6 +35,7 @@ Component({
|
|||||||
searchText: "",
|
searchText: "",
|
||||||
payWays,
|
payWays,
|
||||||
feeType,
|
feeType,
|
||||||
|
meterType
|
||||||
},
|
},
|
||||||
lifetimes: {
|
lifetimes: {
|
||||||
attached() {
|
attached() {
|
||||||
@@ -96,6 +97,17 @@ Component({
|
|||||||
})
|
})
|
||||||
this.triggerEvent("confirm", { data: item, way: index, type } );
|
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() {
|
onSearch() {
|
||||||
const { type, bind, filterBind } = this.data;
|
const { type, bind, filterBind } = this.data;
|
||||||
switch(type) {
|
switch(type) {
|
||||||
@@ -105,12 +117,24 @@ Component({
|
|||||||
case "meter":
|
case "meter":
|
||||||
this.onSearchMeter();
|
this.onSearchMeter();
|
||||||
return
|
return
|
||||||
|
case "inventoryMeter":
|
||||||
|
this.onSearchInventoryMeter();
|
||||||
|
return
|
||||||
case "tenement":
|
case "tenement":
|
||||||
this.onSearchTenement();
|
this.onSearchTenement();
|
||||||
return;
|
return;
|
||||||
case "building":
|
case "building":
|
||||||
this.onSearchBuilding();
|
this.onSearchBuilding();
|
||||||
return;
|
return;
|
||||||
|
case "meterBox":
|
||||||
|
this.onSearchMeterBox();
|
||||||
|
return;
|
||||||
|
case "card":
|
||||||
|
this.onSearchCard();
|
||||||
|
return;
|
||||||
|
case "collection":
|
||||||
|
this.onSearchCollection();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async onSearchPark() {
|
async onSearchPark() {
|
||||||
@@ -125,6 +149,18 @@ Component({
|
|||||||
list: parks,
|
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() {
|
async onSearchMeter() {
|
||||||
const { searchText = "", park, filterBind } = this.data;
|
const { searchText = "", park, filterBind } = this.data;
|
||||||
const { code, message, data: parks = [] } = await getParkSimpleMeterList({keyword: searchText, park, isNeedBind: !filterBind});
|
const { code, message, data: parks = [] } = await getParkSimpleMeterList({keyword: searchText, park, isNeedBind: !filterBind});
|
||||||
@@ -137,6 +173,18 @@ Component({
|
|||||||
list: parks || [],
|
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() {
|
async onSearchTenement() {
|
||||||
const { searchText = "", park, isBack } = this.data;
|
const { searchText = "", park, isBack } = this.data;
|
||||||
const { code, message, data = [] } = isBack ? await getWxTenementList({keyword: searchText, park}) : await getTenementList({keyword: searchText, park});
|
const { code, message, data = [] } = isBack ? await getWxTenementList({keyword: searchText, park}) : await getTenementList({keyword: searchText, park});
|
||||||
@@ -161,6 +209,30 @@ Component({
|
|||||||
list: data,
|
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"
|
bind:confirm="onFeeTypeConfirm"
|
||||||
/>
|
/>
|
||||||
</view>
|
</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'}}">
|
<view wx:elif="{{type !== 'pay'}}">
|
||||||
<van-search
|
<van-search
|
||||||
value="{{ value }}"
|
value="{{ value }}"
|
||||||
|
|||||||
@@ -15,7 +15,10 @@ Component({
|
|||||||
type: {
|
type: {
|
||||||
type: String,
|
type: String,
|
||||||
value: "select"
|
value: "select"
|
||||||
}
|
},
|
||||||
|
useSlot: Boolean,
|
||||||
|
hideBorder: Boolean,
|
||||||
|
required: Boolean,
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -38,6 +41,7 @@ Component({
|
|||||||
},
|
},
|
||||||
onChangeText(e) {
|
onChangeText(e) {
|
||||||
this.setData({ text: e.detail });
|
this.setData({ text: e.detail });
|
||||||
|
console.log("----------")
|
||||||
this.triggerEvent("changeText", e.detail)
|
this.triggerEvent("changeText", e.detail)
|
||||||
},
|
},
|
||||||
onSearchKeyword() {
|
onSearchKeyword() {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--components/searchSelectWrapper/index.wxml-->
|
<!--components/searchSelectWrapper/index.wxml-->
|
||||||
<view class="wrapper" wx:if="{{type === 'select'}}">
|
<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="content" bind:tap="clickTime" bind:tap="onSearch">
|
||||||
<view class="text" wx:if="{{!text}}" style="color: #ccc;"> {{placeholder}} </view>
|
<view class="text" wx:if="{{!text}}" style="color: #ccc;"> {{placeholder}} </view>
|
||||||
<view class="text" wx:else> {{text}} </view>
|
<view class="text" wx:else> {{text}} </view>
|
||||||
@@ -32,4 +32,11 @@
|
|||||||
custom-style="padding: 0;font-size: 30rpx;line-height: 32rpx;"
|
custom-style="padding: 0;font-size: 30rpx;line-height: 32rpx;"
|
||||||
/>
|
/>
|
||||||
</view>
|
</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>
|
</view>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
.content {
|
.content {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-left: 30rpx;
|
margin-left: 20rpx;
|
||||||
margin-right: 30rpx;
|
margin-right: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 10rpx 20rpx;
|
padding: 10rpx 20rpx;
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
.inputContent {
|
.inputContent {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-left: 30rpx;
|
margin-left: 20rpx;
|
||||||
margin-right: 30rpx;
|
margin-right: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
@@ -33,5 +33,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
width: 120rpx;
|
width: 130rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.required {
|
||||||
|
color: rgb(209, 83, 25);
|
||||||
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
379
pages/workBenchNew/components/installMeter/index.js
Normal file
379
pages/workBenchNew/components/installMeter/index.js
Normal file
@@ -0,0 +1,379 @@
|
|||||||
|
// pages/workBenchNew/components/createMeter/index.js
|
||||||
|
import dayjs from "../../../../utils/dayjs"
|
||||||
|
import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index"
|
||||||
|
import { uploadInstallMeter } from "../../../../service/public"
|
||||||
|
import request from "../../../../utils/request"
|
||||||
|
import { installMeter } from "../../../../service/meter"
|
||||||
|
const { OK } = request
|
||||||
|
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
time: "",
|
||||||
|
area: "",
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad(options) {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
|
*/
|
||||||
|
onReady() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow() {
|
||||||
|
this.setData({
|
||||||
|
time: dayjs().format("YYYY-MM-DD HH:mm:ss")
|
||||||
|
})
|
||||||
|
},
|
||||||
|
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: 'inventoryMeter'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onBuildingFocus() {
|
||||||
|
const { park } = this.data;
|
||||||
|
if (!park) {
|
||||||
|
alertInfo("请先选择园区")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "建筑",
|
||||||
|
type: 'building'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
clearImage() {
|
||||||
|
this.setData({
|
||||||
|
url: ""
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onMeterBoxFocus() {
|
||||||
|
const { park } = this.data;
|
||||||
|
if (!park) {
|
||||||
|
alertInfo("请先选择园区")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "电表箱",
|
||||||
|
type: 'meterBox'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onMeterTypeFocus() {
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "电表类型",
|
||||||
|
type: 'meterType'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onBindCard() {
|
||||||
|
const { park } = this.data;
|
||||||
|
if (!park) {
|
||||||
|
alertInfo("请先选择园区")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "卡",
|
||||||
|
type: 'card'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onBindCollectionA() {
|
||||||
|
const { park } = this.data;
|
||||||
|
if (!park) {
|
||||||
|
alertInfo("请先选择园区")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "采集器A",
|
||||||
|
type: 'collection',
|
||||||
|
collection: "A"
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onBindCollectionB() {
|
||||||
|
const { park } = this.data;
|
||||||
|
if (!park) {
|
||||||
|
alertInfo("请先选择园区")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "采集器B",
|
||||||
|
type: 'collection',
|
||||||
|
collection: "B"
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onBindCollectionC() {
|
||||||
|
const { park } = this.data;
|
||||||
|
if (!park) {
|
||||||
|
alertInfo("请先选择园区")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "采集器C",
|
||||||
|
type: 'collection',
|
||||||
|
collection: "C"
|
||||||
|
})
|
||||||
|
},
|
||||||
|
uploadImage() {
|
||||||
|
const that = this;
|
||||||
|
wx.chooseMedia({
|
||||||
|
count: 1,
|
||||||
|
mediaType: ['image'],
|
||||||
|
sourceType: ['album', 'camera'],
|
||||||
|
success: async function(res) {
|
||||||
|
console.log("res", res)
|
||||||
|
const path = res.tempFiles?.[0]?.tempFilePath.toLowerCase()
|
||||||
|
if (!/(\.jpg|\.png|\.jpeg)$/.test(path)) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '请上传jpg、png或jpeg格式的图片',
|
||||||
|
icon: 'none',
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var tempFilePaths = path;
|
||||||
|
loadingFunc(async () => {
|
||||||
|
const { code, message, url } = await uploadInstallMeter(tempFilePaths)
|
||||||
|
if (code !== OK) {
|
||||||
|
alertError(message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
that.setData({
|
||||||
|
url: url
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onConfirm(e) {
|
||||||
|
const { type, data = {} } = e.detail;
|
||||||
|
const {collection} = this.data;
|
||||||
|
switch(type) {
|
||||||
|
case "park":
|
||||||
|
this.setData({
|
||||||
|
park: data.id,
|
||||||
|
parkName: data.name,
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case "tenement":
|
||||||
|
this.setData({
|
||||||
|
tenement: data.id,
|
||||||
|
tenementName: data.name,
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case "inventoryMeter":
|
||||||
|
this.setData({
|
||||||
|
meter: data.id,
|
||||||
|
meterName: data?.sn,
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case "building":
|
||||||
|
this.setData({
|
||||||
|
building: data.id,
|
||||||
|
buildingName: data.name,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "meterBox":
|
||||||
|
this.setData({
|
||||||
|
meterBox: data.id,
|
||||||
|
meterBoxName: data.address,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "tenement":
|
||||||
|
this.setData({
|
||||||
|
tenement: data.id,
|
||||||
|
tenementName: data.name,
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case "meterType":
|
||||||
|
this.setData({
|
||||||
|
meterType: data.way,
|
||||||
|
meterTypeName: data,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "meter":
|
||||||
|
this.setData({
|
||||||
|
meter: data.id,
|
||||||
|
meterName: data.address,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "card":
|
||||||
|
this.setData({
|
||||||
|
card: data.id,
|
||||||
|
cardName: data.sim_number,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "collection":
|
||||||
|
let newData = {}
|
||||||
|
if (collection === "A") {
|
||||||
|
newData = {
|
||||||
|
collectionA: data.id,
|
||||||
|
collectionAName: data.name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (collection === "B") {
|
||||||
|
newData = {
|
||||||
|
collectionB: data.id,
|
||||||
|
collectionBName: data.name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (collection === "C") {
|
||||||
|
newData = {
|
||||||
|
collectionC: data.id,
|
||||||
|
collectionCName: data.name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.setData(newData);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
this.onCancel();
|
||||||
|
},
|
||||||
|
changeAddress(e) {
|
||||||
|
this.setData({
|
||||||
|
address: e.detail
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeArea(e) {
|
||||||
|
this.setData({
|
||||||
|
area: e.detail
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeOverall(e) {
|
||||||
|
this.setData({
|
||||||
|
overall: e.detail
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeSharp(e) {
|
||||||
|
this.setData({
|
||||||
|
sharp: e.detail
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changePeak(e) {
|
||||||
|
this.setData({
|
||||||
|
sharp: e.detail
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeFlat(e) {
|
||||||
|
this.setData({
|
||||||
|
flat: e.detail
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeValley(e) {
|
||||||
|
this.setData({
|
||||||
|
valley: e.detail
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeRatio(e) {
|
||||||
|
this.setData({
|
||||||
|
ratio: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onCancel() {
|
||||||
|
this.setData({
|
||||||
|
show: false,
|
||||||
|
title: "",
|
||||||
|
type: "",
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onTenementFocus(e) {
|
||||||
|
const { park } = this.data;
|
||||||
|
const that = this;
|
||||||
|
if (!park) {
|
||||||
|
alertInfo("请先选择园区")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "商户",
|
||||||
|
type: 'tenement'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async handleSubmit() {
|
||||||
|
const {
|
||||||
|
park, meter, address, building, meterBox, meterType,
|
||||||
|
ratio, area, card, collectionA, collectionB, collectionC,
|
||||||
|
tenement, sharp, peak, flat, valley, overall, url
|
||||||
|
} = this.data;
|
||||||
|
if (!park || !meter || !address) {
|
||||||
|
alertInfo("请填写必填项后保存")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log("data", this.data)
|
||||||
|
const { code, data, message } = await installMeter({
|
||||||
|
park, meter, address, building, meterBox, meterType,
|
||||||
|
ratio, area, card, collectionA, collectionB, collectionC,
|
||||||
|
tenement, sharp, peak, flat, valley, overall, url
|
||||||
|
})
|
||||||
|
if (code !== OK) {
|
||||||
|
alertInfo(message)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
alertSuccess("新增成功")
|
||||||
|
},
|
||||||
|
goback() {
|
||||||
|
wx.navigateBack()
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面隐藏
|
||||||
|
*/
|
||||||
|
onHide() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
|
*/
|
||||||
|
onPullDownRefresh() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面上拉触底事件的处理函数
|
||||||
|
*/
|
||||||
|
onReachBottom() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户点击右上角分享
|
||||||
|
*/
|
||||||
|
onShareAppMessage() {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
12
pages/workBenchNew/components/installMeter/index.json
Normal file
12
pages/workBenchNew/components/installMeter/index.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"usingComponents": {
|
||||||
|
"navigator": "/components/navigator/index",
|
||||||
|
"van-popup": "@vant/weapp/popup/index",
|
||||||
|
"search-select": "/components/searchSelect/index",
|
||||||
|
"van-field": "@vant/weapp/field/index",
|
||||||
|
"van-button": "@vant/weapp/button/index",
|
||||||
|
"van-image": "@vant/weapp/image/index",
|
||||||
|
"searchSelectWrapper": "/components/searchSelectWrapper/index"
|
||||||
|
},
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
181
pages/workBenchNew/components/installMeter/index.wxml
Normal file
181
pages/workBenchNew/components/installMeter/index.wxml
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
<!--pages/workBenchNew/components/createMeter/index.wxml-->
|
||||||
|
<navigator canBack="{{true}}" title="新装电表" />
|
||||||
|
|
||||||
|
<view class="wrapper">
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="当前时间"
|
||||||
|
placeholder="请选择园区"
|
||||||
|
useSlot
|
||||||
|
type=""
|
||||||
|
hideBorder="{{true}}"
|
||||||
|
>
|
||||||
|
<view> {{time}} </view>
|
||||||
|
</searchSelectWrapper>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="选择园区"
|
||||||
|
placeholder="请选择园区"
|
||||||
|
text="{{parkName}}"
|
||||||
|
bind:search="onParkFocus"
|
||||||
|
required="{{true}}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="选择电表"
|
||||||
|
placeholder="请选择电表"
|
||||||
|
text="{{meterName}}"
|
||||||
|
bind:search="onMeterFocus"
|
||||||
|
required="{{true}}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="选择建筑"
|
||||||
|
placeholder="请选择建筑"
|
||||||
|
text="{{buildingName}}"
|
||||||
|
bind:search="onBuildingFocus"
|
||||||
|
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="电表箱"
|
||||||
|
placeholder="请选择电表箱"
|
||||||
|
text="{{meterBoxName}}"
|
||||||
|
bind:search="onMeterBoxFocus"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="电表类型"
|
||||||
|
placeholder="请选择电表类型"
|
||||||
|
text="{{meterTypeName}}"
|
||||||
|
bind:search="onMeterTypeFocus"
|
||||||
|
required="{{true}}"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="倍率"
|
||||||
|
placeholder="请输入倍率"
|
||||||
|
type="input"
|
||||||
|
text="ratio"
|
||||||
|
bind:changeText="changeRatio"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="电表地址"
|
||||||
|
placeholder="请输入电表地址"
|
||||||
|
text="area"
|
||||||
|
type="input"
|
||||||
|
required="{{true}}"
|
||||||
|
bind:changeText="changeAddress"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="所辖面积"
|
||||||
|
placeholder="请输入所辖面积"
|
||||||
|
text="area"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeArea"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="绑定卡"
|
||||||
|
placeholder="请选择卡绑定(选填)"
|
||||||
|
text="{{cardName}}"
|
||||||
|
bind:search="onBindCard"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="采集器A"
|
||||||
|
placeholder="请选择采集器绑定(选填)"
|
||||||
|
text="{{collectionA}}"
|
||||||
|
bind:search="onBindCollectionA"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="采集器B"
|
||||||
|
placeholder="请选择采集器绑定(选填)"
|
||||||
|
text="{{collectionB}}"
|
||||||
|
bind:search="onBindCollectionB"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="采集器C"
|
||||||
|
placeholder="请选择采集器绑定(选填)"
|
||||||
|
text="{{collectionC}}"
|
||||||
|
bind:search="onBindCollectionC"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="商户"
|
||||||
|
placeholder="请选择商户"
|
||||||
|
text="{{ tenementName }}"
|
||||||
|
bind:search="onTenementFocus"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="总"
|
||||||
|
placeholder="请输入总"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeOverall"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="尖"
|
||||||
|
placeholder="请输入尖"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeSharp"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="峰"
|
||||||
|
placeholder="请输入峰"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changePeak"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="平"
|
||||||
|
placeholder="请输入平"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeFlat"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="谷"
|
||||||
|
placeholder="请输入谷"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeValley"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="图片"
|
||||||
|
useSlot="{{true}}"
|
||||||
|
type=""
|
||||||
|
hideBorder="{{true}}"
|
||||||
|
>
|
||||||
|
<view style="display: flex; align-items: center;">
|
||||||
|
<view>
|
||||||
|
<van-button type="info" size="small" bind:click="uploadImage" custom-style="margin-right: 20rpx;"> 上传 </van-button>
|
||||||
|
<view style="margin-top: 20rpx" wx:if="{{!!url}}">
|
||||||
|
<van-button type="danger" size="small" bind:click="clearImage" custom-style="margin-right: 20rpx;"> 清除 </van-button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<van-image wx:if="{{!!url}}" width="100" height="100" src="{{url}}" custom-style="margin-left: 20rpx;" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</searchSelectWrapper>
|
||||||
|
<view class="operate">
|
||||||
|
<view class="submit"> <van-button type="info" block bind:click="handleSubmit"> 提交 </van-button> </view>
|
||||||
|
<view class="cancel"> <van-button block bind:tap="goback"> 返回 </van-button> </view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<search-select
|
||||||
|
show="{{show}}"
|
||||||
|
title="{{title}}"
|
||||||
|
type="{{type}}"
|
||||||
|
park="{{park}}"
|
||||||
|
bindconfirm="onConfirm"
|
||||||
|
bindcancel="onCancel"
|
||||||
|
wx:if="{{show}}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<van-popup
|
||||||
|
show="{{ imageShow }}"
|
||||||
|
bind:close="onClose"
|
||||||
|
z-index="99999"
|
||||||
|
>
|
||||||
|
<van-image
|
||||||
|
width="100vw"
|
||||||
|
height="99.1vh"
|
||||||
|
fit="contain"
|
||||||
|
src="{{url}}"
|
||||||
|
bind:click="onClose"
|
||||||
|
/>
|
||||||
|
</van-popup>
|
||||||
15
pages/workBenchNew/components/installMeter/index.wxss
Normal file
15
pages/workBenchNew/components/installMeter/index.wxss
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/* pages/workBenchNew/components/createMeter/index.wxss */
|
||||||
|
|
||||||
|
.operate {
|
||||||
|
display: flex;
|
||||||
|
padding-top: 24rpx;
|
||||||
|
padding-bottom: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit, .cancel {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
27
pages/workBenchNew/components/operateButton/index.js
Normal file
27
pages/workBenchNew/components/operateButton/index.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
// pages/workBenchNew/components/operateButton/index.js
|
||||||
|
Component({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组件的属性列表
|
||||||
|
*/
|
||||||
|
properties: {
|
||||||
|
text: String,
|
||||||
|
style: String,
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组件的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组件的方法列表
|
||||||
|
*/
|
||||||
|
methods: {
|
||||||
|
handleClick() {
|
||||||
|
this.triggerEvent("click")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
4
pages/workBenchNew/components/operateButton/index.json
Normal file
4
pages/workBenchNew/components/operateButton/index.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
||||||
2
pages/workBenchNew/components/operateButton/index.wxml
Normal file
2
pages/workBenchNew/components/operateButton/index.wxml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<!--pages/workBenchNew/components/operateButton/index.wxml-->
|
||||||
|
<view class="buttonWrapper" style="{{style}}" bind:tap="handleClick"> {{ text }} </view>
|
||||||
12
pages/workBenchNew/components/operateButton/index.wxss
Normal file
12
pages/workBenchNew/components/operateButton/index.wxss
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
/* pages/workBenchNew/components/operateButton/index.wxss */
|
||||||
|
|
||||||
|
.buttonWrapper {
|
||||||
|
height: 100rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border: 1rpx solid #ccc;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
margin-top: 24rpx;
|
||||||
|
}
|
||||||
192
pages/workBenchNew/components/recharge/index.js
Normal file
192
pages/workBenchNew/components/recharge/index.js
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
// pages/workBenchNew/components/recharge/index.js
|
||||||
|
import { handleRecharge } from "../../../../service/recharge";
|
||||||
|
import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index";
|
||||||
|
import request from '../../../../utils/request'
|
||||||
|
const { OK } = request;
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad(options) {
|
||||||
|
|
||||||
|
},
|
||||||
|
onParkFocus() {
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "园区",
|
||||||
|
type: 'park'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onMeterFocus() {
|
||||||
|
const { park } = this.data;
|
||||||
|
if (!park) {
|
||||||
|
alertInfo("请先选择园区")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "电表",
|
||||||
|
type: 'meter'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onConfirm(e) {
|
||||||
|
const { data, type, way } = 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.onCancel();
|
||||||
|
},
|
||||||
|
onCancel() {
|
||||||
|
this.setData({
|
||||||
|
show: false,
|
||||||
|
title: "",
|
||||||
|
type: "",
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onPayFocus() {
|
||||||
|
this.setData({
|
||||||
|
show: true,
|
||||||
|
title: "付款方式",
|
||||||
|
type: 'pay'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onChangeMoney(e) {
|
||||||
|
this.setData({ money: e.detail })
|
||||||
|
},
|
||||||
|
onChangeVoucherNo(e) {
|
||||||
|
this.setData({ voucherNo: e.detail })
|
||||||
|
},
|
||||||
|
handleClear() {
|
||||||
|
this.setData({
|
||||||
|
park: "",
|
||||||
|
parkName: "",
|
||||||
|
meter: "",
|
||||||
|
meterName: "",
|
||||||
|
way: "",
|
||||||
|
payName: "",
|
||||||
|
show: false,
|
||||||
|
title: "",
|
||||||
|
type: "",
|
||||||
|
money: null,
|
||||||
|
voucherNo: null
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async handleSubmit() {
|
||||||
|
const that = this;
|
||||||
|
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
|
||||||
|
}
|
||||||
|
loadingFunc(async () => {
|
||||||
|
const { code, message } = await handleRecharge(park, {
|
||||||
|
amount: `${money || ''}`,
|
||||||
|
meter,
|
||||||
|
paymentType: way,
|
||||||
|
voucherNo,
|
||||||
|
type: 0
|
||||||
|
})
|
||||||
|
if (code !== OK) {
|
||||||
|
alertInfo(message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
alertSuccess("充值成功")
|
||||||
|
setTimeout(() => {
|
||||||
|
that.handleClear()
|
||||||
|
that.setData({
|
||||||
|
|
||||||
|
})
|
||||||
|
}, 500)
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
|
*/
|
||||||
|
onReady() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面隐藏
|
||||||
|
*/
|
||||||
|
onHide() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
|
*/
|
||||||
|
onPullDownRefresh() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面上拉触底事件的处理函数
|
||||||
|
*/
|
||||||
|
onReachBottom() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户点击右上角分享
|
||||||
|
*/
|
||||||
|
onShareAppMessage() {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
11
pages/workBenchNew/components/recharge/index.json
Normal file
11
pages/workBenchNew/components/recharge/index.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"usingComponents": {
|
||||||
|
"van-popup": "@vant/weapp/popup/index",
|
||||||
|
"search-select": "/components/searchSelect/index",
|
||||||
|
"van-field": "@vant/weapp/field/index",
|
||||||
|
"van-button": "@vant/weapp/button/index",
|
||||||
|
"searchSelectWrapper": "/components/searchSelectWrapper/index",
|
||||||
|
"navigator": "/components/navigator"
|
||||||
|
},
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
51
pages/workBenchNew/components/recharge/index.wxml
Normal file
51
pages/workBenchNew/components/recharge/index.wxml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
<!--pages/workBenchNew/components/recharge/index.wxml-->
|
||||||
|
<navigator canBack="{{true}}" title="充值" />
|
||||||
|
<van-cell-group>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="园区"
|
||||||
|
placeholder="请选择园区"
|
||||||
|
text="{{parkName}}"
|
||||||
|
bind:search="onParkFocus"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="电表"
|
||||||
|
placeholder="请选择电表"
|
||||||
|
text="{{meterName}}"
|
||||||
|
bind:search="onMeterFocus"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="金额"
|
||||||
|
placeholder="请输入金额"
|
||||||
|
text="{{meterName}}"
|
||||||
|
fieldType="number"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="onChangeMoney"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="付款方式"
|
||||||
|
placeholder="请选择付款方式"
|
||||||
|
text="{{payName}}"
|
||||||
|
bind:search="onPayFocus"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="凭证"
|
||||||
|
placeholder="请输入凭证"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="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" bind:click="handleClear"> 清空 </van-button>
|
||||||
|
</view>
|
||||||
|
<search-select
|
||||||
|
show="{{show}}"
|
||||||
|
title="{{title}}"
|
||||||
|
type="{{type}}"
|
||||||
|
park="{{park}}"
|
||||||
|
bindconfirm="onConfirm"
|
||||||
|
bindcancel="onCancel"
|
||||||
|
wx:if="{{show}}"
|
||||||
|
/>
|
||||||
1
pages/workBenchNew/components/recharge/index.wxss
Normal file
1
pages/workBenchNew/components/recharge/index.wxss
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/* pages/workBenchNew/components/recharge/index.wxss */
|
||||||
173
pages/workBenchNew/components/uninstallMeter/index.js
Normal file
173
pages/workBenchNew/components/uninstallMeter/index.js
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
// pages/workBenchNew/components/uninstallMeter/index.js
|
||||||
|
import dayjs from "../../../../utils/dayjs"
|
||||||
|
import { alertInfo, } from "../../../../utils/index"
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
|
||||||
|
},
|
||||||
|
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) {
|
||||||
|
const { type, data = {} } = e.detail;
|
||||||
|
const {collection} = this.data;
|
||||||
|
switch(type) {
|
||||||
|
case "park":
|
||||||
|
this.setData({
|
||||||
|
park: data.id,
|
||||||
|
parkName: data.name,
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case "tenement":
|
||||||
|
this.setData({
|
||||||
|
tenement: data.id,
|
||||||
|
tenementName: data.name,
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case "building":
|
||||||
|
this.setData({
|
||||||
|
building: data.id,
|
||||||
|
buildingName: data.name,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "meterBox":
|
||||||
|
this.setData({
|
||||||
|
meterBox: data.id,
|
||||||
|
meterBoxName: data.address,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "meterType":
|
||||||
|
this.setData({
|
||||||
|
meterType: data.way,
|
||||||
|
meterTypeName: data,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "meter":
|
||||||
|
this.setData({
|
||||||
|
meter: data.id,
|
||||||
|
meterName: data.address,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "card":
|
||||||
|
this.setData({
|
||||||
|
card: data.id,
|
||||||
|
cardName: data.sim_number,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "collection":
|
||||||
|
let newData = {}
|
||||||
|
if (collection === "A") {
|
||||||
|
newData = {
|
||||||
|
collectionA: data.id,
|
||||||
|
collectionAName: data.name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (collection === "B") {
|
||||||
|
newData = {
|
||||||
|
collectionB: data.id,
|
||||||
|
collectionBName: data.name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (collection === "C") {
|
||||||
|
newData = {
|
||||||
|
collectionC: data.id,
|
||||||
|
collectionCName: data.name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.setData(newData);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
this.onCancel();
|
||||||
|
},
|
||||||
|
onCancel() {
|
||||||
|
this.setData({
|
||||||
|
show: false,
|
||||||
|
title: "",
|
||||||
|
type: "",
|
||||||
|
})
|
||||||
|
},
|
||||||
|
goback() {
|
||||||
|
wx.navigateBack()
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad(options) {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
|
*/
|
||||||
|
onReady() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow() {
|
||||||
|
this.setData({
|
||||||
|
time: dayjs().format("YYYY-MM-DD HH:mm:ss")
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeReason(e) {
|
||||||
|
this.setData({
|
||||||
|
reason: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面隐藏
|
||||||
|
*/
|
||||||
|
onHide() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
|
*/
|
||||||
|
onPullDownRefresh() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面上拉触底事件的处理函数
|
||||||
|
*/
|
||||||
|
onReachBottom() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户点击右上角分享
|
||||||
|
*/
|
||||||
|
onShareAppMessage() {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
11
pages/workBenchNew/components/uninstallMeter/index.json
Normal file
11
pages/workBenchNew/components/uninstallMeter/index.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"usingComponents": {
|
||||||
|
"navigator": "/components/navigator/index",
|
||||||
|
"van-popup": "@vant/weapp/popup/index",
|
||||||
|
"search-select": "/components/searchSelect/index",
|
||||||
|
"van-field": "@vant/weapp/field/index",
|
||||||
|
"van-button": "@vant/weapp/button/index",
|
||||||
|
"searchSelectWrapper": "/components/searchSelectWrapper/index"
|
||||||
|
},
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
75
pages/workBenchNew/components/uninstallMeter/index.wxml
Normal file
75
pages/workBenchNew/components/uninstallMeter/index.wxml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
<!--pages/workBenchNew/components/uninstallMeter/index.wxml-->
|
||||||
|
<navigator canBack="{{true}}" title="拆表" />
|
||||||
|
|
||||||
|
<view class="wrapper">
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="当前时间"
|
||||||
|
placeholder="请选择园区"
|
||||||
|
useSlot
|
||||||
|
type=""
|
||||||
|
hideBorder="{{true}}"
|
||||||
|
>
|
||||||
|
<view> {{time}} </view>
|
||||||
|
</searchSelectWrapper>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="选择园区"
|
||||||
|
placeholder="请选择园区"
|
||||||
|
text="{{parkName}}"
|
||||||
|
bind:search="onParkFocus"
|
||||||
|
required="{{true}}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="选择电表"
|
||||||
|
placeholder="请选择电表"
|
||||||
|
text="{{meterName}}"
|
||||||
|
bind:search="onMeterFocus"
|
||||||
|
required="{{true}}"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="原因"
|
||||||
|
placeholder="请输入原因"
|
||||||
|
text="reason"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeReason"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="图片"
|
||||||
|
useSlot="{{true}}"
|
||||||
|
type=""
|
||||||
|
hideBorder="{{true}}"
|
||||||
|
>
|
||||||
|
<van-button wx:if="{{!image}}" type="info" size="small"> 上传 </van-button>
|
||||||
|
|
||||||
|
</searchSelectWrapper>
|
||||||
|
<view class="operate">
|
||||||
|
<view class="submit"> <van-button type="info" block> 提交 </van-button> </view>
|
||||||
|
<view class="cancel"> <van-button block bind:tap="goback"> 返回 </van-button> </view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<search-select
|
||||||
|
show="{{show}}"
|
||||||
|
title="{{title}}"
|
||||||
|
type="{{type}}"
|
||||||
|
park="{{park}}"
|
||||||
|
bindconfirm="onConfirm"
|
||||||
|
bindcancel="onCancel"
|
||||||
|
wx:if="{{show}}"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<van-popup
|
||||||
|
show="{{ imageShow }}"
|
||||||
|
bind:close="onClose"
|
||||||
|
z-index="99999"
|
||||||
|
>
|
||||||
|
<van-image
|
||||||
|
width="100vw"
|
||||||
|
height="99.1vh"
|
||||||
|
fit="contain"
|
||||||
|
src="{{url}}"
|
||||||
|
bind:click="onClose"
|
||||||
|
/>
|
||||||
|
</van-popup>
|
||||||
15
pages/workBenchNew/components/uninstallMeter/index.wxss
Normal file
15
pages/workBenchNew/components/uninstallMeter/index.wxss
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/* pages/workBenchNew/components/uninstallMeter/index.wxss */
|
||||||
|
|
||||||
|
.operate {
|
||||||
|
display: flex;
|
||||||
|
padding-top: 24rpx;
|
||||||
|
padding-bottom: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit, .cancel {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
@@ -1,17 +1,14 @@
|
|||||||
<!--pages/workBench/components/recharge/index.wxml-->
|
<!--pages/workBench/components/recharge/index.wxml-->
|
||||||
<navigator title="充值审核" canBack="{{true}}" />
|
<navigator title="充值审核" canBack="{{true}}" />
|
||||||
<view style="">
|
<view>
|
||||||
<view class="typeQuery">
|
<view class="typeQuery">
|
||||||
<van-row>
|
<van-row>
|
||||||
<van-col span="8">
|
<van-col span="12">
|
||||||
<view class="typeQueryText" style="color: {{active === 0 ? '#0958d9' : '#000'}}" bind:tap="changeQueryType" data-type="{{0}}"> 待审核 </view>
|
<view class="typeQueryText" style="color: {{active === 0 ? '#0958d9' : '#000'}}" bind:tap="changeQueryType" data-type="{{0}}"> 待审核 </view>
|
||||||
</van-col>
|
</van-col>
|
||||||
<van-col span="8">
|
<van-col span="12">
|
||||||
<view class="typeQueryText" style="color: {{active === 1 ? '#0958d9' : '#000'}}" bind:tap="changeQueryType" data-type="{{1}}"> 已审核 </view>
|
<view class="typeQueryText" style="color: {{active === 1 ? '#0958d9' : '#000'}}" bind:tap="changeQueryType" data-type="{{1}}"> 已审核 </view>
|
||||||
</van-col>
|
</van-col>
|
||||||
<van-col span="8">
|
|
||||||
<view class="typeQueryText" style="color: {{active === 2 ? '#0958d9' : '#000'}}" bind:tap="changeQueryType" data-type="{{2}}"> 充值 </view>
|
|
||||||
</van-col>
|
|
||||||
</van-row>
|
</van-row>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -61,6 +61,21 @@ Page({
|
|||||||
url: '/pages/home/index',
|
url: '/pages/home/index',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
jumpToRecharge() {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/pages/workBenchNew/components/recharge/index',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
jumpToInstallMeter() {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/pages/workBenchNew/components/installMeter/index',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
jumpToUninstallMeter() {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/pages/workBenchNew/components/uninstallMeter/index',
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
"navigator": "/components/navigator/index",
|
"navigator": "/components/navigator/index",
|
||||||
"van-row": "@vant/weapp/row/index",
|
"van-row": "@vant/weapp/row/index",
|
||||||
"van-col": "@vant/weapp/col/index",
|
"van-col": "@vant/weapp/col/index",
|
||||||
"van-button": "@vant/weapp/button/index"
|
"van-button": "@vant/weapp/button/index",
|
||||||
|
"operate-button": "./components/operateButton/index"
|
||||||
},
|
},
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
<navigator title="工作台" canBack="{{false}}" />
|
<navigator title="工作台" canBack="{{false}}" />
|
||||||
|
|
||||||
<view class="wrapper">
|
<view class="wrapper">
|
||||||
<van-row gutter="10">
|
<!-- <van-row gutter="10">
|
||||||
<van-col span="12">
|
<van-col span="12">
|
||||||
<view class="contentWrapper" bind:tap="jumpToMeter">
|
<view class="contentWrapper" bind:tap="jumpToMeter">
|
||||||
<view class="image">
|
<view class="image">
|
||||||
@@ -73,7 +73,62 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</van-col>
|
</van-col>
|
||||||
</van-row>
|
</van-row> -->
|
||||||
|
<view>
|
||||||
|
<view> 通用操作 </view>
|
||||||
|
<view>
|
||||||
|
<van-row gutter="10">
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="充值" bind:click="jumpToRecharge" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="充值审核" bind:click="jumpToPay" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="其他审核" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="电表操作" bind:click="jumpToMeter" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="商户操作" bind:click="jumpToTenement" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="C端账号" bind:click="jumpToWxUser" />
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
</view>
|
||||||
|
<view> 现场操作 </view>
|
||||||
|
<view>
|
||||||
|
<van-row gutter="10">
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="抄表" bind:click="jumpToRoute" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="拆表" bind:click="jumpToUninstallMeter" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="新装" bind:click="jumpToInstallMeter" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="开户" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="销户" />
|
||||||
|
</van-col>
|
||||||
|
<van-col span="8">
|
||||||
|
<operate-button text="强控" />
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="operate">
|
<view class="operate">
|
||||||
<van-button type="info" block bind:click="jumpToHome"> 回到首页 </van-button>
|
<van-button type="info" block bind:click="jumpToHome"> 回到首页 </van-button>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* pages/workBench/index.wxss */
|
/* pages/workBench/index.wxss */
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
margin: 20rpx 0rpx;
|
margin:20rpx 0rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contentWrapper {
|
.contentWrapper {
|
||||||
|
|||||||
66
pages/workBenchTodoList/index.js
Normal file
66
pages/workBenchTodoList/index.js
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
// pages/workBenchTodoList/index.js
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad(options) {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
|
*/
|
||||||
|
onReady() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面隐藏
|
||||||
|
*/
|
||||||
|
onHide() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
|
*/
|
||||||
|
onPullDownRefresh() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面上拉触底事件的处理函数
|
||||||
|
*/
|
||||||
|
onReachBottom() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户点击右上角分享
|
||||||
|
*/
|
||||||
|
onShareAppMessage() {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
13
pages/workBenchTodoList/index.json
Normal file
13
pages/workBenchTodoList/index.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"usingComponents": {
|
||||||
|
"navigator": "/components/navigator/index",
|
||||||
|
"van-popup": "@vant/weapp/popup/index",
|
||||||
|
"van-row": "@vant/weapp/row/index",
|
||||||
|
"van-col": "@vant/weapp/col/index",
|
||||||
|
"search-select": "/components/searchSelect/index",
|
||||||
|
"van-field": "@vant/weapp/field/index",
|
||||||
|
"van-button": "@vant/weapp/button/index",
|
||||||
|
"searchSelectWrapper": "/components/searchSelectWrapper/index"
|
||||||
|
},
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
12
pages/workBenchTodoList/index.wxml
Normal file
12
pages/workBenchTodoList/index.wxml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<!--pages/workBenchTodoList/index.wxml-->
|
||||||
|
<navigator canBack="{{true}}" title="工单列表" />
|
||||||
|
<view class="wrapper">
|
||||||
|
<van-row gutter="20">
|
||||||
|
<van-col span="12">
|
||||||
|
1
|
||||||
|
</van-col>
|
||||||
|
<van-col span="12">
|
||||||
|
2
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
</view>
|
||||||
1
pages/workBenchTodoList/index.wxss
Normal file
1
pages/workBenchTodoList/index.wxss
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/* pages/workBenchTodoList/index.wxss */
|
||||||
@@ -24,22 +24,15 @@
|
|||||||
"miniprogram": {
|
"miniprogram": {
|
||||||
"list": [
|
"list": [
|
||||||
{
|
{
|
||||||
"name": "pages/readingHistory/index",
|
"name": "pages/workBenchTodoList/index",
|
||||||
"pathName": "pages/readingHistory/index",
|
"pathName": "pages/workBenchTodoList/index",
|
||||||
"query": "meter=METER00114674412879874&park=P00114672412196865&routeId=PR00121172392214529&disabled=false",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pages/workBenchNew/components/workBenchTenement/index",
|
|
||||||
"pathName": "pages/workBenchNew/components/workBenchTenement/index",
|
|
||||||
"query": "",
|
"query": "",
|
||||||
"launchMode": "default",
|
"launchMode": "default",
|
||||||
"scene": null
|
"scene": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pages/workBenchNew/components/workBenchReading/index",
|
"name": "pages/workBenchNew/components/uninstallMeter/index",
|
||||||
"pathName": "pages/workBenchNew/components/workBenchReading/index",
|
"pathName": "pages/workBenchNew/components/uninstallMeter/index",
|
||||||
"query": "",
|
"query": "",
|
||||||
"launchMode": "default",
|
"launchMode": "default",
|
||||||
"scene": null
|
"scene": null
|
||||||
@@ -50,76 +43,6 @@
|
|||||||
"query": "",
|
"query": "",
|
||||||
"launchMode": "default",
|
"launchMode": "default",
|
||||||
"scene": null
|
"scene": null
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pages/writeReading/index",
|
|
||||||
"pathName": "pages/writeReading/index",
|
|
||||||
"query": "id=PR00118027286020097",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pages/readingHistory/index",
|
|
||||||
"pathName": "pages/readingHistory/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pages/workBench/index",
|
|
||||||
"pathName": "pages/workBench/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pages/workBench/index",
|
|
||||||
"pathName": "pages/workBench/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "childPackage/pages/electricQuery/index",
|
|
||||||
"pathName": "childPackage/pages/electricQuery/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pages/workBench/index",
|
|
||||||
"pathName": "pages/workBench/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "childPackage/pages/electricQuery/index",
|
|
||||||
"pathName": "childPackage/pages/electricQuery/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "pages/workBench/index",
|
|
||||||
"pathName": "pages/workBench/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "childPackage/pages/electricQuery/index",
|
|
||||||
"pathName": "childPackage/pages/electricQuery/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "childPackage/pages/electricQuery/index",
|
|
||||||
"pathName": "childPackage/pages/electricQuery/index",
|
|
||||||
"query": "",
|
|
||||||
"launchMode": "default",
|
|
||||||
"scene": null
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,4 +40,31 @@ export const handleOperateMeterSwitch = async function({ ids = [], status }) {
|
|||||||
// 绑定时获取电表的最新信息
|
// 绑定时获取电表的最新信息
|
||||||
export const getWorkMeterDetail = async function(code = '') {
|
export const getWorkMeterDetail = async function(code = '') {
|
||||||
return await GET(`/vx/getWorkMeterDetail?code=${code}`);
|
return await GET(`/vx/getWorkMeterDetail?code=${code}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取某一园区下的电表箱列表
|
||||||
|
export const getParkBoxList = async function({park = "", keyword = "", page = 1}) {
|
||||||
|
return await GET(`/box/${park}?page=${page}&keyword=${replaceSpecialIcon(keyword)}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取卡列表
|
||||||
|
export const getCardList = async function({park = "", keyword = "", page = 1}) {
|
||||||
|
return await GET(`/equipment/getCardList?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 获取互感器列表
|
||||||
|
export const getCollectionList = async function({park = "", keyword = "", page = 1}) {
|
||||||
|
return await GET(`/transformer/list/select?page=${page}&park=${park}&transformerId=${replaceSpecialIcon(keyword)}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 获取库存电表列表
|
||||||
|
export const getInventoryMeter = async function({park = "", keyword = "", page = 1}) {
|
||||||
|
return await GET(`/electricity/list?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新装电表
|
||||||
|
export const installMeter = async function(data) {
|
||||||
|
return await POST(`/wx/workBench/installMeter`, data);
|
||||||
}
|
}
|
||||||
@@ -43,6 +43,26 @@ export const uploadOcrFile = (filePath) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const uploadInstallMeter = (filePath) => {
|
||||||
|
const { api } = getConfigByEnv();
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
wx.uploadFile({
|
||||||
|
filePath: filePath,
|
||||||
|
name: 'data',
|
||||||
|
url: `${api}/image/meter/reading`,
|
||||||
|
header: {
|
||||||
|
authorization: 'Bearer ' + wx.getStorageSync("token")
|
||||||
|
},
|
||||||
|
success: (res) => {
|
||||||
|
resolve(res?.data ? JSON.parse(res?.data) : res?.data);
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export const uploadPublicFile = (filePath) => {
|
export const uploadPublicFile = (filePath) => {
|
||||||
const { api } = getConfigByEnv();
|
const { api } = getConfigByEnv();
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|||||||
@@ -9,4 +9,6 @@ export const getRechargeOperateWay = (num) => {
|
|||||||
return payWays[num];
|
return payWays[num];
|
||||||
}
|
}
|
||||||
|
|
||||||
export const feeType = ['华昌宝能收费', "物业代收1", "物业代收2", "物业代收线损"]
|
export const feeType = ['华昌宝能收费', "物业代收1", "物业代收2", "物业代收线损"]
|
||||||
|
|
||||||
|
export const meterType = ['商户电表', '园区电表', '公摊电表']
|
||||||
Reference in New Issue
Block a user