trainingSubsidy_info.js 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. /**
  2. * 初始化培训补贴详情对话框
  3. */
  4. var TrainingSubsidyInfoDlg = {
  5. trainingSubsidyInfoData : {},
  6. validateFields: {
  7. enterpriseId: {validators: {notEmpty: {message: '所属企业不能为空' }}},
  8. name: {validators: {notEmpty: {message: '姓名不能为空'}}},
  9. sex: {validators: {notEmpty: {message: '性别不能为空'}}},
  10. cardType:{validators:{notEmpty:{message:'证件类型不能为空'}}},
  11. idCard: {validators: {notEmpty: {message: '证件号码不能为空'}}},
  12. nationality: {validators: {notEmpty: {message: '国籍/地区不能为空'}}},
  13. entryTime: {validators: {notEmpty: {message: '入职时间不能为空'}}},
  14. startTime: {validators: {notEmpty: {message: '工作合同开始时间不能为空'}}},
  15. endTime: {validators: {notEmpty: {message: '工作合同结束时间不能为空'}}},
  16. address:{validators: {notEmpty: {message: '联系地址不能为空'}}},
  17. phone: {
  18. validators: {
  19. notEmpty: {
  20. message: '手机号码不能为空'
  21. },
  22. regexp :{
  23. regexp:/0?(13|14|15|16|17|18|19)[0-9]{9}/,
  24. message:"手机号码格式不正确"
  25. }
  26. }
  27. },
  28. bankName: {
  29. validators: {
  30. notEmpty: {
  31. message: '开户银行不能为空'
  32. },
  33. regexp :{
  34. regexp: /^[\u4e00-\u9fa5]*银行$/,
  35. message:"开户银行格式不正确"
  36. }
  37. }
  38. },
  39. bankAddress:{
  40. validators: {
  41. notEmpty: {
  42. message: '开户银行网点不能为空'
  43. },
  44. regexp :{
  45. regexp: /^[\u4e00-\u9fa5]*银行[\u4e00-\u9fa5]*省?[\u4e00-\u9fa5]+市[\u4e00-\u9fa5]*$/,
  46. message:"开户银行格式不正确"
  47. }
  48. }
  49. },
  50. bankNumber: {
  51. validators: {
  52. notEmpty: {
  53. message: '银行账号不能为空'
  54. },
  55. regexp :{
  56. regexp:/^\d+$/,
  57. message:"银行账号格式不正确"
  58. }
  59. }
  60. }
  61. }
  62. };
  63. /**
  64. * 清除数据
  65. */
  66. TrainingSubsidyInfoDlg.clearData = function() {
  67. this.trainingSubsidyInfoData = {};
  68. }
  69. /**
  70. * 设置对话框中的数据
  71. * @param key 数据的名称
  72. * @param val 数据的具体值
  73. */
  74. TrainingSubsidyInfoDlg.set = function(key, val) {
  75. this.trainingSubsidyInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
  76. return this;
  77. }
  78. /**
  79. * 设置对话框中的数据
  80. *
  81. * @param key 数据的名称
  82. * @param val 数据的具体值
  83. */
  84. TrainingSubsidyInfoDlg.get = function(key) {
  85. return $("#" + key).val();
  86. }
  87. /**
  88. * 关闭此对话框
  89. */
  90. TrainingSubsidyInfoDlg.close = function() {
  91. parent.layer.close(window.parent.TrainingSubsidy.layerIndex);
  92. }
  93. /**
  94. * 收集数据
  95. */
  96. TrainingSubsidyInfoDlg.collectData = function() {
  97. this
  98. .set('id')
  99. .set('type')
  100. .set('enterpriseId')
  101. .set('year')
  102. .set('name')
  103. .set('sex')
  104. .set('cardType')
  105. .set('idCard')
  106. .set('nationality')
  107. .set('entryTime')
  108. .set('startTime')
  109. .set('endTime')
  110. .set('yearSalary')
  111. .set('yearTax')
  112. .set('bankName')
  113. .set('bankAddress')
  114. .set('bankNumber')
  115. .set('phone')
  116. .set('address');
  117. }
  118. TrainingSubsidyInfoDlg.validate = function(){
  119. $('#trainingInfoForm').data("bootstrapValidator").resetForm();
  120. $('#trainingInfoForm').bootstrapValidator('validate');
  121. return $("#trainingInfoForm").data('bootstrapValidator').isValid();
  122. }
  123. /**
  124. * 提交添加
  125. */
  126. TrainingSubsidyInfoDlg.addSubmit = function() {
  127. if(Feng.isNotEmptyStr($("#id").val())){
  128. TrainingSubsidyInfoDlg.editSubmit(1);
  129. return;
  130. }
  131. this.clearData();
  132. this.collectData();
  133. if(!TrainingSubsidyInfoDlg.validate()){
  134. return ;
  135. }
  136. //提交信息
  137. var ajax = new $ax(Feng.ctxPath + "/api/trainingSubsidy/add", function(data){
  138. if(data.code == 200){
  139. Feng.success(data.msg);
  140. window.parent.TrainingSubsidy.table.refresh();
  141. $("#id").val(data.obj.id);
  142. $("#checkState").val(data.obj.checkState);
  143. TrainingSubsidyInfoDlg.validId();
  144. }else{
  145. Feng.info(data.msg);
  146. }
  147. },function(data){
  148. Feng.error("添加失败!" + data.responseJSON.message + "!");
  149. });
  150. ajax.set(this.trainingSubsidyInfoData);
  151. ajax.start();
  152. }
  153. /**
  154. * 提交修改
  155. */
  156. TrainingSubsidyInfoDlg.editSubmit = function(type) {
  157. this.clearData();
  158. this.collectData();
  159. if(!TrainingSubsidyInfoDlg.validate()){
  160. return ;
  161. }
  162. //提交信息
  163. var ajax = new $ax(Feng.ctxPath + "/api/trainingSubsidy/update", function(data){
  164. if(data.code == 200){
  165. if(type == 1){
  166. Feng.success(data.msg);
  167. window.parent.TrainingSubsidy.table.refresh();
  168. }else{
  169. TrainingSubsidyInfoDlg.submitToCheck();
  170. }
  171. }else{
  172. Feng.info(data.msg);
  173. }
  174. },function(data){
  175. Feng.error("修改失败!" + data.responseJSON.message + "!");
  176. });
  177. ajax.set(this.trainingSubsidyInfoData);
  178. ajax.start();
  179. }
  180. /**
  181. * 提交审核
  182. */
  183. TrainingSubsidyInfoDlg.submitToCheck = function(){
  184. if(!validateIsEdit())return;
  185. var operation = function() {
  186. var ajax = new $ax(Feng.ctxPath + "/api/trainingSubsidy/submitToCheck", function (data) {
  187. if(data.code==200){
  188. $("#checkState").val(data.obj);
  189. Feng.success(data.msg);
  190. window.parent.TrainingSubsidy.table.refresh();
  191. TrainingSubsidyInfoDlg.close();
  192. }else{
  193. Feng.error(data.msg);
  194. }
  195. }, function (data) {
  196. Feng.error("提交审核失败!" + data.responseJSON.message + "!");
  197. });
  198. ajax.set("id", $("#id").val());
  199. ajax.start();
  200. }
  201. Feng.confirm("请确认基础信息已核对无误,相应附件已上传,一旦提交,无法修改", operation);
  202. }
  203. //校验是否保存基础信息
  204. TrainingSubsidyInfoDlg.validId = function (){
  205. $("#fileLi").css("pointer-events",Feng.isEmptyStr($("#id").val())?"none":"auto");
  206. }
  207. /**
  208. * 校验是否显示按钮
  209. * @param type 类型 1-上传按钮,2-修改删除按钮
  210. * @param row
  211. * @returns {string}
  212. */
  213. function validUploadButton(type,row,fileId){
  214. var checkState = $("#checkState").val();
  215. if(Feng.isEmptyStr(checkState)|| checkState ==1 ||checkState== 4){
  216. if(type == 1){ //上传
  217. return "<button type='button' onclick=\"checkFile(this,'"+row.id+"','"+null+"')\" style='margin-right: 10px' class=\"btn btn-xs btn-info\">" +
  218. "<i class=\"fa fa-upload\"></i>上传" +
  219. "</button>" ;
  220. }else{
  221. return "<button type=\'button\' onclick=\"checkFile(this,'"+row.id+"','"+fileId+"')\" style=\'margin-right: 10px\' class=\"btn btn-xs btn-info\">" +
  222. "<i class=\"fa fa-paste\"></i>修改" +
  223. "</button>" +
  224. "<button type='button' onclick=\"deleteFile('"+fileId+"','"+CONFIG.project_training+"')\" class=\"btn btn-xs btn-danger\">" +
  225. "<i class=\"fa fa-times\"></i>删除" +
  226. "</button>";
  227. }
  228. }else{
  229. return type == 1?"":"";
  230. }
  231. }
  232. /**
  233. * 校验是否可以操作
  234. */
  235. function validateIsEdit () {
  236. var checkState = $("#checkState").val();
  237. if(Feng.isNotEmptyStr(checkState) && checkState != 1 && checkState != 4) {
  238. Feng.error("您的申报正在审核中或已审核完成,无法操作");
  239. return false;
  240. }
  241. return true;
  242. }
  243. $(function() {
  244. Feng.initValidatorTip("trainingInfoForm",TrainingSubsidyInfoDlg.validateFields);
  245. var arr = [{"name":"nationality","code":"un_nationality"},
  246. {"name":"cardType","code":"un_cardType"}];
  247. Feng.findChildDictBatch(JSON.stringify(arr))
  248. //批量加载时间控件
  249. $(".date").each(function(){
  250. laydate.render({
  251. elem: this
  252. ,type: 'date'
  253. ,trigger: 'click'
  254. });
  255. });
  256. if(Feng.isNotEmptyStr($("#id").val())){
  257. $("select").each(function () {
  258. $(this).val($(this).attr("value")).trigger("change");
  259. });
  260. Feng.getCheckLog("logTable",{"type":CONFIG.project_training,"mainId":$("#id").val(),"typeFileId":"","active":1})
  261. }
  262. TrainingSubsidyInfoDlg.validId();
  263. });