diff --git a/common/api/device.js b/common/api/device.js
index 495f0f0..aafb12b 100644
--- a/common/api/device.js
+++ b/common/api/device.js
@@ -20,7 +20,7 @@ export function getDevCount(id) {
url: '/cs-device-boot/deviceUser/devCount',
method: 'post',
- data: {id},
+ data: { id },
})
}
@@ -48,12 +48,13 @@ export function addDevice(params) {
}
// 直连设备注册
-export function registerDevice(nDid) {
+export function registerDevice(nDid, type) {
return request({
url: '/access-boot/device/register',
method: 'post',
data: {
nDid,
+ type,
},
})
}
@@ -95,7 +96,7 @@ export const transferDevice = (id, userId) => {
method: 'POST',
data: {
ids: id,
- userId: userId || uni.getStorageSync('userInfo').userIndex
+ userId: userId || uni.getStorageSync('userInfo').userIndex,
},
})
}
@@ -163,7 +164,7 @@ export const queryDeviceUser = (devId) => {
url: '/cs-device-boot/deviceUser/queryUserById',
method: 'POST',
data: {
- devId
+ devId,
},
})
}
@@ -175,4 +176,22 @@ export const cancelShare = (params) => {
method: 'POST',
data: params,
})
-}
\ No newline at end of file
+}
+
+// 取消调试
+export const cancelDebug = (params) => {
+ return request({
+ url: '/cs-device-boot/EquipmentDelivery/deleteTest',
+ method: 'POST',
+ data: params,
+ })
+}
+
+// 完成调试
+export const finishDebug = (params) => {
+ return request({
+ url: '/cs-device-boot/EquipmentDelivery/testcompletion',
+ method: 'POST',
+ data: params,
+ })
+}
diff --git a/components/Cn-device-card/Cn-device-card.vue b/components/Cn-device-card/Cn-device-card.vue
index ea7a7ee..6a22014 100644
--- a/components/Cn-device-card/Cn-device-card.vue
+++ b/components/Cn-device-card/Cn-device-card.vue
@@ -2,7 +2,7 @@
项目名称
{{ device.projectName }}
+
+ 设备状态
+ {{ device.process == 2 ? '功能调试' : '出厂调试' }}
+
@@ -30,9 +34,8 @@ export default {
props: {
device: {
type: Object,
- default: () => {
- }
- }
+ default: () => {},
+ },
},
methods: {
deviceIcon(e) {
@@ -52,13 +55,19 @@ export default {
},
jump() {
uni.navigateTo({
- url: '/pages/device/APF/detail?id=' + this.device.equipmentId + '&isPrimaryUser=' + this.device.isPrimaryUser,
+ url:
+ '/pages/device/APF/detail?id=' +
+ this.device.equipmentId +
+ '&isPrimaryUser=' +
+ this.device.isPrimaryUser +
+ '&process=' +
+ this.device.process,
})
},
- }
+ },
}
-
\ No newline at end of file
+
diff --git a/pages/device/APF/detail.vue b/pages/device/APF/detail.vue
index 347aef9..097022b 100644
--- a/pages/device/APF/detail.vue
+++ b/pages/device/APF/detail.vue
@@ -29,14 +29,13 @@
-
+
{{ item.clDid }}
{{ item.value || '-' }}
°C
-
@@ -53,7 +52,7 @@
v-for="(item, index) in navMenuList"
:key="index"
@click="navMenuClick(index)"
- >{{ item.text }}
+ >{{ item.text }}
@@ -87,6 +86,18 @@
+
+
+
+
@@ -97,10 +108,10 @@ import xieBo from './comp/xieBo.vue'
import power from './comp/power.vue'
import oscillogram from './comp/oscillogram.vue'
import IO from './comp/IO.vue'
-import {queryTopologyDiagram, deleteDevice} from '@/common/api/device'
-import {MQTT_IP, MQTT_OPTIONS} from '@/common/js/mqtt.js'
+import { queryTopologyDiagram, deleteDevice, cancelDebug, finishDebug } from '@/common/api/device'
+import { MQTT_IP, MQTT_OPTIONS } from '@/common/js/mqtt.js'
import mqtt from 'mqtt/dist/mqtt.js'
-import {base64ToPath, pathToBase64} from 'image-tools'
+import { base64ToPath, pathToBase64 } from 'image-tools'
export default {
components: {
@@ -112,6 +123,7 @@ export default {
},
data() {
return {
+ dialogType: '',
domLoading: true,
loading: true,
deviceInfo: {},
@@ -159,13 +171,14 @@ export default {
topolodyData: [],
basicData: [],
IOData: [],
+ pageOptions: {},
}
},
methods: {
trigger(e) {
console.log(e)
if (e.item.text === '分享') {
- uni.navigateTo({url: '/pages/device/share?id=' + this.devId})
+ uni.navigateTo({ url: '/pages/device/share?id=' + this.devId })
} else if (e.item.text === '删除') {
uni.showModal({
title: '提示',
@@ -190,17 +203,17 @@ export default {
} else if (e.item.text === '下载') {
this.$util.toast('下载成功')
} else if (e.item.text === '记录') {
- uni.navigateTo({url: '/pages/device/APF/record'})
+ uni.navigateTo({ url: '/pages/device/APF/record' })
} else if (e.item.text === '告警') {
- uni.navigateTo({url: '/pages/device/APF/report'})
+ uni.navigateTo({ url: '/pages/device/APF/report' })
} else if (e.item.text === '关于') {
- uni.navigateTo({url: '/pages/device/APF/about?id=' + this.devId})
+ uni.navigateTo({ url: '/pages/device/APF/about?id=' + this.devId })
} else if (e.item.text === '移交') {
- uni.navigateTo({url: '/pages/device/transfer?id=' + this.devId})
+ uni.navigateTo({ url: '/pages/device/transfer?id=' + this.devId })
} else if (e.item.text === '反馈') {
- uni.navigateTo({url: '/pages/device/feedback'})
+ uni.navigateTo({ url: '/pages/device/feedback' })
} else if (e.item.text === '用户') {
- uni.navigateTo({url: '/pages/device/user?id=' + this.devId + '&isPrimaryUser=' + this.isPrimaryUser})
+ uni.navigateTo({ url: '/pages/device/user?id=' + this.devId + '&isPrimaryUser=' + this.isPrimaryUser })
} else if (e.item.text === '报表') {
this.$util.toast('效果是直接打开报表')
} else if (e.item.text === '版本') {
@@ -215,12 +228,59 @@ export default {
uni.navigateTo({
url: '/pages/device/edit?deviceInfo=' + encodeURIComponent(JSON.stringify(data)),
})
+ } else if (e.item.text === '取消调试') {
+ this.cancelDebug()
+ } else if (e.item.text === '完成调试') {
+ this.finishDebug()
}
this.$refs.fab.close()
},
+ // 取消调试
+ cancelDebug() {
+ this.dialogType = '取消调试'
+ this.$refs.inputDialog.open()
+ },
+ // 完成调试
+ finishDebug() {
+ this.dialogType = '完成调试'
+ this.$refs.inputDialog.open()
+ },
+ dialogInputClose() {
+ this.$refs.inputDialog.close()
+ },
+ dialogInputConfirm(val) {
+ if (!val) {
+ this.$util.toast('请输入备注')
+ return
+ }
+ if (this.dialogType == '取消调试') {
+ cancelDebug({
+ deviceId: this.devId,
+ remark: val,
+ type: Number(this.pageOptions.process),
+ }).then((res) => {
+ this.$util.toast(res.message)
+ setTimeout(() => {
+ uni.navigateBack()
+ }, 1500)
+ })
+ } else {
+ finishDebug({
+ deviceId: this.devId,
+ remark: val,
+ type: Number(this.pageOptions.process),
+ }).then((res) => {
+ console.log(res)
+ this.$util.toast(res.message)
+ setTimeout(() => {
+ uni.navigateBack()
+ }, 1500)
+ })
+ }
+ },
navMenuClick(idx) {
this.navMenuActive = idx
- uni.pageScrollTo({scrollTop: 0, duration: 0})
+ uni.pageScrollTo({ scrollTop: 0, duration: 0 })
},
downloadImg() {
uni.downloadFile({
@@ -231,18 +291,16 @@ export default {
})
},
})
-
},
init() {
console.log('init')
-
this.loading = true
this.domLoading = true
queryTopologyDiagram(this.devId).then((res) => {
res.data.filePath = this.$config.static + res.data.filePath
this.deviceInfo = res.data
this.downloadImg()
- uni.setNavigationBarTitle({title: this.deviceInfo.devName || '设备详情'})
+ uni.setNavigationBarTitle({ title: this.deviceInfo.devName || '设备详情' })
this.topolodyData = this.topolodyData.filter((item) => {
let index = this.deviceInfo.appsLineTopologyDiagramPO.findIndex((element) => {
element.label = element.name
@@ -344,7 +402,7 @@ export default {
// }
// })
this.IOData = JSON.parse(message.toString())
- this.IOData.forEach(item => {
+ this.IOData.forEach((item) => {
if (item.value === 0) {
item.value = '0'
} else if (!item.value) {
@@ -360,7 +418,7 @@ export default {
let arr = []
element.showKey.forEach((key) => {
data.forEach((item) => {
- if (item.statisticalName === key && item.phase === 'avg' ) {
+ if (item.statisticalName === key && item.phase === 'avg') {
arr.push(key + ':' + item.statisticalData)
}
})
@@ -377,41 +435,60 @@ export default {
this.client.end()
},
onLoad(options) {
+ this.pageOptions = options
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
this.devId = options.id
this.isPrimaryUser = options.isPrimaryUser
- if (this.isPrimaryUser == 1) {
+ if (this.pageOptions.process == 2 || this.pageOptions.process == 3) {
this.content.splice(
0,
0,
- {
- iconPath: '/static/transfer.png',
- text: '移交',
- },
{
iconPath: '/static/feedback.png',
text: '编辑',
},
{
iconPath: '/static/delate.png',
- text: '删除',
+ text: '取消调试',
+ },
+ {
+ iconPath: '/static/delate.png',
+ text: '完成调试',
},
)
- if (this.userInfo.authorities === 'app_vip_user') {
- this.content.splice(3, 0, {
- iconPath: '/static/share.png',
- text: '分享',
+ } else {
+ if (this.isPrimaryUser == 1) {
+ this.content.splice(
+ 0,
+ 0,
+ {
+ iconPath: '/static/transfer.png',
+ text: '移交',
+ },
+ {
+ iconPath: '/static/feedback.png',
+ text: '编辑',
+ },
+ {
+ iconPath: '/static/delate.png',
+ text: '删除',
+ },
+ )
+ if (this.userInfo.authorities === 'app_vip_user') {
+ this.content.splice(3, 0, {
+ iconPath: '/static/share.png',
+ text: '分享',
+ })
+ }
+ }
+ if (this.userInfo.authorities !== 'tourist') {
+ this.content.splice(0, 0, {
+ iconPath: '/static/subordinate.png',
+ text: '用户',
})
}
-
}
- if (this.userInfo.authorities !== 'tourist') {
- this.content.splice(0, 0, {
- iconPath: '/static/subordinate.png',
- text: '用户',
- })
- }
- this.topolodyData = this.$util.getDictData('Line_Position').map(item => {
+ this.topolodyData = this.$util.getDictData('Line_Position').map((item) => {
switch (item.name) {
case '电网侧':
item.showKey = ['Apf_ThdA_Sys(%)']
diff --git a/pages/device/new.vue b/pages/device/new.vue
index 16d2ae3..6aba46b 100644
--- a/pages/device/new.vue
+++ b/pages/device/new.vue
@@ -314,7 +314,7 @@ export default {
if (!this.formData.nDid) {
return this.$util.toast('请输入设备识别码')
}
- registerDevice(this.formData.nDid).then((res) => {
+ registerDevice(this.formData.nDid, Number(this.options.type)).then((res) => {
getModel(this.formData.nDid).then((res) => {
console.log(res)
this.pointList = res.data.map((item) => {
diff --git a/pages/message/report.vue b/pages/message/report.vue
index 4e69302..c380665 100644
--- a/pages/message/report.vue
+++ b/pages/message/report.vue
@@ -13,20 +13,37 @@
diff --git a/pages/message/run.vue b/pages/message/run.vue
index 34a69cb..b121a08 100644
--- a/pages/message/run.vue
+++ b/pages/message/run.vue
@@ -13,13 +13,37 @@
diff --git a/pages/message/steady.vue b/pages/message/steady.vue
index 3c61625..c76890b 100644
--- a/pages/message/steady.vue
+++ b/pages/message/steady.vue
@@ -10,21 +10,38 @@
-