diff --git a/.env.development b/.env.development index 91f061a..605bb4a 100644 --- a/.env.development +++ b/.env.development @@ -2,15 +2,15 @@ ENV='development' # base api -VUE_APP_BASE_API = http://192.168.60.99:9004/ -VUE_APP_UPLOAD_API = http://192.168.60.99:9004/api/admin/upload-file -VUE_APP_OA_URL = http://192.168.60.18:2021 -VUE_APP_OA_URL_TYPE = '{"领用":"37","处置":"38","应急":"39"}' +#VUE_APP_BASE_API = http://192.168.60.99:9004/ +#VUE_APP_UPLOAD_API = http://192.168.60.99:9004/api/admin/upload-file +#VUE_APP_OA_URL = http://192.168.60.18:2021 +#VUE_APP_OA_URL_TYPE = '{"领用":"37","处置":"38","应急":"39"}' -#VUE_APP_BASE_API = http://192.168.60.99:8004/ -#VUE_APP_UPLOAD_API = http://192.168.60.99:8004/api/admin/upload-file -#VUE_APP_OA_URL= http://suzhouhedaooa.langye.net -#VUE_APP_OA_URL_TYPE = '{"领用":"31","处置":"32","应急":"33"}' +VUE_APP_BASE_API = http://192.168.60.99:8004/ +VUE_APP_UPLOAD_API = http://192.168.60.99:8004/api/admin/upload-file +VUE_APP_OA_URL= http://suzhouhedaooa.langye.net +VUE_APP_OA_URL_TYPE = '{"领用":"31","处置":"32","应急":"33"}' diff --git a/.env.production b/.env.production index 24979a4..0e8253f 100644 --- a/.env.production +++ b/.env.production @@ -2,8 +2,9 @@ ENV = 'production' # base api -VUE_APP_BASE_API = http://192.168.60.99:9004/ -VUE_APP_UPLOAD_API = http://192.168.60.99:9004/api/admin/upload-file +#http://192.168.60.99:9004/ +VUE_APP_BASE_API = +VUE_APP_UPLOAD_API = /api/admin/upload-file VUE_APP_OA_URL = http://192.168.60.18:2021 VUE_APP_OA_URL_TYPE = '{"领用":"37","处置":"38","应急":"39"}' diff --git a/.env.staging b/.env.staging index a8793a0..2233d25 100644 --- a/.env.staging +++ b/.env.staging @@ -4,5 +4,11 @@ NODE_ENV = production ENV = 'staging' # base api -VUE_APP_BASE_API = '/stage-api' +#http://192.168.60.99:9004/ + +VUE_APP_BASE_API = +VUE_APP_UPLOAD_API = /api/admin/upload-file +VUE_APP_OA_URL = http://192.168.60.18:2021 +VUE_APP_OA_URL_TYPE = '{"领用":"37","处置":"38","应急":"39"}' +#VUE_APP_BASE_API = '/stage-api' diff --git a/package.json b/package.json index a0214af..888b91b 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,9 @@ "moment": "^2.29.2", "normalize.css": "7.0.0", "nprogress": "0.2.0", + "ol": "^7.1.0", "path-to-regexp": "2.4.0", + "proj4": "^2.8.0", "qrcodejs2": "^0.0.2", "tinymce": "^5.10.7", "view-design": "^4.7.0", diff --git a/src/api/car/basic.js b/src/api/car/basic.js new file mode 100644 index 0000000..07d22dd --- /dev/null +++ b/src/api/car/basic.js @@ -0,0 +1,41 @@ +import request from '@/utils/request' + +export function list(data) { + return request({ + url: '/api/admin/section-boat/index', + method: 'get', + params:data + }) +} + +export function get(params) { + return request({ + url: '/api/admin/section-boat/show', + method: 'get', + params + }) +} + +export function store(data) { + return request({ + url: '/api/admin/section-boat/store', + method: 'post', + data + }) +} + +export function save(data) { + return request({ + url: '/api/admin/section-boat/save', + method: 'post', + data + }) +} + +export function destroy(id) { + return request({ + url: '/api/admin/section-boat/destroy', + method: 'get', + params:{ id } + }) +} diff --git a/src/api/monitor/gps.js b/src/api/monitor/gps.js new file mode 100644 index 0000000..d60f86a --- /dev/null +++ b/src/api/monitor/gps.js @@ -0,0 +1,46 @@ +import request from "@/utils/request"; + +export function getPlayBack(params){ + return request({ + method:'get', + url:'/api/admin/gps/get-place', + params + }) +} + +export function getLocation(params){ + return request({ + method:'get', + url:'/api/admin/gps/actual-time', + params + }) +} + + + +export function getEquipmentList(params){ + return request({ + method:'get', + url:'/api/admin/gps/equipment-detail', + params + }) +} + + + + +export function getStop(params){ + return request({ + method:'get', + url:'/api/admin/gps/stop-place', + params + }) +} + +export function getHome(params){ + return request({ + method:'get', + url:'/api/admin/gps/home', + params + }) +} diff --git a/src/assets/chart.png b/src/assets/chart.png new file mode 100644 index 0000000..6e7106d Binary files /dev/null and b/src/assets/chart.png differ diff --git a/src/assets/imgs/autoboat.png b/src/assets/imgs/autoboat.png new file mode 100644 index 0000000..2452005 Binary files /dev/null and b/src/assets/imgs/autoboat.png differ diff --git a/src/assets/imgs/boat-index.png b/src/assets/imgs/boat-index.png new file mode 100644 index 0000000..b053e77 Binary files /dev/null and b/src/assets/imgs/boat-index.png differ diff --git a/src/assets/imgs/boaticon.png b/src/assets/imgs/boaticon.png new file mode 100644 index 0000000..89bae66 Binary files /dev/null and b/src/assets/imgs/boaticon.png differ diff --git a/src/assets/imgs/camera.png b/src/assets/imgs/camera.png new file mode 100644 index 0000000..94931b4 Binary files /dev/null and b/src/assets/imgs/camera.png differ diff --git a/src/assets/imgs/closetalk.png b/src/assets/imgs/closetalk.png new file mode 100644 index 0000000..bf6ec7c Binary files /dev/null and b/src/assets/imgs/closetalk.png differ diff --git a/src/assets/imgs/closevoice.png b/src/assets/imgs/closevoice.png new file mode 100644 index 0000000..a5dc1f9 Binary files /dev/null and b/src/assets/imgs/closevoice.png differ diff --git a/src/assets/imgs/error-img.png b/src/assets/imgs/error-img.png new file mode 100644 index 0000000..efe8ccb Binary files /dev/null and b/src/assets/imgs/error-img.png differ diff --git a/src/assets/imgs/error.png b/src/assets/imgs/error.png new file mode 100644 index 0000000..efe8ccb Binary files /dev/null and b/src/assets/imgs/error.png differ diff --git a/src/assets/imgs/favicon.ico b/src/assets/imgs/favicon.ico new file mode 100644 index 0000000..9215c89 Binary files /dev/null and b/src/assets/imgs/favicon.ico differ diff --git a/src/assets/imgs/log.png b/src/assets/imgs/log.png new file mode 100644 index 0000000..8397330 Binary files /dev/null and b/src/assets/imgs/log.png differ diff --git a/src/assets/imgs/logo.png b/src/assets/imgs/logo.png new file mode 100644 index 0000000..4238ba6 Binary files /dev/null and b/src/assets/imgs/logo.png differ diff --git a/src/assets/imgs/map-end.png b/src/assets/imgs/map-end.png new file mode 100644 index 0000000..4bd270c Binary files /dev/null and b/src/assets/imgs/map-end.png differ diff --git a/src/assets/imgs/map-start.png b/src/assets/imgs/map-start.png new file mode 100644 index 0000000..563417f Binary files /dev/null and b/src/assets/imgs/map-start.png differ diff --git a/src/assets/imgs/openvoice.png b/src/assets/imgs/openvoice.png new file mode 100644 index 0000000..4961ae8 Binary files /dev/null and b/src/assets/imgs/openvoice.png differ diff --git a/src/assets/imgs/playback.png b/src/assets/imgs/playback.png new file mode 100644 index 0000000..89eff6a Binary files /dev/null and b/src/assets/imgs/playback.png differ diff --git a/src/assets/imgs/playback1.png b/src/assets/imgs/playback1.png new file mode 100644 index 0000000..ec49900 Binary files /dev/null and b/src/assets/imgs/playback1.png differ diff --git a/src/assets/imgs/quanping.png b/src/assets/imgs/quanping.png new file mode 100644 index 0000000..fa574ec Binary files /dev/null and b/src/assets/imgs/quanping.png differ diff --git a/src/assets/imgs/question.png b/src/assets/imgs/question.png new file mode 100644 index 0000000..2c9442a Binary files /dev/null and b/src/assets/imgs/question.png differ diff --git a/src/assets/imgs/question_fill.png b/src/assets/imgs/question_fill.png new file mode 100644 index 0000000..6e08002 Binary files /dev/null and b/src/assets/imgs/question_fill.png differ diff --git a/src/assets/imgs/questionimg.png b/src/assets/imgs/questionimg.png new file mode 100644 index 0000000..4b26e33 Binary files /dev/null and b/src/assets/imgs/questionimg.png differ diff --git a/src/assets/imgs/talk.png b/src/assets/imgs/talk.png new file mode 100644 index 0000000..eb1c443 Binary files /dev/null and b/src/assets/imgs/talk.png differ diff --git a/src/assets/imgs/talking.gif b/src/assets/imgs/talking.gif new file mode 100644 index 0000000..8cb307a Binary files /dev/null and b/src/assets/imgs/talking.gif differ diff --git a/src/assets/imgs/zautoboat.png b/src/assets/imgs/zautoboat.png new file mode 100644 index 0000000..a96f971 Binary files /dev/null and b/src/assets/imgs/zautoboat.png differ diff --git a/src/assets/monitor.png b/src/assets/monitor.png new file mode 100644 index 0000000..9c54d62 Binary files /dev/null and b/src/assets/monitor.png differ diff --git a/src/assets/warning.png b/src/assets/warning.png new file mode 100644 index 0000000..7cf6a52 Binary files /dev/null and b/src/assets/warning.png differ diff --git a/src/components/XyDialog/index.vue b/src/components/XyDialog/index.vue index 256ded0..a38449e 100644 --- a/src/components/XyDialog/index.vue +++ b/src/components/XyDialog/index.vue @@ -104,7 +104,8 @@ export default { Object.keys(form).map((key)=>{ formItems.push( + prop={key} + class={key}> {eval(`{$scopedSlots.${key} ? $scopedSlots.${key}() : ''}`)} ) diff --git a/src/components/echarts/BarChart.vue b/src/components/echarts/BarChart.vue new file mode 100644 index 0000000..7b74111 --- /dev/null +++ b/src/components/echarts/BarChart.vue @@ -0,0 +1,167 @@ + + + diff --git a/src/components/echarts/lineChart.vue b/src/components/echarts/lineChart.vue new file mode 100644 index 0000000..3ea9a81 --- /dev/null +++ b/src/components/echarts/lineChart.vue @@ -0,0 +1,163 @@ + + + diff --git a/src/components/echarts/mixins/resize.js b/src/components/echarts/mixins/resize.js new file mode 100644 index 0000000..234953b --- /dev/null +++ b/src/components/echarts/mixins/resize.js @@ -0,0 +1,55 @@ +import { debounce } from '@/utils' + +export default { + data() { + return { + $_sidebarElm: null, + $_resizeHandler: null + } + }, + mounted() { + this.$_resizeHandler = debounce(() => { + if (this.chart) { + this.chart.resize() + } + }, 100) + this.$_initResizeEvent() + this.$_initSidebarResizeEvent() + }, + beforeDestroy() { + this.$_destroyResizeEvent() + this.$_destroySidebarResizeEvent() + }, + // to fixed bug when cached by keep-alive + // https://github.com/PanJiaChen/vue-element-admin/issues/2116 + activated() { + this.$_initResizeEvent() + this.$_initSidebarResizeEvent() + }, + deactivated() { + this.$_destroyResizeEvent() + this.$_destroySidebarResizeEvent() + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_initResizeEvent() { + window.addEventListener('resize', this.$_resizeHandler) + }, + $_destroyResizeEvent() { + window.removeEventListener('resize', this.$_resizeHandler) + }, + $_sidebarResizeHandler(e) { + if (e.propertyName === 'width') { + this.$_resizeHandler() + } + }, + $_initSidebarResizeEvent() { + this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0] + this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler) + }, + $_destroySidebarResizeEvent() { + this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler) + } + } +} diff --git a/src/components/maps/config.js b/src/components/maps/config.js new file mode 100644 index 0000000..dcc3c6f --- /dev/null +++ b/src/components/maps/config.js @@ -0,0 +1,151 @@ +/** + * 配置对象,用于配置地图地址和其他通用配置 + */ + +const CONFIGS = [ + // { + // title: "天地图", + // id: "M2", + // type: "overlay", + // visible: true, + // projection: "EPSG:4326", + // layerType: "TD地图", + // opacity: 1, + // url: "http://t0.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=82526d64e8504a0341f775c087863825" + // }, + // { + // title: "遥感图", + // id: "M3", + // type: "overlay", + // visible: false, + // projection: "EPSG:4490", + // layerType: "TD地图", + // opacity: 1, + // url: "http://t0.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=82526d64e8504a0341f775c087863825" + // }, + // { + // title: "水利图", + // id: "S1", + // type: "overlay", + // visible: false, + // projection: "EPSG:4490", + // layerType: "GIS地图", + // opacity: 1, + // url: "http://172.17.50.65:6080/arcgis/rest/services/hcdt/苏州市矢量图0916/MapServer/tile/{z}/{y}/{x}" + // }, + // { + // title: "河道图", + // id: "H1", + // type: "overlay", + // visible: false, + // projection: "EPSG:4490", + // layerType: "GIS地图", + // opacity: 1, + // url: "http://172.17.50.65:6080/arcgis/rest/services/hcdt/%E8%8B%8F%E5%B7%9E%E6%B0%B4%E7%B3%BB%E5%9B%BE%E9%AB%98%E4%BA%AE%E7%89%88/MapServer/tile/{z}/{y}/{x}" + // }, + // { + // title: "高清影像", + // id: "M1", + // type: "overlay", + // visible: true, + // projection: "EPSG:4490", + // layerType: "地图", + // opacity: 1, + // url: "http://192.168.60.22:6080/arcgis/rest/services/szhd/yx449010/MapServer" + // }, + // { + // title: "路网", + // id: "L1", + // type: "overlay", + // visible: true, + // projection: "EPSG:4490", + // layerType: "地图", + // opacity: 1, + // url: "http://192.168.60.22:6080/arcgis/rest/services/szhd/dlzx/MapServer" + // }, + // { + // title: "主干管", + // id: "M4", + // type: "overlay", + // visible: true, + // projection: "EPSG:4490", + // layerType: "数据", + // opacity: 1, + // url: "http://192.168.60.22:6080/arcgis/rest/services/szhd/ysxzgg/MapServer" + + // }, + // { + // title: "主干管边井管", + // id: "M5", + // type: "overlay", + // visible: true, + // projection: "EPSG:4490", + // layerType: "数据", + // opacity: 1, + // url: "http://192.168.60.22:6080/arcgis/rest/services/szhd/ysxzggbjg/MapServer" + // }, + // { + // title: "检查井", + // id: "M6", + // type: "overlay", + // visible: true, + // projection: "EPSG:4490", + // layerType: "数据", + // opacity: 1, + // url: "http://192.168.60.22:6080/arcgis/rest/services/szhd/ysjszjcj/MapServer" + // }, + // { + // title: "出水口", + // id: "M7", + // type: "overlay", + // visible: true, + // projection: "EPSG:4490", + // layerType: "数据", + // opacity: 1, + // url: "http://192.168.60.22:6080/arcgis/rest/services/szhd/ysjszcsk/MapServer" + // }, + // { + // title: "雨篦", + // id: "M8", + // type: "overlay", + // visible: true, + // projection: "EPSG:4490", + // layerType: "数据", + // opacity: 1, + // url: "http://192.168.60.22:6080/arcgis/rest/services/szhd/ysjszyb/MapServer" + // }, + // { + // title: "其他井", + // id: "M9", + // type: "overlay", + // visible: true, + // projection: "EPSG:4490", + // layerType: "数据", + // opacity: 1, + // url: "http://192.168.60.22:6080/arcgis/rest/services/szhd/ysjszqtj/MapServer" + // } + +] + + + +/** + * 定义地图页面配置文件 + */ +// + +const MAPCONFIGS = { + Map_Code: "EPSG:4490",//坐标系名 + // Map_extent: [390000, 3500000, 490000, 3360000], //范围框 + Map_units: "degrees",//单位 m/degrees等 + Map_axisOrientation: "neu",//轴 + Map_global: false, //全球 + MAP_center: [120.6126391, 31.3029816],//定义中心点 + Map_Zooms: [12, 23, 10],//定义地图初始层级、最大层级、最小层级 + Map_ID: "maps",//地图标识ID +} + +export { + MAPCONFIGS, + CONFIGS +} diff --git a/src/components/maps/indexmaps.vue b/src/components/maps/indexmaps.vue new file mode 100644 index 0000000..6c6fc4e --- /dev/null +++ b/src/components/maps/indexmaps.vue @@ -0,0 +1,174 @@ + + + diff --git a/src/components/maps/maps.vue b/src/components/maps/maps.vue new file mode 100644 index 0000000..56f162e --- /dev/null +++ b/src/components/maps/maps.vue @@ -0,0 +1,1106 @@ + + + diff --git a/src/components/maps/mapsbefore.vue b/src/components/maps/mapsbefore.vue new file mode 100644 index 0000000..d05d74d --- /dev/null +++ b/src/components/maps/mapsbefore.vue @@ -0,0 +1,490 @@ + + + + + diff --git a/src/utils/common.js b/src/utils/common.js index 6a7e618..9ff7566 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -251,7 +251,78 @@ let base = { nodes.unshift(_node) } return nodes - } + }, + //深拷贝数据 + deepCopy(data) { + //string,number,bool,null,undefined,symbol + //object,array,date + if (data && typeof data === "object") { + //针对函数的拷贝 + if (typeof data === "function") { + let tempFunc = data.bind(null); + tempFunc.prototype = this.deepCopy(data.prototype); + return tempFunc; + } + + switch (Object.prototype.toString.call(data)) { + case "[object String]": + return data.toString(); + case "[object Number]": + return Number(data.toString()); + case "[object Boolean]": + return Boolean(data.toString()); + case "[object Date]": + return new Date(data.getTime()); + case "[object Array]": + let arr = []; + for (let i = 0; i < data.length; i++) { + arr[i] = this.deepCopy(data[i]); + } + return arr; + + //js自带对象或用户自定义类实例 + case "[object Object]": + let obj = {}; + for (let key in data) { + //会遍历原型链上的属性方法,可以用hasOwnProperty来控制 (obj.hasOwnProperty(prop) + obj[key] = this.deepCopy(data[key]); + } + return obj; + } + } else { + //string,number,bool,null,undefined,symbol + return data; + } + }, + // 按顺序把接口返回值 赋给 form + requestToForm(requestObj, form) { + // 获取a对象中属性的顺序和值 + let aKeys = Object.keys(form); + let aValues = aKeys.map(key => form[key]); + + // 遍历b对象,将属性等于a中属性值的对象深拷贝给a中的相应属性 + for (let i = 0; i < aKeys.length; i++) { + let key = aKeys[i]; + let value = aValues[i]; + if (requestObj[key] === value) { + // 深拷贝对象 + Object.assign(form, { + [key]: this.deepCopy(requestObj[key]) + }); + } + } + // 遍历b对象,将b中独有的属性按照a的顺序插入到a中 + for (let key in requestObj) { + if (!form[key]) { + // 深拷贝属性值 + Object.assign(form, { + [key]: this.deepCopy(requestObj[key]) + }); + } + } + return form + }, + } export default base diff --git a/src/views/car/basic.vue b/src/views/car/basic.vue new file mode 100644 index 0000000..bdb845d --- /dev/null +++ b/src/views/car/basic.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/src/views/car/components/editSection copy.vue b/src/views/car/components/editSection copy.vue new file mode 100644 index 0000000..4917a4a --- /dev/null +++ b/src/views/car/components/editSection copy.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/src/views/car/components/editSection.vue b/src/views/car/components/editSection.vue new file mode 100644 index 0000000..6b2b800 --- /dev/null +++ b/src/views/car/components/editSection.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/views/car/location.vue b/src/views/car/location.vue new file mode 100644 index 0000000..0e5f0e9 --- /dev/null +++ b/src/views/car/location.vue @@ -0,0 +1,307 @@ + + + + + + + diff --git a/src/views/car/playback.vue b/src/views/car/playback.vue new file mode 100644 index 0000000..7643c23 --- /dev/null +++ b/src/views/car/playback.vue @@ -0,0 +1,762 @@ + + + + + diff --git a/src/views/car/statistics.vue b/src/views/car/statistics.vue new file mode 100644 index 0000000..9ba4b9f --- /dev/null +++ b/src/views/car/statistics.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/views/car/warning.vue b/src/views/car/warning.vue new file mode 100644 index 0000000..5945d93 --- /dev/null +++ b/src/views/car/warning.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/views/xukou/monitor.vue b/src/views/xukou/monitor.vue new file mode 100644 index 0000000..a47e60d --- /dev/null +++ b/src/views/xukou/monitor.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/vue.config.js b/vue.config.js index 3493047..4295bd1 100644 --- a/vue.config.js +++ b/vue.config.js @@ -27,7 +27,7 @@ module.exports = { * Detail: https://cli.vuejs.org/config/#publicpath */ publicPath: '/admin/', - outputDir: '/Users/mac/Documents/朗业/2023/w-河道物资/hd-wuziguanli-test/public/admin', + outputDir: '/Users/mac/Documents/朗业/2025/h-苏州河道处/y-应急保障/hd-wuziguanli-test/public/admin', assetsDir: 'static', css: { loaderOptions: { // 向 CSS 相关的 loader 传递选项