talentAllowanceInfo_select.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. /**
  2. * 初始化人才认定申报详情对话框
  3. */
  4. var TalentAllowanceInfoDlg = {
  5. talentAllowanceData : {}
  6. };
  7. /**
  8. * 关闭此对话框
  9. */
  10. TalentAllowanceInfoDlg.close = function() {
  11. parent.layer.close(window.parent.TalentAllowanceInfo.layerIndex);
  12. }
  13. /**
  14. * 初始化工作单位及核查项目情况表
  15. */
  16. TalentAllowanceInfoDlg.initContract = function(){
  17. $("#projectTable").bootstrapTable({
  18. url: Feng.ctxPath + "/talentAllowanceInfo/findAllowanceContractDetail",
  19. method: 'POST',
  20. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  21. search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
  22. showRefresh: false, // 是否显示刷新按钮
  23. clickToSelect: true, // 是否启用点击选中行
  24. singleSelect: true, // 设置True 将禁止多选
  25. striped: true, // 是否显示行间隔色
  26. escape: true,
  27. pagination: false, // 设置为 true 会在表格底部显示分页条
  28. paginationHAlign: "left",
  29. paginationDetailHAlign: "right",
  30. sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
  31. showColumns: false,
  32. detailView: true,//父子表
  33. queryParams: function (params) {
  34. return $.extend({"mainId":$("#id").val()},params)
  35. },
  36. columns: TalentAllowanceInfoDlg.initContractColumns(),
  37. onPostBody: function () {
  38. $("td.uitd_showTip").bind("mouseover", function () {
  39. var htm = $(this).html();
  40. $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
  41. });
  42. },
  43. onLoadSuccess: function (data) {
  44. $("#projectTable").bootstrapTable('expandAllRows');
  45. },
  46. onExpandRow: function (index, row, $detail) {
  47. var enterpriseId = row.enterpriseId;
  48. var cur_table = $detail.html('<table id="'+enterpriseId+'"></table>').find('table');
  49. $(cur_table).bootstrapTable({
  50. url: Feng.ctxPath + "/talentAllowanceInfo/findAllowanceProject",
  51. method: 'POST',
  52. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  53. search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
  54. showRefresh: false, // 是否显示刷新按钮
  55. clickToSelect: true, // 是否启用点击选中行
  56. singleSelect: true, // 设置True 将禁止多选
  57. striped: true, // 是否显示行间隔色
  58. escape: true,
  59. pagination: false, // 设置为 true 会在表格底部显示分页条
  60. paginationHAlign: "left",
  61. paginationDetailHAlign: "right",
  62. sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
  63. showColumns: false,
  64. queryParams: function (params) {
  65. var companyCode = "";
  66. if($("#process").val()==1){
  67. companyCode = $("#companyCode").val();
  68. }
  69. return $.extend({"mainId":$("#id").val(),"baseId":row.id,"companyCode":companyCode},params)
  70. },
  71. columns: TalentAllowanceInfoDlg.initProjectColumns(),
  72. });
  73. }
  74. });
  75. TalentAllowanceInfoDlg.initArrange();
  76. }
  77. TalentAllowanceInfoDlg.initArrange = function(){
  78. $("#arrangeTable").bootstrapTable({
  79. url: Feng.ctxPath + "/talentAllowanceInfo/findAllowanceArrange",
  80. method: 'POST',
  81. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  82. search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
  83. showRefresh: false, // 是否显示刷新按钮
  84. clickToSelect: true, // 是否启用点击选中行
  85. singleSelect: true, // 设置True 将禁止多选
  86. striped: true, // 是否显示行间隔色
  87. escape: true,
  88. pagination: false, // 设置为 true 会在表格底部显示分页条
  89. paginationHAlign: "left",
  90. paginationDetailHAlign: "right",
  91. sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
  92. showColumns: false,
  93. pageList: [10, 30, 50],
  94. queryParams: function (params) {
  95. return $.extend({"mainId":$("#id").val()},params)
  96. },
  97. columns:
  98. [
  99. {field: 'selectItem', checkbox:false,visible:false},
  100. {title: '人才层次', field: 'talentArrangeName', visible: true, align: 'center', valign: 'middle',width:"100px"},
  101. {title: '认定条件', field: 'identifyConditionText', visible: true, align: 'center', valign: 'middle',width:"120px",'class': 'uitd_showTip'},
  102. {title: '开始时间', field: 'startTime', visible: true, align: 'center', valign: 'middle',width:"100px"},
  103. {title: '结束时间', field: 'endTime', visible: true, align: 'center', valign: 'middle',width:"100px"},
  104. {title: '忽略其他条件可享受月份', field: 'prepareMonths', visible: true, align: 'center', valign: 'middle',width:"150px",'class': 'uitd_showTip'},
  105. {title: '综合可享受月份', field: 'months', visible: true, align: 'center', valign: 'middle',width:"150px",'class': 'uitd_showTip'},
  106. {title: '备注', field: 'description', visible: true, align: 'center', valign: 'middle',width:"150px",'class': 'uitd_showTip'},
  107. ],
  108. onPostBody: function () {
  109. $("td.uitd_showTip").bind("mouseover", function () {
  110. var htm = $(this).html();
  111. $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
  112. });
  113. }
  114. });
  115. }
  116. TalentAllowanceInfoDlg.initContractColumns = function(){
  117. var type = $("#type").val();
  118. var process = $("#process").val();
  119. if(type==1){
  120. return [
  121. {field: 'selectItem', checkbox:false,visible:false},
  122. {title: '企业名称', field: 'enterpriseName', visible: true, align: 'center', valign: 'middle',width:"100px",'class': 'uitd_showTip'},
  123. {title: '合同起始时间', field: 'startTime', visible: true, align: 'center', valign: 'middle',width:"90px",'class': 'uitd_showTip'},
  124. {title: '合同截止时间', field: 'endTime', visible: true, align: 'center', valign: 'middle',width:"90px",'class': 'uitd_showTip'},
  125. {title: '入职时间', field: 'entryTime', visible: true, align: 'center', valign: 'middle',width:"100px",'class': 'uitd_showTip'},
  126. {title: '离职时间', field: 'quitTime', visible: true, align: 'center', valign: 'middle',width:"100px",'class': 'uitd_showTip'},
  127. {title: '人才标签', field: 'talentTypeName', visible: true, align: 'center', valign: 'middle',width:"100px",'class': 'uitd_showTip'},
  128. {title: '首次来晋行政介绍信时间', field: 'letterTime', visible: true, align: 'center', valign: 'middle',width:"120px",'class': 'uitd_showTip'},
  129. {title:'认定条件证书取得时间',field:'identifyGetTime', visible: true, align: 'center', valign: 'middle',width:"120px",'class': 'uitd_showTip'},
  130. {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle',width:"150px",
  131. formatter : function(value,row,index){
  132. return "<button type='button' onclick='TalentAllowanceInfoDlg.showLog(\""+value+"\")' style='margin-right: 10px' class='btn btn-xs btn-success'>" +
  133. "<i class=\"fa fa-book\"></i>日志" +
  134. "</button>";
  135. }
  136. }
  137. ];
  138. }
  139. if(type==2){
  140. return [
  141. {field: 'selectItem', checkbox:false,visible:false},
  142. {title: '企业名称', field: 'enterpriseName', visible: true, align: 'center', valign: 'middle',width:"120px",'class': 'uitd_showTip'},
  143. {title: '合同起始时间', field: 'startTime', visible: true, align: 'center', valign: 'middle',width:"120px",'class': 'uitd_showTip'},
  144. {title: '合同截止时间', field: 'endTime', visible: true, align: 'center', valign: 'middle',width:"120px",'class': 'uitd_showTip'},
  145. {title: '入职时间', field: 'entryTime', visible: true, align: 'center', valign: 'middle',width:"80px"},
  146. {title: '离职时间', field: 'quitTime', visible: true, align: 'center', valign: 'middle',width:"80px"},
  147. {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle',width:"150px",
  148. formatter : function(value,row,index){
  149. return "<button type='button' onclick='TalentAllowanceInfoDlg.showLog(\""+value+"\")' style='margin-right: 10px' class='btn btn-xs btn-success'>" +
  150. "<i class=\"fa fa-book\"></i>日志" +
  151. "</button>";
  152. }
  153. }
  154. ];
  155. }
  156. }
  157. //初始化项目表的列
  158. TalentAllowanceInfoDlg.initProjectColumns = function () {
  159. return [
  160. {field: 'selectItem', checkbox:false,visible:false},
  161. {title: '核查项目名称', field: 'projectName', visible: true, align: 'center', valign: 'middle',width:"15%",'class': 'uitd_showTip'},
  162. {title: '详情', field: 'months', visible: true, align: 'center', valign: 'middle',width:"35%",
  163. formatter : function(value,row,index){
  164. if(value!=null && value!=''){
  165. return value;
  166. }else if(row.days!=null && row.days!=''){
  167. return row.days + "天";
  168. }else{
  169. return "";
  170. }
  171. }
  172. },
  173. {title: '附件材料', field: 'fileUrl', visible: true, align: 'center', valign: 'middle',width:"35%",
  174. formatter : function(value,row,index){
  175. if(value!=null && value!=''){
  176. var sn = value.lastIndexOf(".");
  177. var suffix = value.substring(sn+1,value.length);
  178. if(suffix=="pdf"||suffix=="PDF"){
  179. return "<button type='button' onclick=\"Feng.showPdf('"+value+"')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\"></i></button>";
  180. }else{
  181. return '<img class=\"imgUrl\" src=\"'+value+'\" style=\"width:25px;height:25px;\">';
  182. }
  183. }else{
  184. return "忽略";
  185. }
  186. }
  187. },
  188. {title: '备注', field: 'description', visible: true, align: 'center', valign: 'middle',width:"25%",'class': 'uitd_showTip'},
  189. {title: '操作', field: 'project', visible: true, align: 'center', valign: 'middle',width:"20%",
  190. formatter : function(value,row,index){
  191. return "<button type='button' onclick='TalentAllowanceInfoDlg.showLog(\""+row.id+"\")' style='margin-right: 10px' class='btn btn-xs btn-success'>" +
  192. "<i class=\"fa fa-book\"></i>日志" +
  193. "</button>";
  194. }
  195. }
  196. ];
  197. }
  198. TalentAllowanceInfoDlg.showLog = function(id){
  199. layer.open({
  200. type: 1,
  201. title:"日志",
  202. fixed:false,
  203. content: '<table id="'+id+'"></table>',
  204. area: ['80%', '80%'],
  205. maxmin: true,
  206. success :function (layero, index) {
  207. $('#'+id).bootstrapTable({
  208. url: Feng.ctxPath + "/api/talentChecklog/getJbtCheckLog",
  209. method: 'POST',
  210. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  211. search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
  212. showRefresh: false, // 是否显示刷新按钮
  213. clickToSelect: true, // 是否启用点击选中行
  214. singleSelect: true, // 设置True 将禁止多选
  215. striped: true, // 是否显示行间隔色
  216. pagination: false, // 设置为 true 会在表格底部显示分页条
  217. paginationHAlign: "left",
  218. paginationDetailHAlign: "right",
  219. sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
  220. showColumns: false,
  221. queryParams: function (params) {
  222. return {"type":CONFIG.project_jbt,"mainId":$("#id").val(),"typeFileId":id,"active":1}
  223. },
  224. columns:
  225. [
  226. {title: '步骤', field: 'stepName', visible: true, align: 'center', valign: 'middle',width:"10%",
  227. formatter : function (value,row,index) {
  228. return ""+value;
  229. }
  230. },
  231. {title: '操作人', field: 'createUser', visible: true, align: 'center', valign: 'middle',width:"15%"},
  232. {title: '操作时间', field: 'createTime', visible: true, align: 'center', valign: 'middle',width:"20%"},
  233. {title: '描述', field: 'description', visible: true, align: 'center', valign: 'middle',width:"45%",
  234. formatter : function (value,row,index) {
  235. return '<span data-toggle="tooltip" title="'+ value +'">"'+value+'"</span>';
  236. }
  237. }
  238. ]
  239. ,
  240. onPostBody: function () {
  241. $('#'+id+"td.uitd_showTip").bind("mouseover", function () {
  242. var htm = $(this).html();
  243. $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
  244. });
  245. }
  246. });
  247. }
  248. });
  249. }
  250. //初始化附件类别表单
  251. TalentAllowanceInfoDlg.initFileTable = function (){
  252. TalentAllowanceInfoDlg.initContract();
  253. var queryData = {};
  254. queryData['project'] = CONFIG.project_jbt;
  255. queryData['type'] = $("#type").val();
  256. $("#fileTable").bootstrapTable({
  257. url: Feng.ctxPath + "/api/talentInfo/findUnCommonFileType",
  258. method: 'POST',
  259. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  260. search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
  261. showRefresh: false, // 是否显示刷新按钮
  262. clickToSelect: true, // 是否启用点击选中行
  263. singleSelect: true, // 设置True 将禁止多选
  264. striped: true, // 是否显示行间隔色
  265. escape: true,
  266. pagination: false, // 设置为 true 会在表格底部显示分页条
  267. paginationHAlign: "left",
  268. paginationDetailHAlign: "right",
  269. sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
  270. showColumns: false,
  271. detailView: true, //是否显示父子表
  272. pageList: [10, 30, 50],
  273. queryParams: function (params) {
  274. return $.extend(queryData,params)
  275. },
  276. rowStyle: function (row, index) {
  277. return {classes:"info"};
  278. },
  279. columns: [
  280. {field: 'selectItem', checkbox:false,visible:false},
  281. {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle',width:"80%",'class': 'uitd_showTip',
  282. formatter : function(value,row,index){
  283. if(row.must==1){
  284. return '<i class="fa fa-paste"></i><span style="font-weight:bold;color:red;font-size:14px;font-family:宋体"> * </span> '+ value;
  285. }if(row.must==2){
  286. return '<i class="fa fa-paste"></i>'+value;
  287. }
  288. }
  289. },
  290. {title: '模板', field: 'templateUrl', visible: true, align: 'center', valign: 'middle',width:"20%",
  291. formatter : function(value,row,index){
  292. if(value==null||value==''||value=='null'){
  293. return '无';
  294. }
  295. return "<button type='button' onclick=\"Feng.downloadFile('"+row.id+"',3)\" style='margin-right: 10px' class=\"btn btn-xs btn-primary\">" +
  296. "<i class=\"fa fa-download\"></i>下载" +
  297. "</button>";
  298. }
  299. }
  300. ],
  301. onPostBody: function () {
  302. $("td.uitd_showTip").bind("mouseover", function () {
  303. var htm = $(this).html();
  304. $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
  305. });
  306. },
  307. onLoadSuccess: function (data) {
  308. $("#fileTable").bootstrapTable('expandAllRows');
  309. },
  310. onExpandRow: function (index, row, $detail) {
  311. var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/listTalentFile", function (data) {
  312. if(data==null||data.length==0){
  313. return;
  314. }
  315. var html = '<ul class="imgs"><li style="width: 80%;font-weight: bold;padding-top: 5px;">附件原名</li><li style="width: 10%;font-weight: bold;padding-top: 5px;">预览</li><li style="width: 10%;font-weight: bold;padding-top: 5px;">操作</li>';
  316. for(var key in data){
  317. var sn = data[key].url.lastIndexOf(".");
  318. var suffix = data[key].url.substring(sn+1,data[key].url.length);
  319. var imgStr = "";
  320. if(suffix=="pdf"||suffix=="PDF"){
  321. imgStr = "<button type='button' onclick=\"Feng.showPdf('"+data[key].url+"','"+data[key].id+"','"+data[key].orignName+"')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\"></i></button>";
  322. }else if(suffix == "xlsx" || suffix=="XLSX" || suffix == 'xls' || suffix == 'XLS'){
  323. imgStr = "<button type='button' onclick=\"Feng.showExcel('"+data[key].url+"','"+data[key].id+"','"+data[key].orignName+"')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></button>";
  324. }else{
  325. imgStr = '<img class=\"imgUrl\" src=\"'+data[key].url+'\" style=\"width:25px;height:25px;\">';
  326. }
  327. html = html + '<li style="display: none">'+data[key].id+'</li>\n'+
  328. '<li style="width: 80%;padding-top: 5px;">'+data[key].orignName+'</li>\n'+
  329. '<li style="width: 10%;">'+imgStr+'</li>\n'+
  330. "<li style='width: 10%;padding-top: 2px;'><button type='button' onclick=\"Feng.downloadFile('"+data[key].id+"',1)\" class=\"btn btn-xs btn-success\"><i class=\"fa fa-download\" aria-hidden=\"true\"></i>下载</button></li>";
  331. }
  332. html = html + '</ul>';
  333. $detail.html(html);
  334. $(".imgs").viewer({
  335. // toolbar:false,
  336. fullscreen:false
  337. });
  338. }, function (data) {
  339. Feng.error("查询失败!" + data.responseJSON.message + "!");
  340. });
  341. var queryData = {};
  342. queryData["mainId"] = $("#id").val();
  343. queryData["fileTypeId"] = row.id;
  344. ajax.set(queryData);
  345. ajax.start();
  346. }
  347. });
  348. }
  349. TalentAllowanceInfoDlg.showAllLog = function(){
  350. var id = $("#id").val();
  351. if(Feng.isNotEmptyStr(id)){
  352. Feng.getCheckLog("logTable",{"type":CONFIG.project_jbt,"mainId":$("#id").val(),"typeFileId":"","active":1})
  353. }
  354. }
  355. $(function(){
  356. if($("#type").val()==2){
  357. $("#bankNumberSpan,#talentTypeSpan,#introductionModeSpan,#firstInJJTimeSpan").attr("style","display:none");
  358. }
  359. $("select").each(function () {
  360. $(this).val($(this).attr("value"));
  361. });
  362. // TalentAllowanceInfoDlg.initFileTable();
  363. TalentAllowanceInfoDlg.initContract();
  364. //批量加载时间控件
  365. $(".date").each(function(){
  366. laydate.render({elem: "#"+$(this).attr("id"),type: 'date',trigger: 'click'});
  367. });
  368. TalentAllowanceInfoDlg.showAllLog();
  369. $("select").each(function () {+
  370. $(this).val($(this).attr("value"));
  371. });
  372. });