upload.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. function initFileTable(project,tableName){
  2. var queryData = {"project":project,"type":$("#type").val()};
  3. $("#"+tableName).bootstrapTable("destroy",{});
  4. $("#"+tableName).bootstrapTable({
  5. url: Feng.ctxPath + "/api/talentInfo/findUnCommonFileType",
  6. method: 'POST',
  7. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  8. search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
  9. showRefresh: false, // 是否显示刷新按钮
  10. clickToSelect: true, // 是否启用点击选中行
  11. singleSelect: true, // 设置True 将禁止多选
  12. striped: true, // 是否显示行间隔色
  13. escape: true,
  14. pagination: false, // 设置为 true 会在表格底部显示分页条
  15. paginationHAlign: "left",
  16. paginationDetailHAlign: "right",
  17. sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
  18. showColumns: false,
  19. detailView: true, //是否显示父子表
  20. pageList: [10, 30, 50],
  21. queryParams: function (params) {
  22. return $.extend(queryData,params)
  23. },
  24. rowStyle: function (row, index) {
  25. return {classes:"info"};
  26. },
  27. columns: initFileTypeColumn(),
  28. onPostBody: function () {
  29. $("td.uitd_showTip").bind("mouseover", function () {
  30. var htm = $(this).html();
  31. $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
  32. });
  33. },
  34. onLoadSuccess: function (data) {
  35. $("#fileTable").bootstrapTable('expandAllRows');
  36. },
  37. onExpandRow: function (index, row, $detail) {
  38. var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/listTalentFile", function (data) {
  39. if(data==null||data.length==0){
  40. return;
  41. }
  42. 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>';
  43. for(var key in data){
  44. var btn = validUploadButton(2,row,data[key].id);
  45. var sn = data[key].url.lastIndexOf(".");
  46. var suffix = data[key].url.substring(sn+1,data[key].url.length);
  47. var imgStr = "";
  48. if(suffix=="pdf"||suffix=="PDF"){
  49. 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>";
  50. }else if(suffix == "xlsx" || suffix=="XLSX" || suffix == 'xls' || suffix == 'XLS'){
  51. 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>";
  52. }else{
  53. imgStr = '<img class=\"imgUrl\" src=\"'+data[key].url+'\" style=\"width:25px;height:25px;\">';
  54. }
  55. html = html + '<li style="display: none">'+data[key].id+'</li>\n'+
  56. '<li style="width: 80%;padding-top: 5px;">'+data[key].orignName+'</li>\n'+
  57. '<li style="width: 10%;">'+imgStr+'</li>\n'+
  58. '<li style="width: 10%;padding-top: 2px;">'+btn+'</li>';
  59. }
  60. html = html + '</ul>';
  61. $detail.html(html);
  62. $(".imgs").viewer({ fullscreen:false});
  63. }, function (data) {
  64. Feng.error("查询失败!" + data.responseJSON.message + "!");
  65. });
  66. var queryData = {"mainId":$("#id").val(),"fileTypeId":row.id};
  67. ajax.set(queryData);
  68. ajax.start();
  69. }
  70. });
  71. }
  72. /**
  73. * 初始化表格的列
  74. */
  75. function initFileTypeColumn () {
  76. return [
  77. {field: 'selectItem', checkbox:false,visible:false},
  78. {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle',width:"30%",'class': 'uitd_showTip',
  79. formatter : function(value,row,index){
  80. if(row.must==1){
  81. return '<i class="fa fa-paste"></i><span style="font-weight:bold;color:red;font-size:14px;font-family:宋体"> * </span> '+ value;
  82. }if(row.must==2){
  83. return '<i class="fa fa-paste"></i>'+value;
  84. }
  85. }
  86. },
  87. {title: '模板', field: 'templateUrl', visible: true, align: 'center', valign: 'middle',width:"8%",
  88. formatter : function(value,row,index){
  89. if(value==null||value==''||value=='null'){
  90. return '无';
  91. }
  92. return "<button type='button' onclick=\"downloadFile('"+row.id+"',3)\" style='margin-right: 10px' class=\"btn btn-xs btn-primary\">" +
  93. "<i class=\"fa fa-download\"></i>下载" +
  94. "</button>";
  95. }
  96. },
  97. {title: '备注', field: 'description', visible: true, align: 'center', valign: 'middle',width:"52%",'class': 'uitd_showTip'},
  98. {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle',width:"10%",
  99. formatter : function(value,row,index){
  100. return validUploadButton(1,row,null);
  101. }
  102. }
  103. ]
  104. };
  105. /**
  106. * 选择附件
  107. * @param content
  108. * @param fileTypeId
  109. * @param fileId
  110. */
  111. function checkFile(content,fileTypeId,fileId){
  112. if(!validateIsEdit())return;
  113. $("#upload_file ").unbind("change");
  114. $("#upload_file ").change(function () {
  115. upload(fileTypeId,fileId);
  116. });
  117. $('#upload_file').val("");
  118. $('#upload_file').click();
  119. }
  120. //上传附件
  121. function upload(fileTypeId,fileId){
  122. var id = $("#id").val();
  123. if(id==null || id==''){
  124. Feng.info("请先添加基本信息并保存后再试");
  125. return ;
  126. }
  127. if(!validateIsEdit())return;
  128. if(fileId!=null&&fileId!='null'){
  129. $("#fileId").val(fileId)
  130. }else{
  131. $("#fileId").val("");
  132. }
  133. $("#mainId").val(id);
  134. $("#fileTypeId").val(fileTypeId);
  135. var index = layer.load(0, {shade: false,time:0});
  136. $("#index").val(index);
  137. $("#uploadForm").submit();
  138. }
  139. //删除附件
  140. function deleteFile (id,type){
  141. if(!validateIsEdit())return;
  142. var operation = function() {
  143. var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/deleteFile", function (data) {
  144. if(data.code=200){
  145. Feng.success(data.msg);
  146. $("#fileTable").bootstrapTable("refresh", {});
  147. }else{
  148. Feng.error(data.msg);
  149. }
  150. }, function (data) {
  151. Feng.error("删除失败!" + data.responseJSON.message + "!");
  152. });
  153. ajax.set("id", id);
  154. ajax.set("type",type);
  155. ajax.start();
  156. }
  157. Feng.confirm("删除后无法恢复,确认删除吗?", operation);
  158. }
  159. /**
  160. * 下载附件
  161. * @param id
  162. * @param type
  163. */
  164. function downloadFile(id,type) {
  165. window.location.href = Feng.ctxPath + "/api/common/downloadFile?id=" + id + "&type="+type;
  166. }
  167. //回调
  168. function callBack (data){
  169. layer.close(data.obj);
  170. Feng.info(data.msg);
  171. if (data.code == 200) {
  172. $("#fileTable").bootstrapTable("refresh", {});
  173. }
  174. }
  175. /*********************************************
  176. * 查看页面附件
  177. * ***********/
  178. function initNoBtnFileTable(project,tableName){
  179. var queryData = {"project":project,"type":$("#type").val()};
  180. $("#"+tableName).bootstrapTable({
  181. url: Feng.ctxPath + "/api/talentInfo/findUnCommonFileType",
  182. method: 'POST',
  183. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  184. search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
  185. showRefresh: false, // 是否显示刷新按钮
  186. clickToSelect: true, // 是否启用点击选中行
  187. singleSelect: true, // 设置True 将禁止多选
  188. striped: true, // 是否显示行间隔色
  189. escape: true,
  190. pagination: false, // 设置为 true 会在表格底部显示分页条
  191. paginationHAlign: "left",
  192. paginationDetailHAlign: "right",
  193. sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
  194. showColumns: false,
  195. detailView: true, //是否显示父子表
  196. pageList: [10, 30, 50],
  197. queryParams: function (params) {
  198. return $.extend(queryData,params)
  199. },
  200. rowStyle: function (row, index) {
  201. return {classes:"info"};
  202. },
  203. columns: initNoBtnFileTypeColumn(),
  204. onPostBody: function () {
  205. $("td.uitd_showTip").bind("mouseover", function () {
  206. var htm = $(this).html();
  207. $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
  208. });
  209. },
  210. onLoadSuccess: function (data) {
  211. $("#fileTable").bootstrapTable('expandAllRows');
  212. },
  213. onExpandRow: function (index, row, $detail) {
  214. var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/listTalentFile", function (data) {
  215. if(data==null||data.length==0){
  216. return;
  217. }
  218. 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>';
  219. for(var key in data){
  220. var sn = data[key].url.lastIndexOf(".");
  221. var suffix = data[key].url.substring(sn+1,data[key].url.length);
  222. var imgStr = "";
  223. if(suffix=="pdf"||suffix=="PDF"){
  224. 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>";
  225. }else if(suffix == "xlsx" || suffix=="XLSX" || suffix == 'xls' || suffix == 'XLS'){
  226. 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>";
  227. }else{
  228. imgStr = '<img class=\"imgUrl\" src=\"'+data[key].url+'\" style=\"width:25px;height:25px;\">';
  229. }
  230. html = html + '<li style="display: none">'+data[key].id+'</li>\n'+
  231. '<li style="width: 80%;padding-top: 5px;">'+data[key].orignName+'</li>\n'+
  232. '<li style="width: 10%;">'+imgStr+'</li>\n'+
  233. "<li style='width: 10%;padding-top: 2px;'><button type='button' onclick=\"downloadFile('"+data[key].id+"',1)\" class=\"btn btn-xs btn-success\"><i class=\"fa fa-download\" aria-hidden=\"true\"></i>下载</button></li>"
  234. }
  235. html = html + '</ul>';
  236. $detail.html(html);
  237. $(".imgs").viewer({ fullscreen:false});
  238. }, function (data) {
  239. Feng.error("查询失败!" + data.responseJSON.message + "!");
  240. });
  241. var queryData = {"mainId":$("#id").val(),"fileTypeId":row.id};
  242. ajax.set(queryData);
  243. ajax.start();
  244. }
  245. });
  246. }
  247. /**
  248. * 初始化表格的列
  249. */
  250. function initNoBtnFileTypeColumn () {
  251. return [
  252. {field: 'selectItem', checkbox:false,visible:false},
  253. {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle',width:"30%",'class': 'uitd_showTip',
  254. formatter : function(value,row,index){
  255. if(row.must==1){
  256. return '<i class="fa fa-paste"></i><span style="font-weight:bold;color:red;font-size:14px;font-family:宋体"> * </span> '+ value;
  257. }if(row.must==2){
  258. return '<i class="fa fa-paste"></i>'+value;
  259. }
  260. }
  261. },
  262. {title: '模板', field: 'templateUrl', visible: true, align: 'center', valign: 'middle',width:"8%",
  263. formatter : function(value,row,index){
  264. if(value==null||value==''||value=='null'){
  265. return '无';
  266. }
  267. return "<button type='button' onclick=\"downloadFile('"+row.id+"',3)\" style='margin-right: 10px' class=\"btn btn-xs btn-primary\">" +
  268. "<i class=\"fa fa-download\"></i>下载" +
  269. "</button>";
  270. }
  271. },
  272. {title: '备注', field: 'description', visible: true, align: 'center', valign: 'middle',width:"52%",'class': 'uitd_showTip'},
  273. ]
  274. };