From 51d0bb0161c42b8d36074de574abcf056a3a9318 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期四, 07 九月 2023 09:34:33 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.20.92:8888/r/PM20230220027_Web --- src/views/layer/layerDetail.vue | 179 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 144 insertions(+), 35 deletions(-) diff --git a/src/views/layer/layerDetail.vue b/src/views/layer/layerDetail.vue index 21f4da0..637eb80 100644 --- a/src/views/layer/layerDetail.vue +++ b/src/views/layer/layerDetail.vue @@ -35,27 +35,44 @@ </div> <div class="selectBox" v-show="drawingModeShow"> <div class="selectTile demonstration">鎷変几鏂瑰紡</div> - <el-select - v-model="stretchValue" - class="imgSelect" - placeholder="閫夋嫨鎷変几鏂瑰紡" - size="small" - clearable - > - <el-option - v-for="item in stretchOptions" - :key="item.value" - :label="item.label" - :value="item.value" + <div class="stretchSelect"> + <el-select + :teleported="false" + v-model="stretchValue" + class="stretchSelect" + :class="{ imgSelect: stretchNumShow }" + placeholder="閫夋嫨鎷変几鏂瑰紡" + size="small" + clearable + @change="stretchChange" > - </el-option> - </el-select> + <el-option + v-for="item in stretchOptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + <span v-show="stretchNumShow">-</span> + <el-input-number + class="stretchNum" + v-show="stretchNumShow" + :precision="2" + :step="0.01" + v-model="stretchNum" + :min="stretchMin" + :max="stretchMax" + controls-position="right" + size="small" + @change="stretchNumChange" + /> + </div> </div> - <div class="selectBox"> + <div class="selectBox" v-show="colorShow"> <div class="selectTile demonstration">娓叉煋绫诲瀷</div> <el-select v-model="renderType" - class="imgSelect" placeholder="閫夋嫨娓叉煋绫诲瀷" size="small" @change="changeSelection(renderType)" @@ -77,9 +94,7 @@ left: 50%; transform: translate(-50%, -50%); " - :style="{ - 'background-image': `linear-gradient(to right, ${item.domCss})`, - }" + :style="item.domCss" ></div> <!-- <img :src="item.url" style="height: 30px; width: 100%" /> --> @@ -100,10 +115,9 @@ defineEmits, } from "vue"; import server from "@/assets/js/Map/server"; -import axios from "axios"; +import { publish_selectSjColorTables } from "@/api/api"; import json from "@/assets/js/colorValue"; -// const colorValue = "@/assets/js/colorValue.json"; -// console.log(colorValue); + const stretchValue = ref(""); const transparence = ref(0); const contrast = ref(1); @@ -111,17 +125,33 @@ let layerState = ref(false); let select = ref(); let renderType = ref(""); -let renderTypeOptions = []; +let renderTypeOptions = ref([]); let stretchOptions = [ { - value: "Option1", - label: "Option1", + value: 0, + label: "涓嶆媺浼�", }, { - value: "Option2", - label: "Option2", + value: 1, + label: "绾挎�ф媺浼�", + }, + { + value: 2, + label: "鐩存柟鍥惧潎琛�", + }, + { + value: 3, + label: "鏍囧噯宸媺浼�", + }, + { + value: 4, + label: "浼介┈鎷変几", }, ]; +let stretchNum = ref(0); +let stretchMin = ref(0); +let stretchMax = ref(0); +let stretchNumShow = ref(false); const formatTooltip = (val: number) => { return val / 100; }; @@ -137,17 +167,42 @@ const setSpatialClose = () => { emits("detailClose", false); }; + const getColorJson = async () => { - renderTypeOptions = json.result.item_list; - renderTypeOptions.forEach((e) => { - let css = ""; - e.content.levels.forEach((v) => { - css += `rgb(${v.r_start}, ${v.g_start}, ${v.b_start}),`; - }); - e.domCss = css.slice(0, -1); + const dt = await publish_selectSjColorTables({ + pageIndex: 1, + pageSize: 1000, }); - console.log(renderTypeOptions); + renderTypeOptions.value = dt.result.item_list; + + renderTypeOptions.value.forEach((e) => { + let css = ""; + let css1 = ""; + e.content.levels.forEach((v) => { + if ("r_start" in v) { + console.log(v.r_start); + css += `rgb(${v.r_start}, ${v.g_start}, ${v.b_start}),rgb(${v.r_end}, ${v.g_end}, ${v.b_end}),`; + } else if ("r" in v) { + css1 += `rgb(${v.r}, ${v.g}, ${v.b}),`; + } + }); + + let cssColor = `${css1}${css}`; + let cssStr = ""; + + if (cssColor.length == 19) { + cssStr = `background: ${cssColor.slice(0, -1)}`; + } else { + cssStr = `background-image:linear-gradient(to right, ${cssColor.slice( + 0, + -1 + )})`; + } + e.domCss = cssStr; + }); + // console.log(renderTypeOptions.value); }; + const changeSelection = (scope) => { if (scope == "") { select.value.$el.children[0].children[0].removeAttribute("style"); @@ -243,6 +298,41 @@ colorShow.value = true; } }; +//鎷変几閫夋嫨 +const stretchChange = (val) => { + console.log(val); + if (val == 0) { + stretchNumShow.value = false; + stretchNum.value = 0; + stretchMin.value = 0; + stretchMax.value = 0; + } else if (val == 1) { + stretchNumShow.value = true; + //1 绾挎�ф媺浼� + stretchNum.value = 0.02; + stretchMin.value = 0; + stretchMax.value = 0.05; + } else if (val == 2) { + stretchNumShow.value = false; + //1 鐩存柟鍥惧潎琛� + stretchNum.value = 0; + stretchMin.value = 0; + stretchMax.value = 0; + } else if (val == 3) { + stretchNumShow.value = true; + //1 鏍囧噯宸媺浼� + stretchNum.value = 0.02; + stretchMin.value = 0; + stretchMax.value = 0.05; + } else if (val == 4) { + stretchNumShow.value = true; + //1 浼介┈鎷変几 + stretchNum.value = 0.6; + stretchMin.value = 0.1; + stretchMax.value = 1.6; + } +}; +const stretchNumChange = (val) => {}; onMounted(() => { typeDisplay(props.layerData); server.layerList.forEach((e, i) => { @@ -340,4 +430,23 @@ /deep/.el-select-dropdown__item { font-size: 12px !important; } +.stretchSelect { + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + .stretchSelect { + width: 100%; + } + .imgSelect { + width: 60%; + } + span { + color: #fff; + margin: 0 10px; + } + .stretchNum { + width: 30%; + } +} </style> -- Gitblit v1.9.3