atsLeaveBillEditExt.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. //专业应用--单人请假单
  2. var leaveTypeNumber = "";
  3. shr.defineClass("shr.ats.AtsLeaveBillEditExt", shr.ats.AtsLeaveBillEdit, {
  4. initalizeDOM: function () {
  5. shr.ats.AtsLeaveBillEditExt.superClass.initalizeDOM.call(this);
  6. var that = this;
  7. if(this.operateState.toUpperCase() != 'VIEW'){
  8. //初始化隐藏字段
  9. this.initFileHide();
  10. this.showColumnByPolicy();
  11. }else{
  12. this.initFileHide();
  13. this.showViewColumn();
  14. }
  15. var thisTechingDuties = atsMlUtile.getFieldOriginalValue("entries_TeachingDuties");
  16. if(thisTechingDuties){
  17. that.getField("entries_TeachingTask").shrTextField('option', 'required', true);
  18. that.getField("entries_AlternativeTeacher").shrTextField('option', 'required', true);
  19. }
  20. $("#entries_TeachingDuties").on("change", function () {
  21. var teachingDuties = atsMlUtile.getFieldOriginalValue("entries_TeachingDuties");
  22. if(teachingDuties){
  23. that.getField("entries_TeachingTask").shrTextField('option', 'required', true);
  24. that.getField("entries_AlternativeTeacher").shrTextField('option', 'required', true);
  25. }else{
  26. that.getField("entries_TeachingTask").shrTextField('option', 'required', false);
  27. that.getField("entries_AlternativeTeacher").shrTextField('option', 'required', false);
  28. }
  29. });
  30. },
  31. /**
  32. * 初始化隐藏字段
  33. */
  34. initFileHide : function(){
  35. $("#dowFile").hide();
  36. //教师假(教师旅行假)
  37. $("#entries_Teachingperiod").parents(".field-area").hide();
  38. $("#entries_Teachinginnextsemester").parents(".field-area").hide();
  39. $("#entries_Startdateonextsemester").parents(".field-area").hide();
  40. $("#entries_DateofTestB").parents(".field-area").hide();
  41. $("#entries_DateofTestA").parents(".field-area").hide();
  42. $("#entries_DateofreturningtoGTIIT").parents(".field-area").hide();
  43. $("#entries_DateofleavingGTIIT").parents(".field-area").hide();
  44. //出差假(商务旅行)
  45. $("#entries_EstimatedTotalCost").parents(".field-area").hide();
  46. $("#entries_CITY").parents(".field-area").hide();
  47. $("#entries_Purpose").parents(".field-area").hide();
  48. //行政人员出差假
  49. $("#entries_EmergencyContact").parents(".field-area").hide();
  50. $("#entries_Destination").parents(".field-area").hide();
  51. $("#entries_TripReason").parents(".field-area").hide();
  52. //病假、年假、出差假(商务旅行)
  53. $("#entries_AlternativeTeacher").parents(".field-area").hide();
  54. $("#entries_TeachingTask").parents(".field-area").hide();
  55. $("#entries_TeachingDuties").parents(".field-area").hide();
  56. $("#prompt").hide();
  57. },
  58. /**
  59. * 根据选择的假期显示字段
  60. */
  61. showColumnByPolicy : function(){
  62. var self = this;
  63. $("#entries_policy_el").on("change", function () {
  64. var policyId = $("#entries_policy_el").val();
  65. var personId = $("#entries_person_el").val();
  66. var personType = "";
  67. shr.callHandler({
  68. handler : "com.kingdee.shr.ats.web.handler.AtsLeaveBillEditHandlerEx",
  69. action : 'customerCheckParam',
  70. async : false,
  71. type : "POST",
  72. param : { "policyId" : "","personId" : personId },
  73. success:function(data){
  74. if(data.personType){
  75. personType = data.personType;
  76. }
  77. }
  78. });
  79. shr.callHandler({
  80. handler : "com.kingdee.shr.ats.web.handler.AtsLeaveBillEditHandlerEx",
  81. action : 'getLeaveData',
  82. async : false,
  83. type : "POST",
  84. param : {
  85. "policyId" : policyId
  86. },
  87. success:function(data){
  88. self.getField("entries_Teachingperiod").shrPromptBox('option', 'required', false);
  89. self.getField("entries_Teachinginnextsemester").shrPromptBox('option', 'required', false);
  90. self.getField("entries_Startdateonextsemester").shrDateTimePicker('option', 'required', false);
  91. self.getField("entries_DateofTestB").shrDateTimePicker('option', 'required', false);
  92. self.getField("entries_DateofTestA").shrDateTimePicker('option', 'required', false);
  93. self.getField("entries_DateofreturningtoGTIIT").shrDateTimePicker('option', 'required', false);
  94. self.getField("entries_DateofleavingGTIIT").shrDateTimePicker('option', 'required', false);
  95. self.getField("entries_EstimatedTotalCost").shrTextField('option', 'required', false);
  96. self.getField("entries_CITY").shrTextField('option', 'required', false);
  97. self.getField("entries_Purpose").shrTextField('option', 'required', false);
  98. self.getField("entries_EmergencyContact").shrTextField('option', 'required', false);
  99. self.getField("entries_Destination").shrTextField('option', 'required', false);
  100. self.getField("entries_TripReason").shrTextField('option', 'required', false);
  101. //教师假(教师旅行假)
  102. $("#entries_Teachingperiod").parents(".field-area").hide();
  103. $("#entries_Teachinginnextsemester").parents(".field-area").hide();
  104. $("#entries_Startdateonextsemester").parents(".field-area").hide();
  105. $("#entries_DateofTestB").parents(".field-area").hide();
  106. $("#entries_DateofTestA").parents(".field-area").hide();
  107. $("#entries_DateofreturningtoGTIIT").parents(".field-area").hide();
  108. $("#entries_DateofleavingGTIIT").parents(".field-area").hide();
  109. //出差假(商务旅行)
  110. $("#entries_EstimatedTotalCost").parents(".field-area").hide();
  111. $("#entries_CITY").parents(".field-area").hide();
  112. $("#entries_Purpose").parents(".field-area").hide();
  113. //行政人员出差假
  114. $("#entries_EmergencyContact").parents(".field-area").hide();
  115. $("#entries_Destination").parents(".field-area").hide();
  116. $("#entries_TripReason").parents(".field-area").hide();
  117. //病假、年假、出差假(商务旅行)
  118. $("#entries_AlternativeTeacher").parents(".field-area").hide();
  119. $("#entries_TeachingTask").parents(".field-area").hide();
  120. $("#entries_TeachingDuties").parents(".field-area").hide();
  121. $("#prompt").hide();
  122. $("#dowFile").hide();
  123. if(data){
  124. leaveTypeNumber = data.number;
  125. if(data.number == 'JQLX000001Y' || data.number == 'JQLX000003Y'){
  126. //病假、年假
  127. if("GTIIT_FACULTY" == personType || "GTIIT_OTHER" == personType){
  128. $("#prompt").show();
  129. $("#entries_TeachingDuties").parents(".field-area").show();
  130. $("#entries_TeachingTask").parents(".field-area").show();
  131. $("#entries_AlternativeTeacher").parents(".field-area").show();
  132. }
  133. }else if(data.number == 'JQLX000017Y' ){
  134. //行政人员出差假
  135. $("#entries_EmergencyContact").parents(".field-area").show();
  136. $("#entries_Destination").parents(".field-area").show();
  137. $("#entries_TripReason").parents(".field-area").show();
  138. self.getField("entries_EmergencyContact").shrTextField('option', 'required', true);
  139. self.getField("entries_Destination").shrTextField('option', 'required', true);
  140. self.getField("entries_TripReason").shrTextField('option', 'required', true);
  141. }else if(data.number == 'JQLX000020Y' ){
  142. //出差假(商务旅行)
  143. $("#prompt").show();
  144. $("#entries_TeachingDuties").parents(".field-area").show();
  145. $("#entries_TeachingTask").parents(".field-area").show();
  146. $("#entries_AlternativeTeacher").parents(".field-area").show();
  147. $("#entries_EstimatedTotalCost").parents(".field-area").show();
  148. $("#entries_CITY").parents(".field-area").show();
  149. $("#entries_Purpose").parents(".field-area").show();
  150. self.getField("entries_EstimatedTotalCost").shrTextField('option', 'required', true);
  151. self.getField("entries_CITY").shrTextField('option', 'required', true);
  152. self.getField("entries_Purpose").shrTextField('option', 'required', true);
  153. }else if(data.number == 'JQLX000010Y' ){
  154. //教师假(教师旅行假)
  155. $("#dowFile").show();
  156. $("#entries_Teachingperiod").parents(".field-area").show();
  157. $("#entries_Teachinginnextsemester").parents(".field-area").show();
  158. $("#entries_Startdateonextsemester").parents(".field-area").show();
  159. $("#entries_DateofTestB").parents(".field-area").show();
  160. $("#entries_DateofTestA").parents(".field-area").show();
  161. $("#entries_DateofreturningtoGTIIT").parents(".field-area").show();
  162. $("#entries_DateofleavingGTIIT").parents(".field-area").show();
  163. self.getField("entries_Teachingperiod").shrPromptBox('option', 'required', true);
  164. self.getField("entries_Teachinginnextsemester").shrPromptBox('option', 'required', true);
  165. self.getField("entries_Startdateonextsemester").shrDateTimePicker('option', 'required', true);
  166. self.getField("entries_DateofTestB").shrDateTimePicker('option', 'required', true);
  167. self.getField("entries_DateofTestA").shrDateTimePicker('option', 'required', true);
  168. self.getField("entries_DateofreturningtoGTIIT").shrDateTimePicker('option', 'required', true);
  169. self.getField("entries_DateofleavingGTIIT").shrDateTimePicker('option', 'required', true);
  170. }
  171. }
  172. }
  173. });
  174. });
  175. $("#entries_realLeaveLength").on("change", function () {
  176. self.setReasonText();
  177. });
  178. $("#entries_person").on("change", function () {
  179. self.setReasonText();
  180. });
  181. },
  182. showViewColumn : function(){
  183. var policyId = $("#entries_policy").val();
  184. var personId = $("#entries_person").val();
  185. var personType = "";
  186. shr.callHandler({
  187. handler : "com.kingdee.shr.ats.web.handler.AtsLeaveBillEditHandlerEx",
  188. action : 'customerCheckParam',
  189. async : false,
  190. type : "POST",
  191. param : { "policyId" : "","personId" : personId },
  192. success:function(data){
  193. if(data.personType){
  194. personType = data.personType;
  195. }
  196. }
  197. });
  198. shr.callHandler({
  199. handler : "com.kingdee.shr.ats.web.handler.AtsLeaveBillEditHandlerEx",
  200. action : 'getLeaveData',
  201. async : false,
  202. type : "POST",
  203. param : {"policyId" : policyId},
  204. success:function(data){
  205. if(data){
  206. if(data.number == 'JQLX000001Y' || data.number == 'JQLX000003Y'){
  207. //病假、年假
  208. if("GTIIT_FACULTY" == personType || "GTIIT_OTHER" == personType){
  209. $("#prompt").show();
  210. $("#entries_TeachingDuties").parents(".field-area").show();
  211. $("#entries_TeachingTask").parents(".field-area").show();
  212. $("#entries_AlternativeTeacher").parents(".field-area").show();
  213. }
  214. }else if(data.number == 'JQLX000017Y' ){
  215. //行政人员出差假
  216. $("#entries_EmergencyContact").parents(".field-area").show();
  217. $("#entries_Destination").parents(".field-area").show();
  218. $("#entries_TripReason").parents(".field-area").show();
  219. }else if(data.number == 'JQLX000020Y' ){
  220. //出差假(商务旅行)
  221. $("#prompt").show();
  222. $("#entries_TeachingDuties").parents(".field-area").show();
  223. $("#entries_TeachingTask").parents(".field-area").show();
  224. $("#entries_AlternativeTeacher").parents(".field-area").show();
  225. $("#entries_EstimatedTotalCost").parents(".field-area").show();
  226. $("#entries_CITY").parents(".field-area").show();
  227. $("#entries_Purpose").parents(".field-area").show();
  228. }else if(data.number == 'JQLX000010Y' ){
  229. //教师假(教师旅行假)
  230. $("#dowFile").show();
  231. $("#entries_Teachingperiod").parents(".field-area").show();
  232. $("#entries_Teachinginnextsemester").parents(".field-area").show();
  233. $("#entries_Startdateonextsemester").parents(".field-area").show();
  234. $("#entries_DateofTestB").parents(".field-area").show();
  235. $("#entries_DateofTestA").parents(".field-area").show();
  236. $("#entries_DateofreturningtoGTIIT").parents(".field-area").show();
  237. $("#entries_DateofleavingGTIIT").parents(".field-area").show();
  238. }
  239. }
  240. }
  241. });
  242. },
  243. setReasonText:function(){
  244. var realLeaveLength = $("#entries_realLeaveLength").shrNumberField("getValue");
  245. var policyId = $("#entries_policy_el").val();
  246. var leaveUnit = 0;
  247. if(policyId){
  248. shr.callHandler({
  249. handler : "com.kingdee.shr.ats.web.handler.AtsLeaveBillEditHandlerEx",
  250. action : 'getLeaveUnit',
  251. async : false,
  252. type : "POST",
  253. param : {"policyId" : policyId},
  254. success:function(data){
  255. if(data){
  256. leaveUnit = data.leaveUnit;
  257. }
  258. }
  259. });
  260. }
  261. if(leaveUnit == 2){
  262. realLeaveLength = realLeaveLength/7.5;
  263. }
  264. if(realLeaveLength >= 7){
  265. var personId = $("#entries_person_el").val();
  266. shr.callHandler({
  267. handler : "com.kingdee.shr.ats.web.handler.AtsLeaveBillEditHandlerEx",
  268. action : 'customerCheckParam',
  269. async : false,
  270. type : "POST",
  271. param : { "personId" : personId },
  272. success:function(data){
  273. if( "GTIIT_SAS" == data.personType || "GTIIT_PSS" == data.personType || "GTIIT_GAS" == data.personType){
  274. $("#entries_toreasons").shrTextarea('option', 'required', true);
  275. $("#entries_toreasons").parent().parent().find(".field-label").text("Request for leave:During my applied leave,the emergency contact will be :");
  276. }else{
  277. $("#entries_toreasons").parent().parent().find(".field-label").text("Request for leave:");
  278. $("#entries_toreasons").shrTextarea('option', 'required', false);
  279. }
  280. if(("GTIIT_SAS" == data.personType || "GTIIT_PSS" == data.personType || "GTIIT_GAS" == data.personType) && leaveTypeNumber == "JQLX000017Y"){
  281. $("#entries_toreasons").parent().parent().find(".field-label").text("Request for leave:");
  282. $("#entries_toreasons").shrTextarea('option', 'required', false);
  283. }
  284. }
  285. });
  286. }else{
  287. $("#entries_toreasons").parent().parent().find(".field-label").text("Request for leave:");
  288. $("#entries_toreasons").shrTextarea('option', 'required', false);
  289. }
  290. },
  291. dowFileAction:function(){
  292. shr.callHandler({
  293. handler : "com.kingdee.customer.util.handler.ConfigurationHandler",
  294. action : 'getCustomerConfig',
  295. async : false,
  296. param : { "fnumber" : "1001" },
  297. success:function(data){
  298. if(data){
  299. // 创建一个虚拟的链接元素
  300. var downloadLink = document.createElement('a');
  301. downloadLink.download = data.name;
  302. downloadLink.href = data.ip+"/leaveTemplate/"+data.name;
  303. document.body.appendChild(downloadLink);
  304. downloadLink.click();
  305. document.body.removeChild(downloadLink);
  306. }else{
  307. shr.showInfo({message: "No teacher fake template is configured !"});
  308. }
  309. }
  310. });
  311. },
  312. });