| | |
| | | <template> |
| | | <div |
| | | class="plottingInquire" |
| | | v-if="isShow" |
| | | v-drag="true" |
| | | > |
| | | <div class="plottingInquire" v-if="isShow" v-drag="true"> |
| | | <div class="InquireHeader"> |
| | | <div>标绘查询</div> |
| | | |
| | | <div> |
| | | <el-icon |
| | | @click="isShow = false" |
| | | :size="20" |
| | | style="cursor: pointer" |
| | | > |
| | | <el-icon @click="setMenuClose" :size="20" style="cursor: pointer"> |
| | | <Close /> |
| | | </el-icon> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="inquireContent"> |
| | | <div class="inquireContent_title"> |
| | | <div>用户新建要素</div> |
| | | |
| | | </div> |
| | | <div class="inquireContent_name"> |
| | | <div class="plotting_list_tr_name"> |
| | | <img |
| | | :src="require(`../../assets/img/${inquireData.icon}`)" |
| | | class="ico" |
| | | alt="" |
| | | /><span>{{ inquireData.name }}</span> |
| | | <img :src="require(`../../assets/img/${inquireData.icon}`)" class="ico" alt /> |
| | | <span> |
| | | {{ inquireData.name |
| | | }} |
| | | </span> |
| | | </div> |
| | | <div |
| | | class="plotting_list_tr_wkt" |
| | | v-show="geoWktFlag" |
| | | >{{ geoWkt }}</div> |
| | | <div class="plotting_list_tr_wkt" v-show="geoWktFlag">{{ geoWkt }}</div> |
| | | <div class="plotting_list_tr_btn"> |
| | | <div |
| | | class="tr_btn dw" |
| | | @click="setLayerLocation()" |
| | | ></div> |
| | | <div |
| | | class="tr_btn sc" |
| | | @click="setLayerRemove()" |
| | | ></div> |
| | | <div class="tr_btn dw" @click="setLayerLocation()"></div> |
| | | <div class="tr_btn sc" @click="setLayerRemove()"></div> |
| | | </div> |
| | | </div> |
| | | <div class="tab_box"> |
| | | <el-tabs |
| | | v-model="activeName" |
| | | class="demo-tabs" |
| | | @tab-click="handleClick" |
| | | > |
| | | <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> |
| | | <!-- <el-tab-pane label="图层属性" name="first">User</el-tab-pane> --> |
| | | <el-tab-pane |
| | | label="查询结果" |
| | | name="second" |
| | | > |
| | | <div |
| | | class="inquireContent_input" |
| | | v-show="pixelIsShow" |
| | | > |
| | | <el-tab-pane label="查询结果" name="second"> |
| | | <div class="inquireContent_input" v-show="pixelIsShow"> |
| | | <!-- <div class="inquireContent_input_left"> |
| | | <div class="label">范围框</div> |
| | | <el-input |
| | |
| | | > |
| | | <template #append>km</template> |
| | | </el-input> |
| | | </div> --> |
| | | <div |
| | | class="inquireContent_input_right" |
| | | v-show="!chartIsshow" |
| | | > |
| | | </div>--> |
| | | <div class="inquireContent_input_right" v-show="!chartIsshow"> |
| | | <div class="label">范围框内最大像素值</div> |
| | | <el-select |
| | | v-model="ScopeBox.pixel" |
| | | class="m-2" |
| | | placeholder="像素值" |
| | | size="small" |
| | | @change="pixelChange" |
| | | > |
| | | <el-option |
| | | v-for="item in pixeloptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | <el-select v-model="ScopeBox.pixel" class="m-2" placeholder="像素值" size="small" @change="pixelChange"> |
| | | <el-option v-for="item in pixeloptions" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | </div> |
| | | <div |
| | | class="inquireContent_input_right" |
| | | v-show="chartIsshow" |
| | | > |
| | | <div class="inquireContent_input_right" v-show="chartIsshow"> |
| | | <div class="label">节点数</div> |
| | | <el-select |
| | | v-model="ScopeBox.nodes" |
| | | class="m-2" |
| | | placeholder="像素值" |
| | | size="small" |
| | | @change="nodesChange" |
| | | > |
| | | <el-option |
| | | v-for="item in nodesoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | <el-select v-model="ScopeBox.nodes" class="m-2" placeholder="像素值" size="small" @change="nodesChange"> |
| | | <el-option v-for="item in nodesoptions" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="chart" |
| | | v-if="chartIsshow" |
| | | > |
| | | <div class="chart" v-if="chartIsshow"> |
| | | <div class="chart_box"> |
| | | <div class="chart_btn"> |
| | | <el-button |
| | | :icon="Search" |
| | | link |
| | | class="linkBtn" |
| | | @click="openDialog(e)" |
| | | ></el-button> |
| | | <el-button :icon="Search" link class="linkBtn" @click="openDialog(e)"></el-button> |
| | | |
| | | <el-button |
| | | :icon="Download" |
| | | link |
| | | class="linkBtn" |
| | | @click="downloadChart(layerData)" |
| | | ></el-button> |
| | | <el-button :icon="Download" link class="linkBtn" @click="downloadChart(layerData)"></el-button> |
| | | <!-- 暂时不用删除 --> |
| | | <!-- <el-button |
| | | :icon="Delete" |
| | | link |
| | | class="del linkBtn" |
| | | @click="deleteChart(e)" |
| | | ></el-button> --> |
| | | ></el-button>--> |
| | | </div> |
| | | <Bar-graph |
| | | :width="'100%'" |
| | | :height="'260px'" |
| | | :layerData="layerData" |
| | | ></Bar-graph> |
| | | <Bar-graph :width="'100%'" :height="'260px'" :layerData="layerData"></Bar-graph> |
| | | <div class="select"> |
| | | <el-select |
| | | v-model="layerValue" |
| | | class="m-2" |
| | | placeholder="选择图层" |
| | | size="small" |
| | | @change="layerChange" |
| | | > |
| | | <el-option |
| | | v-for="(item, i) in layeroptions" |
| | | :key="i" |
| | | :label="item.layerName" |
| | | :value="item.layerName" |
| | | /> |
| | | <el-select v-model="layerValue" class="m-2" placeholder="选择图层" size="small" @change="layerChange"> |
| | | <el-option v-for="(item, i) in layeroptions" :key="i" :label="item.layerName" |
| | | :value="item.layerName" /> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | |
| | | <el-button size="small" @click="addCharts" |
| | | >添加图表</el-button |
| | | > |
| | | </div> --> |
| | | </div>--> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | m/px</span |
| | | > |
| | | </div> |
| | | </div> --> |
| | | <div |
| | | class="inquireContent_table" |
| | | v-if="!chartIsshow" |
| | | > |
| | | </div>--> |
| | | <div class="inquireContent_table" v-if="!chartIsshow"> |
| | | <div class="table"> |
| | | <div class="table_head"> |
| | | <div class="table_head_td">序号</div> |
| | | <div class="table_head_td"> |
| | | <span> 图层名 </span> |
| | | <span> 分析结果 </span> |
| | | <span>图层名</span> |
| | | <span>最大值</span> |
| | | <span>最小值</span> |
| | | <span>分析结果</span> |
| | | </div> |
| | | </div> |
| | | <div class="table_content"> |
| | | <div |
| | | class="table_tr" |
| | | v-for="(e, i) in resultList" |
| | | :key="i" |
| | | > |
| | | <div class="table_tr" v-for="(e, i) in resultList" :key="i"> |
| | | <div class="table_td">{{ i + 1 }}</div> |
| | | <div class="table_td"> |
| | | <span> {{ e.layerName }}</span> |
| | | <span> {{ e.avg }}</span> |
| | | |
| | | <span>{{ e.layerName }} <label v-show="e.unit"> [{{ e.unit }}]</label></span> |
| | | <span>{{ e.max }}</span> |
| | | <span>{{ e.min }}</span> |
| | | <span>{{ e.avg }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="download" |
| | | v-if="!chartIsshow" |
| | | > |
| | | <el-button |
| | | link |
| | | @click="download" |
| | | >下载分析结果</el-button> |
| | | <div class="download" v-if="!chartIsshow"> |
| | | <el-button link @click="download">下载分析结果</el-button> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="dialog" |
| | | v-if="dialogShow" |
| | | @click.self="dialogShow = false" |
| | | > |
| | | <div class="dialog" v-if="dialogShow" @click.self="dialogShow = false"> |
| | | <div class="chart"> |
| | | <i @click.capture="closeDialog"><el-icon> |
| | | <i @click.capture="closeDialog"> |
| | | <el-icon> |
| | | <Close /> |
| | | </el-icon></i> |
| | | <BarGraphAxisLine |
| | | :width="'856px'" |
| | | :height="'636px'" |
| | | :layerData="layerData" |
| | | ></BarGraphAxisLine> |
| | | </el-icon> |
| | | </i> |
| | | <BarGraphAxisLine :width="'856px'" :height="'636px'" :layerData="layerData"></BarGraphAxisLine> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | saveFSDZJsonToExcel, |
| | | saveFSDZJsonToExcelLine, |
| | | } from "@/utils/downloadCSV.js"; |
| | | import { selectByPoint, selectByPolygon, selectByPolyline } from "@/api/api"; |
| | | import { |
| | | selectByPoint, |
| | | selectByPolygon, |
| | | selectByPolyline, |
| | | rasterAnalysis_selectByWktForPost, |
| | | } from "@/api/api"; |
| | | import { ElMessage } from "element-plus"; |
| | | import { Search, Delete, Download, Close } from "@element-plus/icons-vue"; |
| | | import WKT from "terraformer-wkt-parser"; |
| | | import * as turf from "@turf/turf"; |
| | | import { getToken } from "../../utils/auth"; |
| | | const store = useStore(); // 该方法用于返回store 实例 |
| | | const emits = defineEmits(["setCloseplotting"]); |
| | | let isShow = ref(false); |
| | |
| | | let layerNameNum = 0; |
| | | let geoWkt = ref(null); |
| | | let geoWktFlag = ref(false); |
| | | let wktType = ref(null); |
| | | //新增图表 |
| | | const addCharts = () => { |
| | | layerArr.value.push({ layerName: `null${layerNameNum}`, points: [] }); |
| | |
| | | // if (store.state.plottingInquireData.entitiesData.icon == "d.png") { |
| | | |
| | | // } |
| | | selectPoint({ |
| | | pixel: val, |
| | | wkt: store.state.plottingInquireData.entitiesData.wkt, |
| | | }); |
| | | // selectPoint({ |
| | | // pixel: val, |
| | | // wkt: store.state.plottingInquireData.entitiesData.wkt, |
| | | // }); |
| | | setOptionStart(); |
| | | setWebScoKet("Point", store.state.plottingInquireData.entitiesData.wkt, val); |
| | | }; |
| | | //节点选择 |
| | | const nodesChange = (val) => { |
| | | selectPolyline({ |
| | | nodes: val, |
| | | wkt: store.state.plottingInquireData.entitiesData.wkt, |
| | | }); |
| | | setOptionStart(); |
| | | setWebScoKet( |
| | | "PolyLine", |
| | | store.state.plottingInquireData.entitiesData.wkt, |
| | | val |
| | | ); |
| | | // selectPolyline({ |
| | | // nodes: val, |
| | | // wkt: store.state.plottingInquireData.entitiesData.wkt, |
| | | // }); |
| | | }; |
| | | |
| | | //图层选择 |
| | |
| | | e.min = e.minList.toString(); |
| | | e.lng = store.state.plottingInquireData.entitiesData.lng; |
| | | e.lat = store.state.plottingInquireData.entitiesData.lat; |
| | | |
| | | resultList.value.push(e); |
| | | }); |
| | | |
| | | console.log(resultList.value); |
| | | }; |
| | | //面查询接口 |
| | | const selectPolygon = async (res) => { |
| | |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | console.log(dt.result); |
| | | layeroptions.value = dt.result; |
| | | |
| | | layerValue.value = layeroptions.value[0].layerName; |
| | | layerArr.value.push(dt.result[0]); |
| | | chartIsshow.value = true; |
| | | |
| | | layerData.value = dt.result[0]; |
| | | |
| | | // dt.result.forEach((e) => { |
| | |
| | | }; |
| | | // store.commit("SET_plotting", obj); |
| | | store.state.plottingInquireData = obj; |
| | | |
| | | setCloseWebSocket(); |
| | | inquireData.value = { |
| | | name: "path #9", |
| | | icon: "q.png", |
| | | }; |
| | | isShow.value = false; |
| | | break; |
| | | } |
| | | } |
| | | }; |
| | | const handleClick = (tab: TabsPaneContext, event: Event) => {}; |
| | | const handleClick = (tab: TabsPaneContext, event: Event) => { }; |
| | | // const setCloseplotting = () => { |
| | | // emits("setCloseplotting", false); |
| | | // }; |
| | | let chartIsshow = ref(false); |
| | | const setMenuClose = () => { |
| | | isShow.value = false; |
| | | setCloseWebSocket(); |
| | | store.state.plottingInquireData = null; |
| | | inquireData.value = { |
| | | name: "path #9", |
| | | icon: "q.png", |
| | | }; |
| | | }; |
| | | const setCloseWebSocket = () => { |
| | | if (Window.ws) { |
| | | Window.ws.close(); |
| | | Window.ws.onclose = () => { |
| | | console.log("服务器关闭"); |
| | | }; |
| | | Window.ws = null; |
| | | } |
| | | }; |
| | | const setWebScoKet = async (type, wkt, node) => { |
| | | const data = await rasterAnalysis_selectByWktForPost({ |
| | | wkt: wkt, |
| | | size: node, |
| | | }); |
| | | |
| | | if (data) { |
| | | return; |
| | | } |
| | | }; |
| | | const setOptionStart = () => { |
| | | |
| | | resultList.value = []; |
| | | layerArr.value = []; |
| | | layeroptions.value = []; |
| | | layerValue.value = ''; |
| | | }; |
| | | const setWebSocketStart = () => { |
| | | // if (Window.ws) { |
| | | // setCloseWebSocket(); |
| | | // } |
| | | setOptionStart(); |
| | | var token = getToken(); |
| | | var url = socketUrl + "?token=" + token; |
| | | Window.ws = new WebSocket(url); |
| | | Window.ws.option = () => { }; |
| | | Window.ws.onmessage = (msg) => { |
| | | // console.log('来自服务器端的数据:' + msg.data); //监听接受来自服务端的信息 |
| | | if (msg.data != "连接成功") { |
| | | var val = JSON.parse(msg.data); |
| | | |
| | | if (val.analysisForPost && val.analysisForPost.token == token) { |
| | | var data = val.analysisForPost; |
| | | console.log(data) |
| | | switch (wktType.value) { |
| | | case "Point": |
| | | setWebSocketPoint(data); |
| | | break; |
| | | case "Polygon": |
| | | setWebSocketPoint(data); |
| | | break; |
| | | case "LineString": |
| | | setWebSocketPLine(data); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | }; |
| | | const setWebSocketPoint = (res) => { |
| | | var obj = { |
| | | avg: res.avgList.length <= 0 ? "--" : res.avgList.toString(), |
| | | layerName: res.layerName, |
| | | max: res.maxList.length <= 0 ? "--" : res.maxList.toString(), |
| | | min: res.minList.length <= 0 ? "--" : res.minList.toString(), |
| | | lng: store.state.plottingInquireData.entitiesData.lng, |
| | | lat: store.state.plottingInquireData.entitiesData.lat, |
| | | unit: res.unit |
| | | }; |
| | | resultList.value.push(obj); |
| | | }; |
| | | const setWebSocketPLine = (res) => { |
| | | res.points.forEach((element) => { |
| | | element.vals.forEach((v) => { |
| | | v = keepThreeNum(v); |
| | | }); |
| | | }); |
| | | layeroptions.value.push(res); |
| | | var data = layeroptions.value[0]; |
| | | layerValue.value = data.layerName; |
| | | layerArr.value.push(data); |
| | | layerData.value = data; |
| | | }; |
| | | watch( |
| | | () => store.state.plottingInquireData, |
| | | (nVal, oVal) => { |
| | | isShow.value = nVal.isshow; |
| | | inquireData.value = nVal.entitiesData; |
| | | geoWktFlag.value = false; |
| | | if (inquireData.value.wkt) { |
| | | var wkt = WKT.parse(inquireData.value.wkt); |
| | | setOptionStart(); |
| | | setCloseWebSocket(); |
| | | if (!nVal) return; |
| | | if (nVal.entitiesData.name != inquireData.value.name) { |
| | | isShow.value = nVal.isshow; |
| | | inquireData.value = nVal.entitiesData; |
| | | geoWktFlag.value = false; |
| | | if (inquireData.value.wkt) { |
| | | var wkt = WKT.parse(inquireData.value.wkt); |
| | | wktType.value = wkt.type; |
| | | if (wkt.type == "Point") { |
| | | geoWkt.value = |
| | | wkt.coordinates[0].toFixed(6) + " " + wkt.coordinates[1].toFixed(6); |
| | | geoWktFlag.value = true; |
| | | } |
| | | if (wkt.type == "Polygon") { |
| | | var Polygon = turf.multiPolygon([wkt.coordinates]); |
| | | var center = turf.center(Polygon); |
| | | geoWkt.value = |
| | | center.geometry.coordinates[0].toFixed(6) + |
| | | " " + |
| | | center.geometry.coordinates[1].toFixed(6); |
| | | geoWktFlag.value = true; |
| | | } |
| | | } |
| | | setWebSocketStart(); |
| | | |
| | | if (wkt.type == "Point") { |
| | | geoWkt.value = |
| | | wkt.coordinates[0].toFixed(6) + " " + wkt.coordinates[1].toFixed(6); |
| | | geoWktFlag.value = true; |
| | | if (nVal.entitiesData.icon == "x.png") { |
| | | pixelIsShow.value = true; |
| | | chartIsshow.value = true; |
| | | setWebScoKet("pline", nVal.entitiesData.wkt, ScopeBox.value.nodes); |
| | | // selectPolyline({ |
| | | // nodes: ScopeBox.value.nodes, |
| | | // wkt: nVal.entitiesData.wkt, |
| | | // }); |
| | | } |
| | | if (wkt.type == "Polygon") { |
| | | var Polygon = turf.multiPolygon([wkt.coordinates]); |
| | | var center = turf.center(Polygon); |
| | | geoWkt.value = |
| | | center.geometry.coordinates[0].toFixed(6) + |
| | | " " + |
| | | center.geometry.coordinates[1].toFixed(6); |
| | | geoWktFlag.value = true; |
| | | if (nVal.entitiesData.icon == "m.png") { |
| | | chartIsshow.value = false; |
| | | // if (nVal.entitiesData.name == oVal.entitiesData.name) { |
| | | // return; |
| | | // } |
| | | pixelIsShow.value = false; |
| | | // selectPolygon({ wkt: nVal.entitiesData.wkt }); |
| | | setWebScoKet("polygon", nVal.entitiesData.wkt, 0); |
| | | } |
| | | } |
| | | |
| | | if (nVal.entitiesData.icon == "x.png") { |
| | | pixelIsShow.value = true; |
| | | selectPolyline({ |
| | | nodes: ScopeBox.value.nodes, |
| | | wkt: nVal.entitiesData.wkt, |
| | | }); |
| | | } |
| | | if (nVal.entitiesData.icon == "m.png") { |
| | | chartIsshow.value = false; |
| | | if (nVal.entitiesData.name == oVal.entitiesData.name) { |
| | | return; |
| | | if (nVal && nVal.entitiesData.icon == "d.png") { |
| | | chartIsshow.value = false; |
| | | pixelIsShow.value = true; |
| | | // selectPoint({ |
| | | // pixel: ScopeBox.value.pixel, |
| | | // wkt: nVal.entitiesData.wkt, |
| | | // }); |
| | | setWebScoKet("polygon", nVal.entitiesData.wkt, ScopeBox.value.pixel); |
| | | } |
| | | pixelIsShow.value = false; |
| | | selectPolygon({ wkt: nVal.entitiesData.wkt }); |
| | | } |
| | | if (nVal && nVal.entitiesData.icon == "d.png") { |
| | | chartIsshow.value = false; |
| | | pixelIsShow.value = true; |
| | | selectPoint({ |
| | | pixel: ScopeBox.value.pixel, |
| | | wkt: nVal.entitiesData.wkt, |
| | | }); |
| | | } |
| | | }, |
| | | { deep: true } |
| | |
| | | position: absolute; |
| | | right: 26px; |
| | | top: 80px; |
| | | width: 320px; |
| | | width: 400px; |
| | | background: rgba(7, 8, 14, 0.8); |
| | | z-index: 100; |
| | | |
| | | .InquireHeader { |
| | | width: 100%; |
| | | height: 35px; |
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .inquireContent { |
| | | .inquireContent_title { |
| | | font-size: 14px; |
| | |
| | | margin-top: 10px; |
| | | padding-left: 10px; |
| | | } |
| | | |
| | | .inquireContent_name { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 0 10px; |
| | | padding-bottom: 16px; |
| | | |
| | | .plotting_list_tr_name { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | .ico { |
| | | width: 18px; |
| | | height: 18px; |
| | | } |
| | | |
| | | span { |
| | | font-size: 16px; |
| | | font-weight: 300; |
| | |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | |
| | | .plotting_list_tr_wkt { |
| | | font-size: 12px; |
| | | font-weight: 300; |
| | |
| | | margin-left: 10px; |
| | | flex: 1; |
| | | } |
| | | |
| | | .plotting_list_tr_btn { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .tr_btn { |
| | | width: 16px; |
| | | height: 15px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .dw { |
| | | background: url("../../assets/img/dw.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | margin-right: 18px; |
| | | } |
| | | |
| | | .sc { |
| | | background: url("../../assets/img/sc.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /deep/ .el-tabs__nav { |
| | | justify-content: center; |
| | | float: none; |
| | | } |
| | | |
| | | /deep/ .el-tabs__item, |
| | | /deep/ .el-tabs__item.is-active { |
| | | color: #d6e4ff; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .inquireContent_input { |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | margin-right: 10px; |
| | | padding-bottom: 14px; |
| | | border-bottom: 1px solid rgba(214, 228, 255, 0.4); |
| | | |
| | | .inquireContent_input_left { |
| | | width: 45%; |
| | | } |
| | | |
| | | .inquireContent_input_right { |
| | | width: 45%; |
| | | } |
| | | |
| | | .label { |
| | | font-size: 14px; |
| | | font-weight: 400; |
| | |
| | | padding-bottom: 10px; |
| | | } |
| | | } |
| | | |
| | | .inquireContent_msg { |
| | | padding: 12px 18px; |
| | | |
| | | .inquireContent_msg_k { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | |
| | | span { |
| | | font-size: 12px; |
| | | font-weight: 400; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .inquireContent_table { |
| | | padding-right: 15px; |
| | | padding-left: 15px; |
| | | padding-bottom: 10px; |
| | | |
| | | .table { |
| | | background: rgba(0, 0, 0, 0, 4); |
| | | border: 1px solid rgba(214, 228, 255, 0.4); |
| | | border-radius: 4px; |
| | | |
| | | .table_head { |
| | | height: 27px; |
| | | background: #0e151f; |
| | |
| | | // 0px 14px 16px 0px rgba(38, 47, 71, 0.68); |
| | | // border-radius: 4px 4px 0px 0px; |
| | | display: flex; |
| | | |
| | | .table_head_td { |
| | | width: 50px; |
| | | font-size: 14px; |
| | |
| | | border-right: 1px solid rgba(214, 228, 255, 0.4); |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .table_head_td:nth-child(2) { |
| | | width: 237px; |
| | | width: 16.34375vw; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | |
| | | border-right: 0; |
| | | } |
| | | } |
| | | |
| | | .table_content { |
| | | height: 440px; |
| | | overflow: auto; |
| | | |
| | | .table_tr { |
| | | // height: 27px; |
| | | display: flex; |
| | | background: #000000; |
| | | |
| | | // padding: 5px 0; |
| | | .table_td { |
| | | width: 50px; |
| | |
| | | align-items: center; |
| | | border-right: 1px solid rgba(214, 228, 255, 0.4); |
| | | box-sizing: border-box; |
| | | |
| | | div { |
| | | width: 100%; |
| | | background: skyblue; |
| | | height: 100%; |
| | | } |
| | | |
| | | // padding: 5px; |
| | | // white-space: nowrap; |
| | | span { |
| | | |
| | | display: block; |
| | | width: 50%; |
| | | width: 17%; |
| | | word-wrap: break-word; |
| | | // white-space: pre; |
| | | text-align: left; |
| | | } |
| | | |
| | | span:nth-child(2) { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | // display: flex; |
| | | // justify-content: flex-end; |
| | | // margin-left: 5%; |
| | | // float: right; |
| | | // width:16.34375vw; |
| | | text-align: center; |
| | | // background: skyblue; |
| | | } |
| | | } |
| | | |
| | | .table_td:nth-child(2) { |
| | | width: 237px; |
| | | width: 16.34375vw; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | // padding: 0 10px; |
| | | padding-left: 10px; |
| | | padding-right: 10px; |
| | | padding-top: 5px; |
| | | padding-bottom: 5px; |
| | | padding: 0 10px; |
| | | border-right: 0; |
| | | } |
| | | } |
| | | |
| | | .table_tr:nth-child(2n) { |
| | | background: #0e151f; |
| | | } |
| | | } |
| | | |
| | | .table_content::-webkit-scrollbar { |
| | | width: 8px; |
| | | } |
| | | |
| | | .table_content::-webkit-scrollbar-thumb { |
| | | border-radius: 10px; |
| | | background: rgba(0, 0, 0, 0.2); |
| | | } |
| | | |
| | | .table_content::-webkit-scrollbar-track { |
| | | border-radius: 0; |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .download { |
| | | padding-right: 15px; |
| | | padding-left: 15px; |
| | | padding-bottom: 14px; |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | |
| | | .el-button { |
| | | font-size: 12px; |
| | | color: #d6e4ff; |
| | | } |
| | | } |
| | | |
| | | .chart { |
| | | width: 100%; |
| | | height: 540px; |
| | | overflow: auto; |
| | | } |
| | | |
| | | .chart::-webkit-scrollbar { |
| | | width: 8px; |
| | | } |
| | | |
| | | .chart::-webkit-scrollbar-thumb { |
| | | border-radius: 10px; |
| | | background: rgba(0, 0, 0, 0.2); |
| | | } |
| | | |
| | | .chart::-webkit-scrollbar-track { |
| | | border-radius: 0; |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | |
| | | .chart_box { |
| | | width: 100%; |
| | | |
| | | .chart_btn { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | margin: 0 10px; |
| | | padding-top: 5px; |
| | | padding-bottom: 5px; |
| | | |
| | | // border-bottom: 1px solid rgba(214, 228, 255, 0.4); |
| | | .linkBtn { |
| | | color: #d6e4ff; |
| | | } |
| | | |
| | | .del { |
| | | color: red; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .select_box { |
| | | padding-bottom: 20px; |
| | | |
| | | .add_btn { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | |
| | | .select { |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .dialog { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | height: 100vh; |
| | | background-color: rgba(255, 255, 255, 0.4); |
| | | z-index: 110; |
| | | |
| | | .chart { |
| | | position: absolute; |
| | | top: 50%; |
| | |
| | | transform: translate(-50%, -50%); |
| | | background-color: rgb(33, 37, 44); |
| | | padding: 20px; |
| | | |
| | | i { |
| | | position: absolute; |
| | | right: 2px; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .btnstyle { |
| | | .el-button { |
| | | background: rgba(104, 156, 255, 0.2); |
| | |
| | | font-weight: 400; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .el-button:hover { |
| | | border: 1px solid #689cff; |
| | | } |
| | | |
| | | .delbtn { |
| | | background: rgba(245, 108, 108, 0.2); |
| | | border: 1px solid #5a0914; |