From 28bd61701bb409257ea0dd3c78f32bd0b45ebbd5 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期一, 06 三月 2023 09:16:35 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.20.39:8989/r/LFWEB_NEW --- src/components/MapView/mapMenuTop.vue | 657 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 487 insertions(+), 170 deletions(-) diff --git a/src/components/MapView/mapMenuTop.vue b/src/components/MapView/mapMenuTop.vue index 7155efe..9a79515 100644 --- a/src/components/MapView/mapMenuTop.vue +++ b/src/components/MapView/mapMenuTop.vue @@ -1,6 +1,10 @@ <template> <div class="menuBox"> - <el-form :inline="true" :model="menuTopFrom" class="demo-form-inline"> + <el-form + :inline="true" + :model="menuTopFrom" + class="demo-form-inline" + > <el-form-item> <el-select v-model="menuTopFrom.queryLayer" @@ -8,7 +12,10 @@ placeholder="璇烽�夋嫨..." :popper-append-to-body="false" > - <el-option :value="menuTopFrom.queryLayer" style="height: 100%"> + <el-option + :value="menuTopFrom.queryLayer" + style="height: 100%" + > <div style="height: 200px; overflow: auto"> <el-tree :data="layerData" @@ -22,16 +29,17 @@ </el-tree> </div> <div style="margin-top: 5px"> - <el-button size="small" plain @click="getCheckedNodes" - >纭</el-button - > + <el-button + size="small" + plain + @click="getCheckedNodes" + >纭</el-button> <el-button size="small" type="info" plain @click="resetCheckedNodes" - >閲嶇疆</el-button - > + >閲嶇疆</el-button> </div> </el-option> </el-select> @@ -68,13 +76,19 @@ >瀵煎叆閫夋嫨鑼冨洿</el-link > --> </el-form-item> + <el-form-item> - <el-button plain size="small" @click="getAttributeQuery" - >鏌ヨ</el-button - > - <el-button type="info" size="small" @click="clearQuery" plain - >閲嶇疆</el-button - > + <el-button + plain + size="small" + @click="getAttributeQuery" + >鏌ヨ</el-button> + <el-button + type="info" + size="small" + @click="clearQuery" + plain + >閲嶇疆</el-button> </el-form-item> <!-- <el-form-item> <el-button @@ -90,43 +104,116 @@ </el-form-item> --> </el-form> <queryinfo ref="queryinfo" /> + <!-- <div class="buffer-container" ></div> --> + <el-dialog + v-dialogDrag + custom-class="buffer-dialog" + top="40vh" + title="绠¢亾涓績绾挎煡璇�" + :visible.sync="dialogFormVisible" + :modal="false" + :lock-scroll="false" + :close-on-click-modal="false" + width="25%" + @opened="dialogOpend" + > + <el-form + :model="menuTopFrom" + label-width="150px" + > + <el-form-item label="绠¢亾涓績绾�"> + <el-select + @change="changeSelect2" + v-model="menuTopFrom.pipeline" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in pipelineOption" + :key="item.gid" + :label="item.pipeName" + :value="item.pipeName" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="閫夊彇绠¢亾"> + <el-select + v-model="menuTopFrom.segName" + placeholder="璇烽�夋嫨" + @change="selectChangeGid" + > + <el-option + v-for="item in segNameOption" + :key="item.gid" + :label="item.segName" + :value="item.gid" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="缂撳啿鍖哄ぇ灏忥紙m锛�"> + <el-input-number + v-model="menuTopFrom.bufferSize" + placeholder="" + @change="handleBufferChange" + :step="500" + ></el-input-number> + </el-form-item> + </el-form> + <div + slot="footer" + class="dialog-footer" + > + <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button + type="primary" + @click="changeBufferData" + >纭� 瀹�</el-button> + </div> + </el-dialog> </div> </template> <script> -import queryinfo from "../../views/Tools/queryinfo.vue"; -import $ from "jquery"; +import queryinfo from "../../views/Tools/queryinfo.vue" +import $ from "jquery" import { inquiry_SelectTabs, inquiry_uploadShp, encr, dataLib_selectTabs, -} from "../../api/api.js"; -import { getToken } from "@/utils/auth"; -import * as turf from "@turf/turf"; + pipelines_selectSegNames, +} from "../../api/api.js" +import { selectPipelines } from "@/api/screen.js" +import { getToken } from "@/utils/auth" +import * as turf from "@turf/turf" +import { wktToGeoJSON } from "@terraformer/wkt" export default { components: { queryinfo }, data() { return { menuTopFrom: { queryType: "", + pipeline: "", + segName: "", + bufferSize: 5000, }, treeChange: [], layerData: [ - { - id: 1, - label: "鍩虹鏁版嵁", - tabDesc: "鍩虹鏁版嵁", - value: "BD", - children: [], - }, - { - id: 2, - label: "涓氬姟鏁版嵁", - tabDesc: "涓氬姟鏁版嵁", - value: "BS", - children: [], - }, + // { + // id: 1, + // label: "鍩虹鏁版嵁", + // tabDesc: "鍩虹鏁版嵁", + // value: "BD", + // children: [], + // }, + // { + // id: 2, + // label: "涓氬姟鏁版嵁", + // tabDesc: "涓氬姟鏁版嵁", + // value: "BS", + // children: [], + // }, ], queryOption: [ @@ -154,6 +241,10 @@ value: "inputFile", label: "瀵煎叆閫夋嫨鑼冨洿", }, + { + value: "buffer", + label: "涓嚎缂撳啿鍖�", + }, ], defaultProps: { children: "children", @@ -161,76 +252,111 @@ }, graphicLayer: null, flyEntity: null, - }; + pipelineOption: [], + segNameOption: [], + bufferEntities: [], + featureLayer: [], + analyGid: null, + dialogFormVisible: false, + bufferLinePosition: [], + } }, mounted() { - this.menuTopFrom.queryType = "rectangle"; - this.getAllTable(); + this.menuTopFrom.queryType = "rectangle" + this.getAllTable() + this.getPipelineData() + }, + watch: { + analyGid(newVal, oldVal) { + if (newVal !== oldVal && this.dialogFormVisible) { + this.genBuffer() + } + }, }, methods: { changeValue(value) { - var obj = {}; + var obj = {} obj = this.queryOption.find(function (item) { - return item.value === value; - }); + return item.value === value + }) if (obj.value == "inputFile") { - this.getMenuTopFile(); + this.getMenuTopFile() + } else if (obj.value == "buffer") { + this.dialogFormVisible = true } }, async getAllTable() { const data = await dataLib_selectTabs({ pageIndex: 1, pageSize: 500, - }); + }) if (data.code != 200) { - this.$message.error("鍒楄〃璋冪敤澶辫触"); + this.$message.error("鍒楄〃璋冪敤澶辫触") } - var option = data.result.filter((res) => { - if (res.rows != 0) { - return res; + + // var val = data.result.filter(res => { + // if (res.rows != 0) { + // return res + // } + // }) + var val = data.result + var std = []; + val.filter((item) => { + if (std.indexOf(item.bak) == -1) { + std.push(item.bak); + this.layerData.push( + { + val: item.bak, + label: item.bak, + children: [], + } + ) } }); - for (var i in option) { - var val_Data = option[i]; - val_Data.id = "1" + i; - val_Data.label = val_Data.tabDesc; - if (option[i].ns == "bd") { - this.layerData[0].children.push(val_Data); - } else { - this.layerData[1].children.push(val_Data); - } - } + + this.layerData.filter((item) => { + val.filter((res) => { + if (item.val === res.bak && res.rows != 0 && res.rows) { + console.log(res) + res.label = res.tabDesc + item.children.push(res) + } + }) + }) + }, //鑾峰彇閫夋嫨鏍戠殑鑺傜偣 getCheckedNodes() { - var valTree = this.$refs.tree.getCheckedNodes(); - if (valTree.length == 0) return; - + var valTree = this.$refs.tree.getCheckedNodes() + if (valTree.length == 0) return this.menuTopFrom.queryLayer = valTree[0].tabDesc; + this.$store.state.propertiesName = valTree[0]; for (var i = 0; i < valTree.length; i++) { - this.treeChange.push(valTree[i]); + if (valTree[i].entity) { + this.treeChange.push(valTree[i]) + } } }, //娓呯┖鏍戦�変腑鐨勮妭鐐� resetCheckedNodes() { - this.treeChange = []; - this.menuTopFrom.queryLayer = null; - this.$refs.tree.setCheckedKeys([]); + this.treeChange = [] + this.menuTopFrom.queryLayer = null + this.$refs.tree.setCheckedKeys([]) }, //瀵煎叆shp鏂囦欢 async setMenuTopFile() { - var val = document.getElementById("getMenuTopFile").files; - if (!val || !val.length) return; - var formData = new FormData(); - var exts = [".shp", ".shx", ".dbf", ".prj"]; - var count = 0; + var val = document.getElementById("getMenuTopFile").files + if (!val || !val.length) return + var formData = new FormData() + var exts = [".shp", ".shx", ".dbf", ".prj"] + var count = 0 for (var i = 0; i < val.length; i++) { - var name = val[i].name.toLocaleLowerCase(); - var ext = name.substring(name.lastIndexOf(".")); + var name = val[i].name.toLocaleLowerCase() + var ext = name.substring(name.lastIndexOf(".")) if (exts.indexOf(ext) > -1) { - count++; - formData.append(val[i].name, val[i]); // fs.files[i].name,file + count++ + formData.append(val[i].name, val[i]) // fs.files[i].name,file } } @@ -238,8 +364,8 @@ this.$message({ message: "ShapeFile鏂囦欢閫夋嫨涓嶅叏锛�", type: "warning", - }); - return; + }) + return } $.ajax(BASE_URL + "/inquiry/uploadShp?token=" + getToken(), { type: "post", @@ -248,138 +374,149 @@ cache: false, processData: false, contentType: false, - success: (rs) => { + success: rs => { if (rs.code !== 200) { - return this.$message.error("鐢ㄦ埛瑙掕壊璇锋眰閿欒"); + return this.$message.error("鐢ㄦ埛瑙掕壊璇锋眰閿欒") } - this.$store.state.mapMenuShpFile = rs.result.wkt; - this.showMapMenuPop(); + this.$store.state.mapMenuShpFile = rs.result.wkt + this.showMapMenuPop() }, - error: (e) => { - console.log(e); + error: e => { + console.log(e) }, - }); + }) }, getMenuTopFile() { - $("#getMenuTopFile").click(); + $("#getMenuTopFile").click() }, //鏌ヨ getAttributeQuery() { //娓呯┖鏍囩粯 - sgworld.Creator.SimpleGraphic.edit(false, { editProp: false }); - sgworld.Creator.SimpleGraphic.clear(); + sgworld.Creator.SimpleGraphic.edit(false, { editProp: false }) + sgworld.Creator.SimpleGraphic.clear() + this.clearBufferEntities() if (this.$store.state.queryInfo.length != 0) { for (var i in this.$store.state.queryInfo) { - sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); + sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]) } - this.$store.state.queryInfo = []; + this.$store.state.queryInfo = [] } if (this.$store.state.primitLayer != null) { - sgworld.Creator.DeleteObject(this.$store.state.primitLayer); - this.$store.state.primitLayer = null; + sgworld.Creator.DeleteObject(this.$store.state.primitLayer) + this.$store.state.primitLayer = null } if (this.treeChange.length == 0) { - this.$message.error("璇烽�夋嫨瑕佹煡璇㈢殑鏁版嵁"); - return; + this.$message.error("璇烽�夋嫨瑕佹煡璇㈢殑鏁版嵁") + return } - if (this.menuTopFrom.queryType != "inputFile") { - sgworld.Creator.createSimpleGraphic( - this.menuTopFrom.queryType, - { - color: "#00FF0060", - outlineColor: "#0f0", - outlineWidth: 5, - }, - (entity) => { - this.setTurfGeometry(entity); - } - ); - } else { - this.getMenuTopFile(); + let type = this.menuTopFrom.queryType + switch (type) { + case "buffer": + this.dialogFormVisible = true + break + case "inputFile": + this.getMenuTopFile() + + break + default: + sgworld.Creator.createSimpleGraphic( + this.menuTopFrom.queryType, + { + color: "#00FF0060", + outlineColor: "#0f0", + outlineWidth: 5, + }, + entity => { + this.setTurfGeometry(entity) + } + ) + break } }, setTurfGeometry(res) { - var that = this; - var res_val; + var that = this + var res_val switch (this.menuTopFrom.queryType) { case "point": //鐐� - var val = that.setCartesianToEightFour(res.position.getValue()); - res_val = val; - that.setTurfCircle([val.lng, val.lat], 10); - break; + var val = that.setCartesianToEightFour(res.position.getValue()) + res_val = val + that.setTurfCircle([val.lng, val.lat], 10) + break case "polyline": //绾� - var polyline = res.polyline.positions.getValue(); - res_val = polyline; - that.setTurfPolyOrLine(polyline, "polyline"); - break; + var polyline = res.polyline.positions.getValue() + res_val = polyline + that.setTurfPolyOrLine(polyline, "polyline") + break case "rectangle": //鐭╁舰 - let rectangle = res.rectangle.coordinates.getValue(); - res_val = rectangle; + let rectangle = res.rectangle.coordinates.getValue() + res_val = rectangle var result = new Cesium.Rectangle.subsample( rectangle, Cesium.Ellipsoid.WGS84, rectangle.height - ); - that.setTurfPolyOrLine(result, "rectangle"); + ) + that.setTurfPolyOrLine(result, "rectangle") - break; + break case "circle": //鍦� - var val = that.setCartesianToEightFour(res.position.getValue()); - res_val = res.position.getValue(); - var radius = res.ellipse.semiMajorAxis.getValue(); - that.setTurfCircle([val.lng, val.lat], radius); - break; + var val = that.setCartesianToEightFour(res.position.getValue()) + res_val = res.position.getValue() + var radius = res.ellipse.semiMajorAxis.getValue() + that.setTurfCircle([val.lng, val.lat], radius) + break case "polygon": //澶氳竟褰� - var polygon = res.polygon.hierarchy.getValue().positions; - res_val = polygon; - that.setTurfPolyOrLine(polygon, "polygon"); - break; + var polygon = res.polygon.hierarchy.getValue().positions + res_val = polygon + that.setTurfPolyOrLine(polygon, "polygon") + break } - this.flyEntity = res_val; + this.flyEntity = res_val }, setTurfCircle(position, radius) { var options = { steps: 10, units: "meters", properties: { foo: "bar" }, - }; - var circle = turf.circle(position, radius, options); + } + var circle = turf.circle(position, radius, options) - this.setJonToWKT(circle); + this.setJonToWKT(circle) }, setTurfPolyOrLine(res, type) { var restVal, - std = []; + std = [] for (var i in res) { - var line_data = this.setCartesianToEightFour(res[i]); - std.push([line_data.lng, line_data.lat]); + var line_data = this.setCartesianToEightFour(res[i]) + std.push([line_data.lng, line_data.lat]) } if (type == "polyline") { - var line = turf.lineString(std, { name: "polyline" }); - restVal = turf.buffer(line, 10, { units: "meters" }); + var line = turf.lineString(std, { name: "polyline" }) + restVal = turf.buffer(line, 10, { units: "meters" }) } else if (type == "rectangle") { - var ste = this.setCartesianToEightFour(res[0]); - std.push([ste.lng, ste.lat]); - restVal = turf.polygon([std], { name: "rectangle" }); + var ste = this.setCartesianToEightFour(res[0]) + std.push([ste.lng, ste.lat]) + restVal = turf.polygon([std], { name: "rectangle" }) } else if (type == "polygon") { - var ste = this.setCartesianToEightFour(res[0]); - std.push([ste.lng, ste.lat]); - restVal = turf.polygon([std], { name: "polygon" }); + var ste = this.setCartesianToEightFour(res[0]) + std.push([ste.lng, ste.lat]) + restVal = turf.polygon([std], { name: "polygon" }) } - this.setJonToWKT(restVal); + console.log("restVal", restVal) + this.setJonToWKT(restVal) }, setJonToWKT(res) { - var jsonToWkt = this.$wkt.convert(res.geometry); - this.$store.state.mapMenuShpFile = encr(jsonToWkt); + let fixedVal = this.fixToPositon(res) + var jsonToWkt = this.$wkt.convert(fixedVal.geometry) + this.$store.state.mapMenuShpFile = encr(jsonToWkt) - this.showMapMenuPop(); + this.showMapMenuPop() }, showMapMenuPop() { - this.$store.state.mapSpaceQueryLayer = this.treeChange; - this.$store.state.mapPopBoxFlag = "1"; - this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.close(); + this.$store.state.mapSpaceQueryLayer = this.treeChange + this.$store.state.mapPopBoxFlag = "1" + this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.close() this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.open("绌洪棿鏌ヨ", null, { @@ -392,50 +529,187 @@ // window.Viewer.scene.primitives.removeAll() // } }, - }); + }) // this.$bus.$emit('changeMapMenuTop', 'true'); // sgworld.Creator.SimpleGraphic.clear(); //娓呯┖inputFile // var file = document.getElementById('getMenuTopFile'); // file.outerHTML = file.outerHTML; - this.$refs.pathClear.value = ""; + this.$refs.pathClear.value = "" }, clearQuery() { - this.$refs.pathClear.value = ""; - this.treeChange = []; - this.menuTopFrom.queryLayer = null; - this.menuTopFrom.queryType = "rectangle"; - this.$refs.tree.setCheckedKeys([]); + // 娓呮buffer + this.clearBufferEntities() + this.$refs.pathClear.value = "" + this.treeChange = [] + this.menuTopFrom.queryLayer = null + this.menuTopFrom.queryType = "rectangle" + this.$refs.tree.setCheckedKeys([]) //娓呯┖鏍囩粯 - sgworld.Creator.SimpleGraphic.edit(false, { editProp: false }); - sgworld.Creator.SimpleGraphic.clear(); + sgworld.Creator.SimpleGraphic.edit(false, { editProp: false }) + sgworld.Creator.SimpleGraphic.clear() if (this.$store.state.queryInfo.length != 0) { for (var i in this.$store.state.queryInfo) { - sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); + sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]) } - this.$store.state.queryInfo = []; + this.$store.state.queryInfo = [] } //鍏抽棴绐楀彛 this.$refs && this.$refs.queryinfo && - this.$refs.queryinfo.close("queryinfo"); + this.$refs.queryinfo.close("queryinfo") if (this.$store.state.primitLayer != null) { - sgworld.Creator.DeleteObject(this.$store.state.primitLayer); - this.$store.state.primitLayer = null; + sgworld.Creator.DeleteObject(this.$store.state.primitLayer) + this.$store.state.primitLayer = null } }, setCartesianToEightFour(res) { - var std = {}; - let ellipsoid = Viewer.scene.globe.ellipsoid; - let cartographic = ellipsoid.cartesianToCartographic(res); - std.lat = Cesium.Math.toDegrees(cartographic.latitude); - std.lng = Cesium.Math.toDegrees(cartographic.longitude); - std.alt = cartographic.height; - return std; + var std = {} + let ellipsoid = Viewer.scene.globe.ellipsoid + let cartographic = ellipsoid.cartesianToCartographic(res) + std.lat = Cesium.Math.toDegrees(cartographic.latitude) + std.lng = Cesium.Math.toDegrees(cartographic.longitude) + std.alt = cartographic.height + return std }, + async getPipelineData() { + const data = await pipelines_selectSegNames() + if (data.code != 200) { + this.$message.error("鍒楄〃璋冪敤澶辫触") + } + var std = [] + var str = [] + var result = data.result + for (var i in result) { + if (std.indexOf(result[i].pipeName) == -1) { + std.push(result[i].pipeName) + str.push(result[i]) + } + } + this.featureLayer = data.result + this.pipelineOption = str + this.menuTopFrom.pipeline = this.pipelineOption[0].pipeName + this.changeSelect2(this.menuTopFrom.pipeline) + }, + async genBuffer() { + let { pipeline, segName } = this.menuTopFrom + let params = { name: pipeline } + // let params = { name: "瑗挎皵涓滆緭涓�绾�" } + + const res = await selectPipelines(params) + if (res.code == 200) { + const item = res.result.find(item => item.gid == this.analyGid) + console.log("selectPipelines", item) + const wkt = item.wkt + + if (item && wkt) { + const line = wktToGeoJSON(wkt) + + let position = line.coordinates + if (wkt.includes("MULTILINESTRING")) { + position = line.coordinates.flat() + } + this.bufferLinePosition = position + if (this.dialogFormVisible) { + this.createBuffer() + } + } + } + }, + createBuffer() { + this.clearBufferEntities() + const position = this.bufferLinePosition + const buffRadius = this.menuTopFrom.bufferSize + var polylineF = turf.lineString(position) + var bufferd = turf.buffer(polylineF, buffRadius, { units: "meters" }) + var coordinates = bufferd.geometry.coordinates + // console.log("coordinates", coordinates) + + var points = coordinates[0] + var degreesArray = this.pointsToDegreesArray(points) + let array = Cesium.Cartesian3.fromDegreesArray(degreesArray) + const hierarchy = new Cesium.PolygonHierarchy(array) + const bufferPolygon = sgworld.Viewer.entities.add({ + polygon: { + hierarchy: hierarchy, + material: Cesium.Color.RED.withAlpha(0.5), + classificationType: Cesium.ClassificationType.BOTH, + }, + }) + this.bufferEntities.push(bufferPolygon) + let res = hierarchy.positions + sgworld.Navigate.flyToObj(bufferPolygon) + this.flyEntity = res + }, + changeBufferData() { + this.dialogFormVisible = false + let res = this.flyEntity + let restVal, + std = [] + for (let i in res) { + let line_data = this.setCartesianToEightFour(res[i]) + std.push([line_data.lng, line_data.lat]) + } + restVal = turf.polygon([std], { name: "polygon" }) + + console.log("bufferPolygon", res) + + console.log("bufferPolygon", restVal) + this.setJonToWKT(restVal) + }, + + pointsToDegreesArray(points) { + let degreesArray = [] + points.forEach(item => { + degreesArray.push(item[0]) + degreesArray.push(item[1]) + }) + return degreesArray + }, + clearBufferEntities() { + this.bufferEntities.forEach(entity => { + sgworld.Viewer.entities.remove(entity) + }) + this.flyEntity = null + }, + changeSelect2(res) { + var value = this.featureLayer + let option = [] + for (var i in value) { + if (value[i].pipeName == res) { + option.push(value[i]) + } + } + this.segNameOption = option + this.menuTopFrom.segName = option[0].segName || "<绌�>" + this.analyGid = option[0].gid + this.genBuffer() + }, + selectChangeGid(res) { + this.analyGid = res + }, + fixToPositon(restVal, digits = 6) { + restVal.geometry.coordinates.forEach(coord => { + if (Array.isArray(coord)) { + coord.forEach(item => { + if (item.length >= 2) { + item[0] = Number(item[0].toFixed(digits)) + item[1] = Number(item[1].toFixed(digits)) + } + }) + } + }) + return restVal + }, + handleBufferChange(val, oldVal) { + this.createBuffer() + }, + dialogOpend() { + this.createBuffer() + } }, -}; +} </script> <style lang="less" scoped> @@ -453,4 +727,47 @@ padding: 4px 20px; font-weight: 400; } +.buffer-dialog { + width: 300px; + height: 300px; + background-color: rgba(244, 248, 255, 0.85) !important; + .el-dialog__body { + .el-form-item { + margin-bottom: 20px !important; + } + } +} +</style> + +<style lang="less"> +.menuBox { + .el-dialog__wrapper { + pointer-events: none; + .buffer-dialog { + top: 355px; + background-color: rgba(244, 248, 255, 0.85) !important; + border: 1px solid rgba(32, 160, 255, 0.6); + color: #202020; + .el-dialog__body, + .el-dialog__header, + .el-dialog__footer { + pointer-events: auto; + } + .el-dialog__header { + padding: 10px 20px; + border-bottom: 1px solid rgba(32, 160, 255, 0.6); + + .el-dialog__headerbtn { + top: 10px; + font-size: 18px; + } + } + .el-form-item { + .el-input-number { + width: 202px; + } + } + } + } +} </style> -- Gitblit v1.9.3