diff --git a/yanzhu-bigscreen/public/images/map/WEB_3578CFDB64B74818851FE993E99B2274.png b/yanzhu-bigscreen/public/images/map/WEB_3578CFDB64B74818851FE993E99B2274.png new file mode 100644 index 00000000..38d33169 Binary files /dev/null and b/yanzhu-bigscreen/public/images/map/WEB_3578CFDB64B74818851FE993E99B2274.png differ diff --git a/yanzhu-bigscreen/src/api/machmater.js b/yanzhu-bigscreen/src/api/machmater.js index db871857..483bfb35 100644 --- a/yanzhu-bigscreen/src/api/machmater.js +++ b/yanzhu-bigscreen/src/api/machmater.js @@ -1,5 +1,6 @@ import request from '@/utils/request' +//机智管家-管理指标 const machGetManageQuota=(projectId)=>{ return request({ url: '/manage/bgscreen/machMater/machGetManageQuota', @@ -9,8 +10,132 @@ const machGetManageQuota=(projectId)=>{ } }) } +//机智管家-设备概况 +const machGetEquipmentOverview=(projectId)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetEquipmentOverview', + method: 'get', + params: { + projectId: projectId + } + }) +} -//时间段内工号申领情况 + +//机智管家-操作证情况 +const machGetCertInfoData=(projectId)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetCertInfoData', + method: 'get', + params: { + projectId: projectId + } + }) +} + +//机智管家-机械地图数据 +const machSelectMachineMapData=(projectId)=>{ + return request({ + url: '/manage/bgscreen/machMater/machSelectMachineMapData', + method: 'get', + params: { + projectId: projectId + } + }) +} + +//机智管家-获取地图项目列表 +const machGetMapData=(projectId)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetMapData', + method: 'get', + params: { + projectId: projectId + } + }) +} + +//机智管家-设备详情 +const machGetMachineInfo=(projectId,deviceNum)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetMachineInfo', + method: 'get', + params: { + projectId: projectId, + deviceNum:deviceNum + } + }) +} + +//机智管家-分类及工时情况 +const machGetClassifyWorks=(projectId)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetClassifyWorks', + method: 'get', + params: { + projectId: projectId + } + }) +} + +//机智管家-设备详情Url +const machGetSystemDeviceInfoUrl=(projectId,deviceNum)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetSystemDeviceInfoUrl', + method: 'get', + params: { + projectId: projectId, + deviceNum:deviceNum + } + }) +} + + +//机智管家-监控预警 +const machGetClockInException=(projectId,pageSize)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetClockInException', + method: 'get', + params: { + projectId: projectId, + pageSize:pageSize + } + }) +} + +//机智管家-根据项目获取设备信息 +const machGetDeviceInfoByProjectId=(projectId)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetDeviceInfoByProjectId', + method: 'get', + params: { + projectId: projectId + } + }) +} + +//机智管家-获取异常预警 +const machGetExceptionAlert=(projectId,size)=>{ + return request({ + url: '/manage/bgscreen/machMater/machGetExceptionAlert', + method: 'get', + params: { + projectId: projectId, + size:size + } + }) +} + +//材料销号制-获取工号信息 +const materGetConcreteMaterialActQuantityGhInfoService=data=>{ + return request({ + url: '/manage/bgscreen/machMater/materGetConcreteMaterialActQuantityGhInfoService', + method: 'get', + params: data + }) +} + +//材料销号制-时间段内工号申领情况 const materGetConcreteMaterialActQuantityBuildingNoInfoService=data=>{ return request({ url: '/manage/bgscreen/machMater/materGetConcreteMaterialActQuantityBuildingNoInfoService', @@ -19,7 +144,58 @@ const materGetConcreteMaterialActQuantityBuildingNoInfoService=data=>{ }) } +//材料销号制-获取用量情况统计服务 +const materGetProjectChaoHaoStatisticsRPTService=data=>{ + return request({ + url: '/manage/bgscreen/machMater/materGetProjectChaoHaoStatisticsRPTService', + method: 'get', + params: data + }) +} + +//材料销号制-获取超耗原因分析(混凝土) +const materGetReportConcreteExceedReasonService=data=>{ + return request({ + url: '/manage/bgscreen/machMater/materGetReportConcreteExceedReasonService', + method: 'get', + params: data + }) +} + +//获取超耗率top5材料(混凝土) +const materGetReportConcreteExceedMaterielTopService=data=>{ + return request({ + url: '/manage/bgscreen/machMater/materGetReportConcreteExceedMaterielTopService', + method: 'get', + params: data + }) +} + +//材料销号制-今日申领工单 +const materGetConcreteOrderDetailsInfoService=data=>{ + return request({ + url: '/manage/bgscreen/machMater/materGetConcreteOrderDetailsInfoService', + method: 'get', + params: data + }) +} + export default{ machGetManageQuota, - materGetConcreteMaterialActQuantityBuildingNoInfoService + machGetEquipmentOverview, + machGetCertInfoData, + machSelectMachineMapData, + machGetMapData, + machGetClassifyWorks, + machGetClockInException, + machGetDeviceInfoByProjectId, + machGetExceptionAlert, + machGetMachineInfo, + machGetSystemDeviceInfoUrl, + materGetConcreteMaterialActQuantityBuildingNoInfoService, + materGetConcreteMaterialActQuantityGhInfoService, + materGetProjectChaoHaoStatisticsRPTService, + materGetReportConcreteExceedReasonService, + materGetReportConcreteExceedMaterielTopService, + materGetConcreteOrderDetailsInfoService } \ No newline at end of file diff --git a/yanzhu-bigscreen/src/assets/icons/svg/bind.svg b/yanzhu-bigscreen/src/assets/icons/svg/bind.svg new file mode 100644 index 00000000..be7dc239 --- /dev/null +++ b/yanzhu-bigscreen/src/assets/icons/svg/bind.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/yanzhu-bigscreen/src/assets/icons/svg/device.svg b/yanzhu-bigscreen/src/assets/icons/svg/device.svg new file mode 100644 index 00000000..4b920db5 --- /dev/null +++ b/yanzhu-bigscreen/src/assets/icons/svg/device.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/yanzhu-bigscreen/src/components/rankChart.vue b/yanzhu-bigscreen/src/components/rankChart.vue new file mode 100644 index 00000000..f4c7ddbc --- /dev/null +++ b/yanzhu-bigscreen/src/components/rankChart.vue @@ -0,0 +1,236 @@ + + + diff --git a/yanzhu-bigscreen/src/views/machmater/baiduMap.vue b/yanzhu-bigscreen/src/views/machmater/baiduMap.vue new file mode 100644 index 00000000..3f43f71b --- /dev/null +++ b/yanzhu-bigscreen/src/views/machmater/baiduMap.vue @@ -0,0 +1,2289 @@ + + + + diff --git a/yanzhu-bigscreen/src/views/machmater/chinaMap.vue b/yanzhu-bigscreen/src/views/machmater/chinaMap.vue new file mode 100644 index 00000000..0b7c0eeb --- /dev/null +++ b/yanzhu-bigscreen/src/views/machmater/chinaMap.vue @@ -0,0 +1,244 @@ + + + diff --git a/yanzhu-bigscreen/src/views/machmater/machineInfoDialog.vue b/yanzhu-bigscreen/src/views/machmater/machineInfoDialog.vue new file mode 100644 index 00000000..d7a64904 --- /dev/null +++ b/yanzhu-bigscreen/src/views/machmater/machineInfoDialog.vue @@ -0,0 +1,301 @@ + + + + + diff --git a/yanzhu-bigscreen/src/views/machmater/machineManage.vue b/yanzhu-bigscreen/src/views/machmater/machineManage.vue index 1f3b7c99..55fa8bd8 100644 --- a/yanzhu-bigscreen/src/views/machmater/machineManage.vue +++ b/yanzhu-bigscreen/src/views/machmater/machineManage.vue @@ -1,14 +1,87 @@ @@ -82,5 +442,298 @@ export default { height: calc(22% - 20px); } } + .device-info { + .survey_title { + padding: 24px 15px; + } + .survey_content { + .survey_content_img { + .svg-icon { + fill: rgb(1, 169, 255); + width: 20px; + height: 20px; + } + } + } + } + + .warning-info { + .pcd-rect { + width: 15px; + height: 10px; + margin-right: 5px; + background: #52adf4; + } + .warning-info-title { + } + } + + .device-status { + .project-overview-chart { + .chart-gif { + top: 76px !important; + left: 50px; + } + .chart-text { + top: 72px !important; + left: 46px; + } + } + } + @media (min-width: 1921px) and (max-width: 2560px) { + .device-info { + .survey_title { + padding: 30px 15px; + .survey_title_btn { + .survey_title_btn_min { + width: 150px; + height: 50px; + line-height: 50px; + font-size: 20px; + } + + .survey_text { + width: 150px; + height: 32px; + } + .survey_text_value { + height: 32px; + line-height: 32px; + padding-left: 70px; + } + } + } + .survey_content { + margin: 20px 0px; + .survey_content_img { + width: 120px; + height: 120px; + background-size: 120px 90px; + .svg-icon { + width: 30px; + height: 30px; + } + } + } + } + + .warning-info { + .pcd-rect { + width: 24px; + height: 16px; + margin-right: 8px; + } + .pcd-output-value-key-info { + font-size: 16px; + } + .warning-info-title { + font-size: 20px; + } + } + + .device-status { + .project-overview-chart { + .chart-gif { + width: 195px; + height: 195px; + top: 100px !important; + left: 47px; + } + .chart-text { + width: 195px; + height: 195px; + top: 100px !important; + left: 47px; + .chart-text-title { + font-size: 32px; + } + .chart-text-sub-title { + font-size: 24px; + } + } + } + } + + .BMap_bubble_pop { + width: 440px !important; + .BMap_bubble_top { + .BMap_bubble_buttons { + div { + font-size: 30px !important; + } + } + } + .BMap_bubble_content { + .popup-baidu-max { + .popup-baidu-machine-second { + font-size: 14px; + } + .popup-baidu-text { + font-size: 14px; + } + .popup-baidu-machine-state { + font-size: 14px; + } + .popup-baidu-machine-name { + font-size: 14px; + } + .popup-baidu-machine-details tr { + td { + font-size: 14px; + &:first-child { + width: 80px; + } + } + } + } + } + } + } + + .BMap_bubble_pop { + .BMap_bubble_content { + width: 100% !important; + .popup-baidu-max { + width: 100%; + background-size: 100% calc(100% - 3px); + .popup-baidu-machine-second { + font-size: 12px; + } + .popup-baidu-text { + font-size: 12px; + } + .popup-baidu-machine-state { + font-size: 12px; + } + .popup-baidu-machine-name { + font-size: 12px; + } + .popup-baidu-machine-details tr { + td { + font-size: 12px; + &:first-child { + width: 60px; + } + } + } + } + } + } + + @media (min-width: 2561px) { + .device-info { + .survey_title { + padding: 40px 15px; + .survey_title_btn { + .survey_title_btn_min { + width: 240px; + height: 80px; + line-height: 80px; + font-size: 32px; + } + + .survey_text { + width: 220px; + height: 50px; + } + .survey_text_value { + height: 50px; + line-height: 50px; + padding-left: 100px; + font-size: 28px; + span { + font-size: 28px; + } + } + } + } + .survey_content { + margin: 30px 0px; + .survey_content_number { + font-size: 30px; + } + .survey_content_img { + width: 240px; + height: 240px; + background-size: 240px 180px; + .svg-icon { + width: 60px; + height: 60px; + position: relative; + top: 40px; + } + } + } + } + .BMap_bubble_pop { + .BMap_bubble_top { + .BMap_bubble_buttons { + div { + font-size: 40px !important; + } + } + } + .BMap_bubble_content { + .popup-baidu-max { + .popup-baidu-machine-second { + font-size: 18px; + } + .popup-baidu-text { + font-size: 18px; + } + .popup-baidu-machine-state { + font-size: 18px; + } + .popup-baidu-machine-name { + font-size: 18px; + } + .popup-baidu-machine-details tr { + td { + font-size: 18px; + &:first-child { + width: 120px; + } + } + } + } + } + } + .warning-info { + .pcd-rect { + width: 36px; + height: 24px; + margin-right: 8px; + } + .pcd-output-value-key-info { + font-size: 20px; + } + .warning-info-title { + font-size: 28px; + } + } + + .device-status { + .project-overview-chart { + .chart-gif { + width: 285px; + height: 285px; + top: 156px !important; + left: 82px; + } + .chart-text { + width: 285px; + height: 285px; + top: 156px !important; + left: 82px; + .chart-text-title { + font-size: 48px; + } + .chart-text-sub-title { + font-size: 32px; + } + } + } + } + } } diff --git a/yanzhu-bigscreen/src/views/machmater/processControlBar.vue b/yanzhu-bigscreen/src/views/machmater/processControlBar.vue new file mode 100644 index 00000000..a28e9bd9 --- /dev/null +++ b/yanzhu-bigscreen/src/views/machmater/processControlBar.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bigscreen/MachMaterController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bigscreen/MachMaterController.java index 2b5e957c..0742e989 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bigscreen/MachMaterController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bigscreen/MachMaterController.java @@ -34,6 +34,9 @@ public class MachMaterController extends BaseController { } paramJson.remove("url"); Map map = new HashMap<>(); + if(url.endsWith("/")){ + url = url.substring(0, url.length() - 1); + } map.put("url", url); map.put("obj", paramJson); return map; @@ -49,10 +52,10 @@ public class MachMaterController extends BaseController { public AjaxResult machGetManageQuota(Long projectId) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/getManageQuota"; JSONObject paramJson = (JSONObject) map.get("obj"); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/getManageQuota?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } @@ -63,10 +66,10 @@ public class MachMaterController extends BaseController { public AjaxResult machGetEquipmentOverview(Long projectId) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/getEquipmentOverview"; JSONObject paramJson = (JSONObject) map.get("obj"); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/getEquipmentOverview?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } @@ -78,10 +81,10 @@ public class MachMaterController extends BaseController { public AjaxResult machGetCertInfoData(Long projectId) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/getCertInfoData"; JSONObject paramJson = (JSONObject) map.get("obj"); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/getCertInfoData?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } @@ -92,10 +95,11 @@ public class MachMaterController extends BaseController { public AjaxResult machSelectMachineMapData(Long projectId) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/selectMachineMapData"; + JSONObject paramJson = (JSONObject) map.get("obj"); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/selectMachineMapData?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } @@ -106,10 +110,10 @@ public class MachMaterController extends BaseController { public AjaxResult machGetMapData(Long projectId) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/getMapData"; JSONObject paramJson = (JSONObject) map.get("obj"); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/getMapData?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } @@ -120,13 +124,57 @@ public class MachMaterController extends BaseController { public AjaxResult machGetClassifyWorks(Long projectId) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/getClassifyWorks"; JSONObject paramJson = (JSONObject) map.get("obj"); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/getClassifyWorks?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } + // 机智管家-设备详情 + @GetMapping("/machGetMachineInfo") + public AjaxResult machGetMachineInfo(Long projectId,String deviceNum) throws Exception { + Map map = getConfig(projectId, "mach"); + String url = map.get("url").toString(); + JSONObject paramJson = (JSONObject) map.get("obj"); + HttpUtils httpUtils = new HttpUtils(); + Map result=new HashMap<>(); + String urlPath=url+"/largeScreen/digitalConstruction/getMachineInfo?"+HttpUtils.jsonToGetParams( paramJson); + String postString="device_num="+deviceNum; + String res = httpUtils.sendPost(urlPath,postString); + JSONObject jo=JSONObject.parseObject(res); + result.put("getMachineInfo",jo); + if(jo.get("code").toString().equals("0")){ + JSONObject jdata= jo.getJSONObject("data"); + if(jdata!=null){ + String examine_id= jdata.getString("examine_id"); + if(StringUtils.isNotBlank(examine_id)){ + urlPath=url+"/largeScreen/digitalConstruction/getMachinePhoto?"+HttpUtils.jsonToGetParams( paramJson); + res = httpUtils.sendPost(urlPath,"id="+examine_id); + result.put("getMachinePhoto",JSONObject.parseObject(res)); + } + } + } + + urlPath=url+"/largeScreen/digitalConstruction/getMachineDeviceInfo?"+HttpUtils.jsonToGetParams( paramJson); + res = httpUtils.sendPost(urlPath,postString); + result.put("getMachineDeviceInfo",JSONObject.parseObject(res)); + return AjaxResult.success(result); + } + + // 机智管家-设备详情Url + @GetMapping("/machGetSystemDeviceInfoUrl") + public AjaxResult machGetSystemDeviceInfoUrl(Long projectId,String deviceNum)throws Exception{ + Map map = getConfig(projectId, "mach"); + String url = map.get("url").toString(); + JSONObject paramJson = (JSONObject) map.get("obj"); + HttpUtils httpUtils = new HttpUtils(); + String urlPath=url+"/largeScreen/digitalConstruction/getSystemDeviceInfoUrl?"+HttpUtils.jsonToGetParams( paramJson); + String postString="phone=17795687332&device_num="+deviceNum; + String res = httpUtils.sendPost(urlPath,postString); + return AjaxResult.success(res); + } + /** * 机智管家-监控预警 */ @@ -134,11 +182,11 @@ public class MachMaterController extends BaseController { public AjaxResult machGetClockInException(Long projectId, int pageSize) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/getClockInException"; JSONObject paramJson = (JSONObject) map.get("obj"); paramJson.put("pageSize", pageSize); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/getClockInException?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } @@ -149,10 +197,10 @@ public class MachMaterController extends BaseController { public AjaxResult machGetDeviceInfoByProjectId(Long projectId) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/getDeviceInfoByProjectId"; JSONObject paramJson = (JSONObject) map.get("obj"); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/getDeviceInfoByProjectId?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } @@ -164,11 +212,11 @@ public class MachMaterController extends BaseController { public AjaxResult machGetExceptionAlert(Long projectId, int size) throws Exception { Map map = getConfig(projectId, "mach"); String url = map.get("url").toString(); - url += "/largeScreen/digitalConstruction/getExceptionAlert"; JSONObject paramJson = (JSONObject) map.get("obj"); paramJson.put("size", size); HttpUtils httpUtils = new HttpUtils(); - String result = httpUtils.sendJSONPost(url, paramJson.toString(), null); + url += "/largeScreen/digitalConstruction/getExceptionAlert?"+ HttpUtils.jsonToGetParams( paramJson); + String result = httpUtils.sendGet(url); return AjaxResult.success(JSONObject.parseObject(result)); } diff --git a/yanzhu-ui-vue3/src/views/machmange/machConfig/index.vue b/yanzhu-ui-vue3/src/views/machmange/machConfig/index.vue index d40c5c2c..f853ede3 100644 --- a/yanzhu-ui-vue3/src/views/machmange/machConfig/index.vue +++ b/yanzhu-ui-vue3/src/views/machmange/machConfig/index.vue @@ -6,18 +6,25 @@ {{ form.url }} - - {{ form.userId }} - + + + {{ form.deptId }} + - - {{ form.chinaKey }} - - - + {{ form.projectId }} + + + {{ form.app_key }} + + + + {{ form.app_secret }} + + +