majorProjects_info.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. /**
  2. * 初始化重大专项经费配套详情对话框
  3. */
  4. var MajorProjectsInfoDlg = {
  5. majorProjectsInfoData : {}
  6. };
  7. /**
  8. * 清除数据
  9. */
  10. MajorProjectsInfoDlg.clearData = function() {
  11. this.majorProjectsInfoData = {};
  12. }
  13. /**
  14. * 设置对话框中的数据
  15. *
  16. * @param key 数据的名称
  17. * @param val 数据的具体值
  18. */
  19. MajorProjectsInfoDlg.set = function(key, val) {
  20. this.majorProjectsInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
  21. return this;
  22. }
  23. /**
  24. * 设置对话框中的数据
  25. *
  26. * @param key 数据的名称
  27. * @param val 数据的具体值
  28. */
  29. MajorProjectsInfoDlg.get = function(key) {
  30. return $("#" + key).val();
  31. }
  32. /**
  33. * 关闭此对话框
  34. */
  35. MajorProjectsInfoDlg.close = function() {
  36. parent.layer.close(window.parent.MajorProjects.layerIndex);
  37. }
  38. /**
  39. * 收集数据
  40. */
  41. MajorProjectsInfoDlg.collectData = function() {
  42. this
  43. .set('id')
  44. .set('type')
  45. .set('talentId')
  46. .set('enterpriseId')
  47. .set('name')
  48. .set('sex')
  49. .set('cardType')
  50. .set('idCard')
  51. .set('talentArrange')
  52. .set('nationality')
  53. .set('entryTime')
  54. .set('startTime')
  55. .set('endTime')
  56. .set('post')
  57. .set('bankName')
  58. .set('bankAddress')
  59. .set('bankNumber')
  60. .set('phone')
  61. .set('address')
  62. .set('email')
  63. .set('documentName')
  64. .set('degree')
  65. .set('fundsSupport')
  66. .set('quotaProportion');
  67. }
  68. MajorProjectsInfoDlg.validate = function(){
  69. $('#majorInfoForm').data("bootstrapValidator").resetForm();
  70. $('#majorInfoForm').bootstrapValidator('validate');
  71. return $("#majorInfoForm").data('bootstrapValidator').isValid();
  72. }
  73. //校验是否保存基础信息
  74. MajorProjectsInfoDlg.validId = function (){
  75. $("#fileLi").css("pointer-events",Feng.isEmptyStr($("#id").val())?"none":"auto");
  76. }
  77. /**
  78. * 提交添加
  79. */
  80. MajorProjectsInfoDlg.addSubmit = function() {
  81. if(Feng.isNotEmptyStr($("#id").val())){
  82. TrainingSubsidyInfoDlg.editSubmit();
  83. return;
  84. }
  85. this.clearData();
  86. this.collectData();
  87. if(!MajorProjectsInfoDlg.validate()){
  88. return ;
  89. }
  90. //提交信息
  91. var ajax = new $ax(Feng.ctxPath + "/majorProjects/add", function(data){
  92. if(data.code == 200){
  93. Feng.success(data.msg);
  94. window.parent.MajorProjectsInfoDlg.table.refresh();
  95. $("#id").val(data.obj.id);
  96. $("#checkState").val(data.obj.checkState);
  97. MajorProjectsInfoDlg.validId();
  98. }else{
  99. Feng.info(data.msg);
  100. }
  101. },function(data){
  102. Feng.error("添加失败!" + data.responseJSON.message + "!");
  103. });
  104. ajax.set(this.majorProjectsInfoData);
  105. ajax.start();
  106. }
  107. /**
  108. * 提交修改
  109. */
  110. MajorProjectsInfoDlg.editSubmit = function() {
  111. this.clearData();
  112. this.collectData();
  113. if(!MajorProjectsInfoDlg.validate()){
  114. return ;
  115. }
  116. //提交信息
  117. var ajax = new $ax(Feng.ctxPath + "/majorProjects/update", function(data){
  118. if(data.code == 200){
  119. Feng.success(data.msg);
  120. window.parent.MajorProjects.table.refresh();
  121. }else{
  122. Feng.info(data.msg);
  123. }
  124. },function(data){
  125. Feng.error("修改失败!" + data.responseJSON.message + "!");
  126. });
  127. ajax.set(this.majorProjectsInfoData);
  128. ajax.start();
  129. }
  130. /**
  131. * 提交审核
  132. */
  133. MajorProjectsInfoDlg.submitToCheck = function(){
  134. if(!validateIsEdit())return;
  135. var operation = function() {
  136. var ajax = new $ax(Feng.ctxPath + "/api/trainingSubsidy/submitToCheck", function (data) {
  137. if(data.code==200){
  138. $("#checkState").val(data.obj);
  139. Feng.success(data.msg);
  140. window.parent.MajorProjects.table.refresh();
  141. MajorProjectsInfoDlg.close();
  142. }else{
  143. Feng.error(data.msg);
  144. }
  145. }, function (data) {
  146. Feng.error("提交审核失败!" + data.responseJSON.message + "!");
  147. });
  148. ajax.set("id", $("#id").val());
  149. ajax.start();
  150. }
  151. Feng.confirm("请确认基础信息已核对无误,相应附件已上传,一旦提交,无法修改", operation);
  152. }
  153. /**
  154. * 校验是否显示按钮
  155. * @param type 类型 1-上传按钮,2-修改删除按钮
  156. * @param row
  157. * @returns {string}
  158. */
  159. function validUploadButton(type,row,fileId){
  160. var checkState = $("#checkState").val();
  161. if(Feng.isEmptyStr(checkState)|| checkState ==1 ||checkState== 4){
  162. if(type == 1){ //上传
  163. return "<button type='button' onclick=\"checkFile(this,'"+row.id+"','"+null+"')\" style='margin-right: 10px' class=\"btn btn-xs btn-info\">" +
  164. "<i class=\"fa fa-upload\"></i>上传" +
  165. "</button>" ;
  166. }else{
  167. return "<button type=\'button\' onclick=\"checkFile(this,'"+row.id+"','"+fileId+"')\" style=\'margin-right: 10px\' class=\"btn btn-xs btn-info\">" +
  168. "<i class=\"fa fa-paste\"></i>修改" +
  169. "</button>" +
  170. "<button type='button' onclick=\"deleteFile('"+fileId+"','"+CONFIG.project_major+"')\" class=\"btn btn-xs btn-danger\">" +
  171. "<i class=\"fa fa-times\"></i>删除" +
  172. "</button>";
  173. }
  174. }else{
  175. return type == 1?"":"";
  176. }
  177. }
  178. /**
  179. * 校验是否可以操作
  180. */
  181. function validateIsEdit () {
  182. var checkState = $("#checkState").val();
  183. if(checkState != 1 && checkState != 4) {
  184. Feng.error("您的申报正在审核中或已审核完成,无法操作");
  185. return false;
  186. }
  187. return true;
  188. }
  189. MajorProjectsInfoDlg.sourceChange = function(){
  190. var source = $("#source").val();
  191. if(Feng.isEmptyStr(source)){
  192. $("input,select").not("input[type='hidden'],#source").val("");
  193. }else if(source == 1){
  194. $("#approveObj").empty().append(
  195. '<label class=" control-label spacing"><span style="color: red">*</span>姓名</label>\n' +
  196. '<select class="form-control" id="talentId" name="talentId">\n' +
  197. '</select>\n' +
  198. '<input type="hidden" id="name" name="name" />');
  199. MajorProjectsInfoDlg.getTalent();
  200. $("#talentArrange").css("display","block");
  201. $("#sex,#cardType,#idCard,#nationality,#talentArrange,#entryTime,#startTime,#endTime,#post,#phone,#email,#address,#bankName,#bankAddress,#bankNumber").attr("style","pointer-events: none;background-color: #eee;");
  202. }else if(source == 2){
  203. $("#approveObj").empty().append(
  204. '<label class=" control-label spacing"><span style="color: red">*</span>姓名</label>\n' +
  205. '<input class="form-control" id="name" name="name">\n' );
  206. $("#talentArrange").css("display","none");
  207. $("#sex,#cardType,#idCard,#nationality,#talentArrange,#entryTime,#startTime,#endTime,#post,#email,#address,#bankName,#bankAddress,#bankNumber").removeAttr("style");
  208. }
  209. }
  210. MajorProjectsInfoDlg.getTalent = function(){
  211. Feng.addAjaxSelect({
  212. "id": "talentId",
  213. "displayCode": "id",
  214. "displayName": "name",
  215. "type": "GET",
  216. "url": Feng.ctxPath + "/api/talentInfo/findTalentInfoInLibrary/"+CONFIG.project_major
  217. });
  218. }
  219. $(function() {
  220. MajorProjectsInfoDlg.getTalent();
  221. Feng.initValidatorTip("majorInfoForm",MajorProjectsInfoDlg.validateFields);
  222. var arr = [{"name":"nationality","code":"un_nationality"},
  223. {"name":"cardType","code":"un_cardType"},
  224. {"name":"talentArrange","code":"un_talentLevel"},
  225. {"name":"degree","code":"un_major_degree"},
  226. {"name":"quotaProportion","code":"un_major_proportion"}];
  227. Feng.findChildDictBatch(JSON.stringify(arr))
  228. //批量加载时间控件
  229. $(".date").each(function(){
  230. laydate.render({
  231. elem: this
  232. ,type: 'date'
  233. ,trigger: 'click'
  234. });
  235. });
  236. if(Feng.isNotEmptyStr($("#id").val())){
  237. $("select").each(function () {
  238. $(this).val($(this).attr("value")).trigger("change");
  239. });
  240. Feng.getCheckLog("logTable",{"type":CONFIG.project_major,"mainId":$("#id").val(),"typeFileId":"","active":1})
  241. }
  242. MajorProjectsInfoDlg.validId();
  243. });