From d7e24c64a3961040fdc7fec835c2efa5d2f106c0 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期日, 26 九月 2021 19:54:54 +0800
Subject: [PATCH] 弹层层级bug修复v2
---
src/pages/settings/views/generalSettings.vue | 273 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 201 insertions(+), 72 deletions(-)
diff --git a/src/pages/settings/views/generalSettings.vue b/src/pages/settings/views/generalSettings.vue
index ba74441..b80b46c 100644
--- a/src/pages/settings/views/generalSettings.vue
+++ b/src/pages/settings/views/generalSettings.vue
@@ -1,6 +1,6 @@
<template>
<div class="all" ref="curPage">
- <div class="general-set">
+ <div class="general-seting">
<div class="general-center" ref="left">
<div
class="menu-item"
@@ -123,7 +123,7 @@
<div class="save-btn" @click="submitAlarm">淇濆瓨</div>
</div>
<div class="lang" v-if="activePage == 1">
- <div class="title">浜嬩欢澹伴煶</div>
+ <div class="bar title voice-title" style="border: 2px solid #fff;">浜嬩欢澹伴煶</div>
<div class="bar-group">
<div
class="bar"
@@ -133,32 +133,31 @@
ref="soundBar"
>
<div class="left-part">
- <span
- class="icon iconfont"
- style="margin-right: 12px; color: dodgerblue"
- ></span
- >
<span class="name">{{ item.name }}</span>
</div>
<div class="btns">
<span @click="togglePlay(item, i)">
+
+ <span class="iconfont" v-if="!item.isPlay" style="cursor: pointer;">{{playSpan}}</span>
+ <span class="iconfont" v-else style="cursor: pointer;">{{playSpan2}}</span>
+<!--
<i
v-if="!item.isPlay"
class="el-icon-video-play"
style=""
></i>
- <i v-else class="el-icon-video-pause"></i>
+ <i v-else class="el-icon-video-pause"></i> -->
</span>
<span
- class="icon iconfont"
- style="cursor: pointer; color: indianred"
+ class="icon iconfont del"
+ style="cursor: pointer;"
@click="removeSound(item)"
- ></span
+ >{{delspan}}</span
>
</div>
</div>
</div>
- <div v-if="showUpload" @click.stop>
+ <div v-if="showUpload" @click.stop >
<el-upload
class="upload-demo"
drag
@@ -166,14 +165,11 @@
:http-request="uploadSound"
:show-file-list="false"
>
- <i class="el-icon-upload"></i>
- <div class="el-upload__text">
- 浜嬩欢澹伴煶鏂囦欢鎷栧埌姝ゅ锛屾垨
- <em>鐐瑰嚮涓婁紶</em>
- <br />浠呮敮鎸乵p3/wma绛夋牸寮�
- </div>
- </el-upload>
+ <div class="info">璇峰皢澹伴煶浜嬩欢鏂囦欢鎷栨嫿鍒版澶勶紝鎴�<span class="info-click" >鐐瑰嚮涓婁紶</span></div>
+ <div class="des" v-if="showUpload" @click.stop>浠呮敮鎸乵p3銆亀av绛夋牸寮�</div>
+ </el-upload>
</div>
+
<div class="add-group">
<div class="add-btn">
@@ -202,6 +198,7 @@
class="entity-img"
v-for="(item, i) in realIconList"
:key="i"
+ @click="colorCard(item.color)"
>
<img :src="item.url" alt="" />
</div>
@@ -254,6 +251,10 @@
export default {
data() {
return {
+ playSpan:"\ue6e8",
+ playSpan2:"\ue6e8",
+ delspan:"\ue6e8",
+ warnSpn:"\ue6e8",
curPlayingIndex: null,
showUpload: false,
activeIcons: 0,
@@ -287,9 +288,9 @@
},
isPlay: false,
realIconList: [
- { url: "/images/settings/鏃ュ織绠$悊.png" },
- { url: "/images/settings/瀹炴椂鐩戞帶.png" },
- { url: "/images/settings/鏁版嵁鍙鍖�.png" },
+ { url: "/images/settings/鏃ュ織绠$悊.png",color:"green" },
+ { url: "/images/settings/瀹炴椂鐩戞帶.png",color:"yellow" },
+ { url: "/images/settings/鏁版嵁鍙鍖�.png",color:"pink" },
],
flatIconList: [
{ url: "/images/settings/鏁版嵁鎺ㄩ��.png" },
@@ -429,11 +430,18 @@
this.activeIcons = i;
},
removeSound(item) {
- this.$confirm("鎮ㄦ槸鍚︾‘璁ゅ垹闄や簨浠跺0闊�", "鍒犻櫎浜嬩欢澹伴煶", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- }).then(() => {
+ const h = this.$createElement;
+ const icon =
+ this.$msgbox({
+ message: h('div', {style: 'display: flex; flex-direction: column; justify-content: center; align-items: center;'}, [
+ h('span',{class:'iconfont warn-icon'},`${this.warnSpn}`),
+ h('span', {class:'warn-title'}, '鍒犻櫎浜嬩欢澹伴煶 '),
+ h('span', {class:'warn-dec'}, '鎮ㄦ槸鍚︾‘璁ゅ垹闄や簨浠跺0闊�?')
+ ]),
+ showCancelButton: true,
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ }).then(() => {
deleteSound({
id: item.id,
}).then(
@@ -455,10 +463,10 @@
},
clickSound(item, i) {
this.$refs["soundBar"].forEach((x) => {
- x.style.backgroundColor = "rgba(248, 248, 248, 1)";
+ x.style = "border: 2px solid #FFF;";
});
- this.$refs["soundBar"][i].style.backgroundColor =
- "rgba(233, 233, 233, 1)";
+ this.$refs["soundBar"][i].style =
+ "border: 2px solid #4E94FF;";
},
submitAlarm() {
saveAlarmConfig({
@@ -474,15 +482,21 @@
}
});
},
+ colorCard(color) {
+ document.documentElement.style.setProperty('--colorCard',`${color}`)
+ localStorage.setItem('--colorCard',`${color}`)
+ }
},
};
</script>
-<style lang="scss">
+
+<style scoped lang="scss">
+
.all {
width: 100%;
}
-.general-set {
+.general-seting {
height: 100%;
display: flex;
flex-direction: row;
@@ -491,39 +505,43 @@
box-sizing: border-box;
.general-center {
height: 100%;
- width: 280px;
+ width: 300px;
overflow: auto;
box-sizing: border-box;
flex-shrink: 0;
- padding: 10px;
- border-right: 5px solid #f8f8f8;
+ padding: 24px 10px;
+ border-right: 4px solid #F2F2F7;
+ background-color: #FBFAFF;
+
+
.menu-item {
- background-color: #f8f8f8;
- height: 50px;
- margin-bottom: 10px;
- border-radius: 10px;
- line-height: 50px;
+
+ height: 56px;
+ margin-bottom: 4px;
+ border-radius: 8px;
+ line-height: 56px;
box-sizing: border-box;
- font-size: 14px;
- padding: 0 20px;
+ font-size: 16px;
+ padding-left: 15px;
cursor: pointer;
display: flex;
.iconfont {
- margin-right: 8px;
+ margin: 0 17px;
+ font-size: 24px !important;
}
.title {
- font-size: 15px;
+ font-size: 16px;
+ font-weight: 700;
}
}
.menu-item-active {
- background-color: #3d68e1;
- color: white;
+ background-color: var(--colorCard) !important;
+ color: white !important;
}
- .menu-item:hover {
- background-color: #3d68e1;
- color: white;
- }
+ /* .menu-item:hover {
+ background-color: #F2F2F7;
+ } */
}
.general-right {
flex: 1;
@@ -531,7 +549,7 @@
overflow: auto;
box-sizing: border-box;
- padding: 20px 40px;
+ padding: 10px 18px 10px 10px;
.el-form-item.is-required:not(.is-no-asterisk)
> .el-form-item__label:before,
.el-form-item.is-required:not(.is-no-asterisk)
@@ -573,36 +591,35 @@
text-align: left;
margin-bottom: 5px;
}
+ .voice-title {
+ justify-content: center !important;
+ font-weight: 700 ;
+ }
.bar-group {
overflow: auto;
- height: 100%;
+ height: 520px;
}
.bar {
- height: 44px;
+ height: 48px;
background-color: #f8f8f8;
border-radius: 10px;
- line-height: 44px;
+ line-height: 48px;
box-sizing: border-box;
- padding: 0 30px 0 20px;
+ padding: 0 20px 0 20px;
+ font-weight: 700;
display: flex;
justify-content: space-between;
- margin-bottom: 10px;
- .left-part {
- .icon {
- color: rgba(191, 191, 191, 1);
- font-size: 16px;
- margin-right: 5px;
- }
- }
+ margin-bottom: 2px;
+ border: 2px solid #fff;
.name {
- font-size: 15px;
- }
+ font-size: 14px;
+ }
.btns {
- width: 50px;
+ width: 52px;
display: flex;
justify-content: space-between;
color: rgba(191, 191, 191, 1);
- .el-icon-video-pause {
+ /* .el-icon-video-pause {
cursor: pointer;
font-size: 23px;
vertical-align: middle;
@@ -613,6 +630,12 @@
font-size: 23px;
vertical-align: middle;
color: #409eff;
+ } */
+ span {
+ color: #333
+ }
+ .del:hover {
+ color:#FC4958;
}
}
.desc {
@@ -620,11 +643,11 @@
color: rgba(134, 134, 134, 1);
}
}
- .bar:hover {
- background-color: rgba(233, 233, 233, 1);
- }
+ /* .bar:hover {
+ border: 2px solid #4E94FF !important;
+ } */
.add-group {
- margin: 10px auto;
+ margin: 54px auto;
width: fit-content;
}
.upload-demo {
@@ -644,7 +667,7 @@
cursor: pointer;
width: fit-content;
.icon {
- font-size: 32px;
+ font-size: 40px;
color: rgba(61, 104, 225, 1);
}
}
@@ -800,4 +823,110 @@
}
}
}
+.v-modal {
+ opacity:0.35 !important;
+ border-radius: 8px !important;
+}
+
+.el-message-box {
+position: absolute;
+width: 420px;
+height: 210px;
+left: 302px;
+top: 279px;
+
+background: #FFFFFF;
+border-radius: 8px;
+}
+
+.upload-demo {
+top: 452px;
+left: 2px !important;
+width: 452px;
+height: 150px;
+background: #FFFFFF;
+box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
+border-radius: 8px;
+
+::v-deep .el-upload-dragger {
+display: flex;
+justify-content: center;
+align-items: center;
+overflow: visible;
+width: 340px;
+height: 72px;
+margin-top:30px ;
+}
+
+
+.info {
+
+font-weight: bold;
+font-size: 14px;
+color: #828282;
+}
+
+.info-click {
+ color: #4E94FF;
+ text-decoration: underline;
+}
+
+}
+
+.des {
+ position: absolute;
+ top: 78px;
+ left: 109px;
+ z-index: 999;
+ color: #4F4F4F;
+ font-weight: bold;
+ font-size: 12px;
+}
+
+</style>
+
+<style lang="scss">
+.el-message-box {
+ .warn-icon {
+ color:rgba(254, 109, 104, 1) ;
+ font-size: 50px;
+ margin-top:26px ;
+ }
+ .warn-title {
+ font-weight: bold;
+ font-size: 16px;
+ margin: 5px;
+ }
+ .warn-dec {
+ font-weight: bold;
+ font-size: 14px;
+ color: #828282;
+ }
+ .el-message-box__btns {
+ display: flex;
+ justify-content: center;
+ margin-top: 10px;
+ button {
+ width: 175px;
+ height: 40px;
+ border-radius: 25px;
+ span {
+ font-size: 16px;
+ font-weight: 700;
+ }
+ }
+ button:first-child {
+ background-color: #E0E0E0;
+ span {
+ color: #333333;
+ }
+ }
+ button:last-child {
+ background-color: #4E94FF !important;
+ span {
+ color: #fff;
+ }
+ }
+ }
+}
</style>
--
Gitblit v1.8.0