feat: 添加选中功能

This commit is contained in:
white 2024-07-11 17:45:36 +08:00
parent d5ec84ecfc
commit f0e3061f91
12 changed files with 67 additions and 24 deletions

View File

@ -4,4 +4,5 @@ export const post = (url,params, config = {}) => uni.$u.http.post(url, params, c
// get请求获取菜单注意get请求的配置等都在第二个参数中详见前面解释
export const get = (url,data,toast,responseType = '') => uni.$u.http.get(url, {params: data,custom:{toast:toast||false},responseType:responseType})
export const baseUrl = 'http://test.sc2.agrimedia.cn'; // APP线上
// export const baseUrl = 'http://test.sc2.agrimedia.cn'; // APP测试
export const baseUrl = 'https://ai.agrimedia.cn'; // APP线上

View File

@ -5,7 +5,7 @@
<view class="content-header">
<view class="title">设备</view>
</view>
<view class="content-item" v-for="(item, index) in deviceList" v-if="item.user">
<view class="content-item" v-for="(item, index) in deviceList" v-if="item.user" :class="item.device_id == getActiceDevice.device_id? 'active' : '' " @click="changeDev(item)">
<view class="title">
<text>绑定人: {{item.user.mobile}}</text>
</view>
@ -21,23 +21,28 @@
<script>
import store from "@/store/index.js";
import { mapGetters } from "vuex";
export default {
data() {
return {
deviceList: []
deviceList: [],
}
},
onLoad() {
this.$store.dispatch('api/getBindUserDeviceId').then(res => {
this.deviceList = res;
console.log(this.deviceList)
})
});
},
computed: {
...mapGetters({
getActiceDevice: "api/getActiceDevice"
}),
},
methods: {
clickLeft() {
uni.navigateBack({
delta: 1
})
//
changeDev(item) {
this.$store.commit('api/setActiceDevice', item)
},
getNameByKey(key) {
return this.keyNameMap[key] || "Key not found";
@ -81,5 +86,8 @@
opacity: .6;
}
}
.active {
border: 2rpx solid #000;
}
}
</style>

View File

@ -218,6 +218,9 @@
<script>
import { getArrMaxValue } from '@/utils/utils.js'
import store from "@/store/index.js";
import { mapGetters } from "vuex";
export default {
data() {
return {
@ -237,11 +240,16 @@
},
onLoad() {
this.onRefresh();
},
computed: {
...mapGetters({
getActiceDevice: "api/getActiceDevice"
})
},
methods: {
getArrMaxValue,
onRefresh(pageNo, pageSize) {
this.$store.dispatch('api/getDayInfo').then(res => {
this.$store.dispatch('api/getDayInfo', { device_id: this.getActiceDevice.device_id }).then(res => {
this.dataLists = res.data_msg;
this.$refs.paging.complete();
});

View File

@ -116,6 +116,7 @@
methods: {
logout() {
this.$store.commit('api/setApiToken', '')
this.$store.commit('api/setActiceDevice', '')
this.$store.commit('api/setUserInfo', '')
uni.reLaunch({

View File

@ -13,6 +13,7 @@ let state = {
user: {},
apiToken: '',
serverTime:0,
activeDevice: ''
},
getters = {
getUserInfo(state){
@ -23,7 +24,10 @@ let state = {
},
getServerTime(state){
return state.serverTime
},
},
getActiceDevice(state){
return state.activeDevice
}
},
mutations = {
setUserInfo(state,data) {
@ -34,6 +38,9 @@ let state = {
},
logOut(state,data) {
state.apiToken = ''
},
setActiceDevice(state,data) {
state.activeDevice = data
}
},
actions = {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -7685,7 +7685,13 @@ var render = function () {
{
key: item,
staticClass: _vm._$g("5-" + $30, "sc"),
class: _vm._$g("5-" + $30, "c"),
attrs: { _i: "5-" + $30 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
},
},
},
[
_c(
@ -7821,7 +7827,7 @@ if(false) {}
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/runtime/api.js */ 16);
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "@charset \"UTF-8\";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n.content[data-v-03291556] {\n padding: 20rpx 30rpx;\n margin-top: 20rpx;\n}\n.content .content-header[data-v-03291556] {\n margin-bottom: 20rpx;\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 40rpx;\n font-weight: 800;\n}\n.content .content-header .add uni-image[data-v-03291556] {\n width: 50rpx;\n height: 50rpx;\n}\n.content .content-item[data-v-03291556] {\n padding: 30rpx;\n border: none;\n border-radius: 30rpx;\n box-shadow: 0 0 60rpx 0 rgba(43, 86, 112, 0.1);\n margin-bottom: 30rpx;\n}\n.content .content-item .title[data-v-03291556] {\n font-size: 36rpx;\n font-weight: 800;\n margin-bottom: 10rpx;\n}\n.content .content-item .desc[data-v-03291556] {\n font-size: 30rpx;\n opacity: .6;\n}\n", ""]);
exports.push([module.i, "@charset \"UTF-8\";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n.content[data-v-03291556] {\n padding: 20rpx 30rpx;\n margin-top: 20rpx;\n}\n.content .content-header[data-v-03291556] {\n margin-bottom: 20rpx;\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 40rpx;\n font-weight: 800;\n}\n.content .content-header .add uni-image[data-v-03291556] {\n width: 50rpx;\n height: 50rpx;\n}\n.content .content-item[data-v-03291556] {\n padding: 30rpx;\n border: none;\n border-radius: 30rpx;\n box-shadow: 0 0 60rpx 0 rgba(43, 86, 112, 0.1);\n margin-bottom: 30rpx;\n}\n.content .content-item .title[data-v-03291556] {\n font-size: 36rpx;\n font-weight: 800;\n margin-bottom: 10rpx;\n}\n.content .content-item .desc[data-v-03291556] {\n font-size: 30rpx;\n opacity: .6;\n}\n.content .active[data-v-03291556] {\n border: 2rpx solid #000;\n}\n", ""]);
// Exports
module.exports = exports;
@ -8116,7 +8122,7 @@ if(false) {}
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/runtime/api.js */ 16);
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* 自定义头部 */\n.head {\n\theight: 140rpx;\n}\n/* 用户信息部分 */\n.user-info-box {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\talign-items: center;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 300rpx;\n\tbackground: linear-gradient(90deg, #00B26A 0, #2DB259 45%, #4AB262);\n}\n.avatar-box {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tpadding-left: 40rpx;\n.avatar {\n\t\tborder: 4rpx solid #fff;\n}\n}\n.avatar-box .avatar {\n\twidth: 116rpx;\n\theight: 116rpx;\n\tborder-radius: 116rpx;\n}\n.avatar-box .avatar-text {\n\tpadding-left: 20rpx;\n}\n.avatar-text .name {\n\tfont-size: 20px;\n\tfont-weight: 500;\n\tcolor: #fff;\n}\n.avatar-text .desc {\n\tcolor: #fff;\n\tpadding-top: 10rpx;\n\tfont-size: 12px;\n}\n.card-one {\n\theight: 40rpx;\n\twidth: 100%;\n\tbackground: #f7f8fa;\n\tborder-radius: 30px 30px 0px 0px;\n\tposition: absolute;\n\tbottom: -1px;\n}\n.card-two {\n\theight: 40rpx;\n\twidth: 92%;\n\tbackground: #ffffffb0;\n\tborder-radius: 10px 10px 0px 0px;\n\tposition: absolute;\n\tbottom: 5px;\n\tleft: 4%;\n\tright: 6%;\n}\n.card-three {\n\tposition: absolute;\n\tbottom: 10px;\n\tleft: 6%;\n\tright: 8%;\n\theight: 40rpx;\n\twidth: 88%;\n\tbackground: #ffffff59;\n\tborder-radius: 10px 10px 0px 0px;\n}\n.size-seat {\n\tmargin-top: 125rpx;\n}\n/* 中间部分 */\n.user-center-box {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: flex-start;\n\tpadding: 0 30rpx;\n}\n.user-center-item {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: flex-start;\n\tbackground-color: #fff;\n\twidth: 180rpx;\n\tmargin: 50rpx 10rpx 0 10rpx;\n\tpadding: 40rpx 30rpx 40rpx 30rpx;\n\tbox-shadow: 0 0px 20px rgba(231, 231, 231, 0.6);\n\tborder-radius: 16rpx;\n}\n.user-center-star-icon {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 80rpx;\n\theight: 80rpx;\n\tborder-radius: 80rpx;\n\tborder-radius: 80rpx;\n\tbackground-image: linear-gradient(to bottom right, #4CCE84, #4BCD85, #49CD84);\n\tmargin-right: 10rpx;\n}\n.user-center-star-icon uni-image {\n\twidth: 60%;\n\theight: 60%;\n}\n.user-center-star-title {\n\tfont-weight: 550;\n\tfont-size: 12px;\n\tpadding-top: 10rpx;\n\tcolor: #303133;\n}\n/* 菜单区域 */\n.menu-box {\n\tbox-shadow: 0 0px 20px rgba(231, 231, 231, 0.6);\n\tborder-radius: 16rpx;\n\tmargin: 40rpx 40rpx 0 40rpx;\n}\n.menu-item {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: space-between;\n\tborder-bottom: 1rpx solid #F6F6F6;\n\tpadding: 30rpx;\n}\n.menu-item-left {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: flex-start;\n}\n.menu-item-left uni-image {\n\twidth: 38rpx;\n\theight: 38rpx;\n}\n.menu-item-left-text {\n\tpadding-left: 20rpx;\n\tfont-size: 14px;\n}\n.arrow-right {\n\twidth: 15rpx;\n\theight: 15rpx;\n\tborder-top: 3rpx solid #a9acb3;\n\tborder-right: 3rpx solid #a9acb3;\n\t-webkit-transform: rotate(45deg);\n\t transform: rotate(45deg);\n}\n", ""]);
exports.push([module.i, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* 自定义头部 */\n.head {\n\theight: 140rpx;\n}\n/* 用户信息部分 */\n.user-info-box {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\talign-items: center;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 300rpx;\n\tbackground: linear-gradient(90deg, #00B26A 0, #2DB259 45%, #4AB262);\n}\n.avatar-box {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tpadding-left: 40rpx;\n.avatar {\n\t\tborder: 4rpx solid #fff;\n}\n}\n.avatar-box .avatar {\n\twidth: 116rpx;\n\theight: 116rpx;\n\tborder-radius: 116rpx;\n}\n.avatar-box .avatar-text {\n\tpadding-left: 20rpx;\n}\n.avatar-text .name {\n\tfont-size: 20px;\n\tfont-weight: 500;\n\tcolor: #fff;\n}\n.avatar-text .desc {\n\tcolor: #fff;\n\tpadding-top: 10rpx;\n\tfont-size: 12px;\n}\n.card-one {\n\theight: 40rpx;\n\twidth: 100%;\n\tbackground: #f7f8fa;\n\tborder-radius: 30px 30px 0px 0px;\n\tposition: absolute;\n\tbottom: -1px;\n}\n.card-two {\n\theight: 40rpx;\n\twidth: 92%;\n\tbackground: #ffffffb0;\n\tborder-radius: 10px 10px 0px 0px;\n\tposition: absolute;\n\tbottom: 5px;\n\tleft: 4%;\n\tright: 6%;\n}\n.card-three {\n\tposition: absolute;\n\tbottom: 10px;\n\tleft: 6%;\n\tright: 8%;\n\theight: 40rpx;\n\twidth: 88%;\n\tbackground: #ffffff59;\n\tborder-radius: 10px 10px 0px 0px;\n}\n.size-seat {\n\tmargin-top: 125rpx;\n}\n/* 中间部分 */\n.user-center-box {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: flex-start;\n\tpadding: 0 30rpx;\n}\n.user-center-item {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: flex-start;\n\tbackground-color: #fff;\n\twidth: 180rpx;\n\tmargin: 50rpx 10rpx 0 10rpx;\n\tpadding: 40rpx 30rpx 40rpx 30rpx;\n\tbox-shadow: 0 0px 20px rgba(231, 231, 231, 0.6);\n\tborder-radius: 16rpx;\n}\n.user-center-star-icon {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 80rpx;\n\theight: 80rpx;\n\tborder-radius: 80rpx;\n\tborder-radius: 80rpx;\n\tbackground-image: linear-gradient(to bottom right, #4CCE84, #4BCD85, #49CD84);\n\tmargin-right: 10rpx;\n}\n.user-center-star-icon uni-image {\n\twidth: 60%;\n\theight: 60%;\n}\n.user-center-star-title {\n\tfont-weight: 550;\n\tfont-size: 12px;\n\tpadding-top: 10rpx;\n\tcolor: #303133;\n}\n/* 菜单区域 */\n.menu-box {\n\tbox-shadow: 0 0px 20px rgba(231, 231, 231, 0.6);\n\tborder-radius: 16rpx;\n\tmargin: 40rpx 40rpx 0 40rpx;\n}\n.menu-item {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: space-between;\n\tborder-bottom: 1rpx solid #F6F6F6;\n\tpadding: 30rpx;\n}\n.menu-item-left {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: flex-start;\n}\n.menu-item-left uni-image {\n\twidth: 38rpx;\n\theight: 38rpx;\n}\n.menu-item-left-text {\n\tpadding-left: 20rpx;\n\tfont-size: 14px;\n}\n.arrow-right {\n\twidth: 15rpx;\n\theight: 15rpx;\n\tborder-top: 3rpx solid #a9acb3;\n\tborder-right: 3rpx solid #a9acb3;\n\t-webkit-transform: rotate(45deg);\n\t transform: rotate(45deg);\n}\n", ""]);
// Exports
module.exports = exports;