问题反馈修改
This commit is contained in:
@@ -94,3 +94,16 @@ export function updateChatStatus(params) {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新反馈状态
|
||||||
|
*/
|
||||||
|
|
||||||
|
export function updateFeedBackStatus(params) {
|
||||||
|
console.log(params);
|
||||||
|
return request({
|
||||||
|
url: '/cs-system-boot/feedback/auditFeedBack',
|
||||||
|
method: 'post',
|
||||||
|
data: params,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export const queryAppInfoByType = (type) => {
|
|||||||
|
|
||||||
export const queryUserPushConfig = () => {
|
export const queryUserPushConfig = () => {
|
||||||
return request({
|
return request({
|
||||||
url: '/cs-system-boot/appInfoSet/queryByUserId',
|
url: '/user-boot/appInfoSet/queryByUserId',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
header: {
|
header: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
@@ -56,7 +56,7 @@ export const queryUserPushConfig = () => {
|
|||||||
|
|
||||||
export const updatePushConfig = (params) => {
|
export const updatePushConfig = (params) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/cs-system-boot/appInfoSet/update',
|
url: '/user-boot/appInfoSet/update',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
header: {
|
header: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
|||||||
@@ -38,7 +38,9 @@ export default (options = {}) => {
|
|||||||
success: async (res) => {
|
success: async (res) => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
if (arr.indexOf(options.url) > -1) {
|
if (arr.indexOf(options.url) > -1) {
|
||||||
arr.splice(arr.indexOf(options.url), 1)
|
setTimeout(() => {
|
||||||
|
arr.splice(arr.indexOf(options.url), 1)
|
||||||
|
}, 300)
|
||||||
}
|
}
|
||||||
if (res.data.resultCode !== 10000 && res.data.code !== 'A0000') {
|
if (res.data.resultCode !== 10000 && res.data.code !== 'A0000') {
|
||||||
errHandler(res.data)
|
errHandler(res.data)
|
||||||
@@ -49,7 +51,9 @@ export default (options = {}) => {
|
|||||||
},
|
},
|
||||||
fail: (err) => {
|
fail: (err) => {
|
||||||
if (arr.indexOf(options.url) > -1) {
|
if (arr.indexOf(options.url) > -1) {
|
||||||
arr.splice(arr.indexOf(options.url), 1)
|
setTimeout(() => {
|
||||||
|
arr.splice(arr.indexOf(options.url), 1)
|
||||||
|
}, 300)
|
||||||
}
|
}
|
||||||
reject(err)
|
reject(err)
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import request from './request'
|
import request from './request'
|
||||||
import cache from './cacheKey.js'
|
import cache from './cacheKey.js'
|
||||||
import { getImageUrl } from '@/common/api/basic'
|
import {getImageUrl} from '@/common/api/basic'
|
||||||
import { apiUpdatePush } from '@/common/api/user'
|
import {apiUpdatePush} from '@/common/api/user'
|
||||||
import { queryDictDataCache } from '../api/dictionary.js'
|
import {queryDictDataCache} from '../api/dictionary.js'
|
||||||
import cacheKey from './cacheKey.js'
|
import cacheKey from './cacheKey.js'
|
||||||
|
|
||||||
const toast = (title, duration = 1500, call, mask = false, icon = 'none') => {
|
const toast = (title, duration = 1500, call, mask = false, icon = 'none') => {
|
||||||
if (Boolean(title) === false) {
|
if (Boolean(title) === false) {
|
||||||
return
|
return
|
||||||
@@ -18,6 +19,7 @@ const toast = (title, duration = 1500, call, mask = false, icon = 'none') => {
|
|||||||
call && call()
|
call && call()
|
||||||
}, duration)
|
}, duration)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 格式化时间
|
* @description 格式化时间
|
||||||
* @param time
|
* @param time
|
||||||
@@ -101,6 +103,7 @@ function formatTime(time, option) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const h5Helper = {
|
const h5Helper = {
|
||||||
isAndroid: function () {
|
isAndroid: function () {
|
||||||
return window.navigator.appVersion.toLowerCase().indexOf('android') != -1
|
return window.navigator.appVersion.toLowerCase().indexOf('android') != -1
|
||||||
@@ -210,6 +213,7 @@ const loginSuccess = (data, jump = true) => {
|
|||||||
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(cache.userInfo, userInfo)
|
||||||
if (userInfo.headSculpture) {
|
if (userInfo.headSculpture) {
|
||||||
getImageUrl(userInfo.headSculpture).then((res) => {
|
getImageUrl(userInfo.headSculpture).then((res) => {
|
||||||
userInfo.avatar = res.data
|
userInfo.avatar = res.data
|
||||||
@@ -226,12 +230,12 @@ const loginSuccess = (data, jump = true) => {
|
|||||||
if (jump) {
|
if (jump) {
|
||||||
queryDictDataCache().then((res) => {
|
queryDictDataCache().then((res) => {
|
||||||
uni.setStorageSync(cacheKey.dictData, res.data)
|
uni.setStorageSync(cacheKey.dictData, res.data)
|
||||||
uni.reLaunch({
|
})
|
||||||
url: '/pages/index/index',
|
uni.reLaunch({
|
||||||
fail: (err) => {
|
url: '/pages/index/index',
|
||||||
console.log(err)
|
fail: (err) => {
|
||||||
},
|
console.log(err)
|
||||||
})
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -245,7 +249,7 @@ const refreshPrePage = (number = 1, time = 1500) => {
|
|||||||
let pages = getCurrentPages()
|
let pages = getCurrentPages()
|
||||||
let prePage = pages[pages.length - number - 1]
|
let prePage = pages[pages.length - number - 1]
|
||||||
if (prePage && time) {
|
if (prePage && time) {
|
||||||
prePage.$vm.store.reload()
|
prePage.$vm.store?.reload()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.navigateBack({
|
uni.navigateBack({
|
||||||
delta: number,
|
delta: number,
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
"name" : "灿能物联",
|
"name" : "灿能物联",
|
||||||
"appid" : "__UNI__88BC25B",
|
"appid" : "__UNI__88BC25B",
|
||||||
"description" : "",
|
"description" : "",
|
||||||
"versionName" : "1.1.5",
|
"versionName" : "1.1.6",
|
||||||
"versionCode" : 115,
|
"versionCode" : 116,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
|
|||||||
@@ -144,10 +144,10 @@ export default {
|
|||||||
iconPath: '/static/report.png',
|
iconPath: '/static/report.png',
|
||||||
text: '告警',
|
text: '告警',
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
iconPath: '/static/record.png',
|
// iconPath: '/static/record.png',
|
||||||
text: '记录',
|
// text: '记录',
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
iconPath: '/static/about.png',
|
iconPath: '/static/about.png',
|
||||||
text: '关于',
|
text: '关于',
|
||||||
@@ -208,7 +208,7 @@ export default {
|
|||||||
trigger(e) {
|
trigger(e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
if (e.item.text === '分享') {
|
if (e.item.text === '分享') {
|
||||||
this.$refs.share.open()
|
uni.navigateTo({url: '/pages/device/share?id=' + this.devId})
|
||||||
} else if (e.item.text === '删除') {
|
} else if (e.item.text === '删除') {
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
|
|||||||
@@ -111,8 +111,8 @@
|
|||||||
<view class="content-des">请拖动图中的蓝色定位图标选择监测点位置(左上角)</view>
|
<view class="content-des">请拖动图中的蓝色定位图标选择监测点位置(左上角)</view>
|
||||||
<uni-forms>
|
<uni-forms>
|
||||||
<uni-data-select
|
<uni-data-select
|
||||||
v-model="point.position"
|
v-model="point.linePostion"
|
||||||
:localdata="positionListRange"
|
:localdata="positionList"
|
||||||
@change="positionChange"
|
@change="positionChange"
|
||||||
></uni-data-select>
|
></uni-data-select>
|
||||||
<uni-easyinput
|
<uni-easyinput
|
||||||
@@ -159,16 +159,6 @@ export default {
|
|||||||
deviceInfo: {},
|
deviceInfo: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed:{
|
|
||||||
positionListRange(){
|
|
||||||
return this.positionList.map(item => {
|
|
||||||
return {
|
|
||||||
...item,
|
|
||||||
disable: this.point.linePostion !== item.id && this.pointList.some(item2 => item2.linePostion === item.id)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.deviceInfo = JSON.parse(decodeURIComponent(options.deviceInfo))
|
this.deviceInfo = JSON.parse(decodeURIComponent(options.deviceInfo))
|
||||||
console.log(this.deviceInfo)
|
console.log(this.deviceInfo)
|
||||||
@@ -178,7 +168,6 @@ export default {
|
|||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
name: item.label,
|
name: item.label,
|
||||||
position: item.linePostion,
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
console.log(this.pointList, 'this.poinitList')
|
console.log(this.pointList, 'this.poinitList')
|
||||||
@@ -224,10 +213,9 @@ export default {
|
|||||||
this.formData.topologyDiagramUrl = this.imageList[this.activeGplot].filePath
|
this.formData.topologyDiagramUrl = this.imageList[this.activeGplot].filePath
|
||||||
this.formData.topologyDiagram = this.imageList[this.activeGplot].id
|
this.formData.topologyDiagram = this.imageList[this.activeGplot].id
|
||||||
this.pointList.forEach((item) => {
|
this.pointList.forEach((item) => {
|
||||||
console.log(item.position)
|
|
||||||
this.imageList[this.activeGplot].csLineTopologyTemplateVOList.forEach((item3) => {
|
this.imageList[this.activeGplot].csLineTopologyTemplateVOList.forEach((item3) => {
|
||||||
console.log(item3.linePostion)
|
console.log(item3.linePostion)
|
||||||
if (item3.linePostion === item.position) {
|
if (item3.linePostion === item.linePostion) {
|
||||||
item.lat = item3.lat
|
item.lat = item3.lat
|
||||||
item.lng = item3.lng
|
item.lng = item3.lng
|
||||||
}
|
}
|
||||||
@@ -311,7 +299,7 @@ export default {
|
|||||||
this.$refs.point.open()
|
this.$refs.point.open()
|
||||||
},
|
},
|
||||||
addPoint() {
|
addPoint() {
|
||||||
if (!this.point.position) {
|
if (!this.point.linePostion) {
|
||||||
this.$util.toast('请选择监测点')
|
this.$util.toast('请选择监测点')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -319,13 +307,15 @@ export default {
|
|||||||
this.point.name = this.point.alias
|
this.point.name = this.point.alias
|
||||||
} else {
|
} else {
|
||||||
this.positionList.forEach((item) => {
|
this.positionList.forEach((item) => {
|
||||||
if (item.id == this.point.position) {
|
if (item.id === this.point.linePostion) {
|
||||||
this.point.name = item.name
|
this.point.name = item.name
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.point.lat = this.point.coordinate.x
|
if (this.point.coordinate) {
|
||||||
this.point.lng = this.point.coordinate.y
|
this.point.lat = this.point.coordinate.x
|
||||||
|
this.point.lng = this.point.coordinate.y
|
||||||
|
}
|
||||||
this.pointList[this.editIndex] = this.point
|
this.pointList[this.editIndex] = this.point
|
||||||
console.log(this.pointList)
|
console.log(this.pointList)
|
||||||
this.closeDrawer()
|
this.closeDrawer()
|
||||||
@@ -360,6 +350,16 @@ export default {
|
|||||||
// this.point.lng = e.detail.y
|
// this.point.lng = e.detail.y
|
||||||
},
|
},
|
||||||
submit() {
|
submit() {
|
||||||
|
// 检查pointLlist监测点是否重复,并给出提示
|
||||||
|
let arr = []
|
||||||
|
this.pointList.forEach((item) => {
|
||||||
|
arr.push(item.linePostion)
|
||||||
|
})
|
||||||
|
let set = new Set(arr)
|
||||||
|
if (set.size !== arr.length) {
|
||||||
|
this.$util.toast('监测点不能重复')
|
||||||
|
return
|
||||||
|
}
|
||||||
updateDevice({
|
updateDevice({
|
||||||
pointList: this.pointList,
|
pointList: this.pointList,
|
||||||
id: this.imageList[this.activeGplot].id
|
id: this.imageList[this.activeGplot].id
|
||||||
|
|||||||
@@ -45,24 +45,24 @@
|
|||||||
<uni-data-select v-model="formData.type" :localdata="typeRange"
|
<uni-data-select v-model="formData.type" :localdata="typeRange"
|
||||||
@change="typeChange(item)"></uni-data-select>
|
@change="typeChange(item)"></uni-data-select>
|
||||||
</uni-forms-item> -->
|
</uni-forms-item> -->
|
||||||
<!-- <uni-forms-item label="位置">-->
|
<!-- <uni-forms-item label="位置">-->
|
||||||
<!-- <view style="display: flex;">-->
|
<!-- <view style="display: flex;">-->
|
||||||
<!-- <uni-easyinput-->
|
<!-- <uni-easyinput-->
|
||||||
<!-- :clearable="false"-->
|
<!-- :clearable="false"-->
|
||||||
<!-- type="textarea"-->
|
<!-- type="textarea"-->
|
||||||
<!-- autoHeight-->
|
<!-- autoHeight-->
|
||||||
<!-- v-model="formData.area"-->
|
<!-- v-model="formData.area"-->
|
||||||
<!-- placeholder="请输入位置信息"-->
|
<!-- placeholder="请输入位置信息"-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- <uni-icons-->
|
<!-- <uni-icons-->
|
||||||
<!-- type="location"-->
|
<!-- type="location"-->
|
||||||
<!-- color="#007aff"-->
|
<!-- color="#007aff"-->
|
||||||
<!-- size="26"-->
|
<!-- size="26"-->
|
||||||
<!-- class="ml20"-->
|
<!-- class="ml20"-->
|
||||||
<!-- @click="chooseLocation"-->
|
<!-- @click="chooseLocation"-->
|
||||||
<!-- ></uni-icons>-->
|
<!-- ></uni-icons>-->
|
||||||
<!-- </view>-->
|
<!-- </view>-->
|
||||||
<!-- </uni-forms-item>-->
|
<!-- </uni-forms-item>-->
|
||||||
<uni-forms-item label="拓扑图" v-if="formData.projectId">
|
<uni-forms-item label="拓扑图" v-if="formData.projectId">
|
||||||
<view style="display: flex">
|
<view style="display: flex">
|
||||||
<view style="flex: 1">
|
<view style="flex: 1">
|
||||||
@@ -111,7 +111,8 @@
|
|||||||
v-for="(item, key) in imageList"
|
v-for="(item, key) in imageList"
|
||||||
:key="key"
|
:key="key"
|
||||||
/>
|
/>
|
||||||
<view v-if="imageList.length === 0" style="text-align: center" class="mt50 mb50">暂无拓扑图</view>
|
<view v-if="imageList.length === 0" style="text-align: center" class="mt50 mb50">暂无拓扑图
|
||||||
|
</view>
|
||||||
<view class="btn-wrap">
|
<view class="btn-wrap">
|
||||||
<view class="btn-wrap-item" @click="closeDrawer"> 取消</view>
|
<view class="btn-wrap-item" @click="closeDrawer"> 取消</view>
|
||||||
<view class="btn-wrap-item ml20" @click="confirmGplot"> 确定</view>
|
<view class="btn-wrap-item ml20" @click="confirmGplot"> 确定</view>
|
||||||
@@ -139,7 +140,7 @@
|
|||||||
<uni-forms>
|
<uni-forms>
|
||||||
<uni-data-select
|
<uni-data-select
|
||||||
v-model="point.position"
|
v-model="point.position"
|
||||||
:localdata="positionListRange"
|
:localdata="positionList"
|
||||||
@change="positionChange"
|
@change="positionChange"
|
||||||
></uni-data-select>
|
></uni-data-select>
|
||||||
<uni-easyinput
|
<uni-easyinput
|
||||||
@@ -183,16 +184,20 @@ export default {
|
|||||||
positionList: [],
|
positionList: [],
|
||||||
imageList: [],
|
imageList: [],
|
||||||
isAdaptive: false, // 是否适应当前项目
|
isAdaptive: false, // 是否适应当前项目
|
||||||
|
dialogOpen: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed:{
|
onBackPress() {
|
||||||
positionListRange(){
|
if (this.dialogOpen) {
|
||||||
return this.positionList.map(item => {
|
this.closeDrawer()
|
||||||
return {
|
return true
|
||||||
...item,
|
} else if (this.type === 3) {
|
||||||
disable: this.point.linePostion !== item.id && this.pointList.some(item2 => item2.linePostion === item.id)
|
return false
|
||||||
}
|
} else if (this.type === 2) {
|
||||||
})
|
this.type = 1
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
@@ -287,7 +292,7 @@ export default {
|
|||||||
},
|
},
|
||||||
scanCode() {
|
scanCode() {
|
||||||
uni.scanCode({
|
uni.scanCode({
|
||||||
success (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)
|
let content = JSON.parse(res.result)
|
||||||
@@ -329,10 +334,12 @@ export default {
|
|||||||
},
|
},
|
||||||
chooseGplot() {
|
chooseGplot() {
|
||||||
this.$refs.gplot.open()
|
this.$refs.gplot.open()
|
||||||
|
this.dialogOpen = true
|
||||||
},
|
},
|
||||||
closeDrawer() {
|
closeDrawer() {
|
||||||
this.$refs.gplot.close()
|
this.$refs.gplot.close()
|
||||||
this.$refs.point.close()
|
this.$refs.point.close()
|
||||||
|
this.dialogOpen = false
|
||||||
},
|
},
|
||||||
add() {
|
add() {
|
||||||
this.$refs.point.open()
|
this.$refs.point.open()
|
||||||
@@ -351,8 +358,10 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.point.lat = this.point.coordinate.x
|
if (this.point.coordinate) {
|
||||||
this.point.lng = this.point.coordinate.y
|
this.point.lat = this.point.coordinate.x
|
||||||
|
this.point.lng = this.point.coordinate.y
|
||||||
|
}
|
||||||
this.pointList[this.editIndex] = this.point
|
this.pointList[this.editIndex] = this.point
|
||||||
console.log(this.pointList)
|
console.log(this.pointList)
|
||||||
this.closeDrawer()
|
this.closeDrawer()
|
||||||
@@ -373,6 +382,7 @@ export default {
|
|||||||
this.point.alias = ''
|
this.point.alias = ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.dialogOpen = true
|
||||||
this.$refs.point.open()
|
this.$refs.point.open()
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
},
|
},
|
||||||
@@ -392,6 +402,16 @@ export default {
|
|||||||
if (!this.formData.topologyDiagram) {
|
if (!this.formData.topologyDiagram) {
|
||||||
return this.$util.toast('请选择拓扑图')
|
return this.$util.toast('请选择拓扑图')
|
||||||
}
|
}
|
||||||
|
// 检查pointLlist监测点是否重复,并给出提示
|
||||||
|
let arr = []
|
||||||
|
this.pointList.forEach((item) => {
|
||||||
|
arr.push(item.position)
|
||||||
|
})
|
||||||
|
let set = new Set(arr)
|
||||||
|
if (set.size !== arr.length) {
|
||||||
|
this.$util.toast('监测点不能重复')
|
||||||
|
return
|
||||||
|
}
|
||||||
addDevice({
|
addDevice({
|
||||||
...this.formData,
|
...this.formData,
|
||||||
list: this.pointList,
|
list: this.pointList,
|
||||||
@@ -400,6 +420,7 @@ export default {
|
|||||||
console.log(res)
|
console.log(res)
|
||||||
this.$util.toast('提交成功')
|
this.$util.toast('提交成功')
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
this.type = 3
|
||||||
uni.navigateBack({delta: 1})
|
uni.navigateBack({delta: 1})
|
||||||
}, 1500)
|
}, 1500)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -22,11 +22,11 @@
|
|||||||
>{{ item.text }}
|
>{{ item.text }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="content device" :style="{ minHeight: 'calc(100vh - ' + navHeight + 'px)' }">
|
<view class="content" :style="{ minHeight: 'calc(100vh - ' + navHeight + 'px)' }">
|
||||||
<view v-show="navMenuActive == 0">
|
<view v-show="navMenuActive == 0">
|
||||||
<uni-card
|
<uni-card
|
||||||
:title="item.name"
|
:title="item.name"
|
||||||
:extra="item.mac"
|
extra="🔍"
|
||||||
@click="jumpProject(item)"
|
@click="jumpProject(item)"
|
||||||
v-for="(item, index) in store.data"
|
v-for="(item, index) in store.data"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<view class="message">
|
<view class="message">
|
||||||
<uni-card
|
<uni-card
|
||||||
:title="item.name"
|
:title="item.name"
|
||||||
:extra="item.mac"
|
extra="🔍"
|
||||||
@click="jump(item)"
|
@click="jump(item)"
|
||||||
v-for="(item, index) in store.data"
|
v-for="(item, index) in store.data"
|
||||||
:style="{marginTop:index===0?'0':''}"
|
:style="{marginTop:index===0?'0':''}"
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</uni-card>
|
</uni-card>
|
||||||
<Cn-empty v-if="store.empty" style="padding-top: 200rpx"></Cn-empty>
|
<Cn-empty v-if="store.empty" style="padding-top: 400rpx"></Cn-empty>
|
||||||
<uni-load-more v-if="store.data && store.data.length > 0" :status="store.status"></uni-load-more>
|
<uni-load-more v-if="store.data && store.data.length > 0" :status="store.status"></uni-load-more>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
<uni-easyinput
|
<uni-easyinput
|
||||||
type="textarea"
|
type="textarea"
|
||||||
autoHeight
|
autoHeight
|
||||||
maxlength="250"
|
maxlength="999"
|
||||||
v-model="formData.description"
|
v-model="formData.description"
|
||||||
placeholder="请输入工程描述"
|
placeholder="请输入工程描述"
|
||||||
/>
|
/>
|
||||||
@@ -72,14 +72,9 @@ export default {
|
|||||||
this.formData.id = this.engineering.id
|
this.formData.id = this.engineering.id
|
||||||
uni.setNavigationBarTitle({title: '工程编辑'})
|
uni.setNavigationBarTitle({title: '工程编辑'})
|
||||||
}
|
}
|
||||||
uni.getLocation({
|
if(options.from === 'index'){
|
||||||
type: 'wgs84',
|
this.$util.toast('请先创建一个工程')
|
||||||
success: function (res) {
|
}
|
||||||
console.log(res)
|
|
||||||
console.log('当前位置的经度:' + res.longitude)
|
|
||||||
console.log('当前位置的纬度:' + res.latitude)
|
|
||||||
},
|
|
||||||
})
|
|
||||||
// console.log(area);
|
// console.log(area);
|
||||||
console.log(this.$util.prePage())
|
console.log(this.$util.prePage())
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.formData.userId = uni.getStorageSync('userInfo').userIndex
|
this.formData.userId = uni.getStorageSync('userInfo').userIndex
|
||||||
this.formData.engineeringId = uni.getStorageSync('engineering').engineeringId
|
this.formData.engineeringId = uni.getStorageSync('engineering').id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -19,7 +19,8 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
engineeringList: []
|
engineeringList: [],
|
||||||
|
options: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -42,7 +43,8 @@ export default {
|
|||||||
return result
|
return result
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad(options) {
|
||||||
|
this.options = options
|
||||||
this.engineeringList = uni.getStorageSync('engineeringList')
|
this.engineeringList = uni.getStorageSync('engineeringList')
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
@@ -51,7 +53,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
onNavigationBarButtonTap(e) {
|
onNavigationBarButtonTap(e) {
|
||||||
uni.redirectTo({
|
uni.navigateTo({
|
||||||
url: '/pages/engineering/new',
|
url: '/pages/engineering/new',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -59,7 +61,12 @@ export default {
|
|||||||
confirm(e) {
|
confirm(e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
let engineering = this.engineeringList.find((item) => item.name === e.item.name)
|
let engineering = this.engineeringList.find((item) => item.name === e.item.name)
|
||||||
uni.setStorageSync('engineering', engineering)
|
if (this.options.from === 'projectNew') {
|
||||||
|
// 创建项目的时候选择工程 用完即删
|
||||||
|
uni.setStorageSync('projectSelectEngineering', engineering)
|
||||||
|
} else {
|
||||||
|
uni.setStorageSync('engineering', engineering)
|
||||||
|
}
|
||||||
uni.navigateBack()
|
uni.navigateBack()
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
<view class="header-item-value">{{ devCount.eventCount || 0 }}</view>
|
<view class="header-item-value">{{ devCount.eventCount || 0 }}</view>
|
||||||
<view class="header-item-label">事件数量</view>
|
<view class="header-item-label">事件数量</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="header-item">
|
<view class="header-item" @click="projectNum(false)">
|
||||||
<view class="header-item-value">{{ devCount.projectCount || 0 }}</view>
|
<view class="header-item-value">{{ devCount.projectCount || 0 }}</view>
|
||||||
<view class="header-item-label">项目个数</view>
|
<view class="header-item-label">项目个数</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -34,8 +34,9 @@
|
|||||||
<view class="header">
|
<view class="header">
|
||||||
<view class="header-item">
|
<view class="header-item">
|
||||||
<view class="header-item-value">{{
|
<view class="header-item-value">{{
|
||||||
devCount.currentOnLineDevCount + devCount.currentOffLineDevCount || 0
|
devCount.currentOnLineDevCount + devCount.currentOffLineDevCount || 0
|
||||||
}}</view>
|
}}
|
||||||
|
</view>
|
||||||
<view class="header-item-label">设备总数</view>
|
<view class="header-item-label">设备总数</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="header-item" @click="jump('currentOnLineDevs')">
|
<view class="header-item" @click="jump('currentOnLineDevs')">
|
||||||
@@ -54,7 +55,7 @@
|
|||||||
<view class="header-item-value">{{ devCount.currentEventCount || 0 }}</view>
|
<view class="header-item-value">{{ devCount.currentEventCount || 0 }}</view>
|
||||||
<view class="header-item-label">事件数量</view>
|
<view class="header-item-label">事件数量</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="header-item" @click="projectNum">
|
<view class="header-item" @click="projectNum(true)">
|
||||||
<view class="header-item-value">{{ devCount.currentProjectCount || 0 }}</view>
|
<view class="header-item-value">{{ devCount.currentProjectCount || 0 }}</view>
|
||||||
<view class="header-item-label">项目个数</view>
|
<view class="header-item-label">项目个数</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -80,10 +81,18 @@ export default {
|
|||||||
url: '/pages/zhuanzhi/warning',
|
url: '/pages/zhuanzhi/warning',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
projectNum() {
|
projectNum(now) {
|
||||||
uni.navigateTo({
|
console.log(now)
|
||||||
url: '/pages/project/list',
|
if (now) {
|
||||||
})
|
let engineering = uni.getStorageSync('engineering')
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/project/list?engineeringName=' + engineering.name + '&engineeringId=' + engineering.id,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/project/list',
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
jump(type) {
|
jump(type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@@ -99,7 +108,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {},
|
created() {
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template slot="right">
|
<template slot="right">
|
||||||
<text class="hide-txt mr5" style="font-size: 28rpx">{{
|
<text class="hide-txt mr5" style="font-size: 28rpx">{{
|
||||||
select.engineeringName || '创建工程'
|
select.engineeringName || emptyEngineeringName
|
||||||
}}
|
}}
|
||||||
</text>
|
</text>
|
||||||
<uni-icons type="bottom" size="16" color="#111" v-if="select.engineeringName"></uni-icons>
|
<uni-icons type="bottom" size="16" color="#111" v-if="select.engineeringName"></uni-icons>
|
||||||
@@ -74,7 +74,17 @@ export default {
|
|||||||
navTabHeight: 0
|
navTabHeight: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
emptyEngineeringName() {
|
||||||
|
if (this.userInfo.authorities === 'tourist') {
|
||||||
|
return '创建工程'
|
||||||
|
} else if (this.userInfo.authorities === 'market_user') {
|
||||||
|
return '请联系管理员配置工程'
|
||||||
|
} else {
|
||||||
|
return '创建工程'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
selectEngineering() {
|
selectEngineering() {
|
||||||
if (this.select.engineeringName) {
|
if (this.select.engineeringName) {
|
||||||
@@ -82,6 +92,17 @@ export default {
|
|||||||
url: '/pages/home/selectEngineering',
|
url: '/pages/home/selectEngineering',
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
if(this.userInfo.authorities === 'tourist'){
|
||||||
|
return uni.showToast({
|
||||||
|
title: '此功能仅对VIP用户开放',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
}else if(this.userInfo.authorities === 'market_user'){
|
||||||
|
return uni.showToast({
|
||||||
|
title: '请联系管理员配置工程',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
}
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/engineering/new',
|
url: '/pages/engineering/new',
|
||||||
})
|
})
|
||||||
@@ -95,6 +116,8 @@ export default {
|
|||||||
if (this.engineeringList.length === 0) {
|
if (this.engineeringList.length === 0) {
|
||||||
console.log('没有工程')
|
console.log('没有工程')
|
||||||
uni.removeStorageSync(this.$cacheKey.engineering)
|
uni.removeStorageSync(this.$cacheKey.engineering)
|
||||||
|
this.select.engineeringName = ''
|
||||||
|
this.select.engineeringId = ''
|
||||||
this.projectList = []
|
this.projectList = []
|
||||||
} else {
|
} else {
|
||||||
if (!engineering) {
|
if (!engineering) {
|
||||||
|
|||||||
@@ -1,16 +1,28 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="content">
|
<view class="message-list">
|
||||||
<uni-list :border="false">
|
<view class="message-list-item" v-for="(item, index) in store.data" :key="index" @click="jump(item)">
|
||||||
<uni-list-item :show-badge="item.chatCount > 0" badgeType="error" isDot badge-text="新消息" :title="item.title"
|
<view class="hide-txt message-list-item-title">{{ item.title }}</view>
|
||||||
:note="item.createTime" clickable v-for="(item, index) in store.data" :key="index" @click="jump(item)" />
|
<view class="message-list-item-footer">
|
||||||
</uni-list>
|
<view class="mr20 message-list-item-footer-status message-list-item-footer-status-close" v-if="item.status === '0'">
|
||||||
|
已关闭
|
||||||
|
</view>
|
||||||
|
<view class="mr20 message-list-item-footer-status message-list-item-footer-status-processing" v-else-if="item.status === '1'">
|
||||||
|
待处理
|
||||||
|
</view>
|
||||||
|
<view class="mr20 message-list-item-footer-status message-list-item-footer-status-over" v-else-if="item.status === '2'">
|
||||||
|
已解决
|
||||||
|
</view>
|
||||||
|
<view class="message-list-item-footer-time"> {{ item.createTime }}</view>
|
||||||
|
<uni-badge class="uni-badge-left-margin" :text="item.chatCount"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<Cn-empty v-if="store.empty"></Cn-empty>
|
<Cn-empty v-if="store.empty"></Cn-empty>
|
||||||
<uni-load-more v-if="store.data && store.data.length > 0" :status="store.status"></uni-load-more>
|
<uni-load-more v-if="store.data && store.data.length > 0" :status="store.status"></uni-load-more>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { queryFeedBackPage } from '../../common/api/feedback'
|
import {queryFeedBackPage} from '../../common/api/feedback'
|
||||||
import list from '../../common/js/list'
|
import list from '../../common/js/list'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -29,15 +41,59 @@ export default {
|
|||||||
this.store.reload()
|
this.store.reload()
|
||||||
},
|
},
|
||||||
jump(item) {
|
jump(item) {
|
||||||
uni.navigateTo({ url: '/pages/message/feedbackDetail?id=' + item.id +'&chatCount=' + item.chatCount })
|
uni.navigateTo({url: '/pages/message/feedbackDetail?id=' + item.id + '&chatCount=' + item.chatCount})
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.content {
|
.message-list {
|
||||||
padding-top: 20rpx;
|
padding-top: 20rpx;
|
||||||
|
|
||||||
|
.message-list-item {
|
||||||
|
padding: 28rpx;
|
||||||
|
background: #fff;
|
||||||
|
border-bottom: 1rpx solid #ddd;
|
||||||
|
&-title {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #3b4144;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-list-item-footer {
|
||||||
|
margin-top: 8rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
&-time{
|
||||||
|
margin-right: 20rpx;
|
||||||
|
flex: 1;
|
||||||
|
color: #999;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
&-status {
|
||||||
|
padding: 4rpx 12rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
&-over {
|
||||||
|
background-color: #f0f9eb;
|
||||||
|
border-color: #e1f3d8;
|
||||||
|
color: #67c23a;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-close {
|
||||||
|
background-color: #f4f4f5;
|
||||||
|
border-color: #e9e9eb;
|
||||||
|
color: #909399;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-processing {
|
||||||
|
background-color: #fdf6ec;
|
||||||
|
border-color: #faecd8;
|
||||||
|
color: #e6a23c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -45,9 +101,21 @@ export default {
|
|||||||
background-color: $uni-theme-white !important;
|
background-color: $uni-theme-white !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .uni-badge {
|
.list-footer {
|
||||||
background-color: unset !important;
|
display: flex;
|
||||||
color: #dd524d !important;
|
flex-direction: column;
|
||||||
font-size: 28rpx !important;
|
justify-content: space-between;
|
||||||
|
|
||||||
|
&-status {
|
||||||
|
flex: 1;
|
||||||
|
color: #999;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///deep/ .uni-badge {
|
||||||
|
// background-color: unset !important;
|
||||||
|
// color: #dd524d !important;
|
||||||
|
// font-size: 28rpx !important;
|
||||||
|
//}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -6,25 +6,34 @@
|
|||||||
<view class="detail-content-title mb20">{{ pageData.title }}</view>
|
<view class="detail-content-title mb20">{{ pageData.title }}</view>
|
||||||
<view> {{ pageData.createTime }}</view>
|
<view> {{ pageData.createTime }}</view>
|
||||||
<view class="mt10 mb10">{{ pageData.description }}</view>
|
<view class="mt10 mb10">{{ pageData.description }}</view>
|
||||||
<uni-file-picker readonly v-model="imageValue" mode="grid" />
|
<uni-file-picker readonly v-model="imageValue" mode="grid"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="detail-content " style="margin-bottom:0">
|
<view class="detail-content " style="margin-bottom:0">
|
||||||
<view class="detail-content-title ">
|
<view class="detail-content-title ">
|
||||||
<view class="title">回复</view>
|
<view class="title">消息列表</view>
|
||||||
<view class="title-btn" @click="open">新增</view>
|
<template v-if="pageData.status === '1'">
|
||||||
|
<view class="title-btn mr10" @click="updateFeedBackStatus('2')">解决</view>
|
||||||
|
<view class="title-btn mr10" @click="updateFeedBackStatus('0')">关闭</view>
|
||||||
|
</template>
|
||||||
|
<template v-if="pageData.status === '2'">
|
||||||
|
<view class="title-btn mr10" @click="updateFeedBackStatus('0')">关闭</view>
|
||||||
|
</template>
|
||||||
|
<view class="title-btn" @click="open">回复</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<uni-list>
|
<uni-list>
|
||||||
<uni-list-item :title="item.userName" :note="item.chatContent" :rightText="item.createTime"
|
<uni-list-item :title="item.userName" :note="item.chatContent" :rightText="item.createTime"
|
||||||
v-for="(item, index) in pageData.csFeedbackChatPOList" :key="index" />
|
v-for="(item, index) in pageData.csFeedbackChatPOList" :key="index"/>
|
||||||
<Cn-empty v-if="pageData.csFeedbackChatPOList && pageData.csFeedbackChatPOList.length == 0"></Cn-empty>
|
<Cn-empty
|
||||||
|
v-if="pageData.csFeedbackChatPOList && pageData.csFeedbackChatPOList.length == 0"></Cn-empty>
|
||||||
</uni-list>
|
</uni-list>
|
||||||
<!-- 输入框示例 -->
|
<!-- 输入框示例 -->
|
||||||
<uni-popup ref="inputDialog" type="dialog">
|
<uni-popup ref="inputDialog" type="dialog">
|
||||||
<uni-popup-dialog ref="inputClose" type="info" mode="input" title="输入内容" value="对话框预置提示内容!"
|
<uni-popup-dialog ref="inputClose" type="info" mode="input" title="输入内容"
|
||||||
placeholder="请输入内容" @confirm="dialogInputConfirm">
|
value="对话框预置提示内容!"
|
||||||
|
placeholder="请输入内容" @confirm="dialogInputConfirm">
|
||||||
<uni-easyinput type="textarea" :maxlength="250" autoHeight v-model="chatContent"
|
<uni-easyinput type="textarea" :maxlength="250" autoHeight v-model="chatContent"
|
||||||
placeholder="请输入内容"></uni-easyinput>
|
placeholder="请输入内容"></uni-easyinput>
|
||||||
</uni-popup-dialog>
|
</uni-popup-dialog>
|
||||||
</uni-popup>
|
</uni-popup>
|
||||||
</view>
|
</view>
|
||||||
@@ -32,7 +41,8 @@
|
|||||||
</Cn-page>
|
</Cn-page>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { queryFeedBackDetail, AddFeedbackChat, updateChatStatus } from '../../common/api/feedback'
|
import {queryFeedBackDetail, AddFeedbackChat, updateChatStatus, updateFeedBackStatus} from '../../common/api/feedback'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -45,8 +55,7 @@ export default {
|
|||||||
"url": "/static/logo.png",
|
"url": "/static/logo.png",
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
pageData: {
|
pageData: {},
|
||||||
},
|
|
||||||
pageOption: {}
|
pageOption: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -60,6 +69,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
updateFeedBackStatus(status) {
|
||||||
|
updateFeedBackStatus({
|
||||||
|
id: this.pageOption.id,
|
||||||
|
status: status
|
||||||
|
}).then(res => {
|
||||||
|
this.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
init() {
|
init() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
queryFeedBackDetail(this.pageOption.id).then(res => {
|
queryFeedBackDetail(this.pageOption.id).then(res => {
|
||||||
@@ -78,7 +95,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
dialogInputConfirm() {
|
dialogInputConfirm() {
|
||||||
AddFeedbackChat({ chatContent: this.chatContent, id: this.pageOption.id }).then(res => {
|
AddFeedbackChat({chatContent: this.chatContent, id: this.pageOption.id}).then(res => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.$util.toast('回复成功')
|
this.$util.toast('回复成功')
|
||||||
this.init()
|
this.init()
|
||||||
@@ -87,13 +104,17 @@ export default {
|
|||||||
},
|
},
|
||||||
open() {
|
open() {
|
||||||
this.$refs.inputDialog.open()
|
this.$refs.inputDialog.open()
|
||||||
}
|
},
|
||||||
|
over() {
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang='scss'>
|
<style lang='scss'>
|
||||||
.detail {
|
.detail {
|
||||||
padding: 20rpx 0;
|
padding: 0 0 20rpx;
|
||||||
|
|
||||||
.detail-content {
|
.detail-content {
|
||||||
padding: 20rpx 30rpx;
|
padding: 20rpx 30rpx;
|
||||||
|
|||||||
@@ -3,19 +3,19 @@
|
|||||||
<view class="mine" slot="body">
|
<view class="mine" slot="body">
|
||||||
<view class="mine-nav" style="margin-top: 20rpx">
|
<view class="mine-nav" style="margin-top: 20rpx">
|
||||||
<view class="mine-nav-label">稳态越限</view>
|
<view class="mine-nav-label">稳态越限</view>
|
||||||
<switch color="#376cf3" @change="change('dataInfo')" :checked="config.dataInfo === 1"/>
|
<switch style="transform: scale(0.8)" color="#376cf3" @change="change('dataInfo')" :checked="config.dataInfo === 1"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="mine-nav" style="border-bottom: none">
|
<view class="mine-nav" style="border-bottom: none">
|
||||||
<view class="mine-nav-label">暂态事件</view>
|
<view class="mine-nav-label">暂态事件</view>
|
||||||
<switch color="#376cf3" @change="change('eventInfo')" :checked="config.eventInfo === 1"/>
|
<switch style="transform: scale(0.8)" color="#376cf3" @change="change('eventInfo')" :checked="config.eventInfo === 1"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="mine-nav" style="border-bottom: none">
|
<view class="mine-nav" style="border-bottom: none">
|
||||||
<view class="mine-nav-label">设备状态</view>
|
<view class="mine-nav-label">设备状态</view>
|
||||||
<switch color="#376cf3" @change="change('deviceInfo')" :checked="config.deviceInfo === 1"/>
|
<switch style="transform: scale(0.8)" color="#376cf3" @change="change('deviceInfo')" :checked="config.deviceInfo === 1"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="mine-nav" style="border-bottom: none">
|
<view class="mine-nav" style="border-bottom: none">
|
||||||
<view class="mine-nav-label">设备消息</view>
|
<view class="mine-nav-label">设备消息</view>
|
||||||
<switch color="#376cf3" @change="change('systemInfo')" :checked="config.systemInfo === 1"/>
|
<switch style="transform: scale(0.8)" color="#376cf3" @change="change('systemInfo')" :checked="config.systemInfo === 1"/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</Cn-page>
|
</Cn-page>
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
@input="store.search()"></uni-search-bar>
|
@input="store.search()"></uni-search-bar>
|
||||||
<view class="message">
|
<view class="message">
|
||||||
<uni-card :title="item.name" @click="jump(item)"
|
<uni-card :title="item.name" @click="jump(item)"
|
||||||
|
extra="🔍"
|
||||||
v-for="(item, index) in store.data" :key="index"
|
v-for="(item, index) in store.data" :key="index"
|
||||||
:style="{marginTop:index===0?'0':''}">
|
:style="{marginTop:index===0?'0':''}">
|
||||||
<view class="term-list-bottom">
|
<view class="term-list-bottom">
|
||||||
@@ -30,7 +31,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</uni-card>
|
</uni-card>
|
||||||
<Cn-empty v-if="store.empty" style="padding-top: 200px"></Cn-empty>
|
<Cn-empty v-if="store.empty" style="padding-top: 400rpx"></Cn-empty>
|
||||||
<uni-load-more v-if="store.data && store.data.length > 0" :status="store.status"></uni-load-more>
|
<uni-load-more v-if="store.data && store.data.length > 0" :status="store.status"></uni-load-more>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -48,10 +49,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init(engineeringId) {
|
||||||
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
||||||
this.store = this.DataSource('/cs-device-boot/project/queryProject')
|
this.store = this.DataSource('/cs-device-boot/project/queryProject')
|
||||||
this.store.params.searchValue = ''
|
this.store.params.searchValue = ''
|
||||||
|
this.store.params.engineeringId = engineeringId || ''
|
||||||
this.store.reload()
|
this.store.reload()
|
||||||
},
|
},
|
||||||
back() {
|
back() {
|
||||||
@@ -84,8 +86,8 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad({engineeringId}) {
|
||||||
this.init()
|
this.init(engineeringId)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<uni-forms-item label="工程名称" @click.native.stop.prevent="selectEngineering">
|
<uni-forms-item label="工程名称" @click.native.stop.prevent="selectEngineering">
|
||||||
<uni-easyinput
|
<uni-easyinput
|
||||||
v-model="formData.engineeringName"
|
v-model="formData.engineeringName"
|
||||||
placeholder="请输入项目名称"
|
placeholder="请选择工程"
|
||||||
:clearable="false"
|
:clearable="false"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
/>
|
/>
|
||||||
@@ -37,6 +37,7 @@
|
|||||||
<uni-easyinput
|
<uni-easyinput
|
||||||
type="textarea"
|
type="textarea"
|
||||||
autoHeight
|
autoHeight
|
||||||
|
maxlength="999"
|
||||||
v-model="formData.description"
|
v-model="formData.description"
|
||||||
placeholder="请输入项目描述"
|
placeholder="请输入项目描述"
|
||||||
/>
|
/>
|
||||||
@@ -127,9 +128,12 @@ export default {
|
|||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
if (!this.options.project) {
|
if (!this.options.project) {
|
||||||
let engineering = uni.getStorageSync(this.$cacheKey.engineering)
|
let engineering = uni.getStorageSync('projectSelectEngineering')
|
||||||
this.formData.engineeringId = engineering.id
|
if (engineering) {
|
||||||
this.formData.engineeringName = engineering.name
|
uni.removeStorageSync('projectSelectEngineering')
|
||||||
|
this.formData.engineeringId = engineering.id
|
||||||
|
this.formData.engineeringName = engineering.name
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
@@ -145,6 +149,10 @@ export default {
|
|||||||
this.formData[key] = this.project[key]
|
this.formData[key] = this.project[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
let engineering = uni.getStorageSync('engineering')
|
||||||
|
this.formData.engineeringId = engineering.id
|
||||||
|
this.formData.engineeringName = engineering.name
|
||||||
}
|
}
|
||||||
uni.getLocation({
|
uni.getLocation({
|
||||||
type: 'wgs84',
|
type: 'wgs84',
|
||||||
@@ -175,9 +183,10 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
selectEngineering() {
|
selectEngineering() {
|
||||||
if (this.options.project) return
|
console.log(123)
|
||||||
|
if (this.options.project) return this.$util.toast('项目已经创建,不能修改工程')
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/home/selectEngineering',
|
url: '/pages/home/selectEngineering?from=projectNew',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
beforeRemove(e) {
|
beforeRemove(e) {
|
||||||
@@ -322,11 +331,14 @@ export default {
|
|||||||
background: #fff !important;
|
background: #fff !important;
|
||||||
color: #111;
|
color: #111;
|
||||||
}
|
}
|
||||||
|
|
||||||
.new {
|
.new {
|
||||||
padding: 34rpx;
|
padding: 34rpx;
|
||||||
.project-new{
|
|
||||||
|
.project-new {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
.content-des {
|
.content-des {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
|
|||||||
@@ -232,7 +232,6 @@ export default {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
.login-box-logo {
|
.login-box-logo {
|
||||||
background: $uni-theme-color;
|
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
width: 100rpx;
|
width: 100rpx;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
|||||||
7
readme
7
readme
@@ -3,6 +3,13 @@
|
|||||||
营销用户
|
营销用户
|
||||||
13888888888
|
13888888888
|
||||||
VIP用户
|
VIP用户
|
||||||
|
13764779092
|
||||||
13333333333
|
13333333333
|
||||||
运维管理元
|
运维管理元
|
||||||
njcnyw
|
njcnyw
|
||||||
|
|
||||||
|
|
||||||
|
1.工程用户 1899999999
|
||||||
|
2.营销用户 1888888888
|
||||||
|
3.VIP用户 187777777777
|
||||||
|
4.运维管理元 18666666666
|
||||||
|
|||||||
BIN
static/logo.png
BIN
static/logo.png
Binary file not shown.
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 25 KiB |
Reference in New Issue
Block a user