| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <%@include file="/context/mytags.jsp"%>
- <!DOCTYPE html>
- <html>
- <head>
- <title>预算岗位人数表</title>
- <t:base type="jquery,easyui,tools,DatePicker"></t:base>
- <script src = "webpage/cn/com/lzt/budget/data/js/budget_tools.js"></script>
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=Cq7aZVbka0L3UXDLgkKFoiFqnZAwPdS4"></script>
- <%--<script src="plug-in/cron/cron.js" type="text/javascript"></script>--%>
- <style>
- html{
- height:100%;
- }
- body {
- height:100%;
- }
- .mainwrapp{
- display:flex;
- height:100%;
- }
- .left{
- width:500px;
- padding-left:20px;
- padding-right:20px;
- }
- .right{
- flex:1;
- }
- .info{
- position:absolute;
- left:600px;
- z-index: 999;
- background-color: rgba(255,255,255,0.5);
- /*opacity:0.5;*/
- }
- #container{
- width:100%;
- height:100%;
- }
- fieldset{
- border:1px solid #666666;padding:5px
- }
- </style>
- <script type="text/javascript">
- //编写自定义JS代码
- </script>
- </head>
- <body>
- <div class="mainwrapp">
- <div class="left">
- <c:if test="${param.type ==0}">
- <div class="info">
- <h2 style="text-align: center;font-weight:bold">社会化用工情况</h2>
- <table>
- <tr>
- <th>人员类型</th><th>可用人数</th><th>持证人数</th>
- </tr>
- <tr>
- <td>普保临保</td><td align="center">0</td><td align="center">0</td>
- </tr>
- <tr>
- <td>特保临保</td><td align="center">0</td><td align="center">0</td>
- </tr>
- <tr>
- <td>工程技工-高压电工</td><td align="center">0</td><td align="center">0</td>
- </tr>
- <tr>
- <td>工程技工-低压电工</td><td align="center">0</td><td align="center">0</td>
- </tr>
- <tr>
- <td>工程技工-空调工</td><td align="center">0</td><td align="center">0</td>
- </tr>
- <tr>
- <td>临时保洁</td><td align="center">0</td><td align="center">0</td>
- </tr>
- <tr>
- <td>临时会务</td><td align="center">0</td><td align="center">0</td>
- </tr>
- </table>
- </div>
- 市场配置人员费用:${param.scfy}
- 市场配置人员数量:${param.scrs}
- 外包人员费用:${param.wbfy}
- 外包人员数量:${param.wbrs}
- <div style="height:5px;"></div>
- 人力成本方案:<t:dictSelect field="scheme" id="scheme" type="list" dictTable="t_b_budget_cost_hr_scheme" dictField="id" dictText="name"/>
- 自有员工预估费用:<label id="feiyong"></label>
- <div style="height:5px;border-bottom:1px solid #666666;"></div>
- <div style="height:15px;"></div>
- </c:if>
- <t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="budgetPostNumController.do?doAdd" >
- <input id="id" name="id" type="hidden" value="${entity.id }"/>
- <input id="type" name="type" type="hidden" value="${param.type }"/>
- <input id="entityId" name="entityId" type="hidden" value="${param.entityId }"/>
- <input id="periodYear" name="periodYear" type="hidden" value="${param.periodYear }"/>
- <table cellpadding="0" cellspacing="1">
- <tr>
- <th align="right" style="padding-right:9px;">岗位名称</th>
- <th align="center">人数</th>
- <c:if test="${param.type ==0}">
- <th align="center">人员物资配置方案</th>
- </c:if>
- </tr>
- <c:forEach items="${budgetPostEntityList}" var="budgetPost" varStatus="s">
- <input type="hidden" name="postNumDetailEntities[${s.index }].postId" value="${budgetPost.id}"/>
- <input type="hidden" name="postNumDetailEntities[${s.index }].postName" value="${budgetPost.postName}"/>
- <c:set var="detail" value="${detailMap[budgetPost.id]}"/>
- <tr>
- <td align="right">
- <label class="Validform_label">
- ${budgetPost.postName}:
- </label>
- </td>
- <td class="value">
- <input id="postNumDetailEntities[${s.index }].num" name="postNumDetailEntities[${s.index }].num"
- type="text" style="width: 150px" value="${empty detail.num?0.0:detail.num}" onchange="estimate()" />
- </td>
- <c:if test="${param.type ==0}">
- <td class="value">
- <t:dictSelect field="postNumDetailEntities[${s.index }].costPostMaterialSchemeId" type="list"
- dictTable="t_b_budget_cost_post_material_scheme" dictField="id" dictText="name"
- defaultVal="${detail.costPostMaterialSchemeId}" hasLabel="false"></t:dictSelect>
- </td>
- </c:if>
- </tr>
- </c:forEach>
- </table>
- </t:formvalid>
- </div>
- <div class="right">
- <div id="container"></div>
- </div>
- </div>
- </body>
- <script>
- var entityId='${param.entityId}';
- var distanceLimit=2000;
- function getData(){
- var obj = {};
- obj.id = $('#id').val();
- return obj;
- }
- function estimate(){
- var scheme = $('#scheme').val();
- if(!scheme){
- // _alert('请选择成本方案');
- return;
- }
- var form = $('#formobj');
- var url = 'budgetPostNumController.do?estimate';
- var data=form.serialize();
- data+="&schemeId="+scheme;
- $.ajax({
- type: "POST",
- dataType: "json",
- url: url ,
- data: data,
- success: function (d) {
- var v=d.obj;
- $('#feiyong').html(v);
- },
- error : function() {
- alert("异常!");
- }
- });
- }
- var map;
- var centerPoint ;
- var centerMarker;
- $(function(){
- $('#scheme').bind('change',function(){
- estimate();
- })
- <c:if test="${param.type ==0}">
- $.post('budgetEntityController.do?getMapPoint4Postnum',{entityId:entityId},function(d){
- var obj = d.obj;
- map = new BMap.Map('container'); // 创建Map实例
- map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放
- for(var i =0;i<obj.length;i++){
- var one = obj[i];
- var id=one[0];
- var entityName=one[1];
- if(!one[2]) continue;
- var lnglat = one[2].split(',');
- if(id==entityId) {
- var point = new BMap.Point(lnglat[0],lnglat[1]);
- centerPoint = point;
- var circle = new BMap.Circle(point,distanceLimit,{
- strokeColor: "blue",
- strokeWeight: 1,
- fillColor: "#E2E8F1",
- fillOpacity: 0.6
- });
- map.addOverlay(circle);
- break;
- }
- }
- for(var i =0;i<obj.length;i++){
- var one = obj[i];
- var id=one[0];
- var entityName=one[1];
- if(!one[2]) continue;
- var lnglat = one[2].split(',');
- var point = new BMap.Point(lnglat[0],lnglat[1]);
- var dis = map.getDistance(point,centerPoint);
- if(dis>distanceLimit) continue;
- let projectUserInfo =getProjectUserInfo();
- var marker=addMarker(point,projectUserInfo.icon);
- marker.addEventListener('mouseover',function(){
- this.openInfoWindow(new BMap.InfoWindow(projectUserInfo.html));
- });
- marker.addEventListener('mouseout',function(){
- this.closeInfoWindow();
- });
- addInfoWindow(marker,entityName,0)
- }
- // map.addControl(new BMap.NavigationControl()); //缩放按钮
- console.log(centerPoint)
- map.centerAndZoom(centerPoint, 15); // 初始化地图,设置中心点坐标和地图级别
- },'json');
- </c:if>
- })
- function getProjectUserInfo(){
- var html='<table>' +
- '<h2 style="text-align: center;font-weight:bold">项目可共享人员</h2><tr align="center"><th>岗位类型</th><th>人数</th><th>可共享时段</th></tr>';
- var maxUserCount=0;
- var num1=Math.floor(Math.random()*maxUserCount);
- html+=' <tr><td align="left">内勤</td><td align="center">'+num1+'</td><td></td></tr>';
- var num2=Math.floor(Math.random()*maxUserCount);
- html+=' <tr><td align="left">特保</td><td align="center">'+num2+'</td><td></td></tr>';
- var num3=Math.floor(Math.random()*maxUserCount);
- html+=' <tr><td align="left">普保</td><td align="center">'+num3+'</td><td></td></tr>';
- var num4=Math.floor(Math.random()*maxUserCount);
- html+=' <tr><td align="left">工程</td><td align="center">'+num4+'</td><td></td></tr>';
- var num5=Math.floor(Math.random()*maxUserCount);
- html+=' <tr><td align="left">保洁</td><td align="center">'+num5+'</td><td>周六、周日</td></tr>';
- html+='</table>';
- var total = num1+num2+num3+num4+num5;
- var icon = yellowIcon;
- if(total>9){
- icon=greenIcon;
- }else if(total==0){
- icon=redIcon;
- }
- var info={};
- info.html=html;
- info.icon = icon;
- return info;
- }
- function addInfoWindow(marker, content,number) {
- var offsetSize = new BMap.Size(0, 0);
- var labelStyle = {
- color: "#fff",
- backgroundColor: "0.05",
- border: "0"
- };
- //不同数字长度需要设置不同的样式。
- switch((number + '').length) {
- case 1:
- labelStyle.fontSize = "14px";
- offsetSize = new BMap.Size(4, 2);
- break;
- case 2:
- labelStyle.fontSize = "12px";
- offsetSize = new BMap.Size(2, 4);
- break;
- case 3:
- labelStyle.fontSize = "10px";
- offsetSize = new BMap.Size(-2, 4);
- break;
- default:
- break;
- }
- var label = new BMap.Label(number, {
- offset: offsetSize
- });
- label.setStyle(labelStyle);
- marker.setLabel(label);
- var label = new window.BMap.Label(content, { offset: new BMap.Size(20, -10) });
- marker.setLabel(label);
- }
- var greenIcon = new BMap.Icon("webpage/cn/com/lzt/budget/postnum/maker-green.png", new BMap.Size(32, 32));
- var redIcon = new BMap.Icon("webpage/cn/com/lzt/budget/postnum/maker-red.png", new BMap.Size(32, 32));
- var yellowIcon = new BMap.Icon("webpage/cn/com/lzt/budget/postnum/maker-yellow.png", new BMap.Size(32, 32));
- function addMarker(point,icon) {
- var marker = new BMap.Marker(point,{icon:icon});
- map.addOverlay(marker);
- return marker;
- }
- </script>
- <script src = "webpage/cn/com/lzt/budget/postnum/budgetPostNum.js"></script>
|