页面接口推介
This commit is contained in:
@@ -87,3 +87,26 @@ export const queryTopologyDiagram = (devId) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设备扫码移交
|
||||||
|
|
||||||
|
export const transferDevice = (id) => {
|
||||||
|
return request({
|
||||||
|
url: '/cs-device-boot/deviceUser/transfer',
|
||||||
|
method: 'POST',
|
||||||
|
data: {
|
||||||
|
eid:id,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设备删除
|
||||||
|
|
||||||
|
export const deleteDevice = (id) => {
|
||||||
|
return request({
|
||||||
|
url: '/cs-device-boot/deviceUser/delete',
|
||||||
|
method: 'POST',
|
||||||
|
data: {
|
||||||
|
eid:id,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import request from '../js/request';
|
import request from '../js/request'
|
||||||
import config from '../js/config';
|
import config from '../js/config'
|
||||||
|
|
||||||
export function addEngineering(params) {
|
export function addEngineering(params) {
|
||||||
return request({
|
return request({
|
||||||
@@ -9,10 +9,9 @@ export function addEngineering(params) {
|
|||||||
header: {
|
header: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
},
|
},
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export function auditEngineering(params) {
|
export function auditEngineering(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/cs-device-boot/engineering/auditEngineering',
|
url: '/cs-device-boot/engineering/auditEngineering',
|
||||||
@@ -21,7 +20,7 @@ export function auditEngineering(params) {
|
|||||||
header: {
|
header: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
},
|
},
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function queryEngineering(params) {
|
export function queryEngineering(params) {
|
||||||
@@ -32,5 +31,20 @@ export function queryEngineering(params) {
|
|||||||
header: {
|
header: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
},
|
},
|
||||||
});
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除工程
|
||||||
|
export function deleteEngineering(id) {
|
||||||
|
return request({
|
||||||
|
url: '/cs-device-boot/engineering/auditEngineering',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
id: id,
|
||||||
|
status: 0,
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
@@ -11,6 +11,17 @@ export function addAppProject(params, files) {
|
|||||||
formData: params,
|
formData: params,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 修改项目
|
||||||
|
export function updateAppProject(params, files) {
|
||||||
|
return uni.uploadFile({
|
||||||
|
url: config.domain + '/cs-device-boot/project/auditAppProject', //仅为示例,非真实的接口地址
|
||||||
|
files: files,
|
||||||
|
header: {
|
||||||
|
Authorization: uni.getStorageSync('access_token'),
|
||||||
|
},
|
||||||
|
formData: params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export function getProjectList(params) {
|
export function getProjectList(params) {
|
||||||
return request({
|
return request({
|
||||||
@@ -23,6 +34,18 @@ export function getProjectList(params) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 删除项目
|
||||||
|
export function deleteProject(id) {
|
||||||
|
return request({
|
||||||
|
url: '/cs-device-boot/project/auditAppProject',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
id,
|
||||||
|
status: 0,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 查询拓扑图
|
// 查询拓扑图
|
||||||
|
|
||||||
export function queryTopologyDiagramPage(params) {
|
export function queryTopologyDiagramPage(params) {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const debug = false // true 是连地服务端本地,false 是连接线上
|
const debug = false // true 是连地服务端本地,false 是连接线上
|
||||||
|
|
||||||
const development = {
|
const development = {
|
||||||
domain: 'http://192.168.1.139:10215',
|
domain: 'http://192.168.1.115:10215',
|
||||||
}
|
}
|
||||||
|
|
||||||
const production = {
|
const production = {
|
||||||
|
|||||||
@@ -200,25 +200,42 @@ const prePage = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const loginSuccess = (data) => {
|
const loginSuccess = (data) => {
|
||||||
console.log(data);
|
console.log(data)
|
||||||
uni.setStorageSync('access_token', data.token_type + ' ' + data.access_token)
|
uni.setStorageSync('access_token', data.token_type + ' ' + data.access_token)
|
||||||
uni.setStorageSync('refresh_token', data.refresh_token)
|
uni.setStorageSync('refresh_token', data.refresh_token)
|
||||||
let strings = data.access_token.split('.') //截取token,获取载体
|
let strings = data.access_token.split('.') //截取token,获取载体
|
||||||
console.log(escape,atob);
|
console.log(escape, atob)
|
||||||
var userInfo = JSON.parse(decodeURIComponent(escape(atob(strings[1].replace(/-/g, '+').replace(/_/g, '/')))))
|
var userInfo = JSON.parse(decodeURIComponent(escape(atob(strings[1].replace(/-/g, '+').replace(/_/g, '/')))))
|
||||||
userInfo.authorities = userInfo.authorities[0]
|
userInfo.authorities = userInfo.authorities[0]
|
||||||
uni.setStorageSync('userInfo', userInfo)
|
uni.setStorageSync('userInfo', userInfo)
|
||||||
console.log('reLaunch');
|
console.log('reLaunch')
|
||||||
queryDictDataCache().then((res) => {
|
queryDictDataCache().then((res) => {
|
||||||
uni.setStorageSync(cacheKey.dictData, res.data)
|
uni.setStorageSync(cacheKey.dictData, res.data)
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: '/pages/index/index',
|
url: '/pages/index/index',
|
||||||
fail: (err) => {
|
fail: (err) => {
|
||||||
console.log(err);
|
console.log(err)
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 只针对列表页的刷新
|
||||||
|
* @param {*} number
|
||||||
|
* @param {*} time
|
||||||
|
*/
|
||||||
|
const refreshPrePage = (number = 1, time = 1500) => {
|
||||||
|
let pages = getCurrentPages()
|
||||||
|
let prePage = pages[pages.length - number - 1]
|
||||||
|
if (prePage && time) {
|
||||||
|
prePage.$vm.store.reload()
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack({
|
||||||
|
delta: number,
|
||||||
|
})
|
||||||
|
}, time)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
validatePhoneNumber,
|
validatePhoneNumber,
|
||||||
@@ -230,4 +247,5 @@ export default {
|
|||||||
loadConfig,
|
loadConfig,
|
||||||
prePage,
|
prePage,
|
||||||
loginSuccess,
|
loginSuccess,
|
||||||
|
refreshPrePage,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export default {
|
|||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
})
|
})
|
||||||
}, 200);
|
}, 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,36 +7,34 @@
|
|||||||
<view class="loading" v-if="loading">
|
<view class="loading" v-if="loading">
|
||||||
<zero-loading v-if="loading"></zero-loading>
|
<zero-loading v-if="loading"></zero-loading>
|
||||||
</view>
|
</view>
|
||||||
<template v-else>
|
<slot name="body"></slot>
|
||||||
<slot name="body"></slot>
|
|
||||||
</template>
|
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script >
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'Cn-page',
|
name: 'Cn-page',
|
||||||
props: {
|
props: {
|
||||||
loading: {
|
loading: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false,
|
||||||
},
|
},
|
||||||
showLoginMsk: Boolean,
|
showLoginMsk: Boolean,
|
||||||
noPadding: Boolean,
|
noPadding: Boolean,
|
||||||
},
|
},
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
login: false,
|
login: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created() {
|
||||||
this.login = uni.getStorageSync('Authorization')
|
this.login = uni.getStorageSync('Authorization')
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang='scss'>
|
<style lang="scss">
|
||||||
.Cn-page {
|
.Cn-page {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-bottom: calc(30rpx + env(safe-area-inset-bottom));
|
padding-bottom: calc(30rpx + env(safe-area-inset-bottom));
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
"name" : "灿能物联",
|
"name" : "灿能物联",
|
||||||
"appid" : "__UNI__88BC25B",
|
"appid" : "__UNI__88BC25B",
|
||||||
"description" : "",
|
"description" : "",
|
||||||
"versionName" : "1.0.3",
|
"versionName" : "1.0.4",
|
||||||
"versionCode" : 102,
|
"versionCode" : 103,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
"/api" : {
|
"/api" : {
|
||||||
"https" : true,
|
"https" : true,
|
||||||
// "target" : "https://china.indpecker.com",
|
// "target" : "https://china.indpecker.com",
|
||||||
"target" : "http://192.168.1.13:10215",
|
"target" : "http://192.168.1.115:10215",
|
||||||
"changOrigin" : true,
|
"changOrigin" : true,
|
||||||
"pathRewrite" : {
|
"pathRewrite" : {
|
||||||
"/api" : ""
|
"/api" : ""
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"crypto-js": "^4.1.1",
|
"crypto-js": "^4.1.1",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "1.0.0-rc.4",
|
||||||
|
"image-tools": "^1.4.0",
|
||||||
"mqtt": "3.0.0",
|
"mqtt": "3.0.0",
|
||||||
"pinyin-pro": "^3.13.2",
|
"pinyin-pro": "^3.13.2",
|
||||||
"qs": "^6.11.2",
|
"qs": "^6.11.2",
|
||||||
|
|||||||
878
pages.json
878
pages.json
@@ -1,444 +1,448 @@
|
|||||||
{
|
{
|
||||||
"pages": [
|
"pages": [
|
||||||
//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
||||||
{
|
{
|
||||||
"path": "pages/index/index",
|
"path": "pages/index/index",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "灿能电力"
|
"navigationBarTitleText": "灿能电力"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/index/message",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "消息"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/index/mine",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/agreement",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "用户协议"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/policy",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "个人信息保护政策"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/login",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "登录"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/forget",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "忘记密码"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/register",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "快速注册"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/changePwd",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "修改密码"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/changePhone",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "修改手机号"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/setup",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "设置"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/setupMessage",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "消息配置"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/system",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "系统介绍"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/company",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "公司介绍"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/about",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "关于我们"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/upgrade",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "关于我们"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/message",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "个人消息"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/list",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "设备列表"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/new",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "新设备"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/APF/detail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "APF 设备名称 + 型号"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/DVR/detail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "DVR 设备名称 + 型号"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/APF/record",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "操作记录"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/DVR/record",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "操作记录"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/APF/report",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "告警情况",
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/DVR/report",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "告警情况",
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/APF/about",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "关于"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/DVR/about",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "关于"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/gateway/list",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "网关列表"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/gateway/new",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "添加网关"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/gateway/newDevice",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "通过网关添加设备"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/incident",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "暂态事件"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/incidentDetail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "暂态事件详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/term",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "终端状态消息"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/termList",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "异常终端列表"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/termDetail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "异常终端详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/report",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "稳态越限"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/system",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "系统消息"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/transfer",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "移交"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/home/feedback",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "提交反馈"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/feedback",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "反馈列表"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/feedback",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "提交反馈"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/device/user",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "子用户"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/user",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "子用户"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/userDetail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "用户设备"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/basic",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "个人信息"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/head",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "更换头像"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/changeName",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "修改昵称"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/project/list",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/project/new",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "新增项目"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/engineering/new",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "新增工程"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/engineering/list",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "工程列表",
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/engineering/detail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "工程详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/user/erweima",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "我的二维码"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/project/detail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "项目详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/gateway/detail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "网关详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/reportList",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "越限监测点列表"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/reportDetail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "越限监测点详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/project/transfer",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "项目移交"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/audit",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "角色升级审核"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/zhuanzhi/warning",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "报警设备"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/message/feedbackDetail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "反馈详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/home/service",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "联系客服"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/book",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "使用手册"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/database",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "资料库"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/mine/result",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "操作成功"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tabBar": {
|
||||||
|
"color": "#979797",
|
||||||
|
"selectedColor": "#376cf3",
|
||||||
|
"borderStyle": "black",
|
||||||
|
"backgroundColor": "#fff",
|
||||||
|
"spacing": "5px",
|
||||||
|
"iconWidth": "20px",
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"pagePath": "pages/index/index",
|
||||||
|
"iconPath": "static/index.png",
|
||||||
|
"selectedIconPath": "static/index2.png",
|
||||||
|
"text": "首页"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/index/message",
|
||||||
|
"iconPath": "static/notice.png",
|
||||||
|
"selectedIconPath": "static/notice2.png",
|
||||||
|
"text": "消息"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/index/mine",
|
||||||
|
"iconPath": "static/mine.png",
|
||||||
|
"selectedIconPath": "static/mine2.png",
|
||||||
|
"text": "个人"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
"globalStyle": {
|
||||||
"path": "pages/index/message",
|
"navigationBarTextStyle": "black",
|
||||||
"style": {
|
"navigationBarTitleText": "灿能电力",
|
||||||
"navigationBarTitleText": "消息"
|
"navigationBarBackgroundColor": "#ffffff",
|
||||||
}
|
"backgroundColor": "#f3f4f5"
|
||||||
},
|
// #ifdef H5
|
||||||
{
|
,
|
||||||
"path": "pages/index/mine",
|
|
||||||
"style": {
|
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
// #endif
|
||||||
},
|
},
|
||||||
{
|
"uniIdRouter": {},
|
||||||
"path": "pages/mine/agreement",
|
"easycom": {
|
||||||
"style": {
|
"autoscan": true,
|
||||||
"navigationBarTitleText": "用户协议"
|
"custom": {
|
||||||
}
|
"^rc-(.*)": "@/components/Cn-$1/Cn-$1.vue"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
"condition": {
|
||||||
"path": "pages/mine/policy",
|
//模式配置,仅开发期间生效
|
||||||
"style": {
|
"current": 0, //当前激活的模式(list 的索引项)
|
||||||
"navigationBarTitleText": "个人信息保护政策"
|
"list": []
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/login",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "登录"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/forget",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "忘记密码"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/register",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "快速注册"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/changePwd",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "修改密码"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/changePhone",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "修改手机号"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/setup",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "设置"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/setupMessage",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "消息配置"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/system",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "系统介绍"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/company",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "公司介绍"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/about",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "关于我们"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/upgrade",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "关于我们"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/message",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "个人消息"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/list",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "设备列表"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/new",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "新设备"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/APF/detail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "APF 设备名称 + 型号"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/DVR/detail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "DVR 设备名称 + 型号"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/APF/record",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "操作记录"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/DVR/record",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "操作记录"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/APF/report",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "告警情况",
|
|
||||||
"navigationStyle": "custom"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/DVR/report",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "告警情况",
|
|
||||||
"navigationStyle": "custom"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/APF/about",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "关于"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/DVR/about",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "关于"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/gateway/list",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "网关列表"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/gateway/new",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "添加网关"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/gateway/newDevice",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "通过网关添加设备"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/incident",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "暂态事件"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/incidentDetail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "暂态事件详情"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/term",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "终端状态消息"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/termList",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "异常终端列表"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/termDetail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "异常终端详情"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/report",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "稳态越限"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/system",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "系统消息"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/transfer",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "移交"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/home/feedback",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "提交反馈"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/feedback",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "反馈列表"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/feedback",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "提交反馈"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/device/user",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "子用户"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/user",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "子用户"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/userDetail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "用户设备"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/basic",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "个人信息"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/head",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "更换头像"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/changeName",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "修改昵称"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/project/list",
|
|
||||||
"style": {
|
|
||||||
"navigationStyle": "custom"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/project/new",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "新增项目"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/engineering/new",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "新增工程"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/engineering/list",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "工程列表",
|
|
||||||
"navigationStyle": "custom"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/engineering/detail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "工程详情"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/user/erweima",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "我的二维码"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/project/detail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "项目详情"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/gateway/detail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "网关详情"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/reportList",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "越限监测点列表"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/reportDetail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "越限监测点详情"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/project/transfer",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "项目移交"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/audit",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "角色升级审核"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/zhuanzhi/warning",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "报警设备"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/message/feedbackDetail",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "反馈详情"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/home/service",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "联系客服"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/book",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "使用手册"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "pages/mine/database",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "资料库"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
|
||||||
"tabBar": {
|
|
||||||
"color": "#979797",
|
|
||||||
"selectedColor": "#376cf3",
|
|
||||||
"borderStyle": "black",
|
|
||||||
"backgroundColor": "#fff",
|
|
||||||
"spacing": "5px",
|
|
||||||
"iconWidth": "20px",
|
|
||||||
"list": [
|
|
||||||
{
|
|
||||||
"pagePath": "pages/index/index",
|
|
||||||
"iconPath": "static/index.png",
|
|
||||||
"selectedIconPath": "static/index2.png",
|
|
||||||
"text": "首页"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pagePath": "pages/index/message",
|
|
||||||
"iconPath": "static/notice.png",
|
|
||||||
"selectedIconPath": "static/notice2.png",
|
|
||||||
"text": "消息"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pagePath": "pages/index/mine",
|
|
||||||
"iconPath": "static/mine.png",
|
|
||||||
"selectedIconPath": "static/mine2.png",
|
|
||||||
"text": "个人"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"globalStyle": {
|
|
||||||
"navigationBarTextStyle": "black",
|
|
||||||
"navigationBarTitleText": "灿能电力",
|
|
||||||
"navigationBarBackgroundColor": "#ffffff",
|
|
||||||
"backgroundColor": "#f3f4f5"
|
|
||||||
// #ifdef H5
|
|
||||||
,
|
|
||||||
"navigationStyle": "custom"
|
|
||||||
// #endif
|
|
||||||
},
|
|
||||||
"uniIdRouter": {},
|
|
||||||
"easycom": {
|
|
||||||
"autoscan": true,
|
|
||||||
"custom": {
|
|
||||||
"^rc-(.*)": "@/components/Cn-$1/Cn-$1.vue"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"condition": {
|
|
||||||
//模式配置,仅开发期间生效
|
|
||||||
"current": 0, //当前激活的模式(list 的索引项)
|
|
||||||
"list": [
|
|
||||||
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
<Cn-page :loading='loading'>
|
<Cn-page :loading='loading'>
|
||||||
<view slot='body'>
|
<view slot='body'>
|
||||||
<view class='about'>
|
<view class='about'>
|
||||||
<view class='about-title'>盛弘APF</view>
|
<view class='about-title'>灿能APF</view>
|
||||||
<view class='about-text'>杋器码:0000000</view>
|
<view class='about-text'>杋器码:0000000</view>
|
||||||
<view class='about-text'>软件版本:1.0.0</view>
|
<view class='about-text'>软件版本:1.0.0</view>
|
||||||
<view class='about-text'>使用期限:永久使用</view>
|
<view class='about-text'>使用期限:永久使用</view>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<view class="detail-header">
|
<view class="detail-header">
|
||||||
<Cn-htmlToImg domId="header" @renderFinish="renderFinish">
|
<Cn-htmlToImg domId="header" @renderFinish="renderFinish">
|
||||||
<view class="header" ref="header" @click="previewImg">
|
<view class="header" ref="header" @click="previewImg">
|
||||||
<image :src="deviceInfo.filePath" style="width: 375px" mode="widthFix" />
|
<img :src="deviceInfo.filePath" style="width: 375px" mode="widthFix" />
|
||||||
<view
|
<view
|
||||||
class="point"
|
class="point"
|
||||||
:style="{ left: item.lat + 'px', top: item.lng + 'px' }"
|
:style="{ left: item.lat + 'px', top: item.lng + 'px' }"
|
||||||
@@ -94,6 +94,10 @@
|
|||||||
:content="content"
|
:content="content"
|
||||||
@trigger="trigger"
|
@trigger="trigger"
|
||||||
/>
|
/>
|
||||||
|
<uni-popup ref="share" type="share" :safe-area="false">
|
||||||
|
<uni-popup-share title="分享到" ></uni-popup-share>
|
||||||
|
<view style="height: 40rpx;background: #fff;"></view>
|
||||||
|
</uni-popup>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</Cn-page>
|
</Cn-page>
|
||||||
@@ -104,10 +108,10 @@ import xieBo from './comp/xieBo.vue'
|
|||||||
import power from './comp/power.vue'
|
import power from './comp/power.vue'
|
||||||
import oscillogram from './comp/oscillogram.vue'
|
import oscillogram from './comp/oscillogram.vue'
|
||||||
import IO from './comp/IO.vue'
|
import IO from './comp/IO.vue'
|
||||||
import { queryTopologyDiagram } from '@/common/api/device'
|
import { queryTopologyDiagram, deleteDevice } from '@/common/api/device'
|
||||||
import { MQTT_IP, MQTT_OPTIONS } from '@/common/js/mqtt.js'
|
import { MQTT_IP, MQTT_OPTIONS } from '@/common/js/mqtt.js'
|
||||||
import mqtt from 'mqtt/dist/mqtt.js'
|
import mqtt from 'mqtt/dist/mqtt.js'
|
||||||
|
import { base64ToPath } from 'image-tools'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
basic,
|
basic,
|
||||||
@@ -158,7 +162,7 @@ export default {
|
|||||||
timer: null,
|
timer: null,
|
||||||
devId: '',
|
devId: '',
|
||||||
dictData: [],
|
dictData: [],
|
||||||
isMaster: 0,
|
isPrimaryUser: 0,
|
||||||
userInfo: {},
|
userInfo: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -185,9 +189,18 @@ export default {
|
|||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: '确定删除该设备吗?',
|
content: '确定删除该设备吗?',
|
||||||
success: function (res) {
|
success: (res) => {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
console.log('用户点击确定')
|
console.log('用户点击确定')
|
||||||
|
deleteDevice(this.devId).then((res) => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '删除成功',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 1500)
|
||||||
|
})
|
||||||
} else if (res.cancel) {
|
} else if (res.cancel) {
|
||||||
console.log('用户点击取消')
|
console.log('用户点击取消')
|
||||||
}
|
}
|
||||||
@@ -248,10 +261,7 @@ export default {
|
|||||||
iconPath: '/static/delate.png',
|
iconPath: '/static/delate.png',
|
||||||
text: '报表',
|
text: '报表',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
iconPath: '/static/table.png',
|
|
||||||
text: '删除',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
iconPath: '/static/feedback.png',
|
iconPath: '/static/feedback.png',
|
||||||
text: '反馈',
|
text: '反馈',
|
||||||
@@ -290,8 +300,11 @@ export default {
|
|||||||
}, 500)
|
}, 500)
|
||||||
} else {
|
} else {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
uni.previewImage({
|
base64ToPath(this.img).then((res) => {
|
||||||
urls: [this.img],
|
console.log(res)
|
||||||
|
uni.previewImage({
|
||||||
|
urls: [res],
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -328,7 +341,7 @@ export default {
|
|||||||
console.log('连接断开')
|
console.log('连接断开')
|
||||||
})
|
})
|
||||||
.on('message', (topic, message) => {
|
.on('message', (topic, message) => {
|
||||||
console.log('接收推送信息:', message.toString())
|
console.log('接收推送信息:', message.toString().length)
|
||||||
if (!message.toString()) {
|
if (!message.toString()) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -369,12 +382,12 @@ export default {
|
|||||||
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
||||||
|
|
||||||
this.devId = options.id
|
this.devId = options.id
|
||||||
this.isMaster = options.isMaster
|
this.isPrimaryUser = options.isPrimaryUser
|
||||||
this.content.splice(0, 0, {
|
if (this.isPrimaryUser == 1) {
|
||||||
iconPath: '/static/transfer.png',
|
this.content.splice(0, 0, {
|
||||||
text: '移交',
|
iconPath: '/static/delate.png',
|
||||||
|
text: '删除',
|
||||||
})
|
})
|
||||||
if (this.isMaster == 1) {
|
|
||||||
this.content.splice(0, 0, {
|
this.content.splice(0, 0, {
|
||||||
iconPath: '/static/transfer.png',
|
iconPath: '/static/transfer.png',
|
||||||
text: '移交',
|
text: '移交',
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<uni-forms>
|
<uni-forms>
|
||||||
<uni-forms-item label="设备识别码">
|
<uni-forms-item label="设备识别码">
|
||||||
<view style="display: flex">
|
<view style="display: flex">
|
||||||
<uni-easyinput type="number" v-model="formData.nDid" placeholder="请输入设备识别码" />
|
<uni-easyinput type="text" v-model="formData.nDid" placeholder="请输入设备识别码" />
|
||||||
<uni-icons
|
<uni-icons
|
||||||
type="camera"
|
type="camera"
|
||||||
color="#007aff"
|
color="#007aff"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<view slot="body">
|
<view slot="body">
|
||||||
<view class="transfer">
|
<view class="transfer">
|
||||||
<!-- <div class="transfer-img" ref="qrCodeUrl" /> -->
|
<!-- <div class="transfer-img" ref="qrCodeUrl" /> -->
|
||||||
<uqrcode ref="uqrcode" canvas-id="qrcode" :value="devId" :options="{ margin: 10 }"></uqrcode>
|
<uqrcode ref="uqrcode" canvas-id="qrcode" :value="content" :options="{ margin: 10 }"></uqrcode>
|
||||||
<canvas id="qrcode" width="200" height="200"></canvas>
|
<canvas id="qrcode" width="200" height="200"></canvas>
|
||||||
<view class="transfer-text">请让接收人员扫码接收</view>
|
<view class="transfer-text">请让接收人员扫码接收</view>
|
||||||
<view class="transfer-btn">
|
<view class="transfer-btn">
|
||||||
@@ -24,23 +24,22 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
devId: '',
|
content: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
back() {
|
back() {
|
||||||
uni.navigateBack({
|
this.$util.refreshPrePage(2)
|
||||||
delta: 1,
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
home() {
|
home() {
|
||||||
uni.switchTab({
|
this.$util.refreshPrePage(2)
|
||||||
url: '/pages/index/index',
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.devId = options.id
|
this.content = JSON.stringify({
|
||||||
|
type: 'transferDevice',
|
||||||
|
id: options.id,
|
||||||
|
})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -76,6 +76,8 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import list from '../../common/js/list'
|
import list from '../../common/js/list'
|
||||||
|
import { deleteEngineering } from '../../common/api/engineering'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: [list],
|
mixins: [list],
|
||||||
data() {
|
data() {
|
||||||
@@ -95,6 +97,10 @@ export default {
|
|||||||
iconPath: '/static/share.png',
|
iconPath: '/static/share.png',
|
||||||
text: '编辑',
|
text: '编辑',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
iconPath: '/static/delate.png',
|
||||||
|
text: '删除',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
navHeight: 0,
|
navHeight: 0,
|
||||||
navMenuActive: 0,
|
navMenuActive: 0,
|
||||||
@@ -113,6 +119,21 @@ export default {
|
|||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/engineering/new?engineering=' + encodeURIComponent(JSON.stringify(this.engineering)),
|
url: '/pages/engineering/new?engineering=' + encodeURIComponent(JSON.stringify(this.engineering)),
|
||||||
})
|
})
|
||||||
|
} else if (e.item.text == '删除') {
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '删除工程后不可恢复,是否继续?',
|
||||||
|
success: (res) => {
|
||||||
|
if (res.confirm) {
|
||||||
|
deleteEngineering(this.engineering.id).then((res) => {
|
||||||
|
this.$util.toast('删除成功')
|
||||||
|
this.$util.refreshPrePage()
|
||||||
|
})
|
||||||
|
} else if (res.cancel) {
|
||||||
|
console.log('用户点击取消')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
navMenuClick(index) {
|
navMenuClick(index) {
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export default {
|
|||||||
console.log(this.$util.prePage())
|
console.log(this.$util.prePage())
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
toJSON(){},
|
toJSON() {},
|
||||||
areaChange(e) {
|
areaChange(e) {
|
||||||
if (e.detail.value.length) {
|
if (e.detail.value.length) {
|
||||||
this.formData.province = e.detail.value[0].value
|
this.formData.province = e.detail.value[0].value
|
||||||
@@ -119,17 +119,11 @@ export default {
|
|||||||
if (this.formData.id) {
|
if (this.formData.id) {
|
||||||
await auditEngineering(this.formData)
|
await auditEngineering(this.formData)
|
||||||
this.$util.toast('工程修改成功')
|
this.$util.toast('工程修改成功')
|
||||||
let pages = getCurrentPages()
|
this.$util.refreshPrePage(2)
|
||||||
let prePage = pages[pages.length -3]
|
|
||||||
console.log(prePage);
|
|
||||||
prePage.$vm.store.reload()
|
|
||||||
setTimeout(() => {
|
|
||||||
uni.navigateBack({ delta: 2 })
|
|
||||||
}, 1500)
|
|
||||||
} else {
|
} else {
|
||||||
await addEngineering(this.formData)
|
await addEngineering(this.formData)
|
||||||
this.$util.prePage().store?.reload()
|
|
||||||
this.$util.toast('工程创建成功')
|
this.$util.toast('工程创建成功')
|
||||||
|
this.$util.refreshPrePage()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.init()
|
this.init()
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -134,29 +134,34 @@ export default {
|
|||||||
}, 1000)
|
}, 1000)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async init(){
|
async init() {
|
||||||
let engineering = uni.getStorageSync('engineering')
|
let engineering = uni.getStorageSync('engineering')
|
||||||
let res = await queryEngineering()
|
let res = await queryEngineering()
|
||||||
this.engineeringList = res.data
|
this.engineeringList = res.data
|
||||||
if (this.engineeringList.length === 0) {
|
if (this.engineeringList.length === 0) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!engineering) {
|
if (!engineering) {
|
||||||
uni.setStorageSync('engineering', res.data[0])
|
uni.setStorageSync('engineering', res.data[0])
|
||||||
this.select.engineeringName = res.data[0].name
|
this.select.engineeringName = res.data[0].name
|
||||||
this.select.engineeringId = res.data[0].id
|
this.select.engineeringId = res.data[0].id
|
||||||
} else {
|
} else {
|
||||||
this.select.engineeringName = engineering.name
|
if (this.engineeringList.findIndex((item) => item.id === engineering.id) === -1) {
|
||||||
this.select.engineeringId = engineering.id
|
uni.setStorageSync('engineering', res.data[0])
|
||||||
}
|
this.select.engineeringName = res.data[0].name
|
||||||
this.getProjectList()
|
this.select.engineeringId = res.data[0].id
|
||||||
this.getDeviceList()
|
}else{
|
||||||
|
this.select.engineeringName = engineering.name
|
||||||
|
this.select.engineeringId = engineering.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.getProjectList()
|
||||||
|
this.getDeviceList()
|
||||||
},
|
},
|
||||||
getDeviceList() {
|
getDeviceList() {
|
||||||
this.store.params.pageSize = 999
|
this.store.params.pageSize = 999
|
||||||
this.store.params.engineerId = this.select.engineeringId
|
this.store.params.engineerId = this.select.engineeringId
|
||||||
this.store.reload()
|
this.store.reload()
|
||||||
|
|
||||||
},
|
},
|
||||||
getProjectList() {
|
getProjectList() {
|
||||||
getProjectList({
|
getProjectList({
|
||||||
@@ -278,7 +283,7 @@ export default {
|
|||||||
},
|
},
|
||||||
jump(item) {
|
jump(item) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/device/APF/detail?id=' + item.equipmentId
|
url: '/pages/device/APF/detail?id=' + item.equipmentId + '&isPrimaryUser=' + item.isPrimaryUser,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<div class="header-item-label">正常设备</div>
|
<div class="header-item-label">正常设备</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-item">
|
<div class="header-item">
|
||||||
<div class="header-item-value">{{ devCount.alarmLineCount || 0 }}</div>
|
<div class="header-item-value" @click="jump('alarmLineDevs')">{{ devCount.alarmLineCount || 0 }}</div>
|
||||||
<div class="header-item-label">报警设备</div>
|
<div class="header-item-label">报警设备</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-item">
|
<div class="header-item">
|
||||||
@@ -65,10 +65,15 @@ export default {
|
|||||||
url: '/pages/gateway/new',
|
url: '/pages/gateway/new',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
jump(item) {
|
jump(type) {
|
||||||
uni.navigateTo({
|
switch (key) {
|
||||||
url: '/pages/device/APF/detail',
|
case value:
|
||||||
})
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,37 +11,19 @@
|
|||||||
<view class="message-nav-label">反馈</view>
|
<view class="message-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
|
<view class="message-nav" @click="jump('report')">
|
||||||
class="message-nav"
|
|
||||||
@click="jump('report')"
|
|
||||||
v-if="
|
|
||||||
userInfo.authorities == '4' || userInfo.authorities == '5' || userInfo.authorities == 'tourist'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<image mode="aspectFill" class="message-nav-icon" src="/static/report.png" />
|
<image mode="aspectFill" class="message-nav-icon" src="/static/report.png" />
|
||||||
<view class="message-nav-label">稳态越限</view>
|
<view class="message-nav-label">稳态越限</view>
|
||||||
<uni-badge text="3"></uni-badge>
|
<uni-badge text="3"></uni-badge>
|
||||||
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view class="message-nav" @click="jump('incident')">
|
||||||
class="message-nav"
|
|
||||||
@click="jump('incident')"
|
|
||||||
v-if="
|
|
||||||
userInfo.authorities == '4' || userInfo.authorities == '5' || userInfo.authorities == 'tourist'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<image mode="aspectFill" class="message-nav-icon" src="/static/incident.png" />
|
<image mode="aspectFill" class="message-nav-icon" src="/static/incident.png" />
|
||||||
<view class="message-nav-label">暂态事件</view>
|
<view class="message-nav-label">暂态事件</view>
|
||||||
<uni-badge text="2"></uni-badge>
|
<uni-badge text="2"></uni-badge>
|
||||||
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view class="message-nav" @click="jump('term')">
|
||||||
class="message-nav"
|
|
||||||
@click="jump('term')"
|
|
||||||
v-if="
|
|
||||||
userInfo.authorities == '4' || userInfo.authorities == '5' || userInfo.authorities == 'tourist'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<image mode="aspectFill" class="message-nav-icon" src="/static/term.png" />
|
<image mode="aspectFill" class="message-nav-icon" src="/static/term.png" />
|
||||||
<view class="message-nav-label">终端状态</view>
|
<view class="message-nav-label">终端状态</view>
|
||||||
<uni-badge text="1"></uni-badge>
|
<uni-badge text="1"></uni-badge>
|
||||||
|
|||||||
@@ -36,20 +36,12 @@
|
|||||||
<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('engineering')" v-if="userInfo.authorities === 'engineering_user' || userInfo.authorities === 'app_vip_user'">
|
<view class="mine-nav" @click="jump('engineering')">
|
||||||
<image mode="aspectFill" class="mine-nav-icon" src="/static/project.png" />
|
<image mode="aspectFill" class="mine-nav-icon" src="/static/project.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
|
<view class="mine-nav" @click="jump('project')">
|
||||||
class="mine-nav"
|
|
||||||
@click="jump('project')"
|
|
||||||
v-if="
|
|
||||||
userInfo.authorities === 'app_vip_user' ||
|
|
||||||
userInfo.authorities === 'engineering_user' ||
|
|
||||||
userInfo.authorities === 'market_user'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<image mode="aspectFill" class="mine-nav-icon" src="/static/project.png" />
|
<image mode="aspectFill" class="mine-nav-icon" src="/static/project.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>
|
||||||
@@ -57,12 +49,6 @@
|
|||||||
<view
|
<view
|
||||||
class="mine-nav"
|
class="mine-nav"
|
||||||
@click="jump('gateway')"
|
@click="jump('gateway')"
|
||||||
v-if="
|
|
||||||
userInfo.authorities === 'app_vip_user' ||
|
|
||||||
userInfo.authorities === 'engineering_user' ||
|
|
||||||
userInfo.authorities == 5 ||
|
|
||||||
userInfo.authorities === 'market_user'
|
|
||||||
"
|
|
||||||
style="border-bottom: none; box-shadow: 0 4rpx 8rpx #e7e7e74c"
|
style="border-bottom: none; box-shadow: 0 4rpx 8rpx #e7e7e74c"
|
||||||
>
|
>
|
||||||
<image mode="aspectFill" class="mine-nav-icon" src="/static/gateway.png" />
|
<image mode="aspectFill" class="mine-nav-icon" src="/static/gateway.png" />
|
||||||
@@ -94,6 +80,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { roleUpdate } from '@/common/api/user'
|
import { roleUpdate } from '@/common/api/user'
|
||||||
|
import { transferDevice } from '@/common/api/device'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -114,6 +101,12 @@ export default {
|
|||||||
case 'app_vip_user':
|
case 'app_vip_user':
|
||||||
roleName = 'VIP用户'
|
roleName = 'VIP用户'
|
||||||
break
|
break
|
||||||
|
case 'market_user':
|
||||||
|
roleName = '营销用户'
|
||||||
|
break
|
||||||
|
case 'operation_manager':
|
||||||
|
roleName = '运维管理员'
|
||||||
|
break
|
||||||
}
|
}
|
||||||
return roleName
|
return roleName
|
||||||
},
|
},
|
||||||
@@ -146,9 +139,18 @@ export default {
|
|||||||
switch (type) {
|
switch (type) {
|
||||||
case 'scan':
|
case 'scan':
|
||||||
uni.scanCode({
|
uni.scanCode({
|
||||||
success: function (res) {
|
success: (res) => {
|
||||||
console.log('条码类型:' + res.scanType)
|
console.log('条码类型:' + res.scanType)
|
||||||
console.log('条码内容:' + res.result)
|
console.log('条码内容:' + res.result)
|
||||||
|
let content = JSON.parse(res.result)
|
||||||
|
switch (content.type) {
|
||||||
|
case 'transferDevice':
|
||||||
|
this.transferDevice(content.id)
|
||||||
|
break
|
||||||
|
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
@@ -187,6 +189,11 @@ export default {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
transferDevice(id) {
|
||||||
|
transferDevice(id).then((res) => {
|
||||||
|
uni.navigateTo({ url: '/pages/mine/result?type=transferDevice&id=' + id })
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
||||||
|
|||||||
90
pages/mine/result.vue
Normal file
90
pages/mine/result.vue
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
<template>
|
||||||
|
<Cn-page :loading="loading">
|
||||||
|
<view slot="body">
|
||||||
|
<view class="about">
|
||||||
|
<image src="/static/success.png" class="logo"></image>
|
||||||
|
<view class="name">{{ text }}</view>
|
||||||
|
<view class="btn-wrap">
|
||||||
|
<navigator open-type="navigateBack" hover-class="none" class="btn"> 返回 </navigator>
|
||||||
|
<view class="btn ml20" @click="look"> 查看 </view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</Cn-page>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
type: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
text() {
|
||||||
|
let str = ''
|
||||||
|
switch (this.type) {
|
||||||
|
case 'transferDevice':
|
||||||
|
str = '移交成功'
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
str = '操作成功'
|
||||||
|
break
|
||||||
|
}
|
||||||
|
return str
|
||||||
|
},
|
||||||
|
},
|
||||||
|
onLoad(options) {
|
||||||
|
this.type = options.type
|
||||||
|
this.id = options.id
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
look() {
|
||||||
|
switch (this.type) {
|
||||||
|
case 'transferDevice':
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/device/APF/detail?id=' + this.id,
|
||||||
|
})
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.about {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 34rpx;
|
||||||
|
padding-top: 200rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
height: 120rpx;
|
||||||
|
width: 120rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
margin-top: 80rpx;
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.version {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
font-size: 38rpx;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.btn-wrap {
|
||||||
|
margin-top: 150rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -99,7 +99,12 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import list from '../../common/js/list'
|
import list from '../../common/js/list'
|
||||||
import { queryTopologyDiagramPage, deleteAppTopologyDiagram, addAppTopologyDiagram } from '../../common/api/project'
|
import {
|
||||||
|
queryTopologyDiagramPage,
|
||||||
|
deleteAppTopologyDiagram,
|
||||||
|
addAppTopologyDiagram,
|
||||||
|
deleteProject,
|
||||||
|
} from '../../common/api/project'
|
||||||
export default {
|
export default {
|
||||||
mixins: [list],
|
mixins: [list],
|
||||||
data() {
|
data() {
|
||||||
@@ -178,6 +183,21 @@ export default {
|
|||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/project/new?project=' + encodeURIComponent(JSON.stringify(this.project)),
|
url: '/pages/project/new?project=' + encodeURIComponent(JSON.stringify(this.project)),
|
||||||
})
|
})
|
||||||
|
} else if (e.item.text == '删除') {
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '删除项目后不可恢复,是否继续?',
|
||||||
|
success: (res) => {
|
||||||
|
if (res.confirm) {
|
||||||
|
deleteProject(this.project.id).then((res) => {
|
||||||
|
this.$util.toast('删除成功')
|
||||||
|
this.$util.refreshPrePage()
|
||||||
|
})
|
||||||
|
} else if (res.cancel) {
|
||||||
|
console.log('用户点击取消')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
navMenuClick(index) {
|
navMenuClick(index) {
|
||||||
@@ -233,16 +253,20 @@ export default {
|
|||||||
iconPath: '/static/share.png',
|
iconPath: '/static/share.png',
|
||||||
text: '编辑',
|
text: '编辑',
|
||||||
})
|
})
|
||||||
|
this.content.push({
|
||||||
|
iconPath: '/static/delate.png',
|
||||||
|
text: '删除',
|
||||||
|
})
|
||||||
|
this.content.push({
|
||||||
|
iconPath: '/static/transfer.png',
|
||||||
|
text: '移交',
|
||||||
|
})
|
||||||
|
this.content.push({
|
||||||
|
iconPath: '/static/share.png',
|
||||||
|
text: '分享',
|
||||||
|
})
|
||||||
if (userInfo.authorities == '3') {
|
if (userInfo.authorities == '3') {
|
||||||
this.content.push({
|
|
||||||
iconPath: '/static/transfer.png',
|
|
||||||
text: '移交',
|
|
||||||
})
|
|
||||||
} else if (userInfo.authorities == '4') {
|
} else if (userInfo.authorities == '4') {
|
||||||
this.content.push({
|
|
||||||
iconPath: '/static/share.png',
|
|
||||||
text: '分享',
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 获取nav高度
|
// 获取nav高度
|
||||||
|
|||||||
@@ -88,7 +88,9 @@
|
|||||||
<view
|
<view
|
||||||
class="temp-list-item"
|
class="temp-list-item"
|
||||||
:class="{
|
:class="{
|
||||||
'temp-list-item-active': formData.tempFiles.some((item2) => item2.id === item.id),
|
'temp-list-item-active': formData.tempFiles.some(
|
||||||
|
(item2) => item2.id === item.id || item2.topoId === item.id,
|
||||||
|
),
|
||||||
}"
|
}"
|
||||||
v-for="(item, index) in tempList"
|
v-for="(item, index) in tempList"
|
||||||
@click="chooseTempItem(item)"
|
@click="chooseTempItem(item)"
|
||||||
@@ -104,7 +106,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { pinyin } from 'pinyin-pro'
|
import { pinyin } from 'pinyin-pro'
|
||||||
import { addAppProject } from '../../common/api/project'
|
import { addAppProject, updateAppProject } from '../../common/api/project'
|
||||||
import { getTopoTemplate } from '../../common/api/device'
|
import { getTopoTemplate } from '../../common/api/device'
|
||||||
import { queryEngineering } from '@/common/api/engineering.js'
|
import { queryEngineering } from '@/common/api/engineering.js'
|
||||||
export default {
|
export default {
|
||||||
@@ -125,7 +127,7 @@ export default {
|
|||||||
},
|
},
|
||||||
engineeringList: [],
|
engineeringList: [],
|
||||||
tempList: [],
|
tempList: [],
|
||||||
project: '',
|
project: null,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -150,6 +152,9 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
if (options.project) {
|
if (options.project) {
|
||||||
|
uni.setNavigationBarTitle({
|
||||||
|
title: '编辑项目',
|
||||||
|
})
|
||||||
this.project = JSON.parse(decodeURIComponent(options.project))
|
this.project = JSON.parse(decodeURIComponent(options.project))
|
||||||
console.log(this.project)
|
console.log(this.project)
|
||||||
for (let key in this.formData) {
|
for (let key in this.formData) {
|
||||||
@@ -172,6 +177,20 @@ export default {
|
|||||||
getTopoTemplate().then((res) => {
|
getTopoTemplate().then((res) => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
this.tempList = res.data
|
this.tempList = res.data
|
||||||
|
if (this.project) {
|
||||||
|
this.project.topologyDiagramPaths.forEach((item) => {
|
||||||
|
if (this.tempList.some((item2) => item2.id === item.topoId)) {
|
||||||
|
this.formData.tempFiles.push(item)
|
||||||
|
} else {
|
||||||
|
this.formData.files.push({
|
||||||
|
url: item.filePath,
|
||||||
|
extname: item.name.split('.')[1],
|
||||||
|
name: item.name,
|
||||||
|
...item,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -179,8 +198,10 @@ export default {
|
|||||||
this.formData.tempFiles.splice(index, 1)
|
this.formData.tempFiles.splice(index, 1)
|
||||||
},
|
},
|
||||||
chooseTempItem(item) {
|
chooseTempItem(item) {
|
||||||
if (this.formData.tempFiles.some((item2) => item2.id === item.id)) {
|
if (this.formData.tempFiles.some((item2) => item2.id === item.id || item2.topoId === item.id)) {
|
||||||
this.formData.tempFiles = this.formData.tempFiles.filter((item2) => item2.id !== item.id)
|
this.formData.tempFiles = this.formData.tempFiles.filter(
|
||||||
|
(item2) => item2.id !== item.id && item2.topoId !== item.id,
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
this.formData.tempFiles.push(item)
|
this.formData.tempFiles.push(item)
|
||||||
}
|
}
|
||||||
@@ -243,27 +264,33 @@ export default {
|
|||||||
uri: item.url,
|
uri: item.url,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.formData.topoIds = this.formData.tempFiles.map((item) => item.id)
|
this.formData.topoIds = this.formData.tempFiles.map((item) => (item.topoId ? item.topoId : item.id))
|
||||||
let data = JSON.parse(JSON.stringify(this.formData))
|
let data = JSON.parse(JSON.stringify(this.formData))
|
||||||
delete data.files
|
delete data.files
|
||||||
addAppProject(data, arr).then((res) => {
|
let res = {}
|
||||||
console.warn(res)
|
if (this.project) {
|
||||||
if (res.length === 1) {
|
data.id = this.project.id
|
||||||
this.$util.toast(res[0].message)
|
res = await updateAppProject(data, arr)
|
||||||
return
|
} else {
|
||||||
}
|
res = await addAppProject(data, arr)
|
||||||
console.log(res)
|
}
|
||||||
let result = JSON.parse(res[1].data)
|
console.log(res)
|
||||||
if (result.code === 'A0000') {
|
if (res.length === 1) {
|
||||||
this.$util.toast('项目创建成功')
|
this.$util.toast(res[0].message)
|
||||||
this.$util.prePage().store?.reload()
|
return
|
||||||
setTimeout(() => {
|
}
|
||||||
uni.navigateBack({ delta: 1 })
|
let result = JSON.parse(res[1].data)
|
||||||
}, 1500)
|
if (result.code === 'A0000') {
|
||||||
|
if (this.project) {
|
||||||
|
this.$util.toast('项目修改成功')
|
||||||
|
this.$util.refreshPrePage(2)
|
||||||
} else {
|
} else {
|
||||||
this.$util.toast(result.message)
|
this.$util.toast('项目创建成功')
|
||||||
|
this.$util.refreshPrePage()
|
||||||
}
|
}
|
||||||
})
|
} else {
|
||||||
|
this.$util.toast(result.message)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<Cn-page :loading='loading'>
|
<Cn-page :loading="loading">
|
||||||
<view slot='body'>
|
<view slot="body">
|
||||||
<view class='transfer'>
|
<view class="transfer">
|
||||||
<image class="transfer-img" src="/static/transfer.png" mode="scaleToFill" />
|
<!-- <div class="transfer-img" ref="qrCodeUrl" /> -->
|
||||||
|
<uqrcode ref="uqrcode" canvas-id="qrcode" :value="content" :options="{ margin: 10 }"></uqrcode>
|
||||||
|
<canvas id="qrcode" width="200" height="200"></canvas>
|
||||||
<view class="transfer-text">请让接收人员扫码接收</view>
|
<view class="transfer-text">请让接收人员扫码接收</view>
|
||||||
<view class="transfer-btn">
|
<view class="transfer-btn">
|
||||||
<button class="transfer-btn-item" style="background-color:#fff;color:#111" @click="back">返回</button>
|
<button class="transfer-btn-item" style="background-color: #fff; color: #111" @click="back">
|
||||||
|
返回
|
||||||
|
</button>
|
||||||
<button class="transfer-btn-item ml20" @click="home">转移成功</button>
|
<button class="transfer-btn-item ml20" @click="home">转移成功</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -13,27 +17,33 @@
|
|||||||
</Cn-page>
|
</Cn-page>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
// import QRCode from 'qrcodejs2'
|
||||||
|
// import UQRCode from '@/uni_modules/Sansnn-uQRCode/js_sdk/uqrcode/uqrcode.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false
|
loading: false,
|
||||||
|
content: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
back () {
|
back() {
|
||||||
uni.navigateBack({
|
this.$util.refreshPrePage(2)
|
||||||
delta: 1
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
home () {
|
home() {
|
||||||
uni.switchTab({
|
this.$util.refreshPrePage(2)
|
||||||
url: '/pages/index/index'
|
},
|
||||||
})
|
},
|
||||||
}
|
onLoad(options) {
|
||||||
}
|
this.content = JSON.stringify({
|
||||||
|
type: 'transferProject',
|
||||||
|
id: options.id,
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang='scss'>
|
<style lang="scss">
|
||||||
.transfer {
|
.transfer {
|
||||||
padding: 200rpx 34rpx 0;
|
padding: 200rpx 34rpx 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -41,9 +51,6 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.transfer-img {
|
.transfer-img {
|
||||||
width: 500rpx;
|
|
||||||
height: 500rpx;
|
|
||||||
background: $uni-theme-blue ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.transfer-text {
|
.transfer-text {
|
||||||
|
|||||||
@@ -40,11 +40,11 @@
|
|||||||
<view class="login-box-tips">
|
<view class="login-box-tips">
|
||||||
<view style="color: #999">说明:密码长度为6-18位</view>
|
<view style="color: #999">说明:密码长度为6-18位</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="login-box-tips">
|
<!-- <view class="login-box-tips">
|
||||||
<view style="color: #999">点击提交即表示同意</view>
|
<view style="color: #999">点击提交即表示同意</view>
|
||||||
<navigator url="/pages/mine/agreement" hover-class="none">《用户协议》</navigator>
|
<navigator url="/pages/mine/agreement" hover-class="none">《用户协议》</navigator>
|
||||||
<navigator url="/pages/mine/policy" hover-class="none">《个人信息保护政策》</navigator>
|
<navigator url="/pages/mine/policy" hover-class="none">《个人信息保护政策》</navigator>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</Cn-page>
|
</Cn-page>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<view class="login-box-input-img"></view>
|
<view class="login-box-input-img"></view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="login-box-input mt40">
|
<view class="login-box-input mt40">
|
||||||
<input class="login-box-input-main" v-model="yzmForm.code" placeholder="手机验证码" />
|
<input class="login-box-input-main" v-model="yzmForm.code" placeholder="手机验证码" />
|
||||||
<view
|
<view
|
||||||
class="ml40"
|
class="ml40"
|
||||||
style="font-size: 28rpx; color: #666; width: 200rpx; text-align: center"
|
style="font-size: 28rpx; color: #666; width: 200rpx; text-align: center"
|
||||||
@@ -33,7 +33,12 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<view class="login-box-input mt100">
|
<view class="login-box-input mt100">
|
||||||
<input class="login-box-input-main" maxlength="11" v-model="phone" placeholder="请输入账号" />
|
<input
|
||||||
|
class="login-box-input-main"
|
||||||
|
maxlength="11"
|
||||||
|
v-model="phone"
|
||||||
|
placeholder="请输入手机号"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
<view class="login-box-input mt40">
|
<view class="login-box-input mt40">
|
||||||
<input
|
<input
|
||||||
@@ -59,7 +64,9 @@
|
|||||||
<navigator url="/pages/user/register" hover-class="none">快速注册</navigator>
|
<navigator url="/pages/user/register" hover-class="none">快速注册</navigator>
|
||||||
</view>
|
</view>
|
||||||
<view class="login-box-tips">
|
<view class="login-box-tips">
|
||||||
<view style="color: #999">点击登录即表示同意</view>
|
<view style="color: #999"
|
||||||
|
><checkbox :checked="checkbox" @click="checkbox = !checkbox" /> 我已阅读并同意</view
|
||||||
|
>
|
||||||
<navigator url="/pages/mine/agreement" hover-class="none">《用户协议》</navigator>
|
<navigator url="/pages/mine/agreement" hover-class="none">《用户协议》</navigator>
|
||||||
<navigator url="/pages/mine/policy" hover-class="none">《个人信息保护政策》</navigator>
|
<navigator url="/pages/mine/policy" hover-class="none">《个人信息保护政策》</navigator>
|
||||||
</view>
|
</view>
|
||||||
@@ -76,16 +83,17 @@ import { sm3Digest } from '@/common/js/sm3.js'
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
checkbox: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
loginType: 'pwd',
|
loginType: 'pwd',
|
||||||
phone:'13999999999',
|
phone: '',
|
||||||
pwdForm: {
|
pwdForm: {
|
||||||
pwd: '',
|
pwd: '',
|
||||||
imgCode: '',
|
imgCode: '',
|
||||||
},
|
},
|
||||||
yzmForm: {
|
yzmForm: {
|
||||||
code: '',
|
code: '123456789',
|
||||||
imgCode: '123456789',
|
imgCode: '',
|
||||||
},
|
},
|
||||||
waitTime: 0,
|
waitTime: 0,
|
||||||
tenantId: '',
|
tenantId: '',
|
||||||
@@ -123,6 +131,9 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
login() {
|
login() {
|
||||||
|
if (!this.checkbox) {
|
||||||
|
return this.$util.toast('请先阅读并同意用户协议和个人信息保护政策!')
|
||||||
|
}
|
||||||
console.log(this.loginType)
|
console.log(this.loginType)
|
||||||
if (this.loginType == 'pwd') {
|
if (this.loginType == 'pwd') {
|
||||||
this.pwdLogin()
|
this.pwdLogin()
|
||||||
@@ -134,9 +145,9 @@ export default {
|
|||||||
if (!this.phone && !this.pwdForm.pwd) {
|
if (!this.phone && !this.pwdForm.pwd) {
|
||||||
return this.$util.toast('请填写登录信息!')
|
return this.$util.toast('请填写登录信息!')
|
||||||
}
|
}
|
||||||
console.log(this.phone);
|
console.log(this.phone)
|
||||||
let loginName = encrypt(this.phone)
|
let loginName = encrypt(this.phone)
|
||||||
console.log(loginName);
|
console.log(loginName)
|
||||||
gongkey({ loginName }).then((response) => {
|
gongkey({ loginName }).then((response) => {
|
||||||
let publicKey = response.data
|
let publicKey = response.data
|
||||||
let sm3Pwd = sm3Digest(this.pwdForm.pwd)
|
let sm3Pwd = sm3Digest(this.pwdForm.pwd)
|
||||||
@@ -167,7 +178,8 @@ export default {
|
|||||||
onLoad(o) {
|
onLoad(o) {
|
||||||
// 移除所有的缓存
|
// 移除所有的缓存
|
||||||
// uni.clearStorageSync()
|
// uni.clearStorageSync()
|
||||||
uni.removeStorageSync('access_token')
|
uni.removeStorageSync(this.$cacheKey.access_token)
|
||||||
|
uni.removeStorageSync(this.$cacheKey.engineering)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -269,6 +281,7 @@ export default {
|
|||||||
margin-top: 60rpx;
|
margin-top: 60rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,9 +20,11 @@
|
|||||||
</view>
|
</view>
|
||||||
</uni-forms-item>
|
</uni-forms-item>
|
||||||
</uni-forms>
|
</uni-forms>
|
||||||
<button type="default" class="submit-btn" @click="firstSubmit">下一步</button>
|
<button type="default" class="submit-btn" @click="firstSubmit">注册</button>
|
||||||
<view class="login-box-tips">
|
<view class="login-box-tips">
|
||||||
<view style="color: #999">点击提交即表示同意</view>
|
<view style="color: #999"
|
||||||
|
><checkbox :checked="checkbox" @click="checkbox = !checkbox" /> 我已阅读并同意</view
|
||||||
|
>
|
||||||
<navigator url="/pages/mine/agreement" hover-class="none">《用户协议》</navigator>
|
<navigator url="/pages/mine/agreement" hover-class="none">《用户协议》</navigator>
|
||||||
<navigator url="/pages/mine/policy" hover-class="none">《个人信息保护政策》</navigator>
|
<navigator url="/pages/mine/policy" hover-class="none">《个人信息保护政策》</navigator>
|
||||||
</view>
|
</view>
|
||||||
@@ -52,6 +54,7 @@ export default {
|
|||||||
name: 'jiaban',
|
name: 'jiaban',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
checkbox:false,
|
||||||
step: 1,
|
step: 1,
|
||||||
loading: false,
|
loading: false,
|
||||||
waitTime: 0,
|
waitTime: 0,
|
||||||
@@ -129,6 +132,9 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
firstSubmit() {
|
firstSubmit() {
|
||||||
|
if (!this.checkbox) {
|
||||||
|
return this.$util.toast('请先阅读并同意用户协议和个人信息保护政策!')
|
||||||
|
}
|
||||||
this.$refs.form.validate().then((valid, errors) => {
|
this.$refs.form.validate().then((valid, errors) => {
|
||||||
apiRegister({
|
apiRegister({
|
||||||
phone: this.formData.phone,
|
phone: this.formData.phone,
|
||||||
@@ -182,6 +188,7 @@ export default {
|
|||||||
margin-top: 60rpx;
|
margin-top: 60rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
39
pnpm-lock.yaml
generated
39
pnpm-lock.yaml
generated
@@ -4,7 +4,8 @@ specifiers:
|
|||||||
'@types/html5plus': ^1.0.2
|
'@types/html5plus': ^1.0.2
|
||||||
'@types/uni-app': ^1.4.4
|
'@types/uni-app': ^1.4.4
|
||||||
crypto-js: ^4.1.1
|
crypto-js: ^4.1.1
|
||||||
html2canvas: ^1.4.1
|
html2canvas: 1.0.0-rc.4
|
||||||
|
image-tools: ^1.4.0
|
||||||
mqtt: 3.0.0
|
mqtt: 3.0.0
|
||||||
pinyin-pro: ^3.13.2
|
pinyin-pro: ^3.13.2
|
||||||
qs: ^6.11.2
|
qs: ^6.11.2
|
||||||
@@ -12,7 +13,8 @@ specifiers:
|
|||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
crypto-js: 4.1.1
|
crypto-js: 4.1.1
|
||||||
html2canvas: 1.4.1
|
html2canvas: 1.0.0-rc.4
|
||||||
|
image-tools: 1.4.0
|
||||||
mqtt: 3.0.0
|
mqtt: 3.0.0
|
||||||
pinyin-pro: 3.13.2
|
pinyin-pro: 3.13.2
|
||||||
qs: 6.11.2
|
qs: 6.11.2
|
||||||
@@ -84,8 +86,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/base64-arraybuffer/1.0.2:
|
/base64-arraybuffer/0.2.0:
|
||||||
resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==}
|
resolution: {integrity: sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==}
|
||||||
engines: {node: '>= 0.6.0'}
|
engines: {node: '>= 0.6.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
@@ -172,10 +174,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==}
|
resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/css-line-break/2.1.0:
|
/css-line-break/1.1.1:
|
||||||
resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==}
|
resolution: {integrity: sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
utrie: 1.0.2
|
base64-arraybuffer: 0.2.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/csstype/3.1.2:
|
/csstype/3.1.2:
|
||||||
@@ -367,18 +369,21 @@ packages:
|
|||||||
xtend: 4.0.2
|
xtend: 4.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/html2canvas/1.4.1:
|
/html2canvas/1.0.0-rc.4:
|
||||||
resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==}
|
resolution: {integrity: sha512-5sJ+oM3FfNFpGVbMQkJFDl1WH5Sa293l2koMEZWbaehJ3dWHty4mSrmZtfWlWDoLckfGojZS9aZ7Zk3uFouyPw==}
|
||||||
engines: {node: '>=8.0.0'}
|
engines: {node: '>=8.0.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
css-line-break: 2.1.0
|
css-line-break: 1.1.1
|
||||||
text-segmentation: 1.0.3
|
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/ieee754/1.2.1:
|
/ieee754/1.2.1:
|
||||||
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/image-tools/1.4.0:
|
||||||
|
resolution: {integrity: sha512-TKtvJ6iUwM0mfaD4keMnk1ENHFC470QEjBfA3IlvKdEOufzvWbjbaoNcoyYq6HlViF8+d5tOS1ooE6j7CHf1lQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/inflight/1.0.6:
|
/inflight/1.0.6:
|
||||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -668,12 +673,6 @@ packages:
|
|||||||
safe-buffer: 5.2.1
|
safe-buffer: 5.2.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/text-segmentation/1.0.3:
|
|
||||||
resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==}
|
|
||||||
dependencies:
|
|
||||||
utrie: 1.0.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/through2-filter/3.0.0:
|
/through2-filter/3.0.0:
|
||||||
resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==}
|
resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -733,12 +732,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/utrie/1.0.2:
|
|
||||||
resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==}
|
|
||||||
dependencies:
|
|
||||||
base64-arraybuffer: 1.0.2
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/vconsole/3.15.1:
|
/vconsole/3.15.1:
|
||||||
resolution: {integrity: sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==}
|
resolution: {integrity: sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
8
readme
Normal file
8
readme
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
工程用户
|
||||||
|
13999999999
|
||||||
|
营销用户
|
||||||
|
13888888888
|
||||||
|
VIP用户
|
||||||
|
13333333333
|
||||||
|
运维管理元
|
||||||
|
njcnyw
|
||||||
BIN
static/success.png
Normal file
BIN
static/success.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Reference in New Issue
Block a user