From 3c496c263fca58417fa9b35beb9707ad147e6c7d Mon Sep 17 00:00:00 2001
From: wjt <1797368093@qq.com>
Date: 星期一, 22 七月 2024 15:01:33 +0800
Subject: [PATCH] Merge branch 'main' of http://218.28.192.34:9999/r/sqys/sqys_web

---
 src/views/main/components/selectColor.vue |   91 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 91 insertions(+), 0 deletions(-)

diff --git a/src/views/main/components/selectColor.vue b/src/views/main/components/selectColor.vue
new file mode 100644
index 0000000..8df5a7f
--- /dev/null
+++ b/src/views/main/components/selectColor.vue
@@ -0,0 +1,91 @@
+<template>
+  <div class="select-color">
+    <div class="color red" :class="[selectColor === '#FF0000' ? 'active' : '']" @click="selectColorClick('#FF0000')" />
+    <div
+      class="color green"
+      :class="[selectColor === '#008000' ? 'active' : '']"
+      @click="selectColorClick('#008000')"
+    />
+    <div
+      class="color yellow"
+      :class="[selectColor === '#0000FF' ? 'active' : '']"
+      @click="selectColorClick('#0000FF')"
+    />
+    <div
+      class="gradit-color"
+      :style="{ 'background': `linear-gradient(${selectColor}, ${adjustColor(selectColor, 200)})` }"
+    />
+  </div>
+</template>
+<script>
+export default {
+  props: {
+    selectColor: {
+      type: String,
+      default: '#FF0000'
+    }
+  },
+  methods: {
+    selectColorClick(item) {
+      this.$emit('update:selectColor', item)
+      this.$emit('changeRender')
+    },
+    adjustColor(color, range) {
+      let newColor = '#'
+      for (let i = 0; i < 3; i++) {
+        const hxStr = color.substr(i * 2 + 1, 2)
+        let val = parseInt(hxStr, 16)
+        val += range
+        if (val < 0) val = 0
+        else if (val > 255) val = 255
+        newColor += val.toString(16).padStart(2, '0')
+      }
+      this.$emit('minColor', newColor)
+      return newColor
+    }
+  }
+}
+</script>
+<style scoped>
+.select-color {
+  position: fixed;
+  top: 0;
+  z-index: 100000;
+  padding: 20px;
+}
+
+.title {
+  font-size: 26px;
+  font-weight: 700;
+  margin-bottom: 10px;
+}
+
+.color {
+  width: 100px;
+  height: 100px;
+  margin-bottom: 20px;
+}
+
+.red {
+  background-color: red;
+}
+
+.green {
+  background-color: green;
+}
+
+.yellow {
+  background-color: #0000FF;
+}
+
+.active {
+  border: 2px solid #a0a0a0;
+  box-shadow: 0 0 10px #232323;
+}
+
+.gradit-color {
+  width: 10px;
+  height: 200px;
+  border-radius: 10px;
+}
+</style>

--
Gitblit v1.9.1