oa.js 27 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139
  1. $(document).ready(function() {
  2. $("input[type='text']:visible:first").focus();
  3. $("textarea:visible:first").focus();
  4. });
  5. /**
  6. *
  7. */
  8. function closeTabUseInOA() {
  9. window.parent.tab.removeSelectedTabItem();
  10. }
  11. /**
  12. *
  13. */
  14. var oDialogs = [];
  15. // var oDialogs = new Array();
  16. /**
  17. *
  18. * @param owurl
  19. * @param name
  20. */
  21. function openODialog(owurl, name, dialogId) {
  22. // alert(owurl);
  23. // alert(dialogId);
  24. var oDialog = openTopDialog({
  25. height : $("body", window.top.document).height() - 50,
  26. width : $("body", window.top.document).width() - 50,
  27. url : owurl,
  28. showMax : false,
  29. showToggle : false,
  30. showMin : true,
  31. isResize : false,
  32. modal : false,
  33. title : name,
  34. id : dialogId,
  35. name : "ligerWindow_" + dialogId,
  36. allowClose : true,
  37. isHidden : true,
  38. timeParmName : "date1"
  39. });
  40. oDialogs.push(oDialog);
  41. }
  42. /**
  43. *
  44. */
  45. function closeODialog(id) {
  46. //alert(id);
  47. var length = oDialogs.length;
  48. for (var i = 0; i < length; i++) {
  49. var oDialog = oDialogs.shift();
  50. if (oDialog.id == id) {
  51. // alert(id);
  52. oDialog.close();
  53. } else {
  54. oDialogs.push(oDialog);
  55. }
  56. }
  57. }
  58. /**
  59. *
  60. */
  61. function closeTabAndRefreshOpener() {
  62. var oldTabId = $("#tabid").val();
  63. var newTabId = getCurrentTabId();
  64. window.parent.f_selectTab(oldTabId);
  65. window.parent.f_reloadTab(oldTabId);
  66. window.parent.f_closeTab(newTabId);
  67. return;
  68. }
  69. /**
  70. *
  71. * @param actionUrl
  72. * @param formName
  73. * @returns {Boolean}
  74. */
  75. function saveForm(actionUrl, formName) {
  76. if (!checkForm()) {
  77. return false;
  78. }
  79. var x = $(formName).serializeArray();
  80. $.each(x, function(i, field) {
  81. field.value = encodeURI(field.value);
  82. });
  83. var result = false;
  84. $.ajax({
  85. url : actionUrl,
  86. async : false,
  87. type : "post",
  88. data : x,
  89. success : function(data) {
  90. result = getPrompt(data);
  91. },
  92. error : function() {
  93. alert("数据处理失败,请检查网络重新登录或联系管理员!");
  94. }
  95. });
  96. return result;
  97. }
  98. function saveFormData(actionUrl) {
  99. var formData = new FormData($("#formIns")[0]);
  100. $.ajax({
  101. url : actionUrl,
  102. type : 'POST',
  103. data : formData,
  104. async : false,
  105. cache : false,
  106. contentType : false,
  107. processData : false,
  108. success : function(returndata) {
  109. // alert(returndata);
  110. parent.document.getElementById("formInsId").value = returndata;
  111. parent.preProcess("FlowAction.do", "#insForm");
  112. },
  113. error : function(returndata) {
  114. alert("表单提交异常,请检查网络重新登录或联系管理员!");
  115. }
  116. });
  117. }
  118. function saveAjaxForm(actionUrl) {
  119. $.ajax({
  120. // 几个参数需要注意一下
  121. type : "POST",// 方法类型
  122. dataType : "json",// 预期服务器返回的数据类型
  123. url : actionUrl,// url
  124. data : $('#formIns').serialize(),
  125. success : function(returndata) {
  126. parent.document.getElementById("formInsId").value = returndata;
  127. parent.preProcess("FlowAction.do", "#insForm");
  128. },
  129. error : function(returndata) {
  130. alert("表单提交异常,请检查网络重新登录或联系管理员!");
  131. }
  132. });
  133. }
  134. /**
  135. *
  136. * @param actionUrl
  137. * @param actionData
  138. */
  139. function operate(actionUrl, actionData) {
  140. var result = false;
  141. $.ajax({
  142. url : actionUrl,
  143. async : false,
  144. type : "post",
  145. data : actionData,
  146. success : function(data) {
  147. result = getPrompt(data);
  148. },
  149. error : function() {
  150. alert("数据处理失败,请检查网络重新登录或联系管理员!");
  151. }
  152. });
  153. return result;
  154. }
  155. /**
  156. * js过滤特殊字符
  157. *
  158. * @param s
  159. * @returns {String}
  160. */
  161. function stripscript(s) {
  162. var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#]");
  163. var rs = "";
  164. for (var i = 0; i < s.length; i++) {
  165. rs = rs + s.substr(i, 1).replace(pattern, '');
  166. }
  167. return rs;
  168. }
  169. /**
  170. * 表单动作管理计算并赋值
  171. *
  172. * @param tableField
  173. */
  174. function setGsjsValue(tableField, isrepeat) {
  175. var formId = $("#formId").val();
  176. var actionUrl = "FormFormulaAction.do?task=gsjs&formId=" + formId + "&tableField=" + tableField + "&isrepeat=" + isrepeat;
  177. var x = $("#formIns").serializeArray();
  178. $.each(x, function(i, field) {
  179. field.value = encodeURI(field.value);
  180. });
  181. $.ajax({
  182. url : actionUrl,
  183. async : true,
  184. type : "post",
  185. data : x,
  186. success : function(data) {
  187. var jsonobj = eval('(' + data + ')');
  188. var formulaResult = jsonobj.formulaResult;
  189. for (var i = 0; i < formulaResult.length; i++) {
  190. var element_value = formulaResult[i].element_value;
  191. var strs = new Array();
  192. strs = element_value.split("*");
  193. $("#form_element_" + strs[0]).val(strs[1]);
  194. $("#form_element_" + strs[0]).change();
  195. }
  196. },
  197. error : function() {
  198. }
  199. });
  200. }
  201. /**
  202. * 撤销流程
  203. *
  204. * @param insId
  205. * 流程实例ID
  206. * @param url
  207. */
  208. function cancelFlow(insId, formInsId, formId, url) {
  209. if (confirm('确定撤销该流程?')) {
  210. $.ligerDialog.open({
  211. title : '撤销备注',
  212. width : 400,
  213. height : '100%',
  214. url : 'FlowAction.do?task=toCancel&insId=' + insId + '&tabid=' + getCurrentTabId(),
  215. isResize : true,
  216. buttons : [ {
  217. text : '确定',
  218. onclick : function(item, dialog) {
  219. var doc = dialog.frame.document;
  220. var cancelRemark = doc.getElementById("cancelRemark").value;
  221. if (cancelRemark == null || cancelRemark == "") {
  222. addError('撤销备注不能为空!');
  223. return;
  224. } else {
  225. dialog.close();
  226. var actionData = {
  227. "task" : "cancel",
  228. "insId" : insId,
  229. "formInsId" : formInsId,
  230. "formId" : formId,
  231. "cancelRemark" : encodeURI(cancelRemark)
  232. };
  233. if (url) {
  234. // 外部流程,先处理自定义流程撤销逻辑
  235. $.ajax({
  236. url : url,
  237. async : false,
  238. type : "post",
  239. data : actionData,
  240. success : function(data) {
  241. if (data == "0") {// 业务表撤销逻辑处理成功,执行流程撤销
  242. $.ajax({
  243. url : "FlowAction.do",
  244. async : false,
  245. type : "post",
  246. data : actionData,
  247. success : function(data) {
  248. result = getPrompt(data);
  249. },
  250. error : function() {
  251. alert("数据处理失败,请检查网络重新登录或联系管理员!");
  252. }
  253. });
  254. } else {
  255. addError("业务表单撤销失败!");
  256. }
  257. },
  258. error : function() {
  259. alert("数据处理失败,请检查网络重新登录或联系管理员!");
  260. }
  261. });
  262. } else {// 直接执行流程撤销
  263. $.ajax({
  264. url : "FlowAction.do",
  265. async : false,
  266. type : "post",
  267. data : actionData,
  268. success : function(data) {
  269. result = getPrompt(data);
  270. },
  271. error : function() {
  272. alert("数据处理失败,请检查网络重新登录或联系管理员!");
  273. }
  274. });
  275. }
  276. if (result) {
  277. grid.loadData(true);
  278. }
  279. }
  280. }
  281. }, {
  282. text : '关闭',
  283. onclick : function(item, dialog) {
  284. var doc = dialog.frame.document;
  285. doc.getElementById("cancelRemark").value = "";
  286. doc.getElementById("cancelRemark").focus();
  287. dialog.close();
  288. }
  289. } ]
  290. });
  291. }
  292. }
  293. function showCancelRemark(cancelRemark) {
  294. $.ligerDialog.alert(cancelRemark, '撤销原因', 'none');
  295. }
  296. /**
  297. * 选择流程流水号
  298. *
  299. * @param attrId
  300. * 回填流水号ID(必填)
  301. * @param anctionName
  302. * 业务表名(空查所有流程)
  303. * @param searchParams
  304. * 业务表查询参数(JSON格式,key字段名,value查询值)
  305. * @param callback
  306. * 回调(非必填)
  307. * @returns
  308. */
  309. function showSerNoDialog(attrId, tableName, searchParams, callback) {
  310. if (tableName == undefined) {
  311. tableName = "";
  312. }
  313. $.ligerDialog.open({
  314. title : '选择流水号',
  315. width : 800,
  316. height : 350,
  317. url : 'bpmFormInstanceAction.do?task=toBusinessSerialList&tableName=' + tableName + '&params=' + encodeURI(encodeURI(searchParams)) + '&time=' + new Date().getTime(),
  318. buttons : [ {
  319. text : '确定',
  320. onclick : function(item, dialog) {
  321. var doc = dialog.frame.document;
  322. // var valueField = doc.getElementById("valueField").value;
  323. var textField = doc.getElementById("textField").value;
  324. var modelId = doc.getElementById("modelId1").value;
  325. if (textField == "") {
  326. addError("请选择一条记录!");
  327. return;
  328. }
  329. $("#" + attrId).val(textField);
  330. $("#modelId").val(modelId);
  331. if (callback) {
  332. var param = {
  333. 'tableName' : tableName,
  334. 'SerNo' : textField
  335. };
  336. var result;
  337. // sendAjaxParam(param,"bpmFormInstanceAction.do?task=getBusinessInfo",
  338. // 'json',callback);
  339. $.ajax({
  340. type : "post",
  341. url : "bpmFormInstanceAction.do?task=getBusinessInfo",
  342. async : false,
  343. data : param,
  344. cache : false,
  345. dataType : 'json',
  346. timeout : 30000,
  347. error : function(request, msg, errObj) {
  348. alert(msg)
  349. },
  350. success : function(data) {
  351. result = data
  352. }
  353. });
  354. callback(result);
  355. }
  356. dialog.close();
  357. }
  358. }, {
  359. text : '取消',
  360. onclick : function(item, dialog) {
  361. dialog.close();
  362. }
  363. } ]
  364. });
  365. }
  366. // 选择外协名称和设计协作流水号
  367. function designNumber() {
  368. var association_name_id = ($("#association_name_id").val());
  369. $.ligerDialog.open({
  370. height : 350,
  371. width : 750,
  372. title : '选择外协名称和设计协作流水号',
  373. // url:
  374. // 'designAction.do?task=toGetdesignNumberList&association_name_id='+association_name_id,
  375. url : 'contractSealAction.do?task=toFindwx',
  376. showMax : false,
  377. showToggle : true,
  378. showMin : false,
  379. isResize : true,
  380. slide : false,
  381. buttons : [ {
  382. text : "确定",
  383. onclick : f_designNumberOK
  384. }, {
  385. text : "取消",
  386. onclick : f_designNumberCancel
  387. } ]
  388. });
  389. }
  390. function f_designNumberOK(item, dialog) {
  391. var rows = dialog.frame.f_select();
  392. if (rows.length == 0) {
  393. var obj = window.top;
  394. obj.$.ligerDialog.warn('请选择外协名称和设计协作审批流水号!');
  395. return;
  396. }
  397. if (rows.length > 1) {
  398. var obj = window.top;
  399. obj.$.ligerDialog.warn('只能选择一个哦!');
  400. return;
  401. }
  402. $("#collaborative_number").val(rows[0].process_id);
  403. $("#association_name").val(rows[0].team_name);
  404. $("#association_name_id").val(rows[0].universalid);
  405. dialog.close();
  406. }
  407. function f_designNumberCancel(item, dialog) {
  408. dialog.close();
  409. }
  410. // 获取挂靠审批流程流水号
  411. function callProcessId() {
  412. $.ligerDialog.open({
  413. height : 350,
  414. width : 750,
  415. title : '选择挂靠审批流程流水号',
  416. url : 'publishAction.do?task=toCallProcessId',
  417. showMax : false,
  418. showToggle : true,
  419. showMin : false,
  420. isResize : true,
  421. slide : false,
  422. buttons : [ {
  423. text : "确定",
  424. onclick : function f_getCallProcessIdOk(item, dialog) {
  425. var rows = dialog.frame.f_select();
  426. if (rows.length == 0) {
  427. var obj = window.top;
  428. obj.$.ligerDialog.warn('请选择工程合同编号!');
  429. return;
  430. }
  431. if (rows.length > 1) {
  432. var obj = window.top;
  433. obj.$.ligerDialog.warn('只能选择一个工程合同编号!');
  434. return;
  435. }
  436. $("#gk_serial_number").val(rows[0].process_id);
  437. $("#gk_unit").val(rows[0].com_name);
  438. dialog.close();
  439. }
  440. }, {
  441. text : "取消",
  442. onclick : function getCallProcessIdCancel(item, dialog) {
  443. dialog.close();
  444. }
  445. } ]
  446. });
  447. }
  448. // 工程合同选择相关标书/合同
  449. function serNoDialog() {
  450. $.ligerDialog.open({
  451. height : 350,
  452. width : 750,
  453. title : '选择相关标书/合同',
  454. url : 'contractSealAction.do?task=toHtxgList',
  455. showMax : false,
  456. showToggle : true,
  457. showMin : false,
  458. isResize : true,
  459. slide : false,
  460. buttons : [ {
  461. text : "确定",
  462. onclick : function f_getCallProcessIdOk(item, dialog) {
  463. var rows = dialog.frame.f_select();
  464. if (rows.length == 0) {
  465. var obj = window.top;
  466. obj.$.ligerDialog.warn('请选择标书/合同编号!');
  467. return;
  468. }
  469. if (rows.length > 1) {
  470. var obj = window.top;
  471. obj.$.ligerDialog.warn('只能选择一个标书/合同编号!');
  472. return;
  473. }
  474. $("#bs_number").val(rows[0].num);
  475. $("#bs_name").val(rows[0].htname);
  476. $("#ht_insid").val(rows[0].ht_insid);
  477. dialog.close();
  478. }
  479. }, {
  480. text : "取消",
  481. onclick : function getCallProcessIdCancel(item, dialog) {
  482. dialog.close();
  483. }
  484. } ]
  485. });
  486. }
  487. // 工程合同标书/合同查看
  488. function openLink(insId) {
  489. var parentDialogId = parent.document.getElementById("dialogId").value;
  490. var dialogId = insId + new Date().getTime();
  491. parent.openODialog("FlowAction.do?task=toCustomView&state=all&type=2&insId=" + insId + "&tabid=" + getCurrentTabId() + "&parentDialogId=" + parentDialogId + "&dialogId="
  492. + dialogId, "流程查看", dialogId);
  493. }
  494. // 获取投标流程流水
  495. function tendeSerNo(id, bs_name, bs_no, bs_date) {
  496. $.ligerDialog.open({
  497. height : 350,
  498. width : 750,
  499. title : '投标管理流程流水号',
  500. url : 'contractSealAction.do?task=toTenderList',
  501. showMax : false,
  502. showToggle : true,
  503. showMin : false,
  504. isResize : true,
  505. slide : false,
  506. buttons : [ {
  507. text : "确定",
  508. onclick : function f_getCallProcessIdOk(item, dialog) {
  509. var rows = dialog.frame.f_select();
  510. if (rows.length == 0) {
  511. var obj = window.top;
  512. obj.$.ligerDialog.warn('请选择投标流程!');
  513. return;
  514. }
  515. if (rows.length > 1) {
  516. var obj = window.top;
  517. obj.$.ligerDialog.warn('只能选择一个投标流程!');
  518. return;
  519. }
  520. $("#" + bs_no).val(rows[0].tender_num);
  521. $("#" + bs_name).val(rows[0].tender_name);
  522. $("#" + bs_date).val(rows[0].bid_date);
  523. $("#" + id).val(rows[0].process_id);
  524. dialog.close();
  525. }
  526. }, {
  527. text : "取消",
  528. onclick : function getCallProcessIdCancel(item, dialog) {
  529. dialog.close();
  530. }
  531. } ]
  532. });
  533. }
  534. // 获取外协单位未结算金额
  535. function getUnsettleAmount(team_id) {
  536. // var team_id = $("#unionId").val();
  537. $.ajax({
  538. type : "post",
  539. url : "advancePaymentAction.do?task=getUnsettleAmount&team_id=" + team_id,
  540. async : false,
  541. cache : false,
  542. dataType : 'text',
  543. timeout : 30000,
  544. success : function(data) {
  545. if (data != null) {
  546. alert(data);
  547. $("#unsettleAmount").val(data);
  548. }
  549. },
  550. error : function(request, msg, errObj) {
  551. try {
  552. var text = request.responseText;
  553. if (text.indexOf("TIMEOUT_ERROR") != -1) {
  554. window.top.location.reload();
  555. }
  556. } catch (e) {
  557. }
  558. if (error) {
  559. error(request, msg);
  560. }
  561. }
  562. });
  563. }
  564. function otherFee(callback) {
  565. $.ligerDialog.open({
  566. height : 350,
  567. width : 750,
  568. title : '选择其他收入流程流水号',
  569. url : 'otherFeeAction.do?task=toGetOtherFee',
  570. showMax : false,
  571. showToggle : true,
  572. showMin : false,
  573. isResize : true,
  574. slide : false,
  575. buttons : [ {
  576. text : "确定",
  577. onclick : function f_getOtherFeeOk(item, dialog) {
  578. var rows = dialog.frame.f_select();
  579. if (rows.length == 0) {
  580. var obj = window.top;
  581. obj.$.ligerDialog.warn('请选择流水号!');
  582. return;
  583. }
  584. if (rows.length > 1) {
  585. var obj = window.top;
  586. obj.$.ligerDialog.warn('只能选择一个流水号!');
  587. return;
  588. }
  589. if (callback) {
  590. callback(rows);
  591. }
  592. dialog.close();
  593. }
  594. }, {
  595. text : "取消",
  596. onclick : function getGkProjectIdCancel(item, dialog) {
  597. dialog.close();
  598. }
  599. } ]
  600. });
  601. }
  602. /**
  603. *
  604. * @param backId
  605. * 返回id
  606. * @param backName
  607. * 返回name
  608. * @param check
  609. * 是否多选 *
  610. * @param callback
  611. * 回调函数
  612. * @returns
  613. */
  614. function getBudgetDept(backId, backName, check, callback) {
  615. $.ligerDialog.open({
  616. height : 350,
  617. width : 750,
  618. title : '选择费用所属部门',
  619. url : 'budgetDeptAction.do?task=toGetBudgetDeptList',
  620. showMax : false,
  621. showToggle : true,
  622. showMin : false,
  623. isResize : true,
  624. slide : false,
  625. buttons : [ {
  626. text : "确定",
  627. onclick : function f_BudgetDeptOK(item, dialog) {
  628. var rows = dialog.frame.f_select();
  629. if (rows.length == 0) {
  630. var obj = window.top;
  631. obj.$.ligerDialog.warn('请选择费用所属部门!');
  632. return;
  633. }
  634. if (!check) {
  635. if (rows.length > 1) {
  636. var obj = window.top;
  637. obj.$.ligerDialog.warn('只能选择一个费用所属部门!');
  638. return;
  639. }
  640. if (backId != "" || typeof (backId) != "undefined") {
  641. $("#" + backId).val(rows[0].universalid);
  642. }
  643. if (backName != "" || typeof (backName) != "undefined") {
  644. $("#" + backName).val(rows[0].budget_dept_name);
  645. }
  646. } else {
  647. var value = "";
  648. var text = "";
  649. for (var i = 0; i < rows.length; i++) {
  650. value += value == "" ? rows[i].budget_dept_name : ',' + rows[i].budget_dept_name;
  651. text += text == "" ? rows[i].universalid : ',' + rows[i].universalid;
  652. }
  653. if (backId != "" || typeof (backId) != "undefined") {
  654. $("#" + backId).val(text);
  655. }
  656. if (backName != "" || typeof (backName) != "undefined") {
  657. $("#" + backName).val(value);
  658. }
  659. }
  660. if (callback) {
  661. callback(rows);
  662. }
  663. dialog.close();
  664. }
  665. }, {
  666. text : "取消",
  667. onclick : function f_BudgetDeptCancel(item, dialog) {
  668. dialog.close();
  669. }
  670. } ]
  671. });
  672. };
  673. /**
  674. * @param isOnly
  675. * 是否查询only表(true为查询only表,false为查询流程主表,一个外协可能有多个流程)
  676. * @param backId
  677. * 返回id
  678. * @param backName
  679. * 返回name
  680. * @param check
  681. * 是否多选(true多选) *
  682. * @param callback
  683. * 回调函数
  684. * @returns
  685. */
  686. function getCooperation(isOnly, backId, backName, check, callback) {
  687. $.ligerDialog.open({
  688. height : 350,
  689. width : 750,
  690. title : '选择外协单位',
  691. url : 'projectReportAction.do?task=toGetWaixieList&isOnly=' + isOnly,
  692. showMax : false,
  693. showToggle : true,
  694. showMin : false,
  695. isResize : true,
  696. slide : false,
  697. buttons : [ {
  698. text : "确定",
  699. onclick : function(item, dialog) {
  700. var rows = dialog.frame.f_select();
  701. if (rows.length == 0) {
  702. var obj = window.top;
  703. obj.$.ligerDialog.warn('请选择外协单位!');
  704. return;
  705. }
  706. if (!check) {
  707. if (rows.length > 1) {
  708. var obj = window.top;
  709. obj.$.ligerDialog.warn('只能选择一个外协单位!');
  710. return;
  711. }
  712. if (backId != "" || typeof (backId) != "undefined") {
  713. $("#" + backId).val(rows[0].universalid);
  714. }
  715. if (backName != "" || typeof (backName) != "undefined") {
  716. $("#" + backName).val(rows[0].team_name);
  717. }
  718. } else {
  719. var value = "";
  720. var text = "";
  721. for (var i = 0; i < rows.length; i++) {
  722. value += value == "" ? rows[i].team_name : ',' + rows[i].team_name;
  723. text += text == "" ? rows[i].universalid : ',' + rows[i].universalid;
  724. }
  725. if (backId != "" || typeof (backId) != "undefined") {
  726. $("#" + backId).val(text);
  727. }
  728. if (backName != "" || typeof (backName) != "undefined") {
  729. $("#" + backName).val(value);
  730. }
  731. }
  732. if (callback) {
  733. callback(rows, backId);
  734. }
  735. dialog.close();
  736. }
  737. }, {
  738. text : "取消",
  739. onclick : function(item, dialog) {
  740. dialog.close();
  741. }
  742. }
  743. ]
  744. });
  745. };
  746. /**
  747. *
  748. * @param callback
  749. * 回调函数
  750. * @param fee_department_id
  751. * 费用部门id
  752. * @returns
  753. */
  754. function getCardHolder(callback, fee_department_id) {
  755. $.ligerDialog.open({
  756. height : 350,
  757. width : 750,
  758. title : '选择费用所属部门',
  759. url : 'oilSuppleAction.do?task=toGetCardHolderList',
  760. showMax : false,
  761. showToggle : true,
  762. showMin : false,
  763. isResize : true,
  764. slide : false,
  765. buttons : [ {
  766. text : "确定",
  767. onclick : function f_CardHolderOK(item, dialog) {
  768. var rows = dialog.frame.f_select();
  769. if (rows.length == 0) {
  770. var obj = window.top;
  771. obj.$.ligerDialog.warn('请选择持卡人!');
  772. return;
  773. }
  774. if (rows.length > 1) {
  775. var obj = window.top;
  776. obj.$.ligerDialog.warn('只能选择一个持卡人!');
  777. return;
  778. }
  779. if (callback) {
  780. call(rows);
  781. }
  782. dialog.close();
  783. }
  784. }, {
  785. text : "取消",
  786. onclick : function f_CardHolderCancel(item, dialog) {
  787. dialog.close();
  788. }
  789. } ]
  790. });
  791. }
  792. /**
  793. *
  794. * @param backId
  795. * 返回id
  796. * @param backName
  797. * 返回name
  798. * @param check
  799. * 是否多选 *
  800. * @param callback
  801. * 回调函数
  802. * @returns
  803. */
  804. function getBudgetDeptCardHolder(backId, backName, check, callback) {
  805. $.ligerDialog.open({
  806. height : 350,
  807. width : 750,
  808. title : '选择费用所属部门',
  809. url : 'oilSuppleAction.do?task=toGetBudgetDeptList',
  810. showMax : false,
  811. showToggle : true,
  812. showMin : false,
  813. isResize : true,
  814. slide : false,
  815. buttons : [ {
  816. text : "确定",
  817. onclick : function f_BudgetDeptOK(item, dialog) {
  818. var rows = dialog.frame.f_select();
  819. if (rows.length == 0) {
  820. var obj = window.top;
  821. obj.$.ligerDialog.warn('请选择费用所属部门!');
  822. return;
  823. }
  824. if (!check) {
  825. if (rows.length > 1) {
  826. var obj = window.top;
  827. obj.$.ligerDialog.warn('只能选择一个费用所属部门!');
  828. return;
  829. }
  830. if (backId != "" || typeof (backId) != "undefined") {
  831. $("#" + backId).val(rows[0].universalid);
  832. }
  833. if (backName != "" || typeof (backName) != "undefined") {
  834. $("#" + backName).val(rows[0].budget_dept_name);
  835. }
  836. } else {
  837. var value = "";
  838. var text = "";
  839. for (var i = 0; i < rows.length; i++) {
  840. value += value == "" ? rows[i].budget_dept_name : ',' + rows[i].budget_dept_name;
  841. text += text == "" ? rows[i].universalid : ',' + rows[i].universalid;
  842. }
  843. if (backId != "" || typeof (backId) != "undefined") {
  844. $("#" + backId).val(text);
  845. }
  846. if (backName != "" || typeof (backName) != "undefined") {
  847. $("#" + backName).val(value);
  848. }
  849. }
  850. if (callback) {
  851. callback(rows);
  852. }
  853. dialog.close();
  854. }
  855. }, {
  856. text : "取消",
  857. onclick : function f_BudgetDeptCancel(item, dialog) {
  858. dialog.close();
  859. }
  860. } ]
  861. });
  862. };
  863. /**
  864. * 督办流程
  865. *
  866. * @param insId
  867. * 流程实例ID
  868. * @param url
  869. */
  870. function dubanFlow(insId) {
  871. $.ligerDialog.open({
  872. title : '督办内容',
  873. width : 400,
  874. height : '100%',
  875. url : 'FlowAction.do?task=toDuban&insId=' + insId + '&tabid=' + getCurrentTabId(),
  876. isResize : true,
  877. buttons : [ {
  878. text : '确定',
  879. onclick : function(item, dialog) {
  880. var doc = dialog.frame.document;
  881. var content = doc.getElementById("content").value;
  882. if (content == null || content == "") {
  883. addError('督办内容不能为空!');
  884. return;
  885. } else {
  886. dialog.close();
  887. var actionData = {
  888. "task" : "duban",
  889. "insId" : insId,
  890. "content" : encodeURI(content)
  891. };
  892. // 外部流程,先处理自定义流程撤销逻辑
  893. $.ajax({
  894. url : "FlowAction.do",
  895. async : false,
  896. type : "post",
  897. data : actionData,
  898. success : function(data) {
  899. if (data == "0") {// 督办成功
  900. $.ligerDialog.success('督办成功')
  901. grid.loadData(true);
  902. // result = getPrompt(data);
  903. } else {
  904. addError("督办失败!");
  905. }
  906. },
  907. error : function() {
  908. alert("数据处理失败,请检查网络重新登录或联系管理员!");
  909. }
  910. });
  911. // if (result) {
  912. // grid.loadData(true);
  913. // }
  914. }
  915. }
  916. }, {
  917. text : '关闭',
  918. onclick : function(item, dialog) {
  919. var doc = dialog.frame.document;
  920. doc.getElementById("content").value = "";
  921. doc.getElementById("content").focus();
  922. dialog.close();
  923. }
  924. } ]
  925. });
  926. }
  927. /**
  928. 弹出流程待办窗口
  929. **/
  930. function Deal(obj, control){
  931. var dialogId = obj + new Date().getTime();
  932. var tabid1 = $("#tabid").val();
  933. var tabid2 = getCurrentTabId();
  934. var tabid = "";
  935. var opentype = "";
  936. var tasktype = "";
  937. if (control == "1") {
  938. tasktype = "toProcess";
  939. }else{
  940. tasktype = "toCustomProcess";
  941. }
  942. if(tabid1 != tabid2){
  943. opentype = "3";
  944. tabid = tabid1;
  945. //window.parent.frames['content'].frames[tabid].openODialog(
  946. window.parent.openflowDialog(
  947. '${pageContext.request.contextPath }/FlowAction.do?type='+opentype+'&task='+tasktype+'&tinsId='
  948. + obj
  949. + '&tabid='
  950. + tabid
  951. + '&dialogId=' + dialogId, '流程办理', dialogId);
  952. flowDialog = oDialogs;
  953. }else{
  954. tabid = tabid2;
  955. window.parent.frames[tabid].openODialog(
  956. '${pageContext.request.contextPath }/FlowAction.do?task='+tasktype+'&tinsId='
  957. + obj
  958. + '&tabid='
  959. + tabid
  960. + '&dialogId=' + dialogId, '流程办理', dialogId);
  961. }
  962. }
  963. /**
  964. *
  965. */
  966. function existODialog(poDialogs,id) {
  967. var length = poDialogs.length;
  968. var flag = false;
  969. for (var i = 0; i < length; i++) {
  970. var poDialog = poDialogs.shift();
  971. if (poDialog.id == id) {
  972. flag = true;
  973. oDialogs.push(oDialog);
  974. break;
  975. }
  976. oDialogs.push(oDialog);
  977. }
  978. return flag;
  979. }
  980. function draftsaveAjaxForm(actionUrl) {
  981. $.ajax({
  982. // 几个参数需要注意一下
  983. type : "POST",// 方法类型
  984. dataType : "json",// 预期服务器返回的数据类型
  985. url : changeUrl(actionUrl),
  986. data : $('#formIns').serialize(),
  987. success : function(returndata) {
  988. parent.document.getElementById("formInsId").value = returndata;
  989. document.getElementById("universalid").value = returndata;
  990. parent.saveFlowForDraft("FlowAction.do?uuid="+uuid, "#insForm");
  991. },
  992. error : function(returndata) {
  993. alert("表单提交异常,请检查网络重新登录或联系管理员!");
  994. }
  995. });
  996. }
  997. var uuid = "${session.loginID}";
  998. function getUUID(){
  999. return uuid;
  1000. }
  1001. function saveFlowForDraft() {
  1002. if($("#insNameText").is(":visible")) {
  1003. $("#insName").val($("#insNameText").val());
  1004. }
  1005. if($.trim($("#insName").val()) == ''){
  1006. addError("流程标题不能为空!");
  1007. window.scrollTo(0,0);
  1008. return false;
  1009. }
  1010. if($.trim($("#insName").val()).length > 100){
  1011. addError("流程标题不能超过100个字!");
  1012. window.scrollTo(0,0);
  1013. return false;
  1014. }
  1015. $("#draftBtn").attr("disabled", "disabled");
  1016. $("#task").val("startForDraft");
  1017. var x = $("#insForm").serializeArray();
  1018. $.each(x, function(i, field) {
  1019. field.value = encodeURI(field.value);
  1020. });
  1021. var tmodelIds = $("[name*='tmodelId_']");
  1022. for (var i = 0; i < tmodelIds.length; i++) {
  1023. var bool = false;
  1024. var isCheck = $("#isCheck_" + tmodelIds[i].value).val();
  1025. if (isCheck == '1') {
  1026. $("input[name='tmodel_" + tmodelIds[i].value + "']").each(
  1027. function() {
  1028. if (this.checked) {
  1029. bool = true;
  1030. }
  1031. });
  1032. if (!bool) {
  1033. $("#validateTip").show();
  1034. $("#sbmbtn").removeAttr("disabled");
  1035. return false;
  1036. }
  1037. }
  1038. }
  1039. var result1 = false;
  1040. $.ajax({
  1041. url : "FlowAction.do?uuid="+window.top.getUUID(),
  1042. async : false,
  1043. type : "post",
  1044. data : x,
  1045. dataType : 'json',
  1046. success : function(data) {
  1047. var resultState = data[0].resultState;
  1048. var resultInfo = data[0].resultInfo;
  1049. if (!resultState){
  1050. addError(resultInfo);
  1051. } else {
  1052. addInfo("保存草稿成功!");
  1053. result1 = true;
  1054. }
  1055. },
  1056. error : function() {
  1057. alert("数据处理失败,请检查网络重新登录或联系管理员!");
  1058. $("button").removeAttr("disabled");
  1059. },
  1060. beforeSend : function() {
  1061. //$("button").attr("disabled", "disabled");
  1062. }
  1063. });
  1064. $("#draftBtn").removeAttr("disabled");
  1065. if(result1){
  1066. var oldTabid = $("#tabid").val();
  1067. //window.parent.frames['${param.tabid }'].loadData();
  1068. window.parent.f_reloadTab(oldTabid);
  1069. }
  1070. }