电表强控,工单跳转
This commit is contained in:
@@ -390,6 +390,9 @@ Page({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
alertSuccess("新增成功")
|
alertSuccess("新增成功")
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/pages/workBenchTodoList/index',
|
||||||
|
})
|
||||||
},
|
},
|
||||||
goback() {
|
goback() {
|
||||||
wx.navigateBack()
|
wx.navigateBack()
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Page({
|
|||||||
phone, building, feeType, park, editType, id, parkName,
|
phone, building, feeType, park, editType, id, parkName,
|
||||||
|
|
||||||
} = this.data;
|
} = this.data;
|
||||||
const { code, message } = await createBackTenement(park, { name, shortName, address, contact, phone, building, feeType })
|
const { code, message, tenement } = await createBackTenement(park, { name, shortName, address, contact, phone, building, feeType })
|
||||||
if (code !== OK) {
|
if (code !== OK) {
|
||||||
alertInfo(message)
|
alertInfo(message)
|
||||||
return
|
return
|
||||||
@@ -60,7 +60,7 @@ Page({
|
|||||||
alertSuccess("开户成功")
|
alertSuccess("开户成功")
|
||||||
// wx.navigateBack()
|
// wx.navigateBack()
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: `/pages/workBenchNew/components/workBenchTenement/index?park=${park}&parkName=${parkName}&name=${name}`,
|
url: `/pages/workBenchNew/components/workBenchTenement/index?park=${park}&parkName=${parkName}&name=${name}&id=${tenement}`,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleBack() {
|
handleBack() {
|
||||||
|
|||||||
@@ -42,6 +42,9 @@ Page({
|
|||||||
this.setData({
|
this.setData({
|
||||||
park: data.id,
|
park: data.id,
|
||||||
parkName: data.name,
|
parkName: data.name,
|
||||||
|
meter: null,
|
||||||
|
meterInfo: null,
|
||||||
|
meterName: null,
|
||||||
})
|
})
|
||||||
break;
|
break;
|
||||||
case "tenement":
|
case "tenement":
|
||||||
@@ -113,13 +116,43 @@ Page({
|
|||||||
type: "",
|
type: "",
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
changeCritical(e) {
|
||||||
|
this.setData({
|
||||||
|
critical: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changePeak(e) {
|
||||||
|
this.setData({
|
||||||
|
peak: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeFlat(e) {
|
||||||
|
this.setData({
|
||||||
|
flat: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeValley(e) {
|
||||||
|
this.setData({
|
||||||
|
valley: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeOverall(e) {
|
||||||
|
this.setData({
|
||||||
|
overall: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeDeppValley(e) {
|
||||||
|
this.setData({
|
||||||
|
deepOverall: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
async onSubmit() {
|
async onSubmit() {
|
||||||
const { meter, reason, url, meterInfo } = this.data;
|
const { meter, reason, url, meterInfo, critical, peak, flat, valley, overall, deepOverall } = this.data;
|
||||||
if (!meter) {
|
if (!meter) {
|
||||||
alertInfo("请选择表号")
|
alertInfo("请选择表号")
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const { code, message } = await uninstallMeter({sn: meterInfo.meterSn, images: url, reason})
|
const { code, message } = await uninstallMeter({sn: meterInfo.meterSn, images: url, reason, tenement: meterInfo.tenement, critical, peak, flat, valley, overall, deepOverall})
|
||||||
if (code !== OK) {
|
if (code !== OK) {
|
||||||
alertInfo(message)
|
alertInfo(message)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -50,6 +50,48 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
</searchSelectWrapper>
|
</searchSelectWrapper>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="总"
|
||||||
|
placeholder="请输入总"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeOverall"
|
||||||
|
wx:if="{{meterInfo.tenement}}"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="尖"
|
||||||
|
placeholder="请输入尖"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeCritical"
|
||||||
|
wx:if="{{meterInfo.tenement}}"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="峰"
|
||||||
|
placeholder="请输入峰"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changePeak"
|
||||||
|
wx:if="{{meterInfo.tenement}}"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="平"
|
||||||
|
placeholder="请输入平"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeFlat"
|
||||||
|
wx:if="{{meterInfo.tenement}}"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="谷"
|
||||||
|
placeholder="请输入谷"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeValley"
|
||||||
|
wx:if="{{meterInfo.tenement}}"
|
||||||
|
/>
|
||||||
|
<searchSelectWrapper
|
||||||
|
label="深谷"
|
||||||
|
placeholder="请输入深谷"
|
||||||
|
type="input"
|
||||||
|
bind:changeText="changeDeepValley"
|
||||||
|
wx:if="{{meterInfo.tenement}}"
|
||||||
|
/>
|
||||||
<view class="operate">
|
<view class="operate">
|
||||||
<view class="submit"> <van-button type="info" block bind:click="onSubmit"> 提交 </van-button> </view>
|
<view class="submit"> <van-button type="info" block bind:click="onSubmit"> 提交 </van-button> </view>
|
||||||
<view class="cancel"> <van-button block bind:tap="goback"> 返回 </van-button> </view>
|
<view class="cancel"> <van-button block bind:tap="goback"> 返回 </van-button> </view>
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
// pages/workBenchNew/components/workBenchMeter/index.js
|
// pages/workBenchNew/components/workBenchMeter/index.js
|
||||||
|
|
||||||
import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index";
|
import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index";
|
||||||
import { getParkMeterList, handleOperateMeterSwitch } from "../../../../service/meter"
|
import { getParkMeterList, handleOperateMeterMode } from "../../../../service/meter"
|
||||||
|
import { uploadMeterForce } from "../../../../service/public"
|
||||||
import request from "../../../../utils/request"
|
import request from "../../../../utils/request"
|
||||||
const { OK } = request
|
const { OK } = request
|
||||||
|
|
||||||
@@ -87,7 +88,34 @@ Page({
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
const { } = this.data;
|
const that = this;
|
||||||
|
const { mode, days, reason, meter, meterName, url } = this.data;
|
||||||
|
if (mode === 2 && days == null) {
|
||||||
|
alertInfo("请填写天数")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: `确定要对${meterName}进行${["预付费", "强控", "临时强控"][mode]}操作吗?`,
|
||||||
|
complete: async (res) => {
|
||||||
|
if (res.cancel) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (res.confirm) {
|
||||||
|
loadingFunc(async () => {
|
||||||
|
const { code, message } = await handleOperateMeterMode({ ids: [meter], mode, days: days == null ? undefined : Number(days), reason, images: url })
|
||||||
|
if (code !== OK) {
|
||||||
|
alertInfo(message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
alertSuccess("操作成功")
|
||||||
|
|
||||||
|
await that.init();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
uploadImage() {
|
uploadImage() {
|
||||||
const that = this;
|
const that = this;
|
||||||
@@ -107,7 +135,7 @@ Page({
|
|||||||
}
|
}
|
||||||
var tempFilePaths = path;
|
var tempFilePaths = path;
|
||||||
loadingFunc(async () => {
|
loadingFunc(async () => {
|
||||||
const { code, message, url } = await uploadInstallMeter(tempFilePaths)
|
const { code, message, url } = await uploadMeterForce(tempFilePaths)
|
||||||
if (code !== OK) {
|
if (code !== OK) {
|
||||||
alertError(message)
|
alertError(message)
|
||||||
return
|
return
|
||||||
@@ -178,56 +206,6 @@ Page({
|
|||||||
meter: e.detail
|
meter: e.detail
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async handleMeterSwitchOn() {
|
|
||||||
const that = this;
|
|
||||||
const { meter, meterName } = this.data;
|
|
||||||
wx.showModal({
|
|
||||||
title: '提示',
|
|
||||||
content: `您确认要对${meterName || 当前电表}进行合闸吗?`,
|
|
||||||
complete: async (res) => {
|
|
||||||
if (res.cancel) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (res.confirm) {
|
|
||||||
loadingFunc(async () => {
|
|
||||||
const { code, message } = await handleOperateMeterSwitch({ ids: [meter], status: 0 })
|
|
||||||
if (code !== OK) {
|
|
||||||
alertInfo(message)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
alertSuccess("合闸成功")
|
|
||||||
that.init();
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
async handleMeterSwitchOff() {
|
|
||||||
const that = this;
|
|
||||||
const { meter, meterName } = this.data;
|
|
||||||
wx.showModal({
|
|
||||||
title: '提示',
|
|
||||||
content: `您确认要对${meterName || 当前电表}进行拉闸吗?`,
|
|
||||||
complete: async (res) => {
|
|
||||||
if (res.cancel) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (res.confirm) {
|
|
||||||
loadingFunc(async () => {
|
|
||||||
const { code, message } = await handleOperateMeterSwitch({ ids: [meter], status: 1 })
|
|
||||||
if (code !== OK) {
|
|
||||||
alertInfo(message)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
alertSuccess("拉闸成功")
|
|
||||||
that.init();
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
|
|
||||||
</searchSelectWrapper>
|
</searchSelectWrapper>
|
||||||
<view class="operate">
|
<view class="operate">
|
||||||
<view class="submit"> <van-button type="info" block bind:click="handleSubmit"> 提交 </van-button> </view>
|
<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 class="cancel"> <van-button block bind:tap="goback"> 返回 </van-button> </view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -37,6 +37,12 @@ export const getBackTenementMeters = async function(park, tenement) {
|
|||||||
export const handleOperateMeterSwitch = async function({ ids = [], status }) {
|
export const handleOperateMeterSwitch = async function({ ids = [], status }) {
|
||||||
return await PUT(`/equipment/batchSwtich`, { ids, status });
|
return await PUT(`/equipment/batchSwtich`, { ids, status });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 预付费模式
|
||||||
|
export const handleOperateMeterMode = async function({ ids = [], mode, days, images, reason }) {
|
||||||
|
return await PUT(`/equipment/batchSetMode`, { ids, mode, days, images, reason });
|
||||||
|
}
|
||||||
|
|
||||||
// 绑定时获取电表的最新信息
|
// 绑定时获取电表的最新信息
|
||||||
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}`);
|
||||||
@@ -70,6 +76,6 @@ export const installMeter = async function(data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 拆表
|
// 拆表
|
||||||
export const uninstallMeter = async function({sn = "", reason = "", images = ""}) {
|
export const uninstallMeter = async function(data) {
|
||||||
return await DELETE(`/flow/doMeterRemoveApproval?sn=${sn}&reason=${reason}&images=${images}`);
|
return await POST(`/flow/doMeterRemoveApproval`, data);
|
||||||
}
|
}
|
||||||
@@ -63,6 +63,25 @@ export const uploadInstallMeter = (filePath) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const uploadMeterForce = (filePath) => {
|
||||||
|
const { api } = getConfigByEnv();
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
wx.uploadFile({
|
||||||
|
filePath: filePath,
|
||||||
|
name: 'data',
|
||||||
|
url: `${api}/image/meter/force`,
|
||||||
|
header: {
|
||||||
|
authorization: 'Bearer ' + wx.getStorageSync("token")
|
||||||
|
},
|
||||||
|
success: (res) => {
|
||||||
|
resolve(res?.data ? JSON.parse(res?.data) : res?.data);
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
export const uploadUninstallMeter = (filePath) => {
|
export const uploadUninstallMeter = (filePath) => {
|
||||||
const { api } = getConfigByEnv();
|
const { api } = getConfigByEnv();
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user