XAWDJ0277HWXPT2\Administrator před 5 roky
rodič
revize
165a927652
41 změnil soubory, kde provedl 2142 přidání a 123 odebrání
  1. 0 1
      web/css/app.a13b694c.css
  2. 1 0
      web/css/app.e0224462.css
  3. 1 0
      web/css/chunk-7f7e0976.0eaa23b6.css
  4. 1 1
      web/css/chunk-7474382a.6fdd98ca.css
  5. binární
      web/img/login_bg.8039a5fc.png
  6. binární
      web/img/logo.ca4f9730.png
  7. 1 1
      web/index.html
  8. 0 2
      web/js/app.4aa76cee.js
  9. 0 1
      web/js/app.4aa76cee.js.map
  10. 2 0
      web/js/app.5107e35f.js
  11. 1 0
      web/js/app.5107e35f.js.map
  12. 0 2
      web/js/chunk-7474382a.609904a0.js
  13. 0 1
      web/js/chunk-7474382a.609904a0.js.map
  14. 1 1
      web/js/chunk-7ef40bfa.7a2ce6d3.js
  15. 1 0
      web/js/chunk-7ef40bfa.6650f9d9.js.map
  16. 0 1
      web/js/chunk-7ef40bfa.7a2ce6d3.js.map
  17. 2 0
      web/js/chunk-7f7e0976.c921e471.js
  18. 1 0
      web/js/chunk-7f7e0976.c921e471.js.map
  19. 2 0
      web/js/chunk-c88f2832.c0fbb3e8.js
  20. 1 0
      web/js/chunk-c88f2832.c0fbb3e8.js.map
  21. 1 1
      webConfig/public/index.html
  22. 11 4
      webConfig/src/App.vue
  23. 107 82
      webConfig/src/api/allUel.js
  24. 1 0
      webConfig/src/api/base.js
  25. 20 18
      webConfig/src/components/header.vue
  26. binární
      webConfig/src/img/login/code.png
  27. binární
      webConfig/src/img/login/login_bg.png
  28. binární
      webConfig/src/img/login/logo.png
  29. binární
      webConfig/src/img/login/password.png
  30. binární
      webConfig/src/img/login/user.png
  31. binární
      webConfig/src/img/login/位图备份.png
  32. binární
      webConfig/src/img/login/位图备份@2x.png
  33. 15 0
      webConfig/src/img/login/密码.svg
  34. 14 0
      webConfig/src/img/login/权限.svg
  35. 15 0
      webConfig/src/img/login/用户名.svg
  36. 15 0
      webConfig/src/img/login/验证码.svg
  37. 6 0
      webConfig/src/router.js
  38. 14 2
      webConfig/src/store/bangladesh_pj.json
  39. 22 4
      webConfig/src/views/dashboard.vue
  40. 428 0
      webConfig/src/views/login.vue
  41. 1458 1
      webConfig/src/views/projectManagement.vue

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 1
web/css/app.a13b694c.css


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
web/css/app.e0224462.css


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
web/css/chunk-7f7e0976.0eaa23b6.css


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
web/css/chunk-7474382a.6fdd98ca.css


binární
web/img/login_bg.8039a5fc.png


binární
web/img/logo.ca4f9730.png


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
web/index.html


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 2
web/js/app.4aa76cee.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 1
web/js/app.4aa76cee.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 2 - 0
web/js/app.5107e35f.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
web/js/app.5107e35f.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 2
web/js/chunk-7474382a.609904a0.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 1
web/js/chunk-7474382a.609904a0.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
web/js/chunk-7ef40bfa.7a2ce6d3.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
web/js/chunk-7ef40bfa.6650f9d9.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 1
web/js/chunk-7ef40bfa.7a2ce6d3.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 2 - 0
web/js/chunk-7f7e0976.c921e471.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
web/js/chunk-7f7e0976.c921e471.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 2 - 0
web/js/chunk-c88f2832.c0fbb3e8.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
web/js/chunk-c88f2832.c0fbb3e8.js.map


+ 1 - 1
webConfig/public/index.html

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>bitbug_favicon.ico">
-    <link rel="stylesheet" type="text/css" href="https://at.alicdn.com/t/font_1849275_m6mub5ets3e.css">
+    <link rel="stylesheet" type="text/css" href="https://at.alicdn.com/t/font_1849275_s7gajz218vj.css">
     <title>IDCOL</title>
   </head>
   <body>

+ 11 - 4
webConfig/src/App.vue

@@ -1,7 +1,7 @@
 <template>
     <div id="app">
-        <Header/>
-        <div class="scrollbar_style">
+        <Header v-if="headersShow"></Header>
+        <div class="scrollbar_style"  :class="{'padding':headersShow}">
             <router-view></router-view>
         </div>
     </div>
@@ -24,6 +24,7 @@
         name: 'App',
         data(){
             return{
+                headersShow:false,
                 password:'654321'
             }
         },
@@ -51,6 +52,11 @@
             })
             console.log(linkType)
             document.title = 'IDCOL-'+linkType
+            if(linkType == 'login'||linkType == 'retrievePassword'){
+                this.headersShow = false
+            }else{
+                this.headersShow = true
+            }
 
             this.$router.beforeEach((to, from, next) => {
                 // console.log(to.path,'--------')
@@ -105,6 +111,7 @@
             // var theRequest = new Object();
             var street = window.location.href.split("/")[2];
             let protocolStr = document.location.protocol;
+            let subStrW = protocolStr=='https:'?'wss:':'ws:';
             let subStrT = new RegExp('https:');//创建正则表达式对象
             if(street == 'localhost:8080' || street == '127.0.0.1:8080'){
                 street = '120.77.179.55'
@@ -422,9 +429,9 @@
         >.scrollbar_style{
             // width: calc(100% - 8px);
             width: calc(100%);
-            height: calc(100% - 4.1rem);
+            height: calc(100%);
             &.padding{
-                padding-top: 4.2rem;
+                height: calc(100% - 4.1rem);
             }
         }
     }

+ 107 - 82
webConfig/src/api/allUel.js

@@ -1,115 +1,140 @@
 const urls={
+    websocket:{
+        ws:'ws://120.77.179.55/wss',
+    },
+    login:{
+        get_code_image:'httpss://120.77.179.55/api/common/get_code_image',/*获取验证码图片*/
+        login:'httpss://120.77.179.55/api/common/login',/*登陆*/
+        getCode:'httpss://120.77.179.55/api/common/get_code',/*忘记密码获取邮箱验证码*/
+        chargePassword:'httpss://120.77.179.55/api/common/charge_password',/*忘记密码设置新密码*/
+    },
     /*首页*/
     common:{
-        login:"http://120.77.179.55/api/common/login",/*登录*/
-        update_file:'http://120.77.179.55/api/common/update_file',/*上传图片*/
-        get_country:'http://120.77.179.55/api/common/get_country',/*国家下拉*/
-        get_province:'http://120.77.179.55/api/common/get_province',/*省份下拉*/
-        get_city:'http://120.77.179.55/api/common/get_city',/*行政市下拉*/
-        get_area:'http://120.77.179.55/api/common/get_area',/*行政区下拉*/
-        lamp_list:'http://120.77.179.55/api/home/lamp_list',/*路灯列表*/
+        login:"https://120.77.179.55/api/common/login",/*登录*/
+        update_file:'https://120.77.179.55/api/common/update_file',/*上传图片*/
+        get_country:'https://120.77.179.55/api/common/get_country',/*国家下拉*/
+        get_province:'https://120.77.179.55/api/common/get_province',/*省份下拉*/
+        get_city:'https://120.77.179.55/api/common/get_city',/*行政市下拉*/
+        get_area:'https://120.77.179.55/api/common/get_area',/*行政区下拉*/
+        lamp_list:'https://120.77.179.55/api/home/lamp_list',/*路灯列表*/
     },
     /*项目管理*/
     project:{
-       projectSave:'http://120.77.179.55/api/project/save',/*添加编辑项目*/
-       projectDel:'http://120.77.179.55/api/project/del',/*删除项目*/
-       projectDetail:'http://120.77.179.55/api/project/detail',/*项目详情*/
-       projectData:'http://120.77.179.55/api/project/data',/*项目概览信息*/
-       projectNav:'http://120.77.179.55/api/project/nav',/*项目侧栏*/
+       projectSave:'https://120.77.179.55/api/project/save',/*添加编辑项目*/
+       projectDel:'https://120.77.179.55/api/project/del',/*删除项目*/
+       projectDetail:'https://120.77.179.55/api/project/detail',/*项目详情*/
+       projectData:'https://120.77.179.55/api/project/data',/*项目概览信息*/
+       projectNav:'https://120.77.179.55/api/project/nav',/*项目侧栏*/
+
+       homeFields:'https://120.77.179.55/api/home/fields',/*字段管理*/
+
+       lampcontrolGet:'https://120.77.179.55/api/lampcontrol/get',/*设备列表*/
+       lampcontrolSave:'https://120.77.179.55/api/lampcontrol/save',/*添加编辑设备*/
+       // lampcontrolDetail:'https://120.77.179.55/api/lampcontrol/detail',/*设备详情*/
+       lampcontrolViewloglist:'https://120.77.179.55/api/lampcontrol/viewloglist',/*设备数据*/
+       lampcontrolHistorylist:'https://120.77.179.55/api/lampcontrol/historylist',/*设备历史数据*/
+       lampHistoryData:'https://120.77.179.55/api/lampcontrol/lamp_history_data',/*设备历史数据*/
+       
+        workmode:'https://120.77.179.55/api/common/workmode',/*路灯负载模式下拉列表*/
+        loadSetting:'https://120.77.179.55/api/device/lampcontrol/load_setting',/*读取灯控负载设置*/
+        modbusGetLoad:'https://120.77.179.55/api/device/lampcontrol/modbus_get_load',/*读取新的灯控负载设置*/
+        setLoad:'https://120.77.179.55/api/device/lampcontrol/set_load',/*路灯负载设置*/
+        modbusSetLoad:'https://120.77.179.55/api/device/lampcontrol/modbus_set_load',/*新的路灯负载设置*/
+
+        projectSetPramData:'https://120.77.179.55/api/device/project/set_pram_data',/*路灯项目负载设置*/
+        batterySetting:'https://120.77.179.55/api/device/lampcontrol/battery_setting',/*读取灯控蓄电池设置*/
+        modbusGetBattery:'https://120.77.179.55/api/device/lampcontrol/modbus_get_battery',/*读取新的灯控蓄电池设置*/
 
-       homeFields:'http://120.77.179.55/api/home/fields',/*字段管理*/
+        setBattery:'https://120.77.179.55/api/device/lampcontrol/set_battery',/*蓄电池参数设置*/
+        modbusSetBattery:'https://120.77.179.55/api/device/lampcontrol/modbus_set_battery',/*新的蓄电池参数设置*/
 
-       lampcontrolGet:'http://120.77.179.55/api/lampcontrol/get',/*设备列表*/
-       lampcontrolSave:'http://120.77.179.55/api/lampcontrol/save',/*添加编辑设备*/
-       // lampcontrolDetail:'http://120.77.179.55/api/lampcontrol/detail',/*设备详情*/
-       lampcontrolViewloglist:'http://120.77.179.55/api/lampcontrol/viewloglist',/*设备数据*/
-       lampcontrolHistorylist:'http://120.77.179.55/api/lampcontrol/historylist',/*设备历史数据*/
-       lampHistoryData:'http://120.77.179.55/api/lampcontrol/lamp_history_data',/*设备历史数据*/
+        lampcontrolGetData:'https://120.77.179.55/api/device/lampcontrol/get_data',/*获取默认参数设置*/
+        modbusGetData:'https://120.77.179.55/api/device/lampcontrol/modbus_get_data',/*获取新控制器默认参数设置*/
     },
     /*概览信息*/
     dashboard:{
-        data:'http://120.77.179.55/api/home/data',/*概览信息*/
-        sta_info:'http://120.77.179.55/api/home/sta_info',/*统计信息*/
-        dev_list:'http://120.77.179.55/api/home/dev_list',/*设备统计列表*/
-        alarm_list:'http://120.77.179.55/api/home/alarm_list',/*故障信息列表*/
+        data:'https://120.77.179.55/api/home/data',/*概览信息*/
+        sta_info:'https://120.77.179.55/api/home/sta_info',/*统计信息*/
+        dev_list:'https://120.77.179.55/api/home/dev_list',/*设备统计列表*/
+        alarm_list:'https://120.77.179.55/api/home/alarm_list',/*故障信息列表*/
 
     },
     /*个人中心*/
     user:{
-        info:'http://120.77.179.55/api/user/info',/*用户信息*/
-        sub_list:'http://120.77.179.55/api/user/sub_list',/*用户列表*/
-        user_update:'http://120.77.179.55/api/user/user_update',/*添加编辑用户*/
-        privilege_list:'http://120.77.179.55/api/user/privilege_list',/*权限列表*/
-        data:'http://120.77.179.55/api/user/data',/*用户统计数据*/
-        save_user_privilege:'http://120.77.179.55/api/user/save_user_privilege',/*编辑用户权限*/
-        del:'http://120.77.179.55/api/user/del',/*删除用户*/
-        block_user:'http://120.77.179.55/api/user/block_user',/*停用启用账号*/
-        update_avatar:'http://120.77.179.55/api/user/update_avatar',/*编辑用户头像*/
+        info:'https://120.77.179.55/api/user/info',/*用户信息*/
+        sub_list:'https://120.77.179.55/api/user/sub_list',/*用户列表*/
+        user_update:'https://120.77.179.55/api/user/user_update',/*添加编辑用户*/
+        privilege_list:'https://120.77.179.55/api/user/privilege_list',/*权限列表*/
+        data:'https://120.77.179.55/api/user/data',/*用户统计数据*/
+        save_user_privilege:'https://120.77.179.55/api/user/save_user_privilege',/*编辑用户权限*/
+        del:'https://120.77.179.55/api/user/del',/*删除用户*/
+        block_user:'https://120.77.179.55/api/user/block_user',/*停用启用账号*/
+        update_avatar:'https://120.77.179.55/api/user/update_avatar',/*编辑用户头像*/
     },
     syslog:{
-      getList:'http://newtest.solar-iot.com/api/syslog/get_list',/*日志列表*/
+      getList:'https://120.77.179.55/api/syslog/get_list',/*日志列表*/
     },
     history:{
-      reportHome:'http://newtest.solar-iot.com/api/report/home',/*历史数据首页数据*/
-      reportData:'http://newtest.solar-iot.com/api/report/data',/*各项报表数据*/
+      reportHome:'https://120.77.179.55/api/report/home',/*历史数据首页数据*/
+      reportData:'https://120.77.179.55/api/report/data',/*各项报表数据*/
     },
     alarm:{
-        setPatrolCmd:'http://newtest.solar-iot.com/api/device/lampcontrol/set_patrol_cmd',
+        setPatrolCmd:'https://120.77.179.55/api/device/lampcontrol/set_patrol_cmd',
 
-        alarmGet:'http://newtest.solar-iot.com/api/alarm/get',/*告警信息列表*/
-        alarmSet:'http://newtest.solar-iot.com/api/alarm/set',/*更改故障状态*/
-        patrol_list:'http://newtest.solar-iot.com/api/alarm/patrol_list',/*巡检信息列表*/
+        alarmGet:'https://120.77.179.55/api/alarm/get',/*告警信息列表*/
+        alarmSet:'https://120.77.179.55/api/alarm/set',/*更改故障状态*/
+        patrol_list:'https://120.77.179.55/api/alarm/patrol_list',/*巡检信息列表*/
 
-        repairUser:'http://newtest.solar-iot.com/api/repair/repair_user',/*维修人*/
-        nearRepairList:'http://newtest.solar-iot.com/api/repair/near_repair_list',/*近期维修列表*/
-        repairUserList:'http://newtest.solar-iot.com/api/repair/repair_user_list',/*维修人员列表*/
-        userInfo:'http://newtest.solar-iot.com/api/repair/user_info',/*维修人员详情*/
-        saveRepairUser:'http://newtest.solar-iot.com/api/repair/save_repair_user',/*添加维修人员*/
-        delRepairUser:'http://newtest.solar-iot.com/api/repair/del_repair_user',/*删除维修人员*/
+        repairUser:'https://120.77.179.55/api/repair/repair_user',/*维修人*/
+        nearRepairList:'https://120.77.179.55/api/repair/near_repair_list',/*近期维修列表*/
+        repairUserList:'https://120.77.179.55/api/repair/repair_user_list',/*维修人员列表*/
+        userInfo:'https://120.77.179.55/api/repair/user_info',/*维修人员详情*/
+        saveRepairUser:'https://120.77.179.55/api/repair/save_repair_user',/*添加维修人员*/
+        delRepairUser:'https://120.77.179.55/api/repair/del_repair_user',/*删除维修人员*/
 
-        alarmRepairInfo:'http://newtest.solar-iot.com/api/alarm/repair_info',/*维修信息*/
-        repairList:'http://newtest.solar-iot.com/api/repair/repair_list',/*维修记录列表*/
-        saveRepairInfo:'http://newtest.solar-iot.com/api/repair/save_repair_info',/*添加/编辑维修记录*/
-        repairInfo:'http://newtest.solar-iot.com/api/repair/repair_info',/*维修信息详情*/
-        delRepairInfo:'http://newtest.solar-iot.com/api/repair/del_repair_info',/*删除维修信息*/
-        alarmDel:'http://newtest.solar-iot.com/api/alarm/del',/*删除/清除故障信息*/
+        alarmRepairInfo:'https://120.77.179.55/api/alarm/repair_info',/*维修信息*/
+        repairList:'https://120.77.179.55/api/repair/repair_list',/*维修记录列表*/
+        saveRepairInfo:'https://120.77.179.55/api/repair/save_repair_info',/*添加/编辑维修记录*/
+        repairInfo:'https://120.77.179.55/api/repair/repair_info',/*维修信息详情*/
+        delRepairInfo:'https://120.77.179.55/api/repair/del_repair_info',/*删除维修信息*/
+        alarmDel:'https://120.77.179.55/api/alarm/del',/*删除/清除故障信息*/
 
-        networkGet:'http://newtest.solar-iot.com/api/device/network/get',/*网络下拉列表*/
-        networkSectionList:'http://newtest.solar-iot.com/api/device/network/network_section_list',/*网络路段列表*/
-        lampList:'http://newtest.solar-iot.com/api/home/lamp_list',/*路灯下拉列表*/
-        userList:'http://newtest.solar-iot.com/api/repair/user_list',/*维修人员下拉列表*/
-        alarmTypeList:'http://newtest.solar-iot.com/api/home/alarm_type_list',/*告警状态下拉列表*/
+        networkGet:'https://120.77.179.55/api/device/network/get',/*网络下拉列表*/
+        networkSectionList:'https://120.77.179.55/api/device/network/network_section_list',/*网络路段列表*/
+        lampList:'https://120.77.179.55/api/home/lamp_list',/*路灯下拉列表*/
+        userList:'https://120.77.179.55/api/repair/user_list',/*维修人员下拉列表*/
+        alarmTypeList:'https://120.77.179.55/api/home/alarm_type_list',/*告警状态下拉列表*/
 
-        patrolPost:'http://newtest.solar-iot.com/api/device/project/patrol',/*巡检设置*/
+        patrolPost:'https://120.77.179.55/api/device/project/patrol',/*巡检设置*/
     },
     gisMap:{
-        mapGet:'http://120.77.179.55/api/map/get',/*地图首页数据*/
-        lampInfo:'http://120.77.179.55/api/map/lamp_info',/*路灯信息*/
-        turnonoff:'http://120.77.179.55/api/map/turnonoff',
-        projectInfo:'http://120.77.179.55/api/map/project_info',/*项目信息*/
-        projectListUrl:'http://120.77.179.55/api/map/project_list',/*项目列表*/
-        monitorInfo:'http://120.77.179.55/api/map/monitor_info',/*监控信息*/
-        lampcontrolDimming:'http://120.77.179.55/api/device/lampcontrol/dimming',/*灯控调光*/
-        dataList:'http://120.77.179.55/api/map/data_list',/*项目信息查看列表*/
-        faultInfo:'http://120.77.179.55/api/map/fault_info',
-        grouplist:'http://120.77.179.55/api/policy/grouplist',/*获取分组列表*/
-        policyGroupset:'http://120.77.179.55/api/policy/groupset',/*分组设置*/
-        policyGroupinfo:'http://120.77.179.55/api/policy/groupinfo',/*分组详情*/
-        repairDispatch:'http://120.77.179.55/api/repair/repair_dispatch',/*维修调度*/
-        getProjectCompany:'http://120.77.179.55/api/data/get_project_company',/*获取灯控公司与所属项目*/
-        getLngLat:'http://120.77.179.55/api/home/get_lng_lat',
+        mapGet:'https://120.77.179.55/api/map/get',/*地图首页数据*/
+        lampInfo:'https://120.77.179.55/api/map/lamp_info',/*路灯信息*/
+        turnonoff:'https://120.77.179.55/api/map/turnonoff',
+        projectInfo:'https://120.77.179.55/api/map/project_info',/*项目信息*/
+        projectListUrl:'https://120.77.179.55/api/map/project_list',/*项目列表*/
+        monitorInfo:'https://120.77.179.55/api/map/monitor_info',/*监控信息*/
+        lampcontrolDimming:'https://120.77.179.55/api/device/lampcontrol/dimming',/*灯控调光*/
+        dataList:'https://120.77.179.55/api/map/data_list',/*项目信息查看列表*/
+        faultInfo:'https://120.77.179.55/api/map/fault_info',
+        grouplist:'https://120.77.179.55/api/policy/grouplist',/*获取分组列表*/
+        policyGroupset:'https://120.77.179.55/api/policy/groupset',/*分组设置*/
+        policyGroupinfo:'https://120.77.179.55/api/policy/groupinfo',/*分组详情*/
+        repairDispatch:'https://120.77.179.55/api/repair/repair_dispatch',/*维修调度*/
+        getProjectCompany:'https://120.77.179.55/api/data/get_project_company',/*获取灯控公司与所属项目*/
+        getLngLat:'https://120.77.179.55/api/home/get_lng_lat',
 
-        changeLocation:'http://120.77.179.55/api/lampcontrol/change_location',/*改变路灯坐标*/
-        lampList:'http://120.77.179.55/api/map/lamp_list',/*地图页路灯列表*/
-        videoList:'http://120.77.179.55/api/map/video_list',/*视屏监控位置获取*/
+        changeLocation:'https://120.77.179.55/api/lampcontrol/change_location',/*改变路灯坐标*/
+        lampList:'https://120.77.179.55/api/map/lamp_list',/*地图页路灯列表*/
+        videoList:'https://120.77.179.55/api/map/video_list',/*视屏监控位置获取*/
 
-        dateNav:'http://120.77.179.55/api/map/date_nav', /*GIS下拉信息*/
-        lampData:'http://120.77.179.55/api/map/lamp_data', /*路灯信息*/
-        sectionData:'http://120.77.179.55/api/map/section_data', /*路段信息*/
-        projectData:'http://120.77.179.55/api/map/project_data', /*项目信息*/
-        section_nav:'http://120.77.179.55/api/map/section_nav', /*路段下拉列表*/
-        alarmData:'http://120.77.179.55/api/map/alarm_data', /*故障信息列表*/
-        changeDirection:'http://120.77.179.55/api/map/change_direction', /*修改路灯地图方向*/
+        dateNav:'https://120.77.179.55/api/map/date_nav', /*GIS下拉信息*/
+        lampData:'https://120.77.179.55/api/map/lamp_data', /*路灯信息*/
+        sectionData:'https://120.77.179.55/api/map/section_data', /*路段信息*/
+        projectData:'https://120.77.179.55/api/map/project_data', /*项目信息*/
+        section_nav:'https://120.77.179.55/api/map/section_nav', /*路段下拉列表*/
+        alarmData:'https://120.77.179.55/api/map/alarm_data', /*故障信息列表*/
+        changeDirection:'https://120.77.179.55/api/map/change_direction', /*修改路灯地图方向*/
     },
 }
 export default urls

+ 1 - 0
webConfig/src/api/base.js

@@ -270,6 +270,7 @@ export default{
         let qs = require('qs')
         data = Object.assign({
           version:this_.version,
+          role:this_.role,
         }, data);
         // console.log(url,data,param)
         // console.log(qs.stringify(data))

+ 20 - 18
webConfig/src/components/header.vue

@@ -94,24 +94,13 @@
                 }
             },
             signOutFun(){
-                // var storage = window.localStorage;
-                // storage.setItem('userData','');
-                // this.$store.commit('ROUTERSTRFUN',{
-                //   routerStr:'/login',
-                // })
-
-                // this.$store.commit('HEADERIDFUN',{
-                //     countryId:'',
-                //     provinceId:'',
-                //     cityId:'',
-                //     hotelId:'',
-                //     headerIdStr:''
-                // })                storage.setItem('hotelIdNav','');
-                // storage.setItem('cityIdNav','');
-                // storage.setItem('provinceIdNav','');
-                // storage.setItem('countryIdNav','');
-                // this.$router.push({path:'/login'})
-                // document.title = 'Inhealth-logo'
+                var storage = window.localStorage;
+                storage.setItem('userData','');
+                this.$store.commit('ROUTERSTRFUN',{
+                  routerStr:'/login',
+                })
+                this.$router.push({path:'/login'})
+                document.title = 'Inhealth-logo'
             },
         },
         watch:{
@@ -121,6 +110,19 @@
 </script>
 
 <style type="text/css" lang="less">
+    .btn_signOut_box{
+        &.el-popover{
+            padding: 0;
+            .btn_signOut{
+                margin: 0 1rem;
+                width: 10rem;height: 3.33rem;line-height: 3.33rem;
+                text-align:center;
+                font-family: AlibabaPuHuiTiM;
+                font-size: 1rem;
+                cursor: pointer;
+            }
+        }
+    }
 	.headers{
         height: 4.1rem;line-height: 4.1rem;
         background:rgba(252,137,64,1);

binární
webConfig/src/img/login/code.png


binární
webConfig/src/img/login/login_bg.png


binární
webConfig/src/img/login/logo.png


binární
webConfig/src/img/login/password.png


binární
webConfig/src/img/login/user.png


binární
webConfig/src/img/login/位图备份.png


binární
webConfig/src/img/login/位图备份@2x.png


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 15 - 0
webConfig/src/img/login/密码.svg


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 14 - 0
webConfig/src/img/login/权限.svg


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 15 - 0
webConfig/src/img/login/用户名.svg


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 15 - 0
webConfig/src/img/login/验证码.svg


+ 6 - 0
webConfig/src/router.js

@@ -4,6 +4,7 @@ import VueRouter from 'vue-router'
 Vue.use(VueRouter)
 
 // const login = resolve => require(['../views/login.vue'], resolve);
+const login = () => import('./views/login.vue');
 
 const dashboard = () => import('./views/dashboard.vue');
 const projectManagement = () => import('./views/projectManagement.vue');
@@ -24,6 +25,11 @@ const routes = [
         path: '/',
         component: dashboard,
     },
+    {
+        path: '/login',
+        name: 'login',
+        component: login
+    },
     {
         path: '/dashboard',
         name: 'dashboard',

+ 14 - 2
webConfig/src/store/bangladesh_pj.json

@@ -7,11 +7,23 @@
       "id": "bangladesh_upazila_boundary.1",
       "geometry": {
         "type": "MultiPolygon",
-        "coordinates": []//数据放这里,循环这个数据 除了边缘的经纬度都删除
+        "coordinates": barisalArr//数据放这里,循环这个数据 除了边缘的经纬度都删除
       },
       "geometry_name": "the_geom",
       "properties": {
-        "name": "Barguna",//按名字Dist_name 相同的放一块
+        "name": "BarisalArr",//按名字Dist_name 相同的放一块
+      }
+    },
+    {
+      "type": "Feature",
+      "id": "bangladesh_upazila_boundary.1",
+      "geometry": {
+        "type": "MultiPolygon",
+        "coordinates": ChittagongArr//数据放这里,循环这个数据 除了边缘的经纬度都删除
+      },
+      "geometry_name": "the_geom",
+      "properties": {
+        "name": "Chittagong",//按名字Dist_name 相同的放一块
       }
     }
   ]

+ 22 - 4
webConfig/src/views/dashboard.vue

@@ -367,18 +367,36 @@
             this.deviceBarInit();
 
             // console.log(bangladesh.features)
-            // let arr = []
+
+            // "Barisal", "Chittagong", "Rajshahi", "Rangpur", "Dhaka", "Sylhet", "Mymensingh", "Khulna"
+            // let barisalArr = [];
             // for(let d of bangladesh.features){
             //     d.properties.name = d.properties.Divi_name;
             //     if(d.properties.Divi_name == 'Barisal'){
-            //         if(d.geometry.type == 'MultiPolygon'){
+            //         if(barisalArr.length ==0){
+            //             barisalArr = d.geometry.coordinates[0][0];
+            //             console.log(barisalArr)
+            //         }else{
             //             for(let dd of d.geometry.coordinates[0][0]){
-            //                 arr.push(dd)
+            //                 let isTrue = false,i = 0;
+            //                 for(let key in  barisalArr){
+            //                     if(Math.abs(dd[0] - barisalArr[key][0])+Math.abs(dd[1] - barisalArr[key][1]) < 0.00000010){
+            //                         isTrue = true;
+            //                         i = key;
+            //                         break;
+            //                     }
+            //                 }
+            //                 if(isTrue){
+            //                     barisalArr.splice(i,1)
+            //                 }else{
+            //                     barisalArr.push(dd)
+            //                 }
             //             }
             //         }
+                    
             //     }
             // }
-            // console.log(arr[1]);
+            // console.log(barisalArr);
             // let tj1 = false;
             // let tj2 = false;
             // let tj3 = false;

+ 428 - 0
webConfig/src/views/login.vue

@@ -0,0 +1,428 @@
+<template>
+    <div class="login">
+        <div class="login_left">
+            <img src="../img/login/login_bg.png">
+        </div>
+        <div class="login_right">
+            <div class="imgLogo_box"><img src="../img/login/logo.png"></div>
+            <p class="p2">Welcome Sign In</p>
+            <!-- <p class="p3">{{$t('App.login.text2')}}</p> -->
+            <div class="sole_box">
+                <i class="iconfont icon-quanxian1"></i>
+                <el-dropdown @command="commandDropdown" trigger="click" @visible-change="commandHide('dropdown_dashboard_sole')">
+                    <span class="el-dropdown-link">
+                        <span>{{soleName}}</span><i class="el-icon-caret-bottom el-icon--right"></i>
+                    </span>
+                    <el-dropdown-menu slot="dropdown" class="scrollbar_style dropdown_dashboard_sole">
+                        <el-dropdown-item v-for="item in soleNav" :class="{'select':item.id==sole}" :command="{'key':'sole','id':item.id}" :key="item.id">{{item.name}}</el-dropdown-item>
+                    </el-dropdown-menu>
+                </el-dropdown>
+
+            </div>
+            <el-input
+              class="input1"
+              :placeholder="$t('App.login.text3')"
+              v-model="username">
+                <img slot="prefix" src="../img/login/user.png" />
+            </el-input>
+            <el-input
+              class="input2"
+              show-password
+              :placeholder="$t('App.login.text4')"
+              v-model="password">
+                <img slot="prefix" src="../img/login/password.png" />
+            </el-input>
+            <div class="input3_box">
+                <el-input
+                  class="input3"
+                  :placeholder="$t('App.login.text5')"
+                  v-model="code">
+                    <img slot="prefix" src="../img/login/code.png" />
+                </el-input>
+                <div class="img_box" @click="getCodeImage">
+                    <img :src="codeImage" />
+                </div>
+             </div>
+            <div class="btn_box" @click="login">
+                <span>{{$t('App.login.text6')}}</span>
+            </div>
+            <div class="flex_box">
+                <el-checkbox v-model="checkboxRememberPassword">Remember password</el-checkbox>
+                <span class="btn_span" @click="openPage('retrievePassword')">{{$t('App.login.text7')}}</span>
+            </div>
+            <div class="login_box">
+                <div class="box1">
+                    <!-- <img src="../img/logo_1.png"> -->
+                    <span><a href="http://www.beian.miit.gov.cn" target="view_window">京ICP备14007358号-1</a><span>/ Powered by © 2008-2019 IDSS.CN</span></span>
+                </div>
+                <!-- <p class="p4">Powered by <span @click="openWeb('https://www.iotena.com')">IOTENA</span> | <a href="http://www.beian.miit.gov.cn" target="view_window">粤ICP备20011150号-1</a></p> -->
+                <!-- <p class="p4">A human-centric IoT eeo-system for indoor health enhancement Powered by <span @click="openWeb('https://www.iotena.com')"><img src="../img/logo_iotena.png"></span></p> -->
+            </div>
+            <!-- <p class="p4">粤ICP备20011150号-1 / Powered by © 2008-2019 IDSS.CN</p> -->
+        </div>
+    </div>
+</template>
+
+<script type="text/javascript">
+    import allUel from '../api/allUel.js'
+    import base from '../api/base.js'
+    import jqueryK from '../api/jqueryK.js'
+    import { mapGetters } from 'vuex'
+    export default {
+        name: 'login',
+        data () {
+            return {
+                sole:'',
+                soleNav:[{id:1,name:'admin'},{id:2,name:'Manufacturer'},{id:3,name:'Supplier'},{id:4,name:'PO'},{id:5,name:'Upazilla'},{id:6,name:'Monitoring'},{id:7,name:'Controlling'}],
+                username:'',
+                password:'',
+                code:'',
+                checkboxRememberPassword:false,
+                codeImage:'',
+            }
+        },
+        computed:{
+            ...mapGetters({version:'version',routerStr:'routerStr',remRatio:'remRatio'}),
+            soleName(){
+                let name;
+                for(let d of this.soleNav){
+                    if(d.id == this.sole){
+                        name = d.name;
+                    }
+                }
+                return name;
+            },
+        },
+        mounted(){
+            this.sole = 1;
+            var storage = window.localStorage;
+            storage.setItem('userData','');
+            if(storage.getItem("rememberPassword")){
+              this.checkboxRememberPassword = true;
+              this.username = storage.getItem('udfn');
+              this.password = storage.getItem('udfp');
+              storage.getItem('udfp',jqueryK.base64Decode(this.password));
+            }
+            this.$store.commit('SIDEBARSHOW',{
+                sideBarShow:false,
+            })
+            this.getCodeImage();
+        },
+        methods:{
+            commandHide(val){
+                this.$nextTick(function(){
+                    if($('.'+val)&&$('.'+val+' >.select').offset()){
+                        $('.'+val).animate({scrollTop: $('.'+val).scrollTop() + $('.'+val+' >.select').offset().top - $('.'+val).offset().top - 100})
+                    }
+                })
+            },
+            commandDropdown(obj){
+                this.$set(this,obj.key,obj.id)
+            },
+            login(){
+                var storage = window.localStorage;
+                let client_key = jqueryK.md5(navigator.userAgent);
+                base.ajax_post(
+                    allUel.login.login,
+                    {
+                        username:this.username,
+                        password:this.password,
+                        code:this.code,
+                        sole:this.sole,
+                        client_key:client_key,
+                    },
+                    {},
+                    data => {
+                        this.$message({
+                          showClose: true,
+                          message: 'Login successfully',
+                          type: 'success'
+                        });
+                        data.data.client_key = client_key;
+                        data.data.version = this.version;
+                        this.$store.commit('USERDATAFUN',{
+                            username:data.data.username,
+                            id:data.data.id,
+                            role:data.data.role,
+                            lastLoginTime:data.data.lastLoginTime,
+                            client_key:data.data.client_key,
+                            token:data.data.token,
+                            number:data.data.number,
+                            avatar:data.data.avatar,
+                            version:data.data.version,
+                        })
+                        this.$router.push({path:'/dashboard'})
+                        this.$store.commit('ROUTERSTRFUN',{
+                          routerStr:'/dashboard',
+                        })
+                        storage.setItem('userData',JSON.stringify(data.data))
+                        if(this.checkboxRememberPassword){
+                          storage.setItem('rememberPassword','true');
+                          storage.setItem('udfn',this.username);
+                          storage.setItem('udfp',jqueryK.base64Encode(this.password));
+                        }
+                        
+                        this.$store.commit('HEADERIDFUN',{
+                            headerUpdate: this.headerUpdate+1,
+                        })
+                    },
+                    this
+                )
+            },
+            getCodeImage(){
+                base.ajax_post(
+                    allUel.login.get_code_image,
+                    {
+                        type:'0'
+                    },
+                    {},
+                    data=>{
+                        this.codeImage = data.data.path;
+                    },
+                    this
+                )
+            },
+            openPage(val){
+                window.open('#/'+val);
+            },
+            openWeb(val){
+                window.open(val);
+            },
+        },
+    }
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style lang="less">
+    .login{
+        width: 100%;
+        height: 100%;
+        min-height: 50rem;
+        // min-width: 120rem;
+        margin: 0 auto;
+        overflow: hidden;
+        position: relative;
+        display: flex;
+        // background-image: url('../img/login_bg_1.jpg');
+        background-size: 100% 100%;
+        background-position: center;
+        .login_left{
+          position: relative;
+          width: calc(100% - 41.2rem);
+          .logo_box{
+            position: absolute;
+            left: 2.5rem;bottom: 2rem;
+            width: 13.3rem;height: 3.2rem;
+          }
+          img{
+            width: 100%;height: 100%;
+          }
+        }
+        .login_right{
+
+            position: relative;
+            // right: 0;
+            // top:0;bottom: 0;
+            padding-left: 3.75rem;
+            width: 41.17rem;
+            // background: rgba(255,255,255,0.6);
+            // background: rgba(184, 170, 144, 0.9);
+            .imgLogo_box{
+                height: 2.7rem;line-height: 2.7rem;
+                margin-top: 7rem;
+                img{
+                    height: 100%;
+                    // height: 100%;
+                }
+            }
+            .p2{
+                margin-top: 0.5rem;
+                font-family: AlibabaPuHuiTiM;
+                font-size: 3.6rem;
+                color: #333333;
+                letter-spacing: 0;
+            }
+            .sole_box{
+                display: flex;
+                align-items: center;
+                margin-top: 9rem;
+                height: 3.33rem;line-height: 3.33rem;
+                width: 13rem;
+                background-color: #F6F8FA;
+                border-radius: 3.33rem;
+                .icon-quanxian1{
+                    width: 2.83rem;height: 2.83rem;
+                    border-radius: 50%;
+                    display: flex;
+                    align-items: center;
+                    justify-content: center;
+                    color: #fff;
+                    background-color:#fc8940;
+                }
+                .el-dropdown{
+                    width: calc(100% - 4.7rem);
+                    .el-dropdown-link{
+                        cursor: pointer;
+                        display: inline-block;
+                        width: 100%;
+                        display: flex;
+                        justify-content: space-between;
+                        padding: 0 1rem 0 0.8rem;
+                    }
+                    .el-icon--right{
+                        line-height: 3.33rem;
+                    }
+                }
+            }
+            .p3{
+                font-family: AlibabaPuHuiTiM;
+                font-size: 1.83rem;
+                color: #657085;
+                letter-spacing: 0;
+            }
+            .el-input{
+                width: 31.67rem;
+                .el-input__inner{
+                    height: 3.33rem;line-height: 3.33rem;
+                    background: #F6F8FA;
+                    border-radius: 2px;
+                    border-radius: 2px;
+                    padding-left: 3.2rem;
+                }
+                .el-input__prefix{
+                    left: 0;
+                    width: 3.2rem;
+                }
+                img{
+                    margin: 1.1rem 0 0 0.3rem;
+                    height: 1rem;
+                }
+            }
+            .input1{
+                margin: 1.67rem 0 0 0rem;
+            }
+            .input2,{
+                margin: 1.67rem 0 0 0rem;
+                .el-input__icon{
+                    line-height: 3.33rem;
+                }
+            }
+            .input3_box{
+                margin: 1.67rem 0 0 0rem;
+                display: flex;
+                .input3{
+                  width: 20.5rem;
+                }
+                .img_box{
+                    background: #F2F2F2;
+                    // border: 1px solid #DDDDDD;
+                    border-radius: 2px;
+                    overflow: hidden;
+                    margin-left: 0.83rem;
+                    width: 10.33rem;
+                    cursor: pointer;
+                    img{
+                        width: 100%;height: 100%;
+                    }
+                }
+            }
+            .btn_box{
+                margin: 2.5rem 0 0.83rem 1rem;
+                width: 31.67rem;
+                height: 3.33rem;line-height: 3.33rem;
+                text-align: center;
+                background: #fc8940;;
+                border: 1px solid #fc8940;;
+                border-radius: 2px;
+                cursor: pointer;
+                span{
+                  font-family: PingFang-SC-Medium;
+                  font-size: 1.17rem;
+                  color: #FFFFFF;
+                  letter-spacing: 0;
+                  text-align: center;
+                }
+            }
+            .flex_box{
+                margin-left: 1rem;
+                width: 31.67rem;
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+                .el-checkbox{
+                    color: #666666;;
+                }
+                .el-checkbox__input.is-checked+.el-checkbox__label{
+                    color: #666666;
+                }
+                .el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner{
+                    background-color: #fc8940;
+                    border-color: #fc8940;
+                }
+                .btn_span{
+                    font-family: PingFang-SC-Medium;
+                    font-size: 1rem;
+                    color: #FC8940;
+                    letter-spacing: 0;
+                    text-align: right;
+                    line-height: 1.42rem;
+                    cursor: pointer;
+                }
+            }
+            .login_box{
+                position: absolute;
+                left: 3.75rem;
+                bottom: 1.08rem;
+                width: 100%;
+                // text-align: center;
+                // img{
+                //   width: 10rem;height: 2.42rem;
+                // }
+                .box1{
+                    display: flex;
+                    align-items: center;
+                    justify-content: space-between;
+                    margin: 0 4.75rem;
+                    padding-bottom: 0.2rem;
+                    text-align: center;
+                    // border-bottom: 0.1rem solid #999999;
+                    img{
+                        width: 11rem;
+                    }
+                    a{
+                        font-family: AlibabaPuHuiTiR;
+                        font-size: 1rem;
+                        color: #999999;
+                        font-weight:500;
+                    }
+                    span{
+                        font-size: 1rem;
+                        color: #999999;
+                        font-weight:500;
+                    }
+                }
+                .p4{
+                    font-family: AlibabaPuHuiTiR;
+                    font-size: 1rem;
+                    color: #999999;
+                    margin: 0 4.75rem;
+                    // letter-spacing: 0;
+                    span{
+                        display: inline-block;
+                        height: 2rem;
+                        position: relative;
+                        top: 0.8rem;
+                        left: -0.5rem;
+                        cursor: pointer;
+                        // color: #17598a;
+                        // font-size: 1.2rem;
+                        // font-weight:500;
+                        img{
+                            height: 100%;
+                        }
+                    }
+                }
+            }
+        }
+    }
+</style>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1458 - 1
webConfig/src/views/projectManagement.vue