onDutyOperateList.jsp 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@include file="/context/mytags.jsp"%>
  3. <t:base type="jquery,easyui,tools,DatePicker"></t:base>
  4. <!-- <title>值班操作表</title> -->
  5. <div class="easyui-layout" fit="true">
  6. <input id="yearmonth" name="yearmonth" type="hidden" value="${yearmonth}"/>
  7. <input id="pid" name="pid" type="hidden" value="${pid}"/>
  8. <input id="onDutyOperateId" name="onDutyOperateId" type="hidden" value=""/>
  9. <div region="center" style="padding:0px;border:0px">
  10. <t:datagrid name="onDutyOperateList" checkbox="false" fitColumns="true" title="" actionUrl="onDutyOperateController.do?datagrid&pid=${pid}&yearmonth=${yearmonth}" idField="id" fit="true" queryMode="group" pagination="false" >
  11. <t:dgCol title="主键" field="id" hidden="true" queryMode="single" width="120"></t:dgCol>
  12. <t:dgCol title="月度" field="yearmonth" hidden="true" queryMode="single" width="120"></t:dgCol>
  13. <t:dgCol title="班次" field="shiftid" queryMode="single" dictionary="t_bus_arrange_duty,id,duty_name" width="120"></t:dgCol>
  14. <t:dgCol title="排班时间段" field="arrangeStime" queryMode="single" width="120"></t:dgCol>
  15. <t:dgCol title="出勤时间" field="attendanceCycle" queryMode="single" width="120"></t:dgCol>
  16. <t:dgCol title="班次人员" field="userid" queryMode="single" dictionary="t_s_base_user,id,realname" width="120"></t:dgCol>
  17. <t:dgCol title="每日值班人数" field="everydayPeopleNum" queryMode="single" width="120"></t:dgCol>
  18. <t:dgCol title="排班结束时间" field="arrangeEtime" hidden="true" queryMode="single" width="120"></t:dgCol>
  19. <t:dgCol title="创建人名称" field="createName" hidden="true" queryMode="single" width="120"></t:dgCol>
  20. <t:dgCol title="创建人登录名称" field="createBy" hidden="true" queryMode="single" width="120"></t:dgCol>
  21. <t:dgCol title="创建日期" field="createDate" formatter="yyyy-MM-dd hh:mm:ss" hidden="true" queryMode="single" width="120"></t:dgCol>
  22. <t:dgCol title="更新人名称" field="updateName" hidden="true" queryMode="single" width="120"></t:dgCol>
  23. <t:dgCol title="更新人登录名称" field="updateBy" hidden="true" queryMode="single" width="120"></t:dgCol>
  24. <t:dgCol title="更新日期" field="updateDate" formatter="yyyy-MM-dd hh:mm:ss" hidden="true" queryMode="single" width="120"></t:dgCol>
  25. <t:dgCol title="所属部门" field="sysOrgCode" hidden="true" queryMode="single" width="120"></t:dgCol>
  26. <t:dgCol title="所属公司" field="sysCompanyCode" hidden="true" queryMode="single" width="120"></t:dgCol>
  27. <t:dgCol title="操作" field="opt"></t:dgCol>
  28. <t:dgDelOpt title="删除" url="onDutyOperateController.do?doDel&id={id}&yearmonth=${yearmonth}&pid=${pid}" urlclass="ace_button" urlfont="fa-trash-o"/>
  29. <%-- <t:dgToolBar title="录入" icon="icon-add" operationCode="add" url="onDutyOperateController.do?goAdd" funname="add"></t:dgToolBar>
  30. <t:dgToolBar title="修改" icon="icon-edit" operationCode="edit" url="onDutyOperateController.do?goUpdate" funname="update"></t:dgToolBar>
  31. <t:dgToolBar title="批量删除" icon="icon-remove" operationCode="remove" url="onDutyOperateController.do?doBatchDel" funname="deleteALLSelect"></t:dgToolBar>
  32. <t:dgToolBar title="查看" icon="icon-search" url="onDutyOperateController.do?goUpdate" funname="detail"></t:dgToolBar>
  33. <t:dgToolBar title="导入" icon="icon-putout" operationCode="put" funname="ImportXls"></t:dgToolBar>
  34. <t:dgToolBar title="导出" icon="icon-put" operationCode="put" funname="ExportXls"></t:dgToolBar>
  35. <t:dgToolBar title="模板下载" icon="icon-putout" operationCode="putout" funname="ExportXlsByT"></t:dgToolBar> --%>
  36. </t:datagrid>
  37. <script>
  38. $(function() {
  39. var datagrid = $("#onDutyOperateListtb");
  40. // datagrid.append($("#onDutyOperate1 div[name='onDutyOperate2']").html());
  41. // datagrid.prepend($("#yearmonth1 div[name='yearmonth2']").html());
  42. // $("#onDutyOperate1").html('');
  43. datagrid.children("div:first").before($("#pinjie1 div[name='pinjie11']").html());
  44. $("#pinjie12").next("div").attr("style","border-bottom-width:0;height:auto;");
  45. $("#pinjie12").next("div").attr("class","datagrid-toolbar");
  46. datagrid.children(".datagrid-toolbar").children("span:first").after($("#pinjie2 div[name='pinjie21']").html());
  47. $("#pinjie1").html('');
  48. $("#pinjie2").html('');
  49. });
  50. </script>
  51. <div id="pinjie1" style="display: none;">
  52. <div name="pinjie11">
  53. <div id="pinjie12" style="margin:10px 0 5px 0;" >
  54. <t:formvalid formid="formobj" dialog="false" tipSweep="true" layout="table" action="wagestrategyController.do?saveRows" tiptype="1" callback="callback">
  55. <div style="display:none"><input type="submit" id ="btnsub" value=""/></div>
  56. <input name="id" id="id" type="hidden" value="" />
  57. <div style="height: 45px;">
  58. <label class="Validform_label">
  59. <span color="red" class="requiredIcon">*</span>班次:
  60. </label>
  61. <input readonly="readonly" class="inputxt" type="text" id="dutyName" name="dutyName" value="" datatype="*" style="width: 150px" placeholder="请选择班次" onclick="openOnDutySelect()" >
  62. <input id="shiftid" name="shiftid" type="hidden" value="${shiftid}">
  63. <span class="Validform_checktip"></span>
  64. <label class="Validform_label" style="display: none;">班次</label>
  65. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openOnDutySelect()">选择</a>
  66. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackOnDutyClean()">清空</a>
  67. <label class="Validform_label">
  68. <span color="red" class="requiredIcon">*</span>班次员工:
  69. </label>
  70. <input readonly="true" type="text" id="realname" name="realname" value="" style="width: 150px" placeholder="请选择班次员工" onclick="openPersonnelBaseArchivesManageSelect()" datatype="*">
  71. <input id="userid" name="userid" type="hidden" value="">
  72. <span class="Validform_checktip"></span>
  73. <label class="Validform_label" style="display: none;">班次员工</label>
  74. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-select" id="departSearch" onclick="openPersonnelBaseArchivesManageSelect()">选择</a>
  75. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-clean" id="departRedo" onclick="callbackPersonnelBaseArchivesManageClean()">清空</a>
  76. </div>
  77. <div style="height: 35px;">
  78. <label class="Validform_label">
  79. <span color="red" class="requiredIcon">*</span>排班时间段:
  80. </label>
  81. <%-- <input id="arrangeStime" name="arrangeStime" type="text" style="width: 150px" class="Wdate" datatype="*" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowOthers:false,minDate:'${yearmonth}-01',maxDate:'#F{$dp.$D(\'arrangeEtime\')}'})" readonly="readonly" placeholder="yyyy-MM-dd"/>
  82. <span class="Validform_checktip"></span>
  83. <label class="Validform_label" style="display: none;">排班开始时间</label>
  84. &nbsp;&nbsp;~&nbsp;&nbsp;
  85. <input id="arrangeEtime" name="arrangeEtime" type="text" style="width: 150px" class="Wdate" datatype="*" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowOthers:false,minDate:'#F{$dp.$D(\'arrangeStime\')}',maxDate:'${yearmonth}-%ld'})" readonly="readonly" placeholder="yyyy-MM-dd"/>
  86. <span class="Validform_checktip"></span>
  87. <label class="Validform_label" style="display: none;">排班结束时间</label> --%>
  88. <input id="arrangeStime" name="arrangeStime" type="text" style="width: 150px" class="Wdate"
  89. onclick="$('#arrangeEtime').val().length==0?WdatePicker({dateFmt:'yyyy-MM-dd',isShowOthers:false,minDate:'${yearmonth}-01',maxDate:'${yearmonth}-%ld' }):WdatePicker({dateFmt:'yyyy-MM-dd',isShowOthers:false,minDate:'${yearmonth}-01',maxDate:'#F{$dp.$D(\'arrangeEtime\')}' })" placeholder="yyyy-MM-dd"/>
  90. <span class="Validform_checktip"></span>
  91. <label class="Validform_label" style="display: none;">排班开始时间</label>
  92. &nbsp;&nbsp;~&nbsp;&nbsp;
  93. <input id="arrangeEtime" name="arrangeEtime" type="text" style="width: 150px" class="Wdate"
  94. onclick="$('#arrangeStime').val().length==0?WdatePicker({dateFmt:'yyyy-MM-dd',isShowOthers:false,minDate:'${yearmonth}-01',maxDate:'${yearmonth}-%ld' }):WdatePicker({dateFmt:'yyyy-MM-dd',isShowOthers:false,minDate:'#F{$dp.$D(\'arrangeStime\')}',maxDate:'${yearmonth}-%ld' })" placeholder="yyyy-MM-dd"/>
  95. <span class="Validform_checktip"></span>
  96. <label class="Validform_label" style="display: none;">排班结束时间</label>
  97. <label class="Validform_label">
  98. <span color="red" class="requiredIcon">*</span>每日值班人数:
  99. </label>
  100. <input id="everydayPeopleNum" name="everydayPeopleNum" type="text" style="width: 150px" class="inputxt" maxlength="3" datatype="n1-3" errormsg="每日值班人数为数字类型" placeholder="请输入每日值班人数" ignore="checked" />
  101. <span class="Validform_checktip"></span>
  102. <label class="Validform_label" style="display: none;">每日值班人数</label>
  103. </div>
  104. <table >
  105. <tr style="height: 35px;width: 300px;">
  106. <td align="left">
  107. <label class="Validform_label">
  108. <span color="red" class="requiredIcon">*</span>出勤时间:
  109. </label>
  110. </td>
  111. <td class="value">
  112. <table id="myWeek" style="width: 150px;">
  113. <thead>
  114. <!-- <td><span><input value="周一" class="checkOne" type="checkbox" style="cursor: pointer;"/>周一</span></td>
  115. <td><span><input value="周二" class="checkOne" type="checkbox" style="cursor: pointer;"/>周二</span></td>
  116. <td><span><input value="周三" class="checkOne" type="checkbox" style="cursor: pointer;"/>周三</span></td>
  117. <td><span><input value="周四" class="checkOne" type="checkbox" style="cursor: pointer;"/>周四</span></td>
  118. <td><span><input value="周五" class="checkOne" type="checkbox" style="cursor: pointer;"/>周五</span></td> -->
  119. <td><label><span style="cursor: pointer;"><input value="周六" class="checkOne" type="checkbox" />周六</span></label></td>
  120. <td><label><span style="cursor: pointer;"><input value="周日" class="checkOne" type="checkbox" />周日</span></label></td>
  121. </thead>
  122. </table>
  123. <input id="attendanceCycle" name="attendanceCycle" type="hidden" style="width: 150px" class="inputxt" ignore="ignore" />
  124. </td>
  125. </tr>
  126. </table>
  127. </t:formvalid>
  128. </div>
  129. </div>
  130. </div>
  131. <div id="pinjie2" style="display: none;">
  132. <div name="pinjie21">
  133. <span style="float:right;margin-bottom:4px;">
  134. <a href="#" style="float: right;" class="easyui-linkbutton l-btn l-btn-plain" plain="true" icon="icon-clean" onclick="clearData()">清空</a>&nbsp;&nbsp;&nbsp;
  135. <a href="#" style="float: right;" class="easyui-linkbutton l-btn l-btn-plain" iconcls="icon-save" plain="true" onclick="saveOnDutyOperate()">保存</a>
  136. </span>
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. <script src = "webpage/cn/com/lzt/ondutyoperate/onDutyOperateList.js"></script>
  142. <script type="text/javascript">
  143. //删除调用函数
  144. function delObj(url,name) {
  145. $.messager.confirm("确认", "确定要删除这条数据?", function (r) {
  146. if (r) {
  147. // for ( var i = 0; i < rows.length; i++) {
  148. // id=rows[i].id;
  149. // }
  150. $.ajax({
  151. url : url,
  152. type : 'post',
  153. // data : {
  154. // id : id
  155. // },
  156. cache : false,
  157. success : function(data) {
  158. var d = data; // ------ $.parseJSON(data);
  159. // console.log(d);
  160. if (d.success) {
  161. tip(d.msg);
  162. refresh();
  163. }else{
  164. layer.alert(d.msg);
  165. }
  166. }
  167. });
  168. }
  169. });
  170. }
  171. //删除调用函数
  172. /* function delObj(url,name) {
  173. gridname=name;
  174. createdialog('删除确认 ', '确定删除该记录吗 ?', url,name);
  175. } */
  176. /**
  177. * 创建询问窗口
  178. *
  179. * @param title
  180. * @param content
  181. * @param url
  182. */
  183. function createdialog(title, content, url,name) {
  184. $.dialog.setting.zIndex = getzIndex(true);
  185. // $.dialog.confirm(content, function(){
  186. // doSubmit(url,name);
  187. // rowid = '';
  188. // }, function(){
  189. // });
  190. //update--begin---author:zhangjiaqiang date:20170301 for:修订提示框
  191. var navigatorName = "Microsoft Internet Explorer";
  192. //update--begin--author:zhangjiaqiang date:20170711 for:TASK 2218 shortcut风格 使用jqueryui对话框
  193. if( navigator.appName == navigatorName ||"shortcut".indexOf(getCookie("JEECGINDEXSTYLE"))>=0){
  194. //update--begin--author:zhangjiaqiang date:20170711 for:TASK 2218 shortcut风格 使用jqueryui对话框
  195. $.dialog.confirm(content, function(){
  196. doSubmit(url,name);
  197. refresh();
  198. rowid = '';
  199. }, function(){
  200. });
  201. }else{
  202. layer.open({
  203. title:title,
  204. content:content,
  205. icon:7,
  206. yes:function(index){
  207. doSubmit(url,name);
  208. refresh();
  209. rowid = '';
  210. },
  211. btn:['确定','取消'],
  212. btn2:function(index){
  213. layer.close(index);
  214. }
  215. });
  216. }
  217. //update--end---author:zhangjiaqiang date:20170301 for:修订提示框
  218. }
  219. //刷新表格数据
  220. function refresh(){
  221. //先清除选中,再刷新
  222. $("#onDutyOperateList").datagrid('clearChecked');
  223. $("#onDutyOperateList").datagrid('unselectAll');
  224. // $(".datagrid-htable tr:not(:first)").empty("");
  225. //$(".pagination-load").click();
  226. $("#onDutyOperateList").datagrid('reload');
  227. clearData();
  228. }
  229. $(function(){
  230. $(".Wdate").attr("readonly","readonly");
  231. });
  232. //导入
  233. function ImportXls() {
  234. openuploadwin('Excel导入', 'onDutyOperateController.do?upload', "onDutyOperateList");
  235. }
  236. //导出
  237. function ExportXls() {
  238. JeecgExcelExport("onDutyOperateController.do?exportXls","onDutyOperateList");
  239. }
  240. //模板下载
  241. function ExportXlsByT() {
  242. JeecgExcelExport("onDutyOperateController.do?exportXlsByT","onDutyOperateList");
  243. }
  244. //新增
  245. function add(title,url,id){
  246. window.location.href=url
  247. }
  248. //修改
  249. function update(title,url, id){
  250. updateNotCreateWin("修改",url, "onDutyOperateList",false);
  251. }
  252. //查看
  253. function view(title,url, id){
  254. viewNotCreateWin("查看",url, "onDutyOperateList",false)
  255. }
  256. //排班操作表保存数据,由排班操作表保存总方法调用
  257. function saveArrangeDutyOperateLast(id,pid,yearmonth,everydayPeopleNum,attendanceCycle,shiftid,userid,arrangeStime,arrangeEtime){
  258. var onDutyOperateId=$("#onDutyOperateId").val();
  259. //轮流值班加班排班操作表保存
  260. $.ajax({
  261. url : "onDutyOperateController.do?saveOnDutyOperate",
  262. type : 'post',
  263. data : {
  264. id : id,
  265. pid: pid,
  266. yearmonth : yearmonth,
  267. everydayPeopleNum : everydayPeopleNum,
  268. attendanceCycle : attendanceCycle,
  269. shiftid : shiftid,
  270. userid : userid,
  271. arrangeStime : arrangeStime,
  272. arrangeEtime : arrangeEtime,
  273. onDutyOperateId : onDutyOperateId
  274. },
  275. cache : false,
  276. success : function(data) {
  277. var d = data; // ------ $.parseJSON(data);
  278. if(d.success){
  279. var onDutyOperateId=$("#onDutyOperateId").val();
  280. for(var key in d.attributes){
  281. if(key=="onDutyOperateId"){
  282. if(onDutyOperateId.length!=0){
  283. onDutyOperateId+=","+d.attributes[key];
  284. }else{
  285. onDutyOperateId=d.attributes[key];
  286. }
  287. }
  288. }
  289. $("#onDutyOperateId").val(onDutyOperateId);
  290. callback(d);
  291. }else{
  292. layer.alert(d.msg);
  293. }
  294. }
  295. });
  296. }
  297. //排班操作表保存
  298. function saveOnDutyOperate(){
  299. //值班操作表id
  300. var id = $("#id").val();
  301. //项目id
  302. var pid = $("#pid").val();
  303. //月度
  304. var yearmonth = $("#yearmonth").val();
  305. //配置人数
  306. var everydayPeopleNum=$('#everydayPeopleNum').val();
  307. //出勤时间
  308. var attendanceCycle="";
  309. //班次id
  310. var shiftid = $("#shiftid").val();
  311. //班次员工id
  312. var userid=$('#userid').val();
  313. //排班开始时间
  314. var arrangeStime = $("#arrangeStime").val();
  315. //排班结束时间
  316. var arrangeEtime=$('#arrangeEtime').val();
  317. var flag = $("#formobj").Validform().check(true);
  318. if(flag!=true){
  319. $("#btnsub").click();
  320. return false;
  321. }
  322. if(arrangeStime.length==0){
  323. layer.alert("排班开始时间不能为空");
  324. return false;
  325. }
  326. if(arrangeEtime.length==0){
  327. layer.alert("排班结束时间不能为空");
  328. return false;
  329. }
  330. if(userid.indexOf(",")==-1){
  331. if(parseInt(everydayPeopleNum)!=1){
  332. layer.alert("每日值班人数不符合规则");
  333. return false;
  334. }
  335. }else{
  336. if(parseInt(everydayPeopleNum)>userid.split(",").length){
  337. layer.alert("每日值班人数不能大于选择员工数");
  338. return false;
  339. }
  340. }
  341. $(".checkOne").each(function(){
  342. if($(this).prop("checked")){
  343. if(attendanceCycle.length==0){
  344. attendanceCycle=$(this).val();
  345. }else{
  346. attendanceCycle+=","+$(this).val();
  347. }
  348. }
  349. });
  350. if(attendanceCycle.length==0){
  351. layer.alert("请至少选择一天出勤时间");
  352. return false;
  353. }
  354. //验证选择的班次
  355. if(shiftid.length==0){
  356. layer.alert("请选择班次信息");
  357. return false;
  358. }else{
  359. if(shiftid.indexOf(",")==-1){
  360. saveArrangeDutyOperateLast(id,pid,yearmonth,everydayPeopleNum,attendanceCycle,shiftid,userid,arrangeStime,arrangeEtime);
  361. }else{
  362. layer.alert("只能选择一个班次");
  363. return false;
  364. //异步验证班次类型
  365. /* $.ajax({
  366. url : "onDutyOperateController.do?getCheckShiftType",
  367. async : false,
  368. type : 'post',
  369. data : {
  370. shiftid : shiftid
  371. },
  372. cache : false,
  373. success : function(data) {
  374. var d = data; // ------ $.parseJSON(data);
  375. if(d.msg=="false"){
  376. layer.alert("班次类型只能单选'值班'和'加班'");
  377. return false;
  378. }else{
  379. //月度排班操作表保存
  380. saveArrangeDutyOperateLast(id,pid,yearmonth,everydayPeopleNum,attendanceCycle,shiftid,userid,arrangeStime,arrangeEtime);
  381. }
  382. }
  383. }); */
  384. }
  385. }
  386. }
  387. //清空数据
  388. function clearData(){
  389. var rowData = {};
  390. fillData(rowData);
  391. $("#arrangeDutyOperateList").datagrid('clearChecked');
  392. var runwayOption=$("select[name='runway']");
  393. //var runway=pjtPostIdOption.val();
  394. runwayOption.find("option[value='']").attr("selected", true);
  395. $("#arrangeDutyOperateList").datagrid('unselectAll');
  396. dealPtjPostIdAppend();
  397. }
  398. //班次选择
  399. function openOnDutySelect(){
  400. //项目id
  401. var pid = $("#pid").val();
  402. var shiftid = $("#shiftid").val();
  403. //var pjtPostIdOption=$("select[name='runway']");
  404. //var runway=pjtPostIdOption.val();
  405. $.dialog({content: 'url:onDutyOperateController.do?arrangeDutySelectList&ids='+shiftid+'&pid='+pid, zIndex: getzIndex(), title: '班次选择', lock: true, width: '800px', height: '400px',
  406. opacity: 0.4, button: [
  407. {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){
  408. //var postGeneralId=$("#id").val();
  409. //父页面接子页面传值
  410. //获得子页面getReason()方法中的值
  411. var iframe = this.iframe.contentWindow;
  412. // var shiftid="";
  413. if(iframe.getReason().length>0){
  414. var strData=eval(iframe.getReason());
  415. for(var key in strData[0]){
  416. if(key=="strShiftid"){
  417. $("#shiftid").val(strData[0][key]);
  418. // shiftid=strData[0][key];
  419. }else if(key=="strShiftName"){
  420. $("#dutyName").val(strData[0][key]);
  421. }
  422. }
  423. }
  424. // if(shiftid.length==0){
  425. // tip("请选择班次");
  426. // return false;
  427. // }
  428. }, focus: true},
  429. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  430. ]}).zindex();
  431. }
  432. //班次选择清空
  433. function callbackOnDutyClean(){
  434. $("#shiftid").val("");
  435. $("#dutyName").val("");
  436. }
  437. //班次员工选择
  438. function openPersonnelBaseArchivesManageSelect(){
  439. //项目id
  440. var pid = $("#pid").val();
  441. var userid = $("#userid").val();
  442. var yearmonth = $("#yearmonth").val();
  443. $.dialog({content: 'url:onDutyOperateController.do?personnelBaseArchivesManageSelectList&userid='+userid+'&pid='+pid+'&yearmonth='+yearmonth, zIndex: getzIndex(), title: '班次员工选择', lock: true, width: '800px', height: '400px',
  444. opacity: 0.4, button: [
  445. {name: '<t:mutiLang langKey="common.confirm"/>', callback: function (){
  446. //var postGeneralId=$("#id").val();
  447. //父页面接子页面传值
  448. //获得子页面getReason()方法中的值
  449. var iframe = this.iframe.contentWindow;
  450. // var userid="";
  451. if(iframe.getReason().length>0){
  452. var strData=eval(iframe.getReason());
  453. for(var key in strData[0]){
  454. if(key=="strUserId"){
  455. $("#userid").val(strData[0][key]);
  456. // userid=strData[0][key];
  457. }else if(key=="strRealName"){
  458. $("#realname").val(strData[0][key]);
  459. }
  460. }
  461. }
  462. // if(userid.length==0){
  463. // tip("请选择班次员工");
  464. // return false;
  465. // }
  466. }, focus: true},
  467. {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
  468. ]}).zindex();
  469. }
  470. /* function callbackPersonnelBaseArchivesManageSelectSure(){
  471. } */
  472. //清空班次员工
  473. function callbackPersonnelBaseArchivesManageClean(){
  474. $("#userid").val("");
  475. $("#realname").val("");
  476. }
  477. //保存数据后刷新当前页面数据
  478. function callback(data){
  479. //debugger;
  480. if(data.success){
  481. clearData();
  482. $("#onDutyOperateList").datagrid('reload');
  483. top.tip(data.msg);
  484. }else{
  485. layer.alert(data.msg);
  486. }
  487. }
  488. //清空数据
  489. function clearData(){
  490. var rowData = {};
  491. fillData(rowData);
  492. $("#onDutyOperateList").datagrid('clearChecked');
  493. //var runwayOption=$("select[name='runway']");
  494. //var runway=pjtPostIdOption.val();
  495. //runwayOption.find("option[value='']").attr("selected", true);
  496. //$("#arrangeDutyOperateList").datagrid('unselectAll');
  497. //dealPtjPostIdAppend();
  498. /* var pjtPostIdOption=$("select[name='pjtPostId']");
  499. var pjtPostId=pjtPostIdOption.val();
  500. pjtPostIdOption.empty();
  501. pjtPostIdOption.prepend("<option value='' >---请选择--- </option>"); //为Select插入一个Option(第一个位置)
  502. pjtPostIdOption.find("option[value='']").attr("selected", true); */
  503. }
  504. function fillData(rowData){
  505. //清空表单
  506. $("#formobj").form('clear');
  507. //填充数据
  508. for(var d in rowData){
  509. $("#"+d).val(rowData[d]);
  510. }
  511. }
  512. //编辑数据输入框复现
  513. $(function(){
  514. $("#onDutyOperateList").datagrid({
  515. onClickRow: function(rowIndex, rowData){
  516. //清空出勤时间回显
  517. attendanceCycleClear();
  518. //fillData(rowData);
  519. /* $("#editPanel").panel({title:"修改数据"}); */
  520. $('#id').val(rowData.id);
  521. //每日值班人数
  522. $('#everydayPeopleNum').val(rowData.everydayPeopleNum);
  523. //出勤时间
  524. $('#attendanceCycle').val(rowData.attendanceCycle);
  525. //班次
  526. $('#shiftid').val(rowData.shiftid);
  527. //员工
  528. $('#userid').val(rowData.userid);
  529. //排班开始时间
  530. $("#arrangeStime").val(rowData.arrangeStime.split("~")[0]);
  531. //排班结束时间
  532. $('#arrangeEtime').val(rowData.arrangeStime.split("~")[1]);
  533. //出勤时间回显
  534. if(rowData.attendanceCycle.indexOf(",")==-1){
  535. $(".checkOne").each(function(){
  536. if($(this).val()==rowData.attendanceCycle){
  537. $(this).attr("checked", true);
  538. }
  539. });
  540. }else{
  541. var myArray=rowData.attendanceCycle.split(",");
  542. for(var i=0;i<myArray.length;i++){
  543. $(".checkOne").each(function(){
  544. if($(this).val()==myArray[i]){
  545. $(this).attr("checked", true);
  546. }
  547. });
  548. }
  549. }
  550. //查询班次和员工名称回显
  551. $.ajax({
  552. url : "arrangeDutyOperateController.do?getRealName",
  553. type : 'post',
  554. data : {
  555. shiftid : rowData.shiftid,
  556. shiftidDictionary : "t_bus_arrange_duty,id,duty_name",
  557. userid : rowData.userid
  558. },
  559. cache : false,
  560. success : function(data) {
  561. var d = data; // ------ $.parseJSON(data);
  562. $('#dutyName').val(d.attributes["dutyName"]);
  563. $('#realname').val(d.attributes["realName"]);
  564. }
  565. });
  566. }
  567. });
  568. })
  569. //清空出勤时间回显
  570. function attendanceCycleClear(){
  571. $(".checkOne").each(function(){
  572. $(".checkOne").prop("checked",false);
  573. });
  574. }
  575. //编写自定义JS代码获得输入框中的值等父级页面调用取值
  576. function getReason(){
  577. var strData="",onDutyOperateId="";
  578. onDutyOperateId=$("#onDutyOperateId").val();
  579. /* var strData='[{"addId":"'+addId+'","updateId":"'+updateId+'"}]'; */
  580. var strData='[{"onDutyOperateId":"'+onDutyOperateId+'"}]';
  581. return strData;
  582. }
  583. </script>