| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997 |
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <%@include file="/context/mytags.jsp"%>
- <t:base type="jquery,easyui,tools,DatePicker"></t:base>
- <style>
- .tooltip {
- position: relative;
- display: inline-block;
- border-bottom: none;
- background: url('images/tip-3.png') no-repeat center center;
- width: 25px;
- height: 25px;
- vertical-align: middle;
- border-style: none;
- }
- .tooltip .tooltiptext {
- visibility: hidden;
- width: 180px;
- background-color: black;
- color: #fff;
- text-align: center;
- border-radius: 6px;
- padding: 5px 0;
- position: absolute;
- z-index: 1;
- bottom: 110%;
- left: -20%;
- margin-left: -60px;
- /* 淡入 - 1秒内从 0% 到 100% 显示: */
- opacity: 0;
- transition: opacity 1s;
- /* position: absolute;
- z-index: 1;
- top: -25px;
- right: 380%;
- font-size:14px; */
- }
- .tooltip .tooltiptext::after {
- content: "";
- position: absolute;
- top: 100%;
- left: 10%;
- margin-top: -5px;
- border-width: 5px;
- border-style: solid;
- border-color: transparent transparent transparent black;
- }
- .tooltip:hover .tooltiptext {
- visibility: visible;
- opacity: 1;
- }
- </style>
- <!-- 排班操作表 -->
- <div class="easyui-layout" fit="true">
- <input id="yearmonth" name="yearmonth" type="hidden" value="${yearmonth}"/>
- <input id="pid" name="pid" type="hidden" value="${pid}"/>
- <input id="arrangeDutyOperateId" name="arrangeDutyOperateId" type="hidden" value=""/>
- <!-- <input id="updateId" name="updateId" type="hidden" value=""/> -->
- <!-- <input id="addId" name="addId" type="hidden" value=""/> -->
- <div region="center" style="padding:0px;border:0px">
- <t:datagrid name="arrangeDutyOperateList" checkbox="false" fitColumns="true" actionUrl="arrangeDutyOperateController.do?datagrid&pid=${pid}&yearmonth=${yearmonth}" idField="id" fit="true" pagination="false" queryMode="group">
- <t:dgCol title="主键" field="id" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="月度" field="yearmonth" hidden="true" queryMode="single" width="120"></t:dgCol>
- <%-- <t:dgCol title="项目岗位" field="pjtPostId" queryMode="single" width="120"></t:dgCol> --%>
- <t:dgCol title="项目岗位" field="pjtPostId" queryMode="single" dictionary="t_bus_project_post_detail,id,ptj_post_name, and delete_flag = 0 and pid = '${pid}'" width="120"></t:dgCol>
- <t:dgCol title="运转方式" field="runway" queryMode="single" dictionary="runway" width="120"></t:dgCol>
- <t:dgCol title="出勤时间" field="attendanceCycle" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="班次" field="shiftid" queryMode="single" dictionary="t_bus_arrange_duty,id,duty_name, and pid = '${pid}'" width="120"></t:dgCol>
- <t:dgCol title="班次人员" field="userid" queryMode="single" dictionary="t_s_base_user,id,realname ,and id in(select user_id from t_s_user_org uo left join t_s_depart dept on dept.id = uo.org_id where org_id = '${pid}' or dept.parentdepartid = '${pid}') "
- width="120"></t:dgCol>
- <%-- --%>
-
- <t:dgCol title="配置人数" field="deployPeopleNum" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="创建人名称" field="createName" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="创建人登录名称" field="createBy" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="创建日期" field="createDate" formatter="yyyy-MM-dd hh:mm:ss" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="更新人名称" field="updateName" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="更新人登录名称" field="updateBy" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="更新日期" field="updateDate" formatter="yyyy-MM-dd hh:mm:ss" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="所属部门" field="sysOrgCode" hidden="true" queryMode="single" width="120"></t:dgCol>
- <t:dgCol title="所属公司" field="sysCompanyCode" hidden="true" queryMode="single" width="120"></t:dgCol>
- <%-- <t:dgCol title="逻辑删除标识" field="deleteFlag" hidden="true" queryMode="single" dictionary="del_flag" width="120"></t:dgCol> --%>
- <t:dgCol title="操作" field="opt"></t:dgCol>
- <t:dgDelOpt title="删除" url="arrangeDutyOperateController.do?doDel&id={id}&yearmonth=${yearmonth}&pid=${pid}" urlclass="ace_button" urlfont="fa-trash-o"/>
- <%-- <t:dgToolBar title="录入" icon="icon-add" operationCode="add" url="arrangeDutyOperateController.do?goAdd" funname="add"></t:dgToolBar>
- <t:dgToolBar title="修改" icon="icon-edit" operationCode="edit" url="arrangeDutyOperateController.do?goUpdate" funname="update"></t:dgToolBar>
- <t:dgToolBar title="批量删除" icon="icon-remove" operationCode="remove" url="arrangeDutyOperateController.do?doBatchDel" funname="deleteALLSelect"></t:dgToolBar>
- <t:dgToolBar title="查看" icon="icon-search" url="arrangeDutyOperateController.do?goUpdate" funname="detail"></t:dgToolBar>
- <t:dgToolBar title="导入" icon="icon-putout" operationCode="put" funname="ImportXls"></t:dgToolBar>
- <t:dgToolBar title="导出" icon="icon-put" operationCode="put" funname="ExportXls"></t:dgToolBar>
- <t:dgToolBar title="模板下载" icon="icon-putout" operationCode="putout" funname="ExportXlsByT"></t:dgToolBar> --%>
- </t:datagrid>
-
- <script>
- $(function() {
- var datagrid = $("#arrangeDutyOperateListtb");
- datagrid.children("div:first").before($("#pinjie1 div[name='pinjie11']").html());
- // datagrid.children("div:first").after($("#pinjie2 div[name='pinjie21']").html());
- // datagrid.children(".datagrid-toolbar").children("span:first").after($("#pinjie2 div[name='pinjie21']").html());
- // datagrid.append($("#pinjie2 div[name='pinjie21']").html());
- $("#pinjie12").next("div").attr("style","border-bottom-width:0;height:auto;");
- $("#pinjie12").next("div").attr("class","datagrid-toolbar");
- datagrid.children(".datagrid-toolbar").children("span:first").after($("#pinjie2 div[name='pinjie21']").html());
- $("#pinjie1").html('');
- $("#pinjie2").html('');
- });
- </script>
- <div id="pinjie1" style="display: none;">
- <div name="pinjie11">
-
- <div id="pinjie12" style="margin:10px 0 5px 0;" >
- <t:formvalid formid="formobj" dialog="false" tipSweep="true" layout="table" action="wagestrategyController.do?saveRows" tiptype="1" callback="callback">
- <div style="display:none"><input type="submit" id ="btnsub" value=""/></div>
- <input name="id" id="id" type="hidden" value="" />
- <div>
- <label class="Validform_label">
- <span color="red" class="requiredIcon">*</span>项目岗位:
- </label>
- <t:dictSelect field="pjtPostId" type="list" dictTable="t_bus_project_post_detail" dictField="id" dictText="ptj_post_name" dictCondition=" where delete_flag = 0 and pid = '${pid}'" defaultVal="${arrangeDutyPage.pjtPostId}" hasLabel="false" title="项目岗位" datatype="*"></t:dictSelect>
- <span class="Validform_checktip"></span>
- <label class="Validform_label" style="display: none;">项目岗位</label>
-
- <label class="Validform_label">
- <font color="#FF0000"></font>岗位可配置人数:
- </label>
- <input id="deployPeopleNum" name="deployPeopleNum" type="text" disabled="disabled" style="width: 150px" class="inputxt" maxlength="3" datatype="n1-3" errormsg="配置总人数为数字类型" placeholder="配置总人数" ignore="checked" />
- <span class="Validform_checktip"></span>
- <label class="Validform_label" style="display: none;">配置总人数</label>
-
- <label class="Validform_label">
- <span color="red" class="requiredIcon">*</span>运转方式:
- </label>
- <t:dictSelect field="runway" type="list" typeGroupCode="runway" defaultVal="${arrangeDutyPage.runway}" hasLabel="false" title="运转方式" datatype="*"></t:dictSelect>
- <span class="Validform_checktip"></span>
- <label class="Validform_label" style="display: none;">运转方式</label>
-
- </div>
-
- <table >
-
- <tr style="height: 50px;width: 300px;">
- <td align="left">
- <label class="Validform_label">
- 出勤时间:
- </label>
- </td>
- <td class="value">
- <table id="myWeek" style="width: 500px;">
- <thead>
- <td><label><span style="cursor: pointer;"><input value="周一" class="checkOne" type="checkbox" />周一</span></label></td>
- <td><label><span style="cursor: pointer;"><input value="周二" class="checkOne" type="checkbox" />周二</span></label></td>
- <td><label><span style="cursor: pointer;"><input value="周三" class="checkOne" type="checkbox" />周三</span></label></td>
- <td><label><span style="cursor: pointer;"><input value="周四" class="checkOne" type="checkbox" />周四</span></label></td>
- <td><label><span style="cursor: pointer;"><input value="周五" class="checkOne" type="checkbox" />周五</span></label></td>
- <td><label><span style="cursor: pointer;"><input value="周六" class="checkOne" type="checkbox" />周六</span></label></td>
- <td><label><span style="cursor: pointer;"><input value="周日" class="checkOne" type="checkbox" />周日</span></label></td>
- <!-- <td><span><input value="周二" class="checkOne" type="checkbox" style="cursor: pointer;"/>周二</span></td>
- <td><span><input value="周三" class="checkOne" type="checkbox" style="cursor: pointer;"/>周三</span></td>
- <td><span><input value="周四" class="checkOne" type="checkbox" style="cursor: pointer;"/>周四</span></td>
- <td><span><input value="周五" class="checkOne" type="checkbox" style="cursor: pointer;"/>周五</span></td>
- <td><span><input value="周六" class="checkOne" type="checkbox" style="cursor: pointer;"/>周六</span></td>
- <td><span><input value="周日" class="checkOne" type="checkbox" style="cursor: pointer;"/>周日</span></td> -->
- </thead>
- </table>
- <input id="attendanceCycle" name="attendanceCycle" type="hidden" style="width: 150px" class="inputxt" ignore="ignore" />
- </td>
- </tr>
-
- </table>
- <div>
- <label class="Validform_label">
- <span color="red" class="requiredIcon">*</span>班次:
- </label>
- <input readonly="true" type="text" id="dutyName" name="dutyName" value="" style="width: 150px" placeholder="请选择班次" onclick="openArrangeDutySelect()" datatype="*">
- <input id="shiftid" name="shiftid" type="hidden" value="${shiftid}">
- <span class="Validform_checktip"></span>
- <label class="Validform_label" style="display: none;">班次</label>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openArrangeDutySelect()">选择</a>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackArrangeDutyClean()">清空</a>
-
-
- <label class="Validform_label">
- <span color="red" class="requiredIcon">*</span>班次员工:
- </label>
- <input readonly="true" type="text" id="realname" name="realname" value="" style="width: 150px" placeholder="请选择班次员工" onclick="openPersonnelBaseArchivesManageSelect()" datatype="*">
- <input id="userid" name="userid" type="hidden" value="">
- <span class="Validform_checktip"></span>
- <label class="Validform_label" style="display: none;">班次员工</label>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openPersonnelBaseArchivesManageSelect()">选择</a>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackPersonnelBaseArchivesManageClean()">清空</a>
- <a href="#" class="easyui-linkbutton" plain="true" icon="icon-edit" operationCode="edit" id="personSort" onclick="openPersonSortList()" title="指定员工上班顺序,不指定随机按岗位排班">调整顺序</a>
- <a href="#" class="tooltip" plain="true" icon="icon-tip" > <span class="tooltiptext">指定员工月度1日开始的班次,不指定则随机按岗位排班。</span> </a>
- <!-- <img src="plug-in/easyui/themes/metrole/icons/tip.png" style="width: 20px; height: 20px; vertical-align: middle;" title="指定员工上班顺序,不指定随机按岗位排班"> </img> -->
- </div>
- <!-- <div class="tooltip">鼠标移动到这
- <span class="tooltiptext">提示文本</span>
- </div> -->
- </t:formvalid>
- </div>
- </div>
- </div>
-
- <div id="pinjie2" style="display: none;">
- <div name="pinjie21">
- <span style="float:right;margin-bottom:4px;">
- <a href="#" style="float: right;" class="easyui-linkbutton l-btn l-btn-plain" plain="true" icon="icon-clean" onclick="clearData()">清空</a>
- <a href="#" style="float: right;" class="easyui-linkbutton l-btn l-btn-plain" iconcls="icon-save" plain="true" onclick="saveArrangeDutyOperate()">保存</a>
- </span>
- </div>
- </div>
-
- </div>
-
-
-
- </div>
- <script src = "webpage/cn/com/lzt/arrangedutyoperate/arrangeDutyOperateList.js"></script>
- <script type="text/javascript">
- // 删除调用函数
- // function delObj(url,name) {
- // console.log(url);
- // gridname=name;
- // createdialog('删除确认 ', '确定删除该记录吗 ?', url,name);
- // }
-
- function openPersonSortList(){
- var dis = $("#personSort").is(":disabled");
-
- if( dis == "disabled"){
- return;
- }
- var userid = $("#userid").val();
- console.log(userid);
- var username = $("#realname").val();
- //运转方式
- var runwayOption=$("select[name='runway']");
- var runway=runwayOption.val();
- //项目岗位id
- var url = 'arrangeDutyOperateController.do?getPersonSortSwapList&userid='+userid+'&username='+username+'&runway='+runway;
- url=encodeURI(encodeURI(url));
- $.dialog({content: 'url:'+url, zIndex: getzIndex(), title: '班次员工排序', lock: true, width: '650px', height: '400px',
- opacity: 0.4, button: [
- {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){
- //获得子页面getReason()方法中的值
- var iframe = this.iframe.contentWindow;
- if(iframe.getReason().length>0){
- var strData=eval(iframe.getReason());
- for(var key in strData[0]){
- if(key=="strUserId"){
- console.log(strData[0][key]);
- $("#userid").val(strData[0][key]);
- }else if(key=="strRealName"){
- $("#realname").val(strData[0][key]);
- }
- }
- }
- }, focus: true},
- {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
- ]}).zindex();
- }
-
- //删除调用函数
- function delObj(url,name) {
- $.messager.confirm("确认", "确定要删除这条数据?", function (r) {
- if (r) {
- // for ( var i = 0; i < rows.length; i++) {
- // id=rows[i].id;
- // }
- $.ajax({
- url : url,
- type : 'post',
- // data : {
- // id : id
- // },
- cache : false,
- success : function(data) {
- var d = data; // ------ $.parseJSON(data);
- // console.log(d);
- if (d.success) {
- tip(d.msg);
- refresh();
- }else{
- layer.alert(d.msg);
- }
- }
- });
- }
- });
-
- }
-
- /**
- * 创建询问窗口
- *
- * @param title
- * @param content
- * @param url
- */
- function createdialog(title, content, url,name) {
- $.dialog.setting.zIndex = getzIndex(true);
- // $.dialog.confirm(content, function(){
- // doSubmit(url,name);
- // rowid = '';
- // }, function(){
- // });
- //update--begin---author:zhangjiaqiang date:20170301 for:修订提示框
- var navigatorName = "Microsoft Internet Explorer";
- //update--begin--author:zhangjiaqiang date:20170711 for:TASK 2218 shortcut风格 使用jqueryui对话框
- if( navigator.appName == navigatorName ||"shortcut".indexOf(getCookie("JEECGINDEXSTYLE"))>=0){
- //update--begin--author:zhangjiaqiang date:20170711 for:TASK 2218 shortcut风格 使用jqueryui对话框
- $.dialog.confirm(content, function(){
- doSubmit(url,name);
- refresh();
- rowid = '';
- }, function(){
- });
- }else{
- layer.open({
- title:title,
- content:content,
- icon:7,
- yes:function(index){
- doSubmit(url,name);
- refresh();
- rowid = '';
- },
- btn:['确定','取消'],
- btn2:function(index){
- layer.close(index);
- }
- });
- }
- //update--end---author:zhangjiaqiang date:20170301 for:修订提示框
- }
-
- //刷新表格数据
- function refresh(){
- //先清除选中,再刷新
- $("#arrangeDutyOperateList").datagrid('clearChecked');
- $("#arrangeDutyOperateList").datagrid('unselectAll');
-
- // $(".datagrid-htable tr:not(:first)").empty("");
- //$(".pagination-load").click();
- $("#arrangeDutyOperateList").datagrid('reload');
- clearData();
- }
-
- //导入
- function ImportXls() {
- openuploadwin('Excel导入', 'arrangeDutyOperateController.do?upload', "arrangeDutyOperateList");
- }
- //导出
- function ExportXls() {
- JeecgExcelExport("arrangeDutyOperateController.do?exportXls","arrangeDutyOperateList");
- }
- //模板下载
- function ExportXlsByT() {
- JeecgExcelExport("arrangeDutyOperateController.do?exportXlsByT","arrangeDutyOperateList");
- }
- //新增
- function add(title,url,id){
- window.location.href=url
- }
- //修改
- function update(title,url, id){
- updateNotCreateWin("修改",url, "arrangeDutyOperateList",false);
- }
- //查看
- function view(title,url, id){
- viewNotCreateWin("查看",url, "arrangeDutyOperateList",false)
- }
-
- //排班操作表保存数据,由排班操作表保存总方法调用
- function saveArrangeDutyOperateLast(id,pid,yearmonth,pjtPostId,runway,deployPeopleNum,attendanceCycle,shiftid,userid){
- //需要排班的班次id
- var arrangeDutyOperateId=$("#arrangeDutyOperateId").val();
- //月度排班操作表保存
- $.ajax({
- url : "arrangeDutyOperateController.do?saveArrangeDutyOperate",
- type : 'post',
- data : {
- id : id,
- pid: pid,
- yearmonth : yearmonth,
- pjtPostId : pjtPostId,
- runway : runway,
- deployPeopleNum : deployPeopleNum,
- attendanceCycle : attendanceCycle,
- shiftid : shiftid,
- userid : userid,
- arrangeDutyOperateId:arrangeDutyOperateId,
- sign:"1"
- },
- cache : false,
- success : function(data) {
-
- var d = data; // ------ $.parseJSON(data);
-
- if(d.success){
- for(var key in d.attributes){
- if(key=="flg"){
- layer.alert(d.msg, function(){window.location.reload();});
- return;
- }
-
- if(key=="arrangeDutyOperateId"){
- if(arrangeDutyOperateId.length!=0){
- arrangeDutyOperateId+=","+d.attributes[key];
- }else{
- arrangeDutyOperateId=d.attributes[key];
- }
- }
- }
- $("#arrangeDutyOperateId").val(arrangeDutyOperateId);
- callback(d);
- }else{
- $.messager.confirm(d.msg, "确定要删除这条数据吗?", function (r) {
- if (r) {
- $.ajax({
- url : "arrangeDutyOperateController.do?saveArrangeDutyOperate",
- type : 'post',
- data : {
- id : id,
- pid: pid,
- yearmonth : yearmonth,
- pjtPostId : pjtPostId,
- runway : runway,
- deployPeopleNum : deployPeopleNum,
- attendanceCycle : attendanceCycle,
- shiftid : shiftid,
- userid : userid,
- arrangeDutyOperateId:arrangeDutyOperateId,
- sign:"0"
- },
- cache : false,
- success : function(data) {
-
- var d = data; // ------ $.parseJSON(data);
- if(d.success){
- var arrangeDutyOperateId=$("#arrangeDutyOperateId").val();
- for(var key in d.attributes){
- if(key=="arrangeDutyOperateId"){
- if(arrangeDutyOperateId.length!=0){
- arrangeDutyOperateId+=","+d.attributes[key];
- }else{
- arrangeDutyOperateId=d.attributes[key];
- }
- }
- }
- $("#arrangeDutyOperateId").val(arrangeDutyOperateId);
- callback(d);
- }
- }
- });
- }
- });
- }
-
- }
- });
- }
-
-
- //排班操作表保存总方法
- function saveArrangeDutyOperate(){
- //排班操作表id
- var id = $("#id").val();
-
- //项目id
- var pid = $("#pid").val();
-
- //月度
- var yearmonth = $("#yearmonth").val();
-
- //项目岗位id
- var pjtPostIdOption=$("select[name='pjtPostId']");
- var pjtPostId=pjtPostIdOption.val();
-
-
- //运转方式
- var runwayOption=$("select[name='runway']");
- var runway=runwayOption.val();
-
- //配置人数
- var deployPeopleNum=$('#deployPeopleNum').val();
-
- //出勤时间
- var attendanceCycle="";
- //var attendanceCycle=$("#attendanceCycle").val(attendanceCycle);
-
- //班次id
- var shiftid = $("#shiftid").val();
-
- //班次员工id
- var userid=$('#userid').val();
-
- var flag = $("#formobj").Validform().check(true);
- if(flag!=true){
- $("#btnsub").click();
- return false;
- }
-
- if(userid.indexOf(",")==-1){
- if(parseInt(deployPeopleNum)<1){
- layer.alert("可配置人数不足,无法排班");
- return false;
- }
- }else{
- if(parseInt(deployPeopleNum)<userid.split(",").length){
- layer.alert("排班人数不能超过岗位配置总人数");
- return false;
- }
- }
- var selectedPeopleNum = userid.split(",").length;
- if(runway=="f2t_jijiabanfei"||runway=="f2t_wujiabanfei"){
- $(".checkOne").each(function(){
- if($(this).prop("checked")){
- if(attendanceCycle.length==0){
- attendanceCycle=$(this).val();
- }else{
- attendanceCycle+=","+$(this).val();
- }
- }
- });
- if(attendanceCycle.indexOf(",")==-1){
- layer.alert("请至少选择五天出勤时间");
- return false;
- }else{
- var myArray=attendanceCycle.split(",");
- if(myArray.length<5){
- layer.alert("请至少选择五天出勤时间");
- return false;
- }else if(myArray.length>5){
- layer.alert("请最多选择五天出勤时间");
- return false;
- }else{
- saveArrangeDutyOperateLast(id,pid,yearmonth,pjtPostId,runway,selectedPeopleNum,attendanceCycle,shiftid,userid);
- }
- }
- }else if(runway=="other_jijiabanfei"||runway=="other_wujiabanfei"){
-
- $(".checkOne").each(function(){
- if($(this).prop("checked")){
- if(attendanceCycle.length==0){
- attendanceCycle=$(this).val();
- }else{
- attendanceCycle+=","+$(this).val();
- }
- }
- });
- if(attendanceCycle.length==0){
- layer.alert("请至少选择一天出勤时间");
- return false;
- }else{
- saveArrangeDutyOperateLast(id,pid,yearmonth,pjtPostId,runway,selectedPeopleNum,attendanceCycle,shiftid,userid);
- }
- }else if(runway=="t2o_jijiabanfei"||runway=="o2o_wujiabanfei"||runway=="t2t_wujiabanfei"){
- //判断运转方式和配置总人数关系
- //三班两运转-做二休一,员工数量为3的倍数
- //四班两运转A-做一休一,员工数量为4的倍数
- //四班两运转B-做二休二,员工数量为4的倍数
- if(runway=="t2o_jijiabanfei"){
- if(parseInt(selectedPeopleNum)%parseInt(3)!=0){
- layer.alert("三班两运转-做二休一,员工数量为3的倍数");
- return false;
- }
- }else if(runway=="o2o_wujiabanfei"){
- if(parseInt(selectedPeopleNum)%parseInt(4)!=0){
- layer.alert("四班两运转A-做一休一,员工数量为4的倍数");
- return false;
- }
- }else if(runway=="t2t_wujiabanfei"){
- if(parseInt(selectedPeopleNum)%parseInt(4)!=0){
- layer.alert("四班两运转B-做二休二,员工数量为4的倍数");
- return false;
- }
- }
-
- //验证选择的班次
- if(shiftid.length==0){
- layer.alert("请选择班次信息");
- return false;
- }else{
- if(shiftid.indexOf(",")==-1){
- layer.alert("请至少选择两个班次");
- return false;
- }else{
- var shiftidArr=shiftid.split(",");
- if(shiftidArr.length>2){
- layer.alert("请最多选择两个班次");
- return false;
- }else{
- //异步验证班次类型
- $.ajax({
- url : "arrangeDutyOperateController.do?getCheckShiftType",
- async : false,
- type : 'post',
- data : {
- shiftid : shiftid
- },
- cache : false,
- success : function(data) {
- var d = data; // ------ $.parseJSON(data);
- if(d.msg=="false"){
- layer.alert("班次类型只能选择'日班11h和夜班11.5'");
- return false;
- }else{
- //月度排班操作表保存
- saveArrangeDutyOperateLast(id,pid,yearmonth,pjtPostId,runway,selectedPeopleNum,attendanceCycle,shiftid,userid)
- }
- }
- });
- }
- }
-
- }
- }else if (runway=="2bandao" || runway=="2bandao_jijiabanfei"){//新增两班倒轮转方式,班次只能为1个,人员为2的倍数 2019-11-11 by dgq
- var shiftidArr=shiftid.split(",");
- if(shiftidArr.length>1){
- layer.alert("两班倒轮转方式只可选择一个班次");
- return false;
- }else if(parseInt(selectedPeopleNum)%parseInt(2)!=0){
- layer.alert("两班倒,所选员工数量应为2的倍数");
- return false;
- }else{
- saveArrangeDutyOperateLast(id,pid,yearmonth,pjtPostId,runway,selectedPeopleNum,attendanceCycle,shiftid,userid);
- }
- }
- }
-
- //保存数据后刷新当前页面数据
- function callback(data){
- //debugger;
- if(data.success){
- clearData();
- $("#arrangeDutyOperateList").datagrid('reload');
- top.tip(data.msg);
- }else{
- layer.alert(data.msg);
- }
- }
-
- //清空数据
- function clearData(){
- var rowData = {};
- fillData(rowData);
- $("#arrangeDutyOperateList").datagrid('clearChecked');
- var runwayOption=$("select[name='runway']");
- //var runway=pjtPostIdOption.val();
- runwayOption.find("option[value='']").attr("selected", true);
- $("#arrangeDutyOperateList").datagrid('unselectAll');
- dealPtjPostIdAppend();
-
- /* var pjtPostIdOption=$("select[name='pjtPostId']");
- var pjtPostId=pjtPostIdOption.val();
- pjtPostIdOption.empty();
- pjtPostIdOption.prepend("<option value='' >---请选择--- </option>"); //为Select插入一个Option(第一个位置)
- pjtPostIdOption.find("option[value='']").attr("selected", true); */
- }
-
- function fillData(rowData){
- //清空表单
- $("#formobj").form('clear');
- //填充数据
- for(var d in rowData){
- $("#"+d).val(rowData[d]);
- }
- }
-
- //编辑数据输入框复现
- $(function(){
-
- $("#arrangeDutyOperateList").datagrid({
- onClickRow: function(rowIndex, rowData){
- attendanceCycleClear();
- //fillData(rowData);
- /* $("#editPanel").panel({title:"修改数据"}); */
-
- $('#id').val(rowData.id);
- //项目岗位
- $("select[name='pjtPostId']").val(rowData.pjtPostId);
- //运转方式
- $("select[name='runway']").val(rowData.runway);
- //配置总人数
- //$('#deployPeopleNum').val(rowData.deployPeopleNum);
- var pid = $('#pid').val();
- var pjtPostId = rowData.pjtPostId;
- var yearmonth = $("#yearmonth").val();
- if(pjtPostId.length>0){
- $.ajax({
- url : "arrangeDutyOperateController.do?getDeployPeopleNumLeft",
- type : 'post',
- data : {
- pid : pid,
- pjtPostId: pjtPostId,
- yearmonth :yearmonth
- },
- cache : false,
- success : function(data) {
- var d = data; // ------ $.parseJSON(data);
- $("#deployPeopleNum").val(d.attributes["0"]);
- }
- });
- }
- //出勤时间
- $('#attendanceCycle').val(rowData.attendanceCycle);
- //班次
- $('#shiftid').val(rowData.shiftid);
- //员工
- $('#userid').val(rowData.userid);
-
- dealPtjPostIdAppend();
-
- //出勤时间回显
- var runwayOption=$("select[name='runway']");
- var runway=runwayOption.val();
- var attendanceCycle = $("#attendanceCycle").val();
- if(runway=="f2t_jijiabanfei"||runway=="f2t_wujiabanfei"||runway=="other_jijiabanfei"||runway=="other_wujiabanfei"){
- var myArray=attendanceCycle.split(",");
- for(var i=0;i<myArray.length;i++){
- $(".checkOne").each(function(){
- $(".checkOne").prop("disabled",false);
- if($(this).val()==myArray[i]){
- $(this).attr("checked", true);
- }
- });
- }
- }
-
-
- //查询班次和员工名称回显
- $.ajax({
- url : "arrangeDutyOperateController.do?getRealName",
- type : 'post',
- data : {
- shiftid : rowData.shiftid,
- shiftidDictionary : "t_bus_arrange_duty,id,duty_name",
- userid : rowData.userid
- },
- cache : false,
- success : function(data) {
- var d = data; // ------ $.parseJSON(data);
- $('#dutyName').val(d.attributes["dutyName"]);
- $('#realname').val(d.attributes["realName"]);
- }
- });
- }
- });
- });
-
-
-
-
- //当选择三班两运转和四班两运转处理周一到周日不可选
- /* $(function(){
- var runwayOption=$("select[name='runway']");
- runwayOption.change(function(){
- var runway=runwayOption.val();
- console.log(runway);
- });
-
- }); */
-
- //编辑时处理周一到周日默认选中
- $(function(){
- var pjtPostIdOption=$("select[name='runway']");
- pjtPostIdOption.change(function(){
- var runway=pjtPostIdOption.val();
- if(runway=="f2t_jijiabanfei"
- ||runway=="f2t_wujiabanfei"
- ||runway=="other_jijiabanfei"
- ||runway=="other_wujiabanfei"){
- attendanceCycleDefault();
- }else{
- attendanceCycleClear();
- }
- });
-
- });
-
- //选择做五休二默认选中周一至周五
- function attendanceCycleDefault(){
- $(".checkOne").each(function(){
- $(".checkOne").prop("disabled",false);
- var str=$(this).parent().text();
- if(str=="周一"
- ||str=="周二"
- ||str=="周三"
- ||str=="周四"
- ||str=="周五"
- ){
- $(this).attr("checked", true);
- }
- });
- }
-
-
- //清空出勤时间回显
- function attendanceCycleClear(){
- $(".checkOne").each(function(){
- $(".checkOne").prop("checked",false);
- $(".checkOne").prop("disabled",true);
- });
- }
-
-
-
-
-
- //班次选择
- function openArrangeDutySelect(){
- //项目id
- var pid = $("#pid").val();
- var shiftid = $("#shiftid").val();
- var pjtPostIdOption=$("select[name='runway']");
- var runway=pjtPostIdOption.val();
- $.dialog({content: 'url:arrangeDutyOperateController.do?arrangeDutySelectList&ids='+shiftid+'&pid='+pid, zIndex: getzIndex(), title: '班次选择', lock: true, width: '800px', height: '400px',
- opacity: 0.4, button: [
- {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){
- //var postGeneralId=$("#id").val();
- //父页面接子页面传值
- //获得子页面getReason()方法中的值
- var iframe = this.iframe.contentWindow;
- // var shiftid="";
- if(iframe.getReason().length>0){
-
- var strShiftData=eval(iframe.getReason());
- //页面存储班次数据,保存时验证
- for(var key in strShiftData[0]){
- if(key=="strShiftid"){
- $("#shiftid").val(strShiftData[0][key]);
- // shiftid=strShiftData[0][key];
- }else if(key=="strShiftName"){
- $("#dutyName").val(strShiftData[0][key]);
- }
- }
- }
- // if(shiftid.length==0){
- // tip("请选择班次");
- // return false;
- // }
- }, focus: true},
- {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
- ]}).zindex();
- }
-
- //班次选择清空
- function callbackArrangeDutyClean(){
- $("#shiftid").val("");
- $("#dutyName").val("");
- }
-
- //班次员工选择
- function openPersonnelBaseArchivesManageSelect(){
- //项目id
- var pid = $("#pid").val();
- var userid = $("#userid").val();
- var yearmonth = $("#yearmonth").val();
- //项目岗位id
- var pjtPostIdOption=$("select[name='pjtPostId']");
- var pjtPostId=pjtPostIdOption.val();
-
- $.dialog({content: 'url:arrangeDutyOperateController.do?personnelBaseArchivesManageSelectList&userid='+userid+'&pid='+pid+'&yearmonth='+yearmonth+'&pjtPostId='+pjtPostId, zIndex: getzIndex(), title: '班次员工选择', lock: true, width: '650px', height: '400px',
- opacity: 0.4, button: [
- {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){
- //var postGeneralId=$("#id").val();
- //父页面接子页面传值
-
- //获得子页面getReason()方法中的值
- var iframe = this.iframe.contentWindow;
- // var userid="";
- if(iframe.getReason().length>0){
- var strData=eval(iframe.getReason());
- for(var key in strData[0]){
- if(key=="strUserId"){
- $("#userid").val(strData[0][key]);
- // userid=strData[0][key];
- }else if(key=="strRealName"){
- $("#realname").val(strData[0][key]);
- }
- }
- }
-
- // if(userid.length==0){
- // layer.alert("请选择班次员工");
- // return false;
- // }
- }, focus: true},
- {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
- ]}).zindex();
- }
-
- /* function callbackPersonnelBaseArchivesManageSelectSure(){
- } */
-
- //清空班次员工
- function callbackPersonnelBaseArchivesManageClean(){
- $("#userid").val("");
- $("#realname").val("");
- }
-
-
- //点击删除按钮时删除上下布局中复现的参数值
- /* $(function(){
- $("#arrangeDutyOperateList").datagrid({
- onClickRow: function(rowIndex, rowData){
- clearData();
- }
- });
- }) */
-
-
- //编写自定义JS代码获得输入框中的值等父级页面调用取值
- function getReason(){
-
- var strData="",arrangeDutyOperateId="";
- arrangeDutyOperateId=$("#arrangeDutyOperateId").val();
- /* var strData='[{"addId":"'+addId+'","updateId":"'+updateId+'"}]'; */
- var strData='[{"arrangeDutyOperateId":"'+arrangeDutyOperateId+'"}]';
- return strData;
- }
-
-
-
- //处理项目岗位下拉框生成包括编辑默认选中
- function dealPtjPostIdAppend(){
- var pjtPostIdOption=$("select[name='pjtPostId']");
- var pjtPostId=pjtPostIdOption.val();
- pjtPostIdOption.empty();
- pjtPostIdOption.prepend("<option value='' >---请选择--- </option>"); //为Select插入一个Option(第一个位置)
- //pjtPostIdOption.val(pjtPostId);
- var pid = $('#pid').val();
- //根据项目名称查询项目岗位设定中的名称
- if(pid!=""){
- $.ajax({
- url : "arrangeDutyOperateController.do?getProjectPostDetail",
- type : 'post',
- data : {
- pid : pid
- },
- cache : false,
- success : function(data) {
- var d = data; // ------ $.parseJSON(data);
- for(var i=0;i<d.attributes[0].length;i++){
- if(d.attributes[0][i].id!=pjtPostId){
- $("select[name='pjtPostId']").append("<option value='"+d.attributes[0][i].id+"'>"+d.attributes[0][i].ptjPostName+"</option>");
- }else{
- $("select[name='pjtPostId']").append("<option selected='selected' value='"+d.attributes[0][i].id+"'>"+d.attributes[0][i].ptjPostName+"</option>");
- }
- }
- }
- });
- }
-
- //pjtPostIdOption.find("option[value='"+pjtPostId+"']").attr("selected", true);
- }
-
-
-
-
- $(function(){
- //进入排班操作页面默认拼接项目岗位
- dealPtjPostIdAppend();
-
- //选择项目岗位时把配置总人数填充
- var pjtPostIdOption=$("select[name='pjtPostId']");
- pjtPostIdOption.change(function(){
- var pid = $('#pid').val();
- var pjtPostId=pjtPostIdOption.val();
- var yearmonth = $("#yearmonth").val();
- if(pjtPostId.length>0){
- $.ajax({
- url : "arrangeDutyOperateController.do?getDeployPeopleNumLeft",
- type : 'post',
- data : {
- pid : pid,
- pjtPostId: pjtPostId,
- yearmonth :yearmonth
- },
- cache : false,
- success : function(data) {
- var d = data; // ------ $.parseJSON(data);
- $("#deployPeopleNum").val(d.attributes["0"]);
- }
- });
- }
- });
- })
- </script>
|