This commit is contained in:
仲么了
2023-10-27 16:09:09 +08:00
parent 89d3d78f22
commit d6b02c77cd
12 changed files with 87 additions and 86 deletions

View File

@@ -20,7 +20,7 @@
<text>{{ device.projectName }}</text> <text>{{ device.projectName }}</text>
</view> </view>
<view class="device-body-item mt6" v-if="device.process == 2 || device.process == 3"> <view class="device-body-item mt6" v-if="device.process == 2 || device.process == 3">
<text>设备状态</text> <text>调试阶段</text>
<text>{{ device.process == 2 ? '功能调试' : '出厂调试' }}</text> <text>{{ device.process == 2 ? '功能调试' : '出厂调试' }}</text>
</view> </view>
</view> </view>

View File

@@ -139,8 +139,8 @@
"proxy" : { "proxy" : {
"/api" : { "/api" : {
"https" : true, "https" : true,
// "target" : "https://pqmcn.com:8092/api", "target" : "https://pqmcn.com:8092/api",
"target" : "http://192.168.1.115:10215", // "target" : "http://192.168.1.115:10215",
"changOrigin" : true, "changOrigin" : true,
"pathRewrite" : { "pathRewrite" : {
"/api" : "" "/api" : ""

View File

@@ -152,15 +152,13 @@
{ {
"path": "pages/device/APF/report", "path": "pages/device/APF/report",
"style": { "style": {
"navigationBarTitleText": "告警情况", "navigationBarTitleText": "告警情况"
"navigationStyle": "custom"
} }
}, },
{ {
"path": "pages/device/DVR/report", "path": "pages/device/DVR/report",
"style": { "style": {
"navigationBarTitleText": "告警情况", "navigationBarTitleText": "告警情况"
"navigationStyle": "custom"
} }
}, },
{ {

View File

@@ -6,7 +6,7 @@
<view class="about-text">设备类型{{ deviceInfo.devTypeName }}</view> <view class="about-text">设备类型{{ deviceInfo.devTypeName }}</view>
<view class="about-text">设备型号{{ deviceInfo.devModelName }}</view> <view class="about-text">设备型号{{ deviceInfo.devModelName }}</view>
<view class="about-text" <view class="about-text"
>设备接入方式{{ deviceInfo.devAccessMethod === 'cloud' ? '云直连' : 'mqtt' }}</view >设备接入方式{{ deviceInfo.devAccessMethod === 'cloud' ? '云直连' : 'MQTT' }}</view
> >
<!-- <view class="about-text">设备注册时间永久使用</view> --> <!-- <view class="about-text">设备注册时间永久使用</view> -->
<view class="about-text">程序版本{{ deviceInfo.programVersionName }}</view> <view class="about-text">程序版本{{ deviceInfo.programVersionName }}</view>
@@ -37,10 +37,6 @@ export default {
this.deviceInfo.devModelName = resp[1].data.find( this.deviceInfo.devModelName = resp[1].data.find(
(item) => item.id === this.deviceInfo.devModel, (item) => item.id === this.deviceInfo.devModel,
)?.name )?.name
console.log(resp[2])
this.deviceInfo.programVersionName = resp[2].data.records.find(
(item) => item.id === this.deviceInfo.programVersion,
)?.versionNo
this.loading = false this.loading = false
}) })
}) })

View File

@@ -1,9 +1,10 @@
<template> <template>
<view> <view>
<uni-data-checkbox v-model="parity" :localdata="parityOption" @change="initEcharts"></uni-data-checkbox> <uni-data-checkbox v-model="parity" :localdata="parityOption" @change="initEcharts"></uni-data-checkbox>
<uni-data-checkbox v-model="dataRadio" :localdata="dataOptions" @change="initEcharts"></uni-data-checkbox> <!-- <uni-data-checkbox v-model="dataRadio" :localdata="dataOptions" @change="initEcharts"></uni-data-checkbox> -->
<uni-data-select v-model="dataRadio" :localdata="dataOptions" @change="initEcharts"></uni-data-select>
<view class="charts-box"> <view class="charts-box">
<qiun-data-charts type="column" :ontouch='true' :opts="opts" :chartData="chartData"/> <qiun-data-charts type="bar" :ontouch="true" :opts="opts" :chartData="chartData" />
</view> </view>
</view> </view>
</template> </template>
@@ -26,7 +27,7 @@ export default {
{ {
text: '偶次', text: '偶次',
value: 1, value: 1,
} },
], ],
parity: 2, parity: 2,
dataOptions: [], dataOptions: [],
@@ -44,7 +45,8 @@ export default {
chartData: {}, chartData: {},
//您可以通过修改 config-ucharts.js 文件中下标为 ['column'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。 //您可以通过修改 config-ucharts.js 文件中下标为 ['column'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
opts: { opts: {
enableScroll: true, // enableScroll: true,
dataLabel:false,
color: [ color: [
'#1890FF', '#1890FF',
'#91CB74', '#91CB74',
@@ -68,18 +70,17 @@ export default {
}, },
], ],
}, },
yAxis: { yAxis: {},
data: [
{
min: 0,
tofix: 4,
},
],
},
extra: { extra: {
column: { bar: {
width: 10, type: 'group',
categoryGap: 1, width: 30,
meterBorde: 1,
meterFillColor: '#FFFFFF',
activeBgColor: '#000000',
activeBgOpacity: 0.08,
seriesGap: 2,
categoryGap: 6,
}, },
}, },
}, },
@@ -127,8 +128,7 @@ export default {
let name1 = have['name'] let name1 = have['name']
let name2 = have.key.split('_')[0] + '_' + have.key.split('_')[1] let name2 = have.key.split('_')[0] + '_' + have.key.split('_')[1]
if (this.renderData[name1][name2][item.phase]) { if (this.renderData[name1][name2][item.phase]) {
this.renderData[name1][name2][item.phase][item.statisticalName] = this.renderData[name1][name2][item.phase][item.statisticalName] = item.statisticalData || 0
item.statisticalData || 0
} else { } else {
this.renderData[name1][name2][item.phase] = { this.renderData[name1][name2][item.phase] = {
[item.statisticalName]: item.statisticalData || 0, [item.statisticalName]: item.statisticalData || 0,
@@ -145,10 +145,10 @@ export default {
{ {
name: '负载谐波电压含有率序列', name: '负载谐波电压含有率序列',
key: 'Apf_HarmUR', key: 'Apf_HarmUR',
} },
] ]
Object.keys(this.renderData['电网侧']['Apf_HarmI']).forEach((item, index) => { Object.keys(this.renderData['电网侧']['Apf_HarmI']).forEach((item, index) => {
type.forEach(item2 => { type.forEach((item2) => {
dataOptions.push({ dataOptions.push({
text: item + '相' + item2.name, text: item + '相' + item2.name,
pointer: item2.key + '_' + item, pointer: item2.key + '_' + item,
@@ -159,7 +159,6 @@ export default {
this.dataOptions = dataOptions this.dataOptions = dataOptions
console.log(dataOptions) console.log(dataOptions)
this.initEcharts() this.initEcharts()
}, },
deep: true, deep: true,
immediate: true, immediate: true,
@@ -168,19 +167,23 @@ export default {
methods: { methods: {
initEcharts() { initEcharts() {
let obj = JSON.parse( let obj = JSON.parse(
JSON.stringify(this.renderData['电网侧']['Apf_HarmI'][Object.keys(this.renderData['电网侧']['Apf_HarmI'])[0]]), JSON.stringify(
this.renderData['电网侧']['Apf_HarmI'][Object.keys(this.renderData['电网侧']['Apf_HarmI'])[0]],
),
) )
let key = this.dataOptions[this.dataRadio].pointer.split('_') let key = this.dataOptions[this.dataRadio].pointer.split('_')
console.log(key) console.log(key)
let name1 = key[0] + '_' + key[1] let name1 = key[0] + '_' + key[1]
let name2 = key[2] let name2 = key[2]
this.chartData = { this.chartData = {
categories: Object.keys(obj).map((item) => { categories: Object.keys(obj)
// Apf_HarmI_Sys_36(A) 匹配36 .map((item) => {
return Number(item.match(/\d+/)[0]) // Apf_HarmI_Sys_36(A) 匹配36
}).filter((item) => { return Number(item.match(/\d+/)[0])
return item % 2 === this.parity - 1 })
}), .filter((item) => {
return item % 2 === this.parity - 1
}),
series: [ series: [
{ {
name: '电网侧', name: '电网侧',
@@ -196,14 +199,14 @@ export default {
}, },
], ],
} }
} },
} },
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.charts-box { .charts-box {
margin-top: 20rpx; margin-top: 20rpx;
height: 800rpx; height: 100vh;
} }
</style> </style>

View File

@@ -113,7 +113,7 @@ export default {
projectNameIndex: 0, projectNameIndex: 0,
projectSelect: false, projectSelect: false,
engineeringName: '', engineeringName: '',
engineeringId: 0, engineeringId: '',
runStatusName: '', runStatusName: '',
runStatusIndex: 0, runStatusIndex: 0,
runStatusSelect: false, runStatusSelect: false,

View File

@@ -18,7 +18,7 @@
v-for="item in renderData.subUsers" v-for="item in renderData.subUsers"
:key="item.id" :key="item.id"
> >
<template v-slot:footer v-if="options.isPrimaryUser"> <template v-slot:footer v-if="options.isPrimaryUser == 1">
<view class="footer-btn mt20" style="background: #e47470" @click="del(item)">移除</view> <view class="footer-btn mt20" style="background: #e47470" @click="del(item)">移除</view>
</template> </template>
</uni-list-item> </uni-list-item>

View File

@@ -35,25 +35,23 @@
</view> </view>
</picker> </picker>
<view style="flex: 1"></view> <view style="flex: 1"></view>
<template v-if="deviceListFilter.length"> <template v-if="transfer || share">
<template v-if="transfer || share"> <view class="nav-menu nav-menu-btn" @click="cancel">取消</view>
<view class="nav-menu nav-menu-btn" @click="cancel">取消</view> <view class="nav-menu nav-menu-btn" @click="submit">确定</view>
<view class="nav-menu nav-menu-btn" @click="submit">确定</view> </template>
</template> <template v-else-if="deviceListFilter.length">
<template v-else> <view
<view class="nav-menu nav-menu-btn"
class="nav-menu nav-menu-btn" @click="selectDevice('transfer')"
@click="selectDevice('transfer')" v-if="userInfo.authorities === 'app_vip_user' || userInfo.authorities === 'engineering_user'"
v-if="userInfo.authorities === 'app_vip_user' || userInfo.authorities === 'engineering_user'"
>移交 >移交
</view> </view>
<view <view
class="nav-menu nav-menu-btn" class="nav-menu nav-menu-btn"
@click="selectDevice('share')" @click="selectDevice('share')"
v-if="userInfo.authorities === 'app_vip_user'" v-if="userInfo.authorities === 'app_vip_user'"
>分享 >分享
</view> </view>
</template>
</template> </template>
<!-- <picker @change="projectTypeChange" :value="select.projectTypeIndex" :range="projectType" range-key="text"> <!-- <picker @change="projectTypeChange" :value="select.projectTypeIndex" :range="projectType" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectType }" <view class="nav-menu" :class="{ 'nav-menu-active': select.projectType }"
@@ -68,8 +66,11 @@
<view class="uni-card__header"> <view class="uni-card__header">
<view class="uni-card__header-box"> <view class="uni-card__header-box">
<view class="uni-card__header-avatar"> <view class="uni-card__header-avatar">
<image class="uni-card__header-avatar-image" :src="deviceIcon(item.runStatus)" <image
mode="aspectFit"/> class="uni-card__header-avatar-image"
:src="deviceIcon(item.runStatus)"
mode="aspectFit"
/>
</view> </view>
<view class="uni-card__header-content"> <view class="uni-card__header-content">
<text class="uni-card__header-content-title uni-ellipsis"> <text class="uni-card__header-content-title uni-ellipsis">
@@ -83,7 +84,7 @@
<view class="uni-card__header-extra" style="position: relative"> <view class="uni-card__header-extra" style="position: relative">
<switch <switch
:checked="checkList.indexOf(item.equipmentId) > -1" :checked="checkList.indexOf(item.equipmentId) > -1"
style="transform: scale(0.8);position: relative;left: 20rpx;" style="transform: scale(0.8); position: relative; left: 20rpx"
@change="switchChange(item)" @change="switchChange(item)"
/> />
</view> </view>
@@ -99,8 +100,8 @@
</view> </view>
</template> </template>
<script> <script>
import {getProjectList} from '@/common/api/project' import { getProjectList } from '@/common/api/project'
import {queryDictData} from '@/common/api/dictionary' import { queryDictData } from '@/common/api/dictionary'
export default { export default {
props: { props: {
@@ -132,8 +133,6 @@ export default {
}, },
computed: { computed: {
deviceListFilter() { deviceListFilter() {
this.transfer = false
this.share = false
let arr = this.store.data.filter((item) => { let arr = this.store.data.filter((item) => {
if (this.select.projectName && this.select.projectType) { if (this.select.projectName && this.select.projectType) {
return item.project === this.select.projectName && item.type === this.select.projectType return item.project === this.select.projectName && item.type === this.select.projectType
@@ -147,7 +146,7 @@ export default {
}) })
if (this.transfer || this.share) { if (this.transfer || this.share) {
return arr.filter((item) => { return arr.filter((item) => {
return item.isPrimaryUser === '1' return item.isPrimaryUser === '1' && item.process == 4
}) })
} else { } else {
return arr return arr
@@ -157,13 +156,10 @@ export default {
created() { created() {
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo) this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
}, },
mounted() { mounted() {},
},
methods: { methods: {
selectDevice(type) { selectDevice(type) {
if (this.deviceListFilter.findIndex(item => item.isPrimaryUser === '1') === -1) { if (this.deviceListFilter.findIndex((item) => item.isPrimaryUser === '1') === -1) {
this.$util.toast('没有可操作的设备') this.$util.toast('没有可操作的设备')
} else { } else {
this[type] = true this[type] = true
@@ -205,14 +201,16 @@ export default {
return return
} }
if (this.transfer) { if (this.transfer) {
uni.navigateTo({url: '/pages/device/transfer?id=' + this.checkList.join(',')}) uni.navigateTo({ url: '/pages/device/transfer?id=' + this.checkList.join(',') })
} else if (this.share) { } else if (this.share) {
uni.navigateTo({url: '/pages/device/share?id=' + this.checkList.join(',')}) uni.navigateTo({ url: '/pages/device/share?id=' + this.checkList.join(',') })
} }
this.cancel() this.cancel()
}, },
async init() { async init() {
console.warn('init') console.warn('init')
this.transfer = false
this.share = false
this.getProjectList() this.getProjectList()
this.getDeviceList() this.getDeviceList()
}, },
@@ -283,7 +281,7 @@ export default {
}) })
}, },
submitFeedBack() { submitFeedBack() {
uni.navigateTo({url: '/pages/home/feedback'}) uni.navigateTo({ url: '/pages/home/feedback' })
}, },
projectTypeChange(e) { projectTypeChange(e) {
this.select.projectTypeIndex = e.detail.value this.select.projectTypeIndex = e.detail.value
@@ -310,7 +308,7 @@ export default {
confirmText: '直连设备', confirmText: '直连设备',
cancelText: '网关接入', cancelText: '网关接入',
cancelColor: '#007aff', cancelColor: '#007aff',
success: ({confirm, cancel}) => { success: ({ confirm, cancel }) => {
if (confirm) { if (confirm) {
uni.navigateTo({ uni.navigateTo({
url: '/pages/device/new', url: '/pages/device/new',
@@ -339,6 +337,4 @@ export default {
}, },
} }
</script> </script>
<style lang="scss"> <style lang="scss"></style>
</style>

View File

@@ -74,7 +74,7 @@ export default {
if (confirm) { if (confirm) {
if (this.devCount.engineeringListLength > 0) { if (this.devCount.engineeringListLength > 0) {
uni.navigateTo({ uni.navigateTo({
url: '/pages/device/new?type=', url: '/pages/device/new?type=4',
}) })
} else { } else {
uni.navigateTo({ uni.navigateTo({

View File

@@ -83,7 +83,7 @@
</view> </view>
<view class="mine-nav" @click="jump('serverSetting')" v-if="userInfo.authorities === 'engineering_user'"> <view class="mine-nav" @click="jump('serverSetting')" v-if="userInfo.authorities === 'engineering_user'">
<image mode="aspectFill" class="mine-nav-icon" src="/static/server2.png" /> <image mode="aspectFill" class="mine-nav-icon" src="/static/server2.png" />
<view class="mine-nav-label">服务内容配置</view> <view class="mine-nav-label">调试内容配置</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons> <uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view> </view>
<view class="mine-nav" @click="jump('setup')" style="border-bottom: none"> <view class="mine-nav" @click="jump('setup')" style="border-bottom: none">

View File

@@ -5,7 +5,7 @@
<view class="mine-nav-label">更换手机号</view> <view class="mine-nav-label">更换手机号</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons> <uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view> </view>
<view class="mine-nav" @click="jump('changePwd')" > <view class="mine-nav" @click="jump('changePwd')">
<view class="mine-nav-label">修改密码</view> <view class="mine-nav-label">修改密码</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons> <uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view> </view>
@@ -33,10 +33,10 @@
<view class="mine-nav-label">使用手册</view> <view class="mine-nav-label">使用手册</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons> <uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view> </view>
<view class="mine-nav" @click="jump('database')"> <!-- <view class="mine-nav" @click="jump('database')">
<view class="mine-nav-label">资料库</view> <view class="mine-nav-label">资料库</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons> <uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view> </view> -->
<view class="mine-nav" @click="jump('company')"> <view class="mine-nav" @click="jump('company')">
<view class="mine-nav-label">公司介绍</view> <view class="mine-nav-label">公司介绍</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons> <uni-icons type="forward" color="#aaa" size="20"></uni-icons>
@@ -78,6 +78,14 @@ export default {
url: `/pages/user/changePhone`, url: `/pages/user/changePhone`,
}) })
break break
case 'book':
uni.openDocument({
filePath: "/static/user_manual.docx",
success: function (res) {
console.log('打开文档成功')
},
})
break
case 'layout': case 'layout':
uni.showModal({ uni.showModal({
title: '提示', title: '提示',

BIN
static/user_manual.docx Normal file

Binary file not shown.