16 files modified
2 files added
| | |
| | | .DS_Store |
| | | node_modules |
| | | /dist |
| | | |
| | | /public/wp |
| | | /tests/e2e/videos/ |
| | | /tests/e2e/screenshots/ |
| | | |
| | | |
| | | # local env files |
| | | .env.local |
| | | .env.*.local |
| | |
| | | <template> |
| | | <div id="app"> |
| | | <router-view /> |
| | | <el-dialog title="提示" :visible.sync="mapShow" width="1020px" :before-close="handleClose"> |
| | | <el-input v-model="xyValue" placeholder="请点击地图选择2.5维坐标"></el-input> |
| | | <xymap class="select-map-xy" @setXyValue="setXyValue"></xymap> |
| | | <div style="text-align: right;"> |
| | | <el-button @click="setMapXy" type="primary">确认</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapGetters } from "vuex" |
| | | |
| | | export default { |
| | | name: "app", |
| | | data() { |
| | | return {}; |
| | | return { |
| | | xyValue: '', |
| | | mapShow: false |
| | | } |
| | | }, |
| | | watch: {}, |
| | | computed: { |
| | | ...mapGetters(["selectMamShow"]), |
| | | }, |
| | | watch: { |
| | | mapShow: { |
| | | immediate: true, |
| | | handler (newVal) { |
| | | |
| | | if (newVal == true) { |
| | | this.xyValue = '' |
| | | } |
| | | |
| | | this.$store.commit('SET_SELECT_MAP', newVal) |
| | | } |
| | | }, |
| | | selectMamShow: { |
| | | immediate: true, |
| | | handler (newVal) { |
| | | this.mapShow = newVal |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | methods: {}, |
| | | computed: {} |
| | | methods: { |
| | | setXyValue (e) { |
| | | let str = '' |
| | | str = str + e[0] + ',' + e[1] |
| | | this.xyValue = str |
| | | }, |
| | | setMapXy () { |
| | | if (this.xyValue == '') { |
| | | this.$message({ |
| | | message: '请点击地图选择XY', |
| | | type: 'warning' |
| | | }) |
| | | } |
| | | |
| | | this.$store.commit('SET_MAP_X_Y', this.xyValue) |
| | | |
| | | this.mapShow = false |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss"> |
| | |
| | | height: 100%; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .select-map { |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | z-index: 3000; |
| | | background: green; |
| | | } |
| | | |
| | | .select-map-xy { |
| | | margin: 10px 0; |
| | | cursor: pointer; |
| | | } |
| | | </style> |
| | |
| | | 'openDrawsb', |
| | | openDrawChiose == 'openDrawLine' ? 'activeDraw' : '', |
| | | ]" |
| | | >规划路线</el-button |
| | | > |
| | | >规划路线</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="openDrawPointMethod" |
| | |
| | | 'openDrawsb', |
| | | openDrawChiose == 'openDrawPoint' ? 'activeDraw' : '', |
| | | ]" |
| | | >规划标点</el-button |
| | | > |
| | | >规划标点</el-button> |
| | | </el-button-group> |
| | | <div id="openTitle" style="display: none">当前选择:{{ openTitle }}</div> |
| | | <el-button-group id="openDrawLine" style="display: none"> |
| | |
| | | icon="el-icon-edit" |
| | | @click="getTypeSelected" |
| | | :disabled="beginDraw" |
| | | >{{ butTitle }}</el-button |
| | | > |
| | | <el-button type="primary" @click="stopDrawOur" icon="el-icon-delete" |
| | | >取消</el-button |
| | | > |
| | | >{{ butTitle }}</el-button> |
| | | <el-button type="primary" @click="stopDrawOur" icon="el-icon-delete">取消</el-button> |
| | | </el-button-group> |
| | | <el-button-group id="openDrawPoint" style="display: none"> |
| | | <el-button |
| | |
| | | icon="el-icon-edit" |
| | | @click="getTypeSelectedPoint" |
| | | :disabled="beginDraw" |
| | | >{{ butTitlePoint }}</el-button |
| | | > |
| | | <el-button type="primary" @click="stopDrawOur" icon="el-icon-delete" |
| | | >取消</el-button |
| | | > |
| | | >{{ butTitlePoint }}</el-button> |
| | | <el-button type="primary" @click="stopDrawOur" icon="el-icon-delete">取消</el-button> |
| | | </el-button-group> |
| | | </div> |
| | | <el-button-group id="dataConfirm" style="display: none"> |
| | | <el-button type="success" icon="el-icon-check" @click="useMapData" |
| | | >确定选择</el-button |
| | | > |
| | | <el-button type="success" icon="el-icon-check" @click="useMapData">确定选择</el-button> |
| | | <!-- v-show="notNow" --> |
| | | <el-button |
| | | type="danger" |
| | | @click="clearUseMapData" |
| | | icon="el-icon-refresh-right" |
| | | >清空</el-button |
| | | > |
| | | <el-button type="danger" @click="clearUseMapData" icon="el-icon-refresh-right">清空</el-button> |
| | | </el-button-group> |
| | | <tip v-show="showTip" :title="tipTitle" :position="position"></tip> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import OLCesium from "olcs/OLCesium.js"; |
| | | import "ol/ol.css"; |
| | | import OlView from "ol/View.js"; |
| | | import XYZ from "ol/source/XYZ"; |
| | | import OlLayerTile from "ol/layer/Tile.js"; |
| | | import OlMap from "ol/Map.js"; |
| | | import tip from "./tip.vue"; |
| | | import OLCesium from "olcs/OLCesium.js" |
| | | import "ol/ol.css" |
| | | import OlView from "ol/View.js" |
| | | import XYZ from "ol/source/XYZ" |
| | | import OlLayerTile from "ol/layer/Tile.js" |
| | | import OlMap from "ol/Map.js" |
| | | import tip from "./tip.vue" |
| | | import { |
| | | // eslint-disable-next-line no-unused-vars |
| | | defaults as OlControlDefaults, |
| | |
| | | // eslint-disable-next-line no-unused-vars |
| | | ZoomToExtent, |
| | | Rotate, |
| | | } from "ol/control.js"; |
| | | } from "ol/control.js" |
| | | |
| | | import VectorLayer from "ol/layer/Vector"; |
| | | import VectorSource from "ol/source/Vector"; |
| | | import VectorLayer from "ol/layer/Vector" |
| | | import VectorSource from "ol/source/Vector" |
| | | |
| | | import { OSM, TileWMS, Vector } from "ol/source"; |
| | | import { OSM, TileWMS, Vector } from "ol/source" |
| | | // import Draw from "ol/interaction/Draw"; |
| | | import Draw from "./Draw"; |
| | | import Draw from "./Draw" |
| | | |
| | | import Feature from "ol/Feature.js"; |
| | | import Point from "ol/geom/Point.js"; |
| | | import LineString from "ol/geom/LineString.js"; |
| | | import { Icon, Style, Fill, Stroke } from "ol/style.js"; |
| | | import Feature from "ol/Feature.js" |
| | | import Point from "ol/geom/Point.js" |
| | | import LineString from "ol/geom/LineString.js" |
| | | import { Icon, Style, Fill, Stroke } from "ol/style.js" |
| | | |
| | | // import drawFence from "./drawFence"; |
| | | |
| | | import OlFeature from "ol/Feature"; |
| | | import OlGeomPoint from "ol/geom/Point"; |
| | | import OlFeature from "ol/Feature" |
| | | import OlGeomPoint from "ol/geom/Point" |
| | | // import OlLayerVector from "ol/layer/Vector"; |
| | | // import OlSourceVector from "ol/source/Vector"; |
| | | import OlStyleStyle from "ol/style/Style"; |
| | | import OlStyleIcon from "ol/style/Icon"; |
| | | import OlStyleStyle from "ol/style/Style" |
| | | import OlStyleIcon from "ol/style/Icon" |
| | | // // 用来添加相关文字描述的 |
| | | import OlStyleText from "ol/style/Text"; |
| | | import OlStyleFill from "ol/style/Fill"; |
| | | import OlStyleText from "ol/style/Text" |
| | | import OlStyleFill from "ol/style/Fill" |
| | | // import Cesium from "libs/Cesium/Cesium.js"; |
| | | |
| | | export default { |
| | |
| | | ourLayer: {}, //图层合集 |
| | | |
| | | notNow: true, //如果修改,不显示确认按钮 |
| | | }; |
| | | } |
| | | }, |
| | | computed: { |
| | | openDrawChiose() { |
| | |
| | | // this.openDrawPoint |
| | | // ); |
| | | if (this.openDrawLine) { |
| | | return "openDrawLine"; |
| | | return "openDrawLine" |
| | | } else if (this.openDrawPoint) { |
| | | return "openDrawPoint"; |
| | | return "openDrawPoint" |
| | | } else { |
| | | return "notBut---"; |
| | | return "notBut---" |
| | | } |
| | | }, |
| | | }, |
| | |
| | | // url: "http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 注记 |
| | | // }), |
| | | // }), |
| | | new OlLayerTile({ |
| | | zIndex: 4, |
| | | title: "矢量", |
| | | source: new XYZ({ |
| | | url: "http://t3.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 行政区划 |
| | | // url: "/localData/sl/{z}/{x}/{y}.png", |
| | | tileUrlFunction: function (tileCoord) { |
| | | var z = tileCoord[0]; |
| | | var x = tileCoord[1]; |
| | | var y = Math.pow(2, z) + tileCoord[2]; |
| | | return "../assets/sl/" + z + "/" + x + "/" + y + ".png"; |
| | | }, |
| | | }), |
| | | }), |
| | | |
| | | // new OlLayerTile({ |
| | | // zIndex: 4, |
| | | // title: "矢量", |
| | | // source: new XYZ({ |
| | | // url: "http://t3.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 行政区划 |
| | | // // url: "/localData/sl/{z}/{x}/{y}.png", |
| | | // tileUrlFunction: function (tileCoord) { |
| | | // var z = tileCoord[0] |
| | | // var x = tileCoord[1] |
| | | // var y = Math.pow(2, z) + tileCoord[2] |
| | | // return "../assets/sl/" + z + "/" + x + "/" + y + ".png" |
| | | // }, |
| | | // }), |
| | | // }), |
| | | |
| | | // new OlLayerTile({ |
| | | // zIndex: 5, |
| | | // title: "中文注记", |
| | | // source: new XYZ({ |
| | | // url: "http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 注记 |
| | | // }), |
| | | // }), |
| | | |
| | | new OlLayerTile({ |
| | | zIndex: 5, |
| | | title: "中文注记", |
| | | title: "cesium切图", |
| | | source: new XYZ({ |
| | | url: "http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 注记 |
| | | url: "/wp/{z}/{x}/{y}.png", // 注记 |
| | | }), |
| | | }), |
| | | ], |
| | |
| | | ]), |
| | | target: "map", |
| | | view: new OlView({ |
| | | center: [0, 0], |
| | | zoom: 2, |
| | | center: [116.026801, 28.683427], |
| | | zoom: 16, |
| | | projection: "EPSG:4326", |
| | | }), |
| | | }); |
| | | window.ol2d = ol2d; |
| | | }) |
| | | window.ol2d = ol2d |
| | | |
| | | var view = ol2d.getView(); |
| | | var view = ol2d.getView() |
| | | |
| | | // let provider = new Cesium.UrlTemplateImageryProvider({ |
| | | // url: "/wp/{z}/{x}/{y}.png", |
| | |
| | | // view.imageryLayers.addImageryProvider(provider); |
| | | |
| | | // view.setCenter([115.85883507433789, 28.708432053474827]) |
| | | view.setCenter([114.03858862, 27.63088262]); |
| | | |
| | | // |
| | | view.setZoom(18); |
| | | this.view = view; |
| | | const ol3d = new OLCesium({ map: window.ol2d }); |
| | | window.ol3d = ol3d; |
| | | this.view = view |
| | | const ol3d = new OLCesium({ map: window.ol2d }) |
| | | window.ol3d = ol3d |
| | | |
| | | // ol2d.addLayer(this.gunAddlayer); |
| | | // ol2d.addLayer(this.peopleAddlayer); |
| | |
| | | methods: { |
| | | clearUseMapData() { |
| | | if (this.openDrawPoint) { |
| | | this.$store.commit("setPointData", ""); //用vuex清空最终数据 |
| | | this.$store.commit("setPointData", "") //用vuex清空最终数据 |
| | | } else if (this.openDrawLine) { |
| | | this.$store.commit("setRotesData", ""); //用vuex清空最终数据 |
| | | this.$store.commit("setRotesData", "") //用vuex清空最终数据 |
| | | } |
| | | this.useMapData(); |
| | | this.useMapData() |
| | | }, |
| | | onceOnlodad(ourDatas) { |
| | | this.ourDatas = ourDatas; |
| | | this.Renders(ourDatas); |
| | | this.ourDatas = ourDatas |
| | | this.Renders(ourDatas) |
| | | }, |
| | | //加载底层路线和图标 |
| | | Renders(ourDatas) { |
| | | // for (let i in ourDatas) { |
| | | // console.log(ourDatas[i].value, "------", i); |
| | | // } |
| | | this.deleteElement(); |
| | | this.deleteElement() |
| | | for (let k in ourDatas) { |
| | | if (ourDatas[k].isLine) { |
| | | if (!ourDatas[k].value) { |
| | | // this.deleteElement("line", ourDatas[k].id); |
| | | } else { |
| | | this.addLines(ourDatas[k], "line"); |
| | | this.addLines(ourDatas[k], "line") |
| | | } |
| | | } else { |
| | | if (!ourDatas[k].value) { |
| | | // this.deleteElement("point", ourDatas[k].id); |
| | | } else { |
| | | this.addPoint(ourDatas[k], "point"); |
| | | this.addPoint(ourDatas[k], "point") |
| | | } |
| | | } |
| | | } |
| | | this.drawLayerRoom(); //重置绘画层 |
| | | this.drawLayerRoom() //重置绘画层 |
| | | }, |
| | | // 若没有value数据,删除地图上的元素 |
| | | deleteElement(name, id) { |
| | | // console.log(name, id); |
| | | // this.ourLayer[name + id].getSource().clear(); |
| | | for (let k in this.ourLayer) { |
| | | this.ourLayer[k].getSource().clear(); |
| | | this.ourLayer[k].getSource().clear() |
| | | } |
| | | }, |
| | | //加载点 |
| | |
| | | iconFeatureTitle = new OlFeature({ |
| | | geometry: new OlGeomPoint(data.value), //绘制图形(点) |
| | | }), |
| | | that = this; |
| | | that = this |
| | | iconFeature.setStyle( |
| | | new OlStyleStyle({ |
| | | image: new OlStyleIcon({ |
| | |
| | | src: "img/dingwei/dingwei5.png", |
| | | }), |
| | | }) |
| | | ); |
| | | ) |
| | | iconFeatureTitle.setStyle( |
| | | new OlStyleStyle({ |
| | | text: new OlStyleText({ |
| | |
| | | }), |
| | | }), |
| | | }) |
| | | ); |
| | | layer.getSource().addFeature(iconFeature); |
| | | layer.getSource().addFeature(iconFeatureTitle); |
| | | ) |
| | | layer.getSource().addFeature(iconFeature) |
| | | layer.getSource().addFeature(iconFeatureTitle) |
| | | //保存图层 |
| | | this.ourLayer[name + data.id] = layer; |
| | | ol2d.addLayer(that.ourLayer[name + data.id]); |
| | | this.ourLayer[name + data.id] = layer |
| | | ol2d.addLayer(that.ourLayer[name + data.id]) |
| | | // console.log(this.ourLayer, 77777); |
| | | }, |
| | | addLines(data, name) { |
| | |
| | | zIndex: 22, |
| | | source: new VectorSource(), |
| | | }), |
| | | that = this; |
| | | that = this |
| | | //绘画线路 |
| | | var entityData = ""; |
| | | var entityArr = []; |
| | | entityData = data.value.match(/\(([^)]*)\)/); |
| | | var entityData = "" |
| | | var entityArr = [] |
| | | entityData = data.value.match(/\(([^)]*)\)/) |
| | | if (entityData && entityData != "") { |
| | | entityData = entityData[1].split(","); |
| | | entityData = entityData[1].split(",") |
| | | for (var j = 0; j < entityData.length; j++) { |
| | | entityArr.push([ |
| | | Number(entityData[j].split(" ")[0]), |
| | | Number(entityData[j].split(" ")[1]), |
| | | ]); |
| | | ]) |
| | | } |
| | | } |
| | | var lineCoords = entityArr; // 线里点的集合 |
| | | var lineCoords = entityArr // 线里点的集合 |
| | | // console.log(lineCoords); |
| | | var feature_LineString = new Feature({ |
| | | //线面板 |
| | | geometry: new LineString(lineCoords), |
| | | }); |
| | | }) |
| | | feature_LineString.setStyle( |
| | | //线样式 |
| | | new Style({ |
| | |
| | | width: 5, |
| | | }), |
| | | }) |
| | | ); |
| | | ) |
| | | //线名称 |
| | | let lineFeatureTitle = new OlFeature({ |
| | | geometry: new OlGeomPoint(lineCoords[0]), //绘制图形(点) |
| | | }); |
| | | }) |
| | | lineFeatureTitle.setStyle( |
| | | new OlStyleStyle({ |
| | | text: new OlStyleText({ |
| | |
| | | }), |
| | | }), |
| | | }) |
| | | ); |
| | | layer.getSource().addFeature(lineFeatureTitle); |
| | | layer.getSource().addFeature(feature_LineString); |
| | | ) |
| | | layer.getSource().addFeature(lineFeatureTitle) |
| | | layer.getSource().addFeature(feature_LineString) |
| | | //保存图层 |
| | | this.ourLayer[name + data.id] = layer; |
| | | ol2d.addLayer(that.ourLayer[name + data.id]); |
| | | this.ourLayer[name + data.id] = layer |
| | | ol2d.addLayer(that.ourLayer[name + data.id]) |
| | | // console.log(this.ourLayer, 88888); |
| | | }, |
| | | |
| | |
| | | |
| | | //下面是选择点或线路开始按钮 |
| | | init(val, num, value) { |
| | | this.openTitle = val; |
| | | this.openTitle = val |
| | | if (value) { |
| | | this.notNow = false; |
| | | this.notNow = false |
| | | } else { |
| | | this.notNow = true; |
| | | this.notNow = true |
| | | } |
| | | //notNow来确定是修改值还是增加值 是否显示$("#dataConfirm").show(100); |
| | | this.nowIndex = num; |
| | | this.nowIndex = num |
| | | if (val.indexOf("路径") != -1) { |
| | | // console.log("加载路径按钮"); |
| | | this.controlBut("openDrawLine", this.notNow); |
| | | this.controlBut("openDrawLine", this.notNow) |
| | | } else { |
| | | // console.log("加载标点按钮"); |
| | | this.controlBut("openDrawPoint", this.notNow); |
| | | this.controlBut("openDrawPoint", this.notNow) |
| | | } |
| | | }, |
| | | controlBut(openName, notNow) { |
| | | //判断哪个dom打开 |
| | | this.closeOurBut(); |
| | | this[openName] = true; |
| | | $("#" + openName).show(); |
| | | $("#openTitle").show(); |
| | | this.closeOurBut() |
| | | this[openName] = true |
| | | $("#" + openName).show() |
| | | $("#openTitle").show() |
| | | if (!notNow) { |
| | | $("#dataConfirm").show(100); |
| | | $("#dataConfirm").show(100) |
| | | } |
| | | }, |
| | | closeOurBut(open) { |
| | | //整体关闭dom |
| | | $("#dataConfirm").hide(); |
| | | $("#openDrawPoint").hide(); |
| | | $("#openDrawLine").hide(); |
| | | $("#openTitle").hide(); |
| | | this.openDrawLine = false; |
| | | this.openDrawPoint = false; |
| | | $("#dataConfirm").hide() |
| | | $("#openDrawPoint").hide() |
| | | $("#openDrawLine").hide() |
| | | $("#openTitle").hide() |
| | | this.openDrawLine = false |
| | | this.openDrawPoint = false |
| | | if (open) { |
| | | this.openTitle = ""; |
| | | this.$parent.closeOpenedMap(); //开放按钮 |
| | | this.drawLayerRoom(); |
| | | this.openTitle = "" |
| | | this.$parent.closeOpenedMap() //开放按钮 |
| | | this.drawLayerRoom() |
| | | } |
| | | }, |
| | | //取消按钮 |
| | | stopDrawOur() { |
| | | this.closeOurBut(true); |
| | | this.closeOurBut(true) |
| | | }, |
| | | //确认数据 |
| | | useMapData() { |
| | | //返回用数据 |
| | | // console.log(this.openDrawChiose, this.nowIndex); |
| | | this.$parent.MapDataShow = false; |
| | | this.$parent.MapDataShow = false |
| | | let val = |
| | | this.openDrawChiose == "openDrawLine" |
| | | ? "line" |
| | | : this.openDrawChiose == "openDrawPoint" |
| | | ? "point" |
| | | : "notData"; |
| | | : "notData" |
| | | // console.log(val); |
| | | this.$parent.backMapDataOurData(val, this.nowIndex); |
| | | this.$parent.backMapDataOurData(val, this.nowIndex) |
| | | // 返回后关闭操作按钮 |
| | | this.closeOurBut(); |
| | | this.closeOurBut() |
| | | //清除绘画图层 |
| | | this.drawLayerRoom(); |
| | | this.drawLayerRoom() |
| | | }, |
| | | //提示位置 |
| | | setTipPosition(x, y, n, m) { |
| | | this.position.w = x + n; |
| | | this.position.h = y + m; |
| | | this.position.w = x + n |
| | | this.position.h = y + m |
| | | }, |
| | | //实时添加最上图层,为了编辑或新建路径能在最上 |
| | | drawLayerRoom() { |
| | | let that = this; |
| | | let that = this |
| | | //添加绘画图层--为了在最上层--所以每次绘画要重新添加图层 |
| | | if (that.peopleLineAddlayer) { |
| | | that.peopleLineAddlayer.getSource().clear(); |
| | | that.peopleLineAddlayer = null; |
| | | that.peopleLineAddlayer.getSource().clear() |
| | | that.peopleLineAddlayer = null |
| | | that.peopleLineAddlayer = new VectorLayer({ |
| | | zIndex: 22, |
| | | source: new VectorSource(), |
| | | }); |
| | | }) |
| | | } else { |
| | | that.peopleLineAddlayer = new VectorLayer({ |
| | | zIndex: 22, |
| | | source: new VectorSource(), |
| | | }); |
| | | }) |
| | | } |
| | | ol2d.addLayer(this.peopleLineAddlayer); |
| | | ol2d.addLayer(this.peopleLineAddlayer) |
| | | }, |
| | | |
| | | //选择绘画路线------↓ |
| | | getTypeSelected() { |
| | | let that = this; |
| | | this.beginDraw = true; |
| | | this.draw && ol2d.removeInteraction(this.draw); |
| | | let that = this |
| | | this.beginDraw = true |
| | | this.draw && ol2d.removeInteraction(this.draw) |
| | | //再根据typeSelect的值绘制新的Interaction |
| | | this.drawLayerRoom(); //重置绘画层 |
| | | this.addInteraction(); |
| | | this.drawLayerRoom() //重置绘画层 |
| | | this.addInteraction() |
| | | }, |
| | | addInteraction() { |
| | | let value = this.typeSelected, |
| | | that = this; |
| | | this.tipTitle = "单击左键或右键开始绘画"; |
| | | that = this |
| | | this.tipTitle = "单击左键或右键开始绘画" |
| | | $("#map") //提示器 |
| | | .off("mousemove") |
| | | .mousemove(function (e) { |
| | | if (!that.showTip) { |
| | | that.showTip = true; |
| | | that.showTip = true |
| | | } |
| | | that.setTipPosition(e.offsetX, e.offsetY, 10, 10); |
| | | }); |
| | | this.coordinates = []; |
| | | that.setTipPosition(e.offsetX, e.offsetY, 10, 10) |
| | | }) |
| | | this.coordinates = [] |
| | | if (value !== "None") { |
| | | this.draw = new Draw({ |
| | | source: this.DrawLayer.getSource(), |
| | |
| | | }), |
| | | coordinate: function (res) { |
| | | //画线中的点 |
| | | that.coordinates.push(res.coordinate_); |
| | | that.tipTitle = "可继续,或选择最终位置双击结束"; |
| | | that.coordinates.push(res.coordinate_) |
| | | that.tipTitle = "可继续,或选择最终位置双击结束" |
| | | }, |
| | | coordinateOver: function (res) { |
| | | // 结束绘画 处理数据 |
| | | let d = that.doData(that.coordinates); |
| | | that.addLinesDraw(d); |
| | | that.$store.commit("setRotesData", d); //用vuex传最终数据 |
| | | let d = that.doData(that.coordinates) |
| | | that.addLinesDraw(d) |
| | | that.$store.commit("setRotesData", d) //用vuex传最终数据 |
| | | }, |
| | | }); |
| | | ol2d.addInteraction(this.draw); |
| | | }) |
| | | ol2d.addInteraction(this.draw) |
| | | } |
| | | }, |
| | | //处理数据 |
| | | doData(val) { |
| | | let str = "LINESTRING("; |
| | | let str = "LINESTRING(" |
| | | for (let k = 0; k < val.length; k++) { |
| | | str += `${val[k][0]} ${val[k][1]}`; |
| | | str += `${val[k][0]} ${val[k][1]}` |
| | | if (k != val.length - 1) { |
| | | str += ","; |
| | | str += "," |
| | | } |
| | | } |
| | | str += ")"; |
| | | return str; |
| | | str += ")" |
| | | return str |
| | | }, |
| | | addLinesDraw(val) { |
| | | var that = this; |
| | | var entityData = ""; |
| | | var entityArr = []; |
| | | entityData = val.match(/\(([^)]*)\)/); |
| | | var that = this |
| | | var entityData = "" |
| | | var entityArr = [] |
| | | entityData = val.match(/\(([^)]*)\)/) |
| | | |
| | | // 此时result=["(dsfasjfj3124123)", "dsfasjfj3124123"]; |
| | | if (entityData && entityData != "") { |
| | | entityData = entityData[1].split(","); |
| | | entityData = entityData[1].split(",") |
| | | |
| | | for (var j = 0; j < entityData.length; j++) { |
| | | entityArr.push([ |
| | | Number(entityData[j].split(" ")[0]), |
| | | Number(entityData[j].split(" ")[1]), |
| | | ]); |
| | | ]) |
| | | } |
| | | } |
| | | |
| | | var lineCoords = entityArr; // 线里点的集合 |
| | | var lineCoords = entityArr // 线里点的集合 |
| | | //移动位置---暂不需要 |
| | | // var view = ol2d.getView(); |
| | | // view.setCenter([ |
| | |
| | | // 要素 |
| | | var feature_LineString = new Feature({ |
| | | geometry: new LineString(lineCoords), |
| | | }); |
| | | }) |
| | | |
| | | feature_LineString.setStyle( |
| | | new Style({ |
| | |
| | | width: 5, |
| | | }), |
| | | }) |
| | | ); |
| | | that.peopleLineAddlayer.getSource().addFeature(feature_LineString); |
| | | that.butTitle = "重新绘画"; |
| | | ) |
| | | that.peopleLineAddlayer.getSource().addFeature(feature_LineString) |
| | | that.butTitle = "重新绘画" |
| | | // if (!this.fromView) { |
| | | $("#dataConfirm").show(100); |
| | | $("#dataConfirm").show(100) |
| | | // } |
| | | if (that.draw != null) { |
| | | that.beginDraw = false; |
| | | that.draw.controlDrawing(true); |
| | | that.tipTitle = "已结束绘画,点击重新绘画清除上次内容并开始绘画"; |
| | | $("#map").unbind("mousemove"); |
| | | that.beginDraw = false |
| | | that.draw.controlDrawing(true) |
| | | that.tipTitle = "已结束绘画,点击重新绘画清除上次内容并开始绘画" |
| | | $("#map").unbind("mousemove") |
| | | // setTimeout(() => { |
| | | this.tipTitle = ""; |
| | | this.showTip = false; |
| | | this.tipTitle = "" |
| | | this.showTip = false |
| | | } |
| | | }, |
| | | //绘画路线------↑ |
| | | //绘画点-------↓ |
| | | getTypeSelectedPoint() { |
| | | this.tipTitle = "单击左键选择位置"; |
| | | let that = this; |
| | | let isHaveOne = false; |
| | | this.drawLayerRoom(); //重置绘画层 |
| | | this.tipTitle = "单击左键选择位置" |
| | | let that = this |
| | | let isHaveOne = false |
| | | this.drawLayerRoom() //重置绘画层 |
| | | $("#map") |
| | | .off("mousemove") |
| | | .mousemove(function (e) { |
| | | if (!that.showTip) { |
| | | that.showTip = true; |
| | | that.showTip = true |
| | | } |
| | | that.setTipPosition(e.offsetX, e.offsetY, 10, 10); |
| | | }); |
| | | that.setTipPosition(e.offsetX, e.offsetY, 10, 10) |
| | | }) |
| | | |
| | | if (this.typeSelected !== "None") { |
| | | this.draw = new Draw({ |
| | |
| | | coordinate: function (res) {}, |
| | | coordinateOverPoint: function (res) { |
| | | if (isHaveOne) { |
| | | return; |
| | | return |
| | | } |
| | | that.$store.commit("setPointData", res.coordinate); //用vuex传最终数据 |
| | | that.addIconMarker(res.coordinate); |
| | | isHaveOne = true; |
| | | that.$store.commit("setPointData", res.coordinate) //用vuex传最终数据 |
| | | that.addIconMarker(res.coordinate) |
| | | isHaveOne = true |
| | | }, |
| | | }); |
| | | ol2d.addInteraction(this.draw); |
| | | }) |
| | | ol2d.addInteraction(this.draw) |
| | | } |
| | | }, |
| | | addIconMarker(intlat) { |
| | | let that = this; |
| | | let that = this |
| | | let iconFeature = new OlFeature({ |
| | | geometry: new OlGeomPoint(intlat), //绘制图形(点) |
| | | }); |
| | | }) |
| | | iconFeature.setStyle( |
| | | new OlStyleStyle({ |
| | | image: new OlStyleIcon({ |
| | |
| | | src: "img/dingwei/dingwei6.png", |
| | | }), |
| | | }) |
| | | ); |
| | | that.peopleLineAddlayer.getSource().addFeature(iconFeature); |
| | | this.butTitlePoint = "重新标点"; |
| | | ) |
| | | that.peopleLineAddlayer.getSource().addFeature(iconFeature) |
| | | this.butTitlePoint = "重新标点" |
| | | if (!this.fromView) { |
| | | $("#dataConfirm").show(100); |
| | | $("#dataConfirm").show(100) |
| | | } |
| | | if (this.draw != null) { |
| | | this.draw.controlDrawing(true); |
| | | $("#map").unbind("mousemove"); |
| | | this.tipTitle = ""; |
| | | this.showTip = false; |
| | | this.draw.controlDrawing(true) |
| | | $("#map").unbind("mousemove") |
| | | this.tipTitle = "" |
| | | this.showTip = false |
| | | } |
| | | }, |
| | | //绘制点------↑ |
| New file |
| | |
| | | <!-- |
| | | * @Descripttion: |
| | | * @version: |
| | | * @Author: song |
| | | * @Date: 2021-04-08 15:14:57 |
| | | * @LastEditors: song |
| | | * @LastEditTime: 2021-04-24 11:59:43 |
| | | --> |
| | | <template> |
| | | <div id="xymap"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import OLCesium from "olcs/OLCesium.js" |
| | | import "ol/ol.css" |
| | | import OlView from "ol/View.js" |
| | | import XYZ from "ol/source/XYZ" |
| | | import OlLayerTile from "ol/layer/Tile.js" |
| | | import OlMap from "ol/Map.js" |
| | | import { |
| | | // eslint-disable-next-line no-unused-vars |
| | | defaults as OlControlDefaults, |
| | | defaults, |
| | | // 全屏控件 |
| | | // FullScreen, |
| | | // 比例尺控件 |
| | | // ScaleLine, |
| | | // 缩放滚动条控件 |
| | | // eslint-disable-next-line no-unused-vars |
| | | ZoomSlider, |
| | | // 鼠标位置控件 |
| | | // eslint-disable-next-line no-unused-vars |
| | | MousePosition, |
| | | // -地图属性控件 |
| | | // Attribution, |
| | | // 鹰眼控件 |
| | | // eslint-disable-next-line no-unused-vars |
| | | OverviewMap, |
| | | // 缩放到范围控件 |
| | | // eslint-disable-next-line no-unused-vars |
| | | ZoomToExtent, |
| | | // Rotate, |
| | | } from "ol/control.js" |
| | | |
| | | |
| | | export default { |
| | | name: "Map", |
| | | data () { |
| | | return { |
| | | view: "", |
| | | } |
| | | }, |
| | | |
| | | mounted () { |
| | | const that = this |
| | | const ol2d = new OlMap({ |
| | | layers: [ |
| | | new OlLayerTile({ |
| | | zIndex: 5, |
| | | title: "cesium切图", |
| | | source: new XYZ({ |
| | | url: "/wp/{z}/{x}/{y}.png", // 注记 |
| | | }), |
| | | }), |
| | | ], |
| | | |
| | | // 注意地图控件的写法 |
| | | controls: defaults().extend([ |
| | | // new FullScreen(), |
| | | // new ScaleLine(), |
| | | // new MousePosition(), |
| | | // new Rotate(), |
| | | // new Attribution() |
| | | ]), |
| | | target: "xymap", |
| | | view: new OlView({ |
| | | center: [116.026801, 28.683427], |
| | | zoom: 16, |
| | | projection: "EPSG:4326", |
| | | }), |
| | | }) |
| | | |
| | | var view = ol2d.getView() |
| | | |
| | | this.view = view |
| | | |
| | | ol2d.on("singleclick", (e) => { |
| | | that.$emit('setXyValue', e.coordinate) |
| | | }) |
| | | }, |
| | | methods: { |
| | | |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | #xymap { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 480px; |
| | | } |
| | | </style> |
| New file |
| | |
| | | <template> |
| | | <div @click="selectMapClick"> |
| | | <el-input readonly class="select-input-map" v-model="mapXyValue" placeholder="请选择2.5维坐标"></el-input> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { mapGetters } from "vuex" |
| | | |
| | | export default { |
| | | computed: { |
| | | ...mapGetters(['mapXyValue']) |
| | | }, |
| | | methods: { |
| | | selectMapClick () { |
| | | this.$store.commit('SET_SELECT_MAP', true) |
| | | }, |
| | | }, |
| | | created () { |
| | | this.$store.commit('SET_MAP_X_Y', '') |
| | | }, |
| | | watch: { |
| | | mapXyValue: { |
| | | immediate: true, |
| | | handler (newVal) { |
| | | this.$emit("setData", newVal) |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |
| | |
| | | |
| | | //加载全局组件选地图定位点,每个页面都要使用 |
| | | import chousePoint from './components/mapOncePoint/chousePoint' |
| | | Vue.component("chousePoint", chousePoint); |
| | | Vue.component("chousePoint", chousePoint) |
| | | |
| | | import xymap from './components/xymap/map' |
| | | Vue.component("xymap", xymap) |
| | | |
| | | import setxy from './components/xymap/setxy' |
| | | Vue.component("setxy", setxy) |
| | | |
| | | new Vue({ |
| | | router, |
| | |
| | | pointData: (state) => state.map.pointData, //获取点 |
| | | mapServiceValue: (state) => state.map.mapServiceValue, |
| | | notSet: (state) => state.map.notSet, |
| | | }; |
| | | export default getters; |
| | | selectMamShow: (state) => state.user.selectMamShow, |
| | | mapXyValue: (state) => state.user.mapXyValue, |
| | | |
| | | } |
| | | export default getters |
| | |
| | | |
| | | |
| | | function addPath(ele, first) { |
| | | const menu = website.menu; |
| | | const propsConfig = menu.props; |
| | | const menu = website.menu |
| | | const propsConfig = menu.props |
| | | const propsDefault = { |
| | | label: propsConfig.label || 'name', |
| | | path: propsConfig.path || 'path', |
| | | icon: propsConfig.icon || 'icon', |
| | | children: propsConfig.children || 'children' |
| | | } |
| | | const icon = ele[propsDefault.icon]; |
| | | ele[propsDefault.icon] = validatenull(icon) ? menu.iconDefault : icon; |
| | | const isChild = ele[propsDefault.children] && ele[propsDefault.children].length !== 0; |
| | | if (!isChild) ele[propsDefault.children] = []; |
| | | const icon = ele[propsDefault.icon] |
| | | ele[propsDefault.icon] = validatenull(icon) ? menu.iconDefault : icon |
| | | const isChild = ele[propsDefault.children] && ele[propsDefault.children].length !== 0 |
| | | if (!isChild) ele[propsDefault.children] = [] |
| | | if (!isChild && first && !isURL(ele[propsDefault.path])) { |
| | | ele[propsDefault.path] = ele[propsDefault.path] + '/index' |
| | | } else { |
| | | ele[propsDefault.children].forEach(child => { |
| | | addPath(child); |
| | | addPath(child) |
| | | }) |
| | | } |
| | | |
| | |
| | | menuAll: getStore({name: 'menuAll'}) || [], |
| | | token: getStore({name: 'token'}) || '', |
| | | refreshToken: getStore({name: 'refreshToken'}) || '', |
| | | selectMamShow: false, |
| | | mapXyValue: '', |
| | | }, |
| | | actions: { |
| | | //根据用户名登录 |
| | | LoginByUsername({commit}, userInfo) { |
| | | return new Promise((resolve, reject) => { |
| | | loginByUsername(userInfo.tenantId, userInfo.deptId, userInfo.roleId, userInfo.username, md5(userInfo.password), userInfo.type, userInfo.key, userInfo.code).then(res => { |
| | | const data = res.data; |
| | | const data = res.data |
| | | if (data.error_description) { |
| | | Message({ |
| | | message: data.error_description, |
| | | type: 'error' |
| | | }) |
| | | } else { |
| | | commit('SET_TOKEN', data.access_token); |
| | | commit('SET_REFRESH_TOKEN', data.refresh_token); |
| | | commit('SET_TENANT_ID', data.tenant_id); |
| | | commit('SET_USER_INFO', data); |
| | | commit('DEL_ALL_TAG'); |
| | | commit('CLEAR_LOCK'); |
| | | commit('SET_TOKEN', data.access_token) |
| | | commit('SET_REFRESH_TOKEN', data.refresh_token) |
| | | commit('SET_TENANT_ID', data.tenant_id) |
| | | commit('SET_USER_INFO', data) |
| | | commit('DEL_ALL_TAG') |
| | | commit('CLEAR_LOCK') |
| | | } |
| | | resolve(); |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error); |
| | | reject(error) |
| | | }) |
| | | }) |
| | | }, |
| | |
| | | LoginByPhone({commit}, userInfo) { |
| | | return new Promise((resolve) => { |
| | | loginByUsername(userInfo.phone, userInfo.code).then(res => { |
| | | const data = res.data.data; |
| | | commit('SET_TOKEN', data); |
| | | commit('DEL_ALL_TAG'); |
| | | commit('CLEAR_LOCK'); |
| | | resolve(); |
| | | const data = res.data.data |
| | | commit('SET_TOKEN', data) |
| | | commit('DEL_ALL_TAG') |
| | | commit('CLEAR_LOCK') |
| | | resolve() |
| | | }) |
| | | }) |
| | | }, |
| | |
| | | LoginBySocial({commit}, userInfo) { |
| | | return new Promise((resolve) => { |
| | | loginBySocial(userInfo.tenantId, userInfo.source, userInfo.code, userInfo.state).then(res => { |
| | | const data = res.data; |
| | | const data = res.data |
| | | if (data.error_description) { |
| | | Message({ |
| | | message: data.error_description, |
| | | type: 'error' |
| | | }) |
| | | } else { |
| | | commit('SET_TOKEN', data.access_token); |
| | | commit('SET_REFRESH_TOKEN', data.refresh_token); |
| | | commit('SET_USER_INFO', data); |
| | | commit('DEL_ALL_TAG'); |
| | | commit('CLEAR_LOCK'); |
| | | commit('SET_TOKEN', data.access_token) |
| | | commit('SET_REFRESH_TOKEN', data.refresh_token) |
| | | commit('SET_USER_INFO', data) |
| | | commit('DEL_ALL_TAG') |
| | | commit('CLEAR_LOCK') |
| | | } |
| | | resolve(); |
| | | resolve() |
| | | }) |
| | | }) |
| | | }, |
| | |
| | | GetUserInfo({commit}) { |
| | | return new Promise((resolve, reject) => { |
| | | getUserInfo().then((res) => { |
| | | const data = res.data.data; |
| | | commit('SET_ROLES', data.roles); |
| | | resolve(data); |
| | | const data = res.data.data |
| | | commit('SET_ROLES', data.roles) |
| | | resolve(data) |
| | | }).catch(err => { |
| | | reject(err); |
| | | reject(err) |
| | | }) |
| | | }) |
| | | }, |
| | |
| | | window.console.log('handle refresh token') |
| | | return new Promise((resolve, reject) => { |
| | | refreshToken(state.refreshToken, state.tenantId).then(res => { |
| | | const data = res.data; |
| | | commit('SET_TOKEN', data.access_token); |
| | | commit('SET_REFRESH_TOKEN', data.refresh_token); |
| | | resolve(); |
| | | const data = res.data |
| | | commit('SET_TOKEN', data.access_token) |
| | | commit('SET_REFRESH_TOKEN', data.refresh_token) |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | |
| | | LogOut({commit}) { |
| | | return new Promise((resolve, reject) => { |
| | | logout().then(() => { |
| | | commit('SET_TOKEN', ''); |
| | | commit('SET_MENU', []); |
| | | commit('SET_MENU_ALL_NULL', []); |
| | | commit('SET_ROLES', []); |
| | | commit('SET_TAG_LIST', []); |
| | | commit('DEL_ALL_TAG'); |
| | | commit('CLEAR_LOCK'); |
| | | removeToken(); |
| | | removeRefreshToken(); |
| | | resolve(); |
| | | commit('SET_TOKEN', '') |
| | | commit('SET_MENU', []) |
| | | commit('SET_MENU_ALL_NULL', []) |
| | | commit('SET_ROLES', []) |
| | | commit('SET_TAG_LIST', []) |
| | | commit('DEL_ALL_TAG') |
| | | commit('CLEAR_LOCK') |
| | | removeToken() |
| | | removeRefreshToken() |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | |
| | | //注销session |
| | | FedLogOut({commit}) { |
| | | return new Promise(resolve => { |
| | | commit('SET_TOKEN', ''); |
| | | commit('SET_MENU_ALL_NULL', []); |
| | | commit('SET_MENU', []); |
| | | commit('SET_ROLES', []); |
| | | commit('SET_TAG_LIST', []); |
| | | commit('DEL_ALL_TAG'); |
| | | commit('CLEAR_LOCK'); |
| | | removeToken(); |
| | | removeRefreshToken(); |
| | | resolve(); |
| | | commit('SET_TOKEN', '') |
| | | commit('SET_MENU_ALL_NULL', []) |
| | | commit('SET_MENU', []) |
| | | commit('SET_ROLES', []) |
| | | commit('SET_TAG_LIST', []) |
| | | commit('DEL_ALL_TAG') |
| | | commit('CLEAR_LOCK') |
| | | removeToken() |
| | | removeRefreshToken() |
| | | resolve() |
| | | }) |
| | | }, |
| | | //获取顶部菜单 |
| | | GetTopMenu() { |
| | | return new Promise(resolve => { |
| | | getTopMenu().then((res) => { |
| | | const data = res.data.data || []; |
| | | const data = res.data.data || [] |
| | | resolve(data) |
| | | }) |
| | | }) |
| | |
| | | return new Promise(resolve => { |
| | | getRoutes(topMenuId).then((res) => { |
| | | const data = res.data.data |
| | | let menu = deepClone(data); |
| | | let menu = deepClone(data) |
| | | menu.forEach(ele => { |
| | | addPath(ele, true); |
| | | }); |
| | | addPath(ele, true) |
| | | }) |
| | | commit('SET_MENU_ALL', menu) |
| | | commit('SET_MENU', menu) |
| | | dispatch('GetButtons'); |
| | | dispatch('GetButtons') |
| | | resolve(menu) |
| | | }) |
| | | }) |
| | |
| | | GetButtons({commit}) { |
| | | return new Promise((resolve) => { |
| | | getButtons().then(res => { |
| | | const data = res.data.data; |
| | | commit('SET_PERMISSION', data); |
| | | resolve(); |
| | | const data = res.data.data |
| | | commit('SET_PERMISSION', data) |
| | | resolve() |
| | | }) |
| | | }) |
| | | }, |
| | | }, |
| | | mutations: { |
| | | SET_SELECT_MAP (state, selectMamShow) { |
| | | state.selectMamShow = selectMamShow |
| | | }, |
| | | SET_MAP_X_Y (state, mapXyValue) { |
| | | state.mapXyValue = mapXyValue |
| | | }, |
| | | SET_TOKEN: (state, token) => { |
| | | setToken(token); |
| | | state.token = token; |
| | | setToken(token) |
| | | state.token = token |
| | | setStore({name: 'token', content: state.token}) |
| | | }, |
| | | SET_MENU_ID(state, menuId) { |
| | | state.menuId = menuId; |
| | | state.menuId = menuId |
| | | }, |
| | | SET_MENU_ALL: (state, menuAll) => { |
| | | let menu = state.menuAll; |
| | | let menu = state.menuAll |
| | | menuAll.forEach(ele => { |
| | | if (!menu.find(item => item.label === ele.label && item.path === ele.path)) { |
| | | menu.push(ele); |
| | | menu.push(ele) |
| | | } |
| | | }) |
| | | state.menuAll = menu |
| | |
| | | }, |
| | | SET_REFRESH_TOKEN: (state, refreshToken) => { |
| | | setRefreshToken(refreshToken) |
| | | state.refreshToken = refreshToken; |
| | | state.refreshToken = refreshToken |
| | | setStore({name: 'refreshToken', content: state.refreshToken}) |
| | | }, |
| | | SET_TENANT_ID: (state, tenantId) => { |
| | | state.tenantId = tenantId; |
| | | state.tenantId = tenantId |
| | | setStore({name: 'tenantId', content: state.tenantId}) |
| | | }, |
| | | SET_USER_INFO: (state, userInfo) => { |
| | | if (validatenull(userInfo.avatar)) { |
| | | userInfo.avatar = "/img/bg/img-logo.png"; |
| | | userInfo.avatar = "/img/bg/img-logo.png" |
| | | } |
| | | state.userInfo = userInfo; |
| | | state.userInfo = userInfo |
| | | setStore({name: 'userInfo', content: state.userInfo}) |
| | | }, |
| | | SET_ROLES: (state, roles) => { |
| | | state.roles = roles; |
| | | state.roles = roles |
| | | }, |
| | | SET_PERMISSION: (state, permission) => { |
| | | let result = []; |
| | | let result = [] |
| | | |
| | | function getCode(list) { |
| | | list.forEach(ele => { |
| | | if (typeof (ele) === 'object') { |
| | | const chiildren = ele.children; |
| | | const code = ele.code; |
| | | const chiildren = ele.children |
| | | const code = ele.code |
| | | if (chiildren) { |
| | | getCode(chiildren) |
| | | } else { |
| | | result.push(code); |
| | | result.push(code) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | getCode(permission); |
| | | state.permission = {}; |
| | | getCode(permission) |
| | | state.permission = {} |
| | | result.forEach(ele => { |
| | | state.permission[ele] = true; |
| | | }); |
| | | state.permission[ele] = true |
| | | }) |
| | | setStore({name: 'permission', content: state.permission}) |
| | | } |
| | | } |
| | |
| | | |
| | | .myInput { |
| | | cursor: pointer !important; |
| | | |
| | | .el-input.is-disabled .el-input__inner { |
| | | cursor: pointer !important; |
| | | } |
| | | } |
| | | |
| | | |
| | | .select-input-map { |
| | | cursor: pointer; |
| | | |
| | | input { |
| | | cursor: pointer !important; |
| | | } |
| | | } |
| | |
| | | plain |
| | | v-if="permission.architecture_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | >删 除</el-button> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, disabled }" slot="chouseJdWdForm"> |
| | | <chousePoint @setData="getMapDatas" ref="chousePointRef"></chousePoint> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, disabled }" slot="xForm"> |
| | | <setxy @setData="setXyMapDatas"></setxy> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | |
| | | add, |
| | | update, |
| | | remove, |
| | | } from "@/api/architecture/architecture"; |
| | | import { mapGetters } from "vuex"; |
| | | } from "@/api/architecture/architecture" |
| | | import { mapGetters } from "vuex" |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | searchSpan: 5, |
| | | search: true, |
| | | }, |
| | | |
| | | { |
| | | label: "2.5维坐标", |
| | | prop: "x", |
| | | hide: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择2.5维坐标", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "选择地点", |
| | | prop: "chouseJdWd", |
| | |
| | | // }, |
| | | // ], |
| | | }, |
| | | |
| | | { |
| | | label: "详细地点", |
| | | prop: "addressName", |
| | |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | selectXYShow: false |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | viewBtn: this.vaildData(this.permission.architecture_view, false), |
| | | delBtn: this.vaildData(this.permission.architecture_delete, false), |
| | | editBtn: this.vaildData(this.permission.architecture_edit, false), |
| | | }; |
| | | } |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | let ids = [] |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | }, |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | setXyMapDatas (res) { |
| | | this.form["x"] = res |
| | | }, |
| | | |
| | | getMapDatas(res) { |
| | | this.form["jd"] = res[0]; |
| | | this.form["wd"] = res[1]; |
| | | this.form["addressName"] = res[2]; |
| | | this.form["jd"] = res[0] |
| | | this.form["wd"] = res[1] |
| | | this.form["addressName"] = res[2] |
| | | }, |
| | | initData() { |
| | | getDeptTree().then((res) => { |
| | | const column = this.findObject(this.option.column, "type"); |
| | | column.dicData = res.data.data; |
| | | }); |
| | | }, |
| | | |
| | | rowSave(row, done, loading) { |
| | | var d = []; |
| | | var d = [] |
| | | //var dk = []; |
| | | for (var k in row.tpurl) { |
| | | d.push(row.tpurl[k].value); |
| | | d.push(row.tpurl[k].value) |
| | | } |
| | | // for (var ks in row.codeurl) { |
| | | // dk.push(row.codeurl[ks].value); |
| | | // } |
| | | row.tpurl = d.join(","); |
| | | row.tpurl = d.join(",") |
| | | //row.codeurl = dk.join(","); |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | loading() |
| | | window.console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | console.log(error); |
| | | loading() |
| | | console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | return remove(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }) |
| | | }) |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | return remove(this.ids) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }) |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | this.form = res.data.data |
| | | |
| | | this.$store.commit('SET_MAP_X_Y', this.form.x) |
| | | if (type == "edit") { |
| | | let that = this; |
| | | let that = this |
| | | this.$store.commit("readDom", { |
| | | this: that, |
| | | refName: "chousePointRef", |
| | |
| | | jd: this.form.jd, |
| | | wd: this.form.wd, |
| | | name: this.form.addressName, |
| | | }); |
| | | }) |
| | | }, |
| | | }); |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | done(); |
| | | done() |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | this.query = {} |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | this.loading = true |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | const data = res.data.data |
| | | this.page.total = data.total |
| | | this.data = data.records |
| | | this.loading = false |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style lang="scss" scoped> |
| | | </style> |
| | |
| | | </el-button> |
| | | </template> --> |
| | | <template slot-scope="{ type, disabled }" slot="lineForm"> |
| | | <getMapDataInThere |
| | | ref="getMapData" |
| | | id="getMapData" |
| | | @setMapData="setMapData" |
| | | ></getMapDataInThere> |
| | | <getMapDataInThere ref="getMapData" id="getMapData" @setMapData="setMapData"></getMapDataInThere> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, getDetail, add, update, remove } from "@/api/hd/hd"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getList, getDetail, add, update, remove } from "@/api/hd/hd" |
| | | import { mapGetters } from "vuex" |
| | | // import Map from "@/components/map/main.vue"; |
| | | import getMapData from "./getMapData.vue"; |
| | | import getMapDataInThere from "./getMapDataInThere.vue"; |
| | | import getMapData from "./getMapData.vue" |
| | | import getMapDataInThere from "./getMapDataInThere.vue" |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | data: [], |
| | | LineData: [], |
| | | PointData: [], |
| | | }; |
| | | } |
| | | }, |
| | | // watch: { |
| | | // rotesData() { |
| | |
| | | viewBtn: this.vaildData(this.permission.hd_view, false), |
| | | delBtn: this.vaildData(this.permission.hd_delete, false), |
| | | editBtn: this.vaildData(this.permission.hd_edit, false), |
| | | }; |
| | | } |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | let ids = [] |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | }, |
| | | }, |
| | | methods: { |
| | | setMapData(val) { |
| | | this.LineData = val[0]; |
| | | this.PointData = val[1]; |
| | | this.LineData = val[0] |
| | | this.PointData = val[1] |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | var d = []; |
| | | var d = [] |
| | | for (var k in row.tpurl) { |
| | | d.push(row.tpurl[k].value); |
| | | d.push(row.tpurl[k].value) |
| | | } |
| | | row.tpurl = d.join(","); |
| | | let outMapData = this.$refs.getMapData.myRulesUse(); |
| | | row.tpurl = d.join(",") |
| | | let outMapData = this.$refs.getMapData.myRulesUse() |
| | | if (!outMapData) { |
| | | loading(); |
| | | return; |
| | | loading() |
| | | return |
| | | } |
| | | row["lxname"] = outMapData[0][0]; |
| | | row["lx"] = outMapData[0][1]; |
| | | row["addressname"] = outMapData[1][0]; |
| | | row["address"] = outMapData[1][1]; |
| | | row["lxname"] = outMapData[0][0] |
| | | row["lx"] = outMapData[0][1] |
| | | row["addressname"] = outMapData[1][0] |
| | | row["address"] = outMapData[1][1] |
| | | // console.log(row); |
| | | // loading(); |
| | | // return; |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | loading() |
| | | window.console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | let outMapData = this.$refs.getMapData.myRulesUse(); |
| | | let outMapData = this.$refs.getMapData.myRulesUse() |
| | | if (!outMapData) { |
| | | loading(); |
| | | return; |
| | | loading() |
| | | return |
| | | } |
| | | row["lxname"] = outMapData[0][0]; |
| | | row["lx"] = outMapData[0][1]; |
| | | row["addressname"] = outMapData[1][0]; |
| | | row["address"] = outMapData[1][1]; |
| | | row["lxname"] = outMapData[0][0] |
| | | row["lx"] = outMapData[0][1] |
| | | row["addressname"] = outMapData[1][0] |
| | | row["address"] = outMapData[1][1] |
| | | // console.log(row); |
| | | // loading(); |
| | | // return; |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | console.log(error); |
| | | loading() |
| | | console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | return remove(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }) |
| | | }) |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | return remove(this.ids) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }) |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | checkDom(name, fn) { |
| | | // 声明定时器 |
| | | let that = this; |
| | | var timer = null; |
| | | let that = this |
| | | var timer = null |
| | | |
| | | // 检查dom是否执行完成 |
| | | function checkDom() { |
| | | let dom = that.$refs[name]; |
| | | let dom = that.$refs[name] |
| | | if (dom) { |
| | | // 执行dom加载完成后的操作 |
| | | // 清除定时器 |
| | | if (!timer) { |
| | | clearTimeout(timer); |
| | | clearTimeout(timer) |
| | | } |
| | | if (fn) { |
| | | //回调函数 |
| | | fn(dom); |
| | | return; |
| | | fn(dom) |
| | | return |
| | | } else { |
| | | return dom; |
| | | return dom |
| | | } |
| | | } else { |
| | | // 自我调用 |
| | | timer = setTimeout(checkDom, 100); |
| | | timer = setTimeout(checkDom, 100) |
| | | } |
| | | } |
| | | |
| | | // 首次执行 |
| | | checkDom(); |
| | | checkDom() |
| | | }, |
| | | beforeOpen(done, type) { |
| | | let that = this; |
| | | let that = this |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | this.form = res.data.data |
| | | }) |
| | | //控制按钮不可编辑 |
| | | this.checkDom("getMapData", (dom) => { |
| | | // dom.init(val, num, value); |
| | | dom[type + "Init"]([ |
| | | [that.form.lxname, that.form.lx], |
| | | [that.form.addressname, that.form.address], |
| | | ]); |
| | | }); |
| | | ]) |
| | | }) |
| | | } |
| | | |
| | | done(); |
| | | done() |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | this.query = {} |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | this.loading = true |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | const data = res.data.data |
| | | this.page.total = data.total |
| | | this.data = data.records |
| | | this.loading = false |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | plain |
| | | v-if="permission.life_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | >删 除</el-button> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, disabled }" slot="chouseJdWdForm"> |
| | | <chousePoint @setData="getMapDatas" ref="chousePointRef"></chousePoint> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, disabled }" slot="xForm"> |
| | | <setxy @setData="setXyMapDatas"></setxy> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, getDetail, add, update, remove } from "@/api/life/life"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getList, getDetail, add, update, remove } from "@/api/life/life" |
| | | import { mapGetters } from "vuex" |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "2.5维坐标", |
| | | prop: "x", |
| | | hide: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择2.5维坐标", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "选择地点", |
| | | prop: "chouseJdWd", |
| | |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | viewBtn: this.vaildData(this.permission.life_view, false), |
| | | delBtn: this.vaildData(this.permission.life_delete, false), |
| | | editBtn: this.vaildData(this.permission.life_edit, false), |
| | | }; |
| | | } |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | let ids = [] |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | setXyMapDatas (res) { |
| | | this.form["x"] = res |
| | | }, |
| | | |
| | | getMapDatas(res) { |
| | | this.form["jd"] = res[0]; |
| | | this.form["wd"] = res[1]; |
| | | this.form["addressName"] = res[2]; |
| | | this.form["jd"] = res[0] |
| | | this.form["wd"] = res[1] |
| | | this.form["addressName"] = res[2] |
| | | }, |
| | | initData() { |
| | | getDeptTree().then((res) => { |
| | | const column = this.findObject(this.option.column, "type"); |
| | | column.dicData = res.data.data; |
| | | }); |
| | | const column = this.findObject(this.option.column, "type") |
| | | column.dicData = res.data.data |
| | | }) |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | var d = []; |
| | | var d = [] |
| | | // var dk = []; |
| | | for (var k in row.tpurl) { |
| | | d.push(row.tpurl[k].value); |
| | | d.push(row.tpurl[k].value) |
| | | } |
| | | // for (var ks in row.codeurl) { |
| | | // dk.push(row.codeurl[ks].value); |
| | | // } |
| | | row.tpurl = d.join(","); |
| | | row.tpurl = d.join(",") |
| | | //row.codeurl = dk.join(","); |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | loading() |
| | | window.console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | console.log(error); |
| | | loading() |
| | | console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | return remove(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }) |
| | | }) |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | return remove(this.ids) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }) |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | this.form = res.data.data |
| | | |
| | | this.$store.commit('SET_MAP_X_Y', this.form.x) |
| | | if (type == "edit") { |
| | | let that = this; |
| | | let that = this |
| | | this.$store.commit("readDom", { |
| | | this: that, |
| | | refName: "chousePointRef", |
| | |
| | | jd: this.form.jd, |
| | | wd: this.form.wd, |
| | | name: this.form.addressName, |
| | | }); |
| | | }) |
| | | }, |
| | | }); |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | done(); |
| | | done() |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | this.query = {} |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | this.loading = true |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | const data = res.data.data |
| | | this.page.total = data.total |
| | | this.data = data.records |
| | | this.loading = false |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | plain |
| | | v-if="permission.mechanism_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | >删 除</el-button> |
| | | </template> |
| | | <template slot-scope="{ type, disabled }" slot="chouseJdWdForm"> |
| | | <chousePoint @setData="getMapDatas" ref="chousePointRef"></chousePoint> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, disabled }" slot="xForm"> |
| | | <setxy @setData="setXyMapDatas"></setxy> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | |
| | | add, |
| | | update, |
| | | remove, |
| | | } from "@/api/mechanism/mechanism"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getDeptTree } from "@/api/system/dept"; |
| | | } from "@/api/mechanism/mechanism" |
| | | import { mapGetters } from "vuex" |
| | | import { getDeptTree } from "@/api/system/dept" |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "2.5维坐标", |
| | | prop: "x", |
| | | hide: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择2.5维坐标", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "选择地点", |
| | | prop: "chouseJdWd", |
| | |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | viewBtn: this.vaildData(this.permission.mechanism_view, false), |
| | | delBtn: this.vaildData(this.permission.mechanism_delete, false), |
| | | editBtn: this.vaildData(this.permission.mechanism_edit, false), |
| | | }; |
| | | } |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | let ids = [] |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | setXyMapDatas (res) { |
| | | this.form["x"] = res |
| | | }, |
| | | |
| | | getMapDatas(res) { |
| | | this.form["jd"] = res[0]; |
| | | this.form["wd"] = res[1]; |
| | | this.form["addressName"] = res[2]; |
| | | this.form["jd"] = res[0] |
| | | this.form["wd"] = res[1] |
| | | this.form["addressName"] = res[2] |
| | | }, |
| | | initData() { |
| | | getDeptTree().then((res) => { |
| | | const column = this.findObject(this.option.column, "type"); |
| | | column.dicData = res.data.data; |
| | | }); |
| | | const column = this.findObject(this.option.column, "type") |
| | | column.dicData = res.data.data |
| | | }) |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | row["address"] = this.form.addressName; |
| | | row["addressName"] = this.form.addressName; |
| | | row["address"] = this.form.addressName |
| | | row["addressName"] = this.form.addressName |
| | | // console.log(row); |
| | | // loading(); |
| | | // return; |
| | | var d = []; |
| | | var d = [] |
| | | //var dk = []; |
| | | for (var k in row.tpurl) { |
| | | d.push(row.tpurl[k].value); |
| | | d.push(row.tpurl[k].value) |
| | | } |
| | | // for (var ks in row.codeurl) { |
| | | // dk.push(row.codeurl[ks].value); |
| | | // } |
| | | row.tpurl = d.join(","); |
| | | row.tpurl = d.join(",") |
| | | //row.codeurl = dk.join(","); |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | loading() |
| | | window.console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | console.log(error); |
| | | loading() |
| | | console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | return remove(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }) |
| | | }) |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | return remove(this.ids) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }) |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["add", "edit"].includes(type)) { |
| | | this.initData(); |
| | | this.initData() |
| | | } |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then((res) => { |
| | | // console.log(res.data.data); |
| | | this.form = res.data.data; |
| | | this.form = res.data.data |
| | | this.$store.commit('SET_MAP_X_Y', this.form.x) |
| | | if (type == "edit") { |
| | | let that = this; |
| | | let that = this |
| | | this.$store.commit("readDom", { |
| | | this: that, |
| | | refName: "chousePointRef", |
| | |
| | | jd: this.form.jd, |
| | | wd: this.form.wd, |
| | | name: this.form.addressName, |
| | | }); |
| | | }) |
| | | }, |
| | | }); |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | done(); |
| | | done() |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | this.query = {} |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | this.loading = true |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | const data = res.data.data |
| | | this.page.total = data.total |
| | | this.data = data.records |
| | | this.loading = false |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | plain |
| | | v-if="permission.road_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | >删 除</el-button> |
| | | </template> |
| | | <template slot-scope="{ type, disabled }" slot="chouseJdWdForm"> |
| | | <chousePoint @setData="getMapDatas" ref="chousePointRef"></chousePoint> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, disabled }" slot="xForm"> |
| | | <setxy @setData="setXyMapDatas"></setxy> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, getDetail, add, update, remove } from "@/api/road/road"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getList, getDetail, add, update, remove } from "@/api/road/road" |
| | | import { mapGetters } from "vuex" |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "2.5维坐标", |
| | | prop: "x", |
| | | hide: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择2.5维坐标", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "选择地点", |
| | | prop: "chouseJdWd", |
| | |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | viewBtn: this.vaildData(this.permission.road_view, false), |
| | | delBtn: this.vaildData(this.permission.road_delete, false), |
| | | editBtn: this.vaildData(this.permission.road_edit, false), |
| | | }; |
| | | } |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | let ids = [] |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | setXyMapDatas (res) { |
| | | this.form["x"] = res |
| | | }, |
| | | |
| | | getMapDatas(res) { |
| | | this.form["jd"] = res[0]; |
| | | this.form["wd"] = res[1]; |
| | | this.form["addressName"] = res[2]; |
| | | this.form["jd"] = res[0] |
| | | this.form["wd"] = res[1] |
| | | this.form["addressName"] = res[2] |
| | | }, |
| | | initData() { |
| | | getDeptTree().then((res) => { |
| | | const column = this.findObject(this.option.column, "type"); |
| | | column.dicData = res.data.data; |
| | | }); |
| | | const column = this.findObject(this.option.column, "type") |
| | | column.dicData = res.data.data |
| | | }) |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | loading() |
| | | window.console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | console.log(error); |
| | | loading() |
| | | console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | return remove(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }) |
| | | }) |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | return remove(this.ids) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }) |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | this.form = res.data.data |
| | | |
| | | this.$store.commit('SET_MAP_X_Y', this.form.x) |
| | | if (type == "edit") { |
| | | let that = this; |
| | | let that = this |
| | | this.$store.commit("readDom", { |
| | | this: that, |
| | | refName: "chousePointRef", |
| | |
| | | jd: this.form.jd, |
| | | wd: this.form.wd, |
| | | name: this.form.addressName, |
| | | }); |
| | | }) |
| | | }, |
| | | }); |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | done(); |
| | | done() |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | this.query = {} |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | this.loading = true |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | const data = res.data.data |
| | | this.page.total = data.total |
| | | this.data = data.records |
| | | this.loading = false |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | plain |
| | | v-if="permission.sp_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | >删 除</el-button> |
| | | </template> |
| | | <template slot-scope="{ type, disabled }" slot="chouseJdWdForm"> |
| | | <chousePoint @setData="getMapDatas" ref="chousePointRef"></chousePoint> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, disabled }" slot="xForm"> |
| | | <setxy @setData="setXyMapDatas"></setxy> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, getDetail, add, update, remove } from "@/api/sp/sp"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getList, getDetail, add, update, remove } from "@/api/sp/sp" |
| | | import { mapGetters } from "vuex" |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "2.5维坐标", |
| | | prop: "x", |
| | | hide: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择2.5维坐标", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | |
| | | { |
| | | label: "选择地点", |
| | | prop: "chouseJdWd", |
| | |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | viewBtn: this.vaildData(this.permission.sp_view, false), |
| | | delBtn: this.vaildData(this.permission.sp_delete, false), |
| | | editBtn: this.vaildData(this.permission.sp_edit, false), |
| | | }; |
| | | } |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | let ids = [] |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | setXyMapDatas (res) { |
| | | this.form["x"] = res |
| | | }, |
| | | |
| | | getMapDatas(res) { |
| | | this.form["jd"] = res[0]; |
| | | this.form["wd"] = res[1]; |
| | | this.form["addressName"] = res[2]; |
| | | this.form["jd"] = res[0] |
| | | this.form["wd"] = res[1] |
| | | this.form["addressName"] = res[2] |
| | | }, |
| | | initData() { |
| | | getDeptTree().then((res) => { |
| | | const column = this.findObject(this.option.column, "type"); |
| | | column.dicData = res.data.data; |
| | | }); |
| | | const column = this.findObject(this.option.column, "type") |
| | | column.dicData = res.data.data |
| | | }) |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | loading() |
| | | window.console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | console.log(error); |
| | | loading() |
| | | console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | return remove(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }) |
| | | }) |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | return remove(this.ids) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }) |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | this.form = res.data.data |
| | | |
| | | this.$store.commit('SET_MAP_X_Y', this.form.x) |
| | | if (type == "edit") { |
| | | let that = this; |
| | | let that = this |
| | | this.$store.commit("readDom", { |
| | | this: that, |
| | | refName: "chousePointRef", |
| | |
| | | jd: this.form.jd, |
| | | wd: this.form.wd, |
| | | name: this.form.addressName, |
| | | }); |
| | | }) |
| | | }, |
| | | }); |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | done(); |
| | | done() |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | this.query = {} |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | this.loading = true |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | const data = res.data.data |
| | | this.page.total = data.total |
| | | this.data = data.records |
| | | this.loading = false |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | plain |
| | | v-if="permission.vr_delete" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | >删 除</el-button> |
| | | </template> |
| | | <template slot-scope="{ type, disabled }" slot="chouseJdWdForm"> |
| | | <chousePoint @setData="getMapDatas" ref="chousePointRef"></chousePoint> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, disabled }" slot="xForm"> |
| | | <setxy @setData="setXyMapDatas"></setxy> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, getDetail, add, update, remove } from "@/api/vr/vr"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getList, getDetail, add, update, remove } from "@/api/vr/vr" |
| | | import { mapGetters } from "vuex" |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "2.5维坐标", |
| | | prop: "x", |
| | | hide: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择2.5维坐标", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | label: "选择地点", |
| | | prop: "chouseJdWd", |
| | |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | viewBtn: this.vaildData(this.permission.vr_view, false), |
| | | delBtn: this.vaildData(this.permission.vr_delete, false), |
| | | editBtn: this.vaildData(this.permission.vr_edit, false), |
| | | }; |
| | | } |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | let ids = [] |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | }, |
| | | }, |
| | | methods: { |
| | | |
| | | setXyMapDatas (res) { |
| | | this.form["x"] = res |
| | | }, |
| | | |
| | | getMapDatas(res) { |
| | | this.form["jd"] = res[0]; |
| | | this.form["wd"] = res[1]; |
| | | this.form["addressName"] = res[2]; |
| | | this.form["jd"] = res[0] |
| | | this.form["wd"] = res[1] |
| | | this.form["addressName"] = res[2] |
| | | }, |
| | | initData() { |
| | | getDeptTree().then((res) => { |
| | | const column = this.findObject(this.option.column, "type"); |
| | | column.dicData = res.data.data; |
| | | }); |
| | | const column = this.findObject(this.option.column, "type") |
| | | column.dicData = res.data.data |
| | | }) |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | loading() |
| | | window.console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }) |
| | | done() |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | console.log(error); |
| | | loading() |
| | | console.log(error) |
| | | } |
| | | ); |
| | | ) |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | return remove(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }) |
| | | }) |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据"); |
| | | return; |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | | } |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | | return remove(this.ids) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }) |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | this.form = res.data.data |
| | | |
| | | this.$store.commit('SET_MAP_X_Y', this.form.x) |
| | | if (type == "edit") { |
| | | let that = this; |
| | | let that = this |
| | | this.$store.commit("readDom", { |
| | | this: that, |
| | | refName: "chousePointRef", |
| | |
| | | jd: this.form.jd, |
| | | wd: this.form.wd, |
| | | name: this.form.addressName, |
| | | }); |
| | | }) |
| | | }, |
| | | }); |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | } |
| | | done(); |
| | | done() |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | | this.onLoad(this.page); |
| | | this.query = {} |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query); |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | this.loading = true |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | const data = res.data.data |
| | | this.page.total = data.total |
| | | this.data = data.records |
| | | this.loading = false |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | "/api": { |
| | | //本地服务接口地址 |
| | | // target: "http://192.168.0.107:80", |
| | | // target: "http://192.168.0.102:82", |
| | | target: "http://192.168.0.110:82", |
| | | // target: "http://171.34.197.243:790", |
| | | target: "http://171.34.197.243:782", //服务器 |
| | | // target: "http://171.34.197.243:782", //服务器 |
| | | // target: 'http://localhost:82', |
| | | //远程演示服务地址,可用于直接启动项目 |
| | | //target: 'https://saber.bladex.vip/api', |