Merge branch 'master' of http://117.78.1.188:8089/r/dkyChenJiang
# Conflicts:
# javaweb-plus/javaweb-admin/src/main/resources/templates/index.html
| | |
| | | |
| | | // 系统介绍 |
| | | @ResponseBody |
| | | @GetMapping("/system/project") |
| | | @GetMapping("/system/stat/project") |
| | | public AjaxResult project() { |
| | | AjaxResult ajaxResult = AjaxResult.success(); |
| | | List<Project> projects = projectService.selectProjectList(new Project()); |
| | |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @GetMapping("/system/totalProcess") |
| | | @GetMapping("/system/stat/totalProcess") |
| | | public AjaxResult totalProcess() { |
| | | AjaxResult ajaxResult = AjaxResult.success(); |
| | | Hole hole = holeService.selectHoleTotalProcess(); |
| | |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @GetMapping("/system/projectProcess") |
| | | @GetMapping("/system/stat/projectProcess") |
| | | public AjaxResult projectProcess() { |
| | | AjaxResult ajaxResult = AjaxResult.success(); |
| | | List<Hole> holes = holeService.selectHoleProjectProcess(); |
| | |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @GetMapping("/system/indexDataCount") |
| | | @GetMapping("/system/stat/indexDataCount") |
| | | public AjaxResult indexDataCount() { |
| | | IndexVo result = new IndexVo(); |
| | | //=============================查询场地数量=============================== |
| | |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @GetMapping("/system/tubLogData") |
| | | @GetMapping("/system/stat/tubLogData") |
| | | public AjaxResult tubLogData() { |
| | | AjaxResult ajaxResult = new AjaxResult(); |
| | | List<TubLog> tubLogs = tubLogMapper.countTubLogDate(); |
| | | List<TubLog> tubLogs = tubLogMapper.countTubLogDate(null); |
| | | ajaxResult.put("tubLogs",tubLogs); |
| | | return ajaxResult; |
| | | } |
| | |
| | | <img th:src="@{/images/logo.png}"> |
| | | </li> |
| | | </a> |
| | | |
| | | <li id="minilogo" style="display: none;height: 100px;align-content: center;"> |
| | | <a style="text-align: center;padding: 0;" th:href="@{/index}"> |
| | | <img th:src="@{/images/minilogo.png}"> |
| | | </a> |
| | | </li> |
| | | |
| | | <!-- <li>--> |
| | | <!-- <div class="user-panel">--> |
| | | <!-- <a class="menuItem" title="个人中心" th:href="@{/system/user/profile}"> --> |
| | |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </li>--> |
| | | |
| | | <li th:each="menu : ${menus}"> |
| | | <a th:class="@{${menu.url != '' && menu.url != '#'} ? ${menu.target}}" th:href="@{${menu.url == ''} ? |#| : ${menu.url}}"> |
| | | <i class="fa fa-bar-chart-o" th:class="${menu.icon}"></i> |
| | |
| | | th:src="@{/system/main}" frameborder="0" seamless></iframe> |
| | | </div> |
| | | <div class="footer"> |
| | | <div class="pull-right">Copyright © 2022.工程勘察地质信息查询服务平台 All Rights Reserved. Powered by. 京ICP备</div> |
| | | <div class="pull-right">Copyright © 2024.钻探工程信息化系统 All Rights Reserved. Powered by. 京ICP备</div> |
| | | </div> |
| | | </div> |
| | | <!--右侧部分结束--> |
| | |
| | | <div style="height: 200px;width: 100%;"> |
| | | <h3>材料统计</h3> |
| | | <el-col :span="10" style="height: 200px;"> |
| | | <template> |
| | | <el-table :data="tubLogs" border size="small" style="width: 100%" |
| | | :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}" |
| | | :row-class-name="tableRowClassName"> |
| | | <!-- <el-table-column prop="code" label="序号"></el-table-column>--> |
| | | <el-table-column prop="tubName" label="名称"></el-table-column> |
| | | <el-table-column prop="inboundNumber" label="入库数量"></el-table-column> |
| | | <el-table-column prop="outboundNumber" label="出库数量"></el-table-column> |
| | | <el-table-column prop="unit" label="单位"></el-table-column> |
| | | <div style="margin-top: 15px"> |
| | | <template> |
| | | <el-table :data="tubLogs" border size="small" style="width: 100%" |
| | | :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}" |
| | | :row-class-name="tableRowClassName"> |
| | | <!-- <el-table-column prop="code" label="序号"></el-table-column>--> |
| | | <el-table-column prop="tubName" label="名称"></el-table-column> |
| | | <el-table-column prop="inboundNumber" label="入库数量"></el-table-column> |
| | | <el-table-column prop="outboundNumber" label="出库数量"></el-table-column> |
| | | <el-table-column prop="unit" label="单位"></el-table-column> |
| | | |
| | | </el-table> |
| | | </template> |
| | | </el-table> |
| | | </template> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="14" style="height: 200px;"> |
| | | <div id="column-chart" style="height: 180px; width: 100%;"></div> |
| | | </el-col> |
| | | </div> |
| | | </el-card> |
| | | |
| | | <el-card class="box-card" style="margin-top: 20px;"> |
| | | <div id="map_div" style="width: 100%;height: 550px;"></div> |
| | | <div id="map_div" style="width: 100%;height: 550px;margin-top: -5px"></div> |
| | | </el-card> |
| | | |
| | | </el-col> |
| | |
| | | } |
| | | |
| | | function tubLogs() { |
| | | let url = ctx + "/system/tubLogData"; |
| | | |
| | | const chart = echarts.init(document.getElementById("column-chart")); |
| | | const option = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | } |
| | | }, |
| | | legend: {}, |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | data: [] |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value' |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '出库', |
| | | type: 'bar', |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: [] |
| | | }, |
| | | { |
| | | name: '入库', |
| | | type: 'bar', |
| | | stack: 'Ad', |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: [] |
| | | }, |
| | | |
| | | ] |
| | | }; |
| | | |
| | | let url = ctx + "/system/stat/tubLogData"; |
| | | $.ajaxSettings.async = false; |
| | | $.get(url,{},function(res){ |
| | | vm.tubLogs = res.tubLogs; |
| | | |
| | | res.tubLogs.forEach(function(value, index, array) { |
| | | const tubName = value.tubName; |
| | | const inboundNumber = value.inboundNumber; |
| | | const outboundNumber = value.outboundNumber; |
| | | const unit = value.unit; |
| | | option.xAxis[0].data[index] = tubName; |
| | | option.series[0].data[index] = outboundNumber; |
| | | option.series[1].data[index] = inboundNumber; |
| | | }); |
| | | chart.setOption(option, true); |
| | | }) |
| | | $.ajaxSettings.async = false; |
| | | console.log(vm.tubLogs); |
| | | } |
| | | |
| | | //首页第一行个数统计 |
| | | function indexCount() { |
| | | let url = ctx + "/system/indexDataCount"; |
| | | let url = ctx + "/system/stat/indexDataCount"; |
| | | $.ajaxSettings.async = false; |
| | | $.get(url,{},function(res){ |
| | | vm.indexDataCount = res.data; |
| | |
| | | } |
| | | //场地进度 |
| | | function stationProcess() { |
| | | let url = ctx + "/system/projectProcess"; |
| | | let url = ctx + "/system/stat/projectProcess"; |
| | | $.ajaxSettings.async = false; |
| | | $.get(url,{},function(res){ |
| | | vm.stationProcessData = res.projectData; |
| | | }) |
| | | $.ajaxSettings.async = false; |
| | | console.log(vm.stationProcessData); |
| | | |
| | | } |
| | | var vm = new Vue({ |
| | | el: "#app", |
| | |
| | | |
| | | // 获取数据库真实数据 |
| | | function getReallyData() { |
| | | let url = window.location.protocol + "//" + window.location.host + "/bjfw/system/project"; |
| | | let url = window.location.protocol + "//" + window.location.host + "/bjfw/system/stat/project"; |
| | | $.get(url,function(res){ |
| | | var data = res.projects; |
| | | showProjectPoint(data); |
| | |
| | | function totalProcess() { |
| | | var Chart1 = echarts.init(document.getElementById('Chart1')); |
| | | var pointerData = 0; // 仪表指针数据 |
| | | let url = ctx + "/system/totalProcess"; |
| | | let url = ctx + "/system/stat/totalProcess"; |
| | | $.ajaxSettings.async = false; |
| | | $.get(url,{},function(res){ |
| | | pointerData = res.pointerData; |
| | |
| | | /** |
| | | * 统计 |
| | | */ |
| | | @GetMapping("/countTubLogDate") |
| | | @GetMapping("/countTubLogDate/{projectId}") |
| | | @ResponseBody |
| | | public AjaxResult countTubLogDate() { |
| | | return tubLogService.countTubLogDate(); |
| | | public AjaxResult countTubLogDate(@PathVariable("projectId") String projectId) { |
| | | return tubLogService.countTubLogDate(projectId); |
| | | } |
| | | |
| | | } |
| | |
| | | /** |
| | | * 统计 |
| | | */ |
| | | List<TubLog> countTubLogDate(); |
| | | List<TubLog> countTubLogDate(@Param("projectId") String projectId); |
| | | } |
| | |
| | | /** |
| | | * 统计 |
| | | */ |
| | | AjaxResult countTubLogDate(); |
| | | AjaxResult countTubLogDate(String projectId); |
| | | } |
| | |
| | | * 统计 |
| | | */ |
| | | @Override |
| | | public AjaxResult countTubLogDate() { |
| | | List<TubLog> list = tubLogMapper.countTubLogDate(); |
| | | public AjaxResult countTubLogDate(String projectId) { |
| | | List<TubLog> list = tubLogMapper.countTubLogDate(projectId); |
| | | return AjaxResult.success("查询成功!",list); |
| | | } |
| | | |
| | |
| | | SELECT MAX(id) FROM js_tub_log where project_id = #{projectId} |
| | | </select> |
| | | |
| | | <select id="countTubLogDate" resultMap="TubLogResult"> |
| | | <select id="countTubLogDate2" resultMap="TubLogResult"> |
| | | SELECT |
| | | a.tub_name, |
| | | b.inbound_number, |
| | |
| | | LEFT JOIN ( SELECT tub_name, SUM( number ) AS inbound_number, unit FROM js_tub_log WHERE inbound_date IS NOT NULL GROUP BY tub_name ) b ON a.tub_name = b.tub_name |
| | | </select> |
| | | |
| | | <select id="countTubLogDate" resultMap="TubLogResult"> |
| | | SELECT |
| | | a.project_id, |
| | | a.tub_name, |
| | | b.inbound_number, |
| | | a.outbound_number, |
| | | a.unit |
| | | FROM |
| | | ( SELECT project_id, tub_name, SUM( number ) AS outbound_number, unit FROM js_tub_log WHERE outbound_date IS NOT NULL GROUP BY tub_name ) a |
| | | LEFT JOIN ( SELECT project_id, tub_name, SUM( number ) AS inbound_number, unit FROM js_tub_log WHERE inbound_date IS NOT NULL GROUP BY tub_name ) b ON a.tub_name = b.tub_name |
| | | AND a.project_id = b.project_id |
| | | <where> |
| | | <if test="projectId != null and projectId != ''"> and a.project_id = #{projectId}</if> |
| | | </where> |
| | | </select> |
| | | |
| | | <insert id="insertTubLog" parameterType="TubLog" useGeneratedKeys="true" keyProperty="id"> |
| | | insert into js_tub_log |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | |
| | | </template> |
| | | {{project.code}} |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | <i class="el-icon-map-location"></i> |
| | |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | |
| | | |
| | | |
| | | </el-row> |
| | | <el-row style="height: 200px;"> |
| | | <el-col :span="24"> |
| | | <el-card class="box-card card-green" style="height: 320px;margin-top: 20px"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>材料信息</span> |
| | | </div> |
| | | |
| | | <el-card class="box-card card-green" style="height: 320px;margin-top: 20px"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>材料统计</span> |
| | | </div> |
| | | <el-col :span="10" style="height: 320px;"> |
| | | <template> |
| | | <el-table :data="tubLogs" border size="small" style="width: 100%" |
| | | :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}" |
| | | :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="tubName" label="名称"></el-table-column> |
| | | <el-table-column prop="inboundNumber" label="入库数量"></el-table-column> |
| | | <el-table-column prop="outboundNumber" label="出库数量"></el-table-column> |
| | | <el-table-column prop="unit" label="单位"></el-table-column> |
| | | </el-table> |
| | | </template> |
| | | </el-col> |
| | | <el-col :span="14" style="height: 320px;"> |
| | | <div id="column-chart" style="height: 250px; width: 100%;"></div> |
| | | </el-col> |
| | | </el-card> |
| | | <!-- <el-card class="box-card card-green" style="height: 320px;margin-top: 20px">--> |
| | | <!-- <div slot="header" class="clearfix">--> |
| | | <!-- <span>材料信息</span>--> |
| | | <!-- </div>--> |
| | | <!-- <div>--> |
| | | <!-- <template>--> |
| | | <!-- <el-table :data="tubLogs" border size="small" style="width: 100%"--> |
| | | <!-- :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}"--> |
| | | <!-- :row-class-name="tableRowClassName">--> |
| | | <!-- <!– <el-table-column prop="code" label="序号"></el-table-column>–>--> |
| | | <!-- <el-table-column prop="tubName" label="名称"></el-table-column>--> |
| | | <!-- <el-table-column prop="inboundNumber" label="入库数量"></el-table-column>--> |
| | | <!-- <el-table-column prop="outboundNumber" label="出库数量"></el-table-column>--> |
| | | <!-- <el-table-column prop="unit" label="单位"></el-table-column>--> |
| | | |
| | | <!-- </el-table>--> |
| | | <!-- </template>--> |
| | | <!-- </div>--> |
| | | <!-- </el-card>--> |
| | | |
| | | |
| | | |
| | | </el-col> |
| | | |
| | | </el-row> |
| | |
| | | |
| | | |
| | | <th:block th:include="include :: footer" /> |
| | | <script th:src="@{/ajax/libs/report/echarts/echarts-all.js}"></script> |
| | | |
| | | <script th:inline="javascript"> |
| | | var project =[[${project}]]; |
| | | var projectId=[[${projectId}]]; |
| | | var statusDatas = [[${@dict.getType('hole_status')}]]; |
| | | var prefix = ctx + "geo/hole"; |
| | | var prefix2 = ctx + "geo/TubLog"; |
| | | |
| | | $(function() { |
| | | var url = prefix + "/holelist?projectId=" + projectId; |
| | |
| | | vm.holeData = res.data; |
| | | }); |
| | | vm.project = project; |
| | | |
| | | console.log(vm.project); |
| | | console.log(vm.holeData); |
| | | tubLogs(); |
| | | }); |
| | | |
| | | function tubLogs() { |
| | | const chart = echarts.init(document.getElementById("column-chart")); |
| | | const option = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | } |
| | | }, |
| | | legend: {}, |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | data: [] |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value' |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '出库', |
| | | type: 'bar', |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: [] |
| | | }, |
| | | { |
| | | name: '入库', |
| | | type: 'bar', |
| | | stack: 'Ad', |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: [] |
| | | }, |
| | | |
| | | ] |
| | | }; |
| | | |
| | | let url = prefix2 + "/countTubLogDate/" + projectId; |
| | | $.ajaxSettings.async = false; |
| | | $.get(url,{},function(res){ |
| | | vm.tubLogs = res.data; |
| | | |
| | | res.data.forEach(function(value, index, array) { |
| | | const tubName = value.tubName; |
| | | const inboundNumber = value.inboundNumber; |
| | | const outboundNumber = value.outboundNumber; |
| | | const unit = value.unit; |
| | | option.xAxis[0].data[index] = tubName; |
| | | option.series[0].data[index] = outboundNumber; |
| | | option.series[1].data[index] = inboundNumber; |
| | | }); |
| | | chart.setOption(option, true); |
| | | |
| | | }) |
| | | $.ajaxSettings.async = false; |
| | | } |
| | | |
| | | var vm = new Vue({ |
| | | el: "#app", |
| | |
| | | return { |
| | | project: "", |
| | | holeData: [], |
| | | tubLogs:[], |
| | | }; |
| | | }, |
| | | methods: { |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | | return ""; |
| | | } else { |
| | | return "warning-row"; |
| | | } |
| | | }, |
| | | } |
| | | }); |
| | | |
| | |
| | | @Override |
| | | public void addCorsMappings(CorsRegistry registry) { |
| | | registry.addMapping("/webgis/**"); |
| | | registry.addMapping("/geotdp/**"); |
| | | registry.addMapping("/system/stat/**"); |
| | | } |
| | | } |
| | |
| | | filterChainDefinitionMap.put("/webgis/**", "anon");//注意前台请求不拦截 |
| | | filterChainDefinitionMap.put("/geotdp/**", "anon");//注意前台请求不拦截 |
| | | filterChainDefinitionMap.put("/geo/**", "anon");//注意前台请求不拦截 |
| | | filterChainDefinitionMap.put("/system/stat/**", "anon");//注意前台请求不拦截 |
| | | filterChainDefinitionMap.put("/page/view", "anon"); |
| | | filterChainDefinitionMap.put("/images/**", "anon"); |
| | | filterChainDefinitionMap.put("/img/**", "anon"); |