三元财务UI

archivesStateArchivesList.js 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. $(document).ready(function() {
  2. var uploader;
  3. var limitNum = 6; //限制数量
  4. var proimglist = []; //保存附件数组
  5. var fields = []; //图片id
  6. var wzId = []; //物资id
  7. var wzState = [];
  8. var stateW;
  9. //获取公司的名称
  10. var companyname = decodeURI(helper.request.queryString("companyname"));
  11. //按钮状态
  12. var state = decodeURI(helper.request.queryString("state"));
  13. initTable();
  14. uploaderImages();
  15. if(state == "借阅" || state == "归还") {
  16. $("#out1").hide();
  17. }
  18. //提交
  19. $("#btn_save").click(function() {
  20. //获取表格选中内容
  21. var ids = $.map($('#watchTable').bootstrapTable('getSelections'),
  22. function(row) {
  23. return row;
  24. });
  25. console.log(ids);
  26. //获取物资id、获取物资状态
  27. for(var i = 0; i < ids.length; i++) {
  28. wzId.push(ids[i].id);
  29. wzState.push(ids[i].statename);
  30. }
  31. console.log(wzId,wzState);
  32. var newids = wzId.join(","); //物资id
  33. var newfields = fields.join(","); //图片id
  34. if(state == "出库") {
  35. console.log("出库");
  36. for(var i = 0; i < wzState.length; i++) {
  37. if(wzState[i] == "已出库") {
  38. parent.layer.msg("出库失败,已有物资是出库状态");
  39. wzState=[];
  40. wzId=[];
  41. initTable();
  42. return;
  43. }
  44. $.ajax({
  45. type: "post",
  46. url: huayi.config.callcenter_url + "archives/CKOperate",
  47. async: true,
  48. dataType: 'json',
  49. data: {
  50. ids: newids, //物资id
  51. remark: $('#content').val(), //备注信息
  52. inside: $('#customer_isbankSlips').find('input[type="radio"]:checked').val(), //是否再外
  53. openid: "", //微信公众号用的
  54. companyName: companyname, //公司名称
  55. fields: newfields, //图片id
  56. token: $.cookie("token")
  57. },
  58. success: function(data) {
  59. if(data.state == "success") {
  60. var index = parent.layer.getFrameIndex(window.name);
  61. parent.layer.close(index);
  62. parent.layer.msg("出库成功");
  63. parent.initTable();
  64. }
  65. console.log(data);
  66. }
  67. })
  68. }
  69. } else if(state == "入库") {
  70. console.log("入库");
  71. for(var i = 0; i < wzState.length; i++) {
  72. if(wzState[i] == "在库") {
  73. parent.layer.msg("入库失败,已有物资是在库状态");
  74. wzState=[];
  75. wzId=[];
  76. initTable();
  77. return;
  78. }
  79. $.ajax({
  80. type: "post",
  81. url: huayi.config.callcenter_url + "archives/RKOperate",
  82. async: true,
  83. dataType: 'json',
  84. data: {
  85. ids: newids, //物资id
  86. remark: $('#content').val(), //备注信息
  87. inside: $('#customer_isbankSlips').find('input[type="radio"]:checked').val(), //是否再外
  88. openid: "", //微信公众号用的
  89. companyName: companyname, //公司名称
  90. fields: newfields, //图片id
  91. token: $.cookie("token")
  92. },
  93. success: function(data) {
  94. if(data.state == "success") {
  95. var index = parent.layer.getFrameIndex(window.name);
  96. parent.layer.close(index);
  97. parent.layer.msg("入库成功");
  98. parent.initTable();
  99. }
  100. console.log(data);
  101. }
  102. })
  103. }
  104. } else if(state == "借阅") {
  105. console.log("借阅");
  106. for(var i = 0; i < wzState.length; i++) {
  107. if(wzState[i] == "已出库") {
  108. parent.layer.msg("借阅失败,有物资是出库状态");
  109. wzState=[];
  110. wzId=[];
  111. initTable();
  112. return;
  113. }
  114. $.ajax({
  115. type: "post",
  116. url: huayi.config.callcenter_url + "archives/JYOperate ",
  117. async: true,
  118. dataType: 'json',
  119. data: {
  120. ids: newids, //物资id
  121. remark: $('#content').val(), //备注信息
  122. // inside: $('#customer_isbankSlips').find('input[type="radio"]:checked').val(), //是否再外
  123. openid: "", //微信公众号用的
  124. companyName: companyname, //公司名称
  125. fields: newfields, //图片id
  126. token: $.cookie("token")
  127. },
  128. success: function(data) {
  129. if(data.state == "success") {
  130. var index = parent.layer.getFrameIndex(window.name);
  131. parent.layer.close(index);
  132. parent.layer.msg("借阅成功");
  133. parent.initTable();
  134. }
  135. console.log(data);
  136. }
  137. })
  138. }
  139. } else {
  140. console.log("归还");
  141. $.ajax({
  142. type: "post",
  143. url: huayi.config.callcenter_url + "archives/GHOperate",
  144. async: true,
  145. dataType: 'json',
  146. data: {
  147. ids: newids, //物资id
  148. remark: $('#content').val(), //备注信息
  149. // inside: $('#customer_isbankSlips').find('input[type="radio"]:checked').val(), //是否再外
  150. openid: "", //微信公众号用的
  151. companyName: companyname, //公司名称
  152. fields: newfields, //图片id
  153. token: $.cookie("token")
  154. },
  155. success: function(data) {
  156. if(data.state == "success") {
  157. var index = parent.layer.getFrameIndex(window.name);
  158. parent.layer.close(index);
  159. parent.layer.msg("归还成功");
  160. parent.initTable();
  161. }else{
  162. wzState=[];
  163. wzId=[];
  164. initTable();
  165. }
  166. }
  167. })
  168. }
  169. })
  170. //上传图片
  171. function uploaderImages() {
  172. if(uploader) {
  173. uploader.destroy();
  174. }
  175. uploader = WebUploader.create({
  176. auto: true, // 选完文件后,是否自动上传
  177. swf: '../../js/webuploader/Uploader.swf', // swf文件路径
  178. server: huayi.config.callcenter_url + "archives/UpLoadProcess", // 文件接收服务端
  179. pick: '#imgPicker', // 选择文件的按钮。可选
  180. formData: {
  181. token: $.cookie("token")
  182. },
  183. // 只允许选择图片文件。
  184. accept: {
  185. // title: 'Images',
  186. // extensions: 'gif,jpg,jpeg,bmp,png',
  187. // mimeTypes: 'image/*'
  188. },
  189. compress: false, //webuploader默认压缩图片,设置compress:false,可以按照原始比例上传图片
  190. //fileVal: "upFile",//设置文件上传域的name。
  191. threads: limitNum, //上传并发数。允许同时最大上传进程数,为了保证文件上传顺序
  192. fileNumLimit: limitNum,
  193. fileSizeLimit: 30 * 1024 * 1024, // 30 M
  194. fileSingleSizeLimit: 5 * 1024 * 1024 // 5 M
  195. });
  196. uploader.on('fileQueued', function(file) {
  197. var $list = $("#fileList"),
  198. $li = $(
  199. '<li id="' + file.id + '"><span class="img_mask"><i class="img_del"></i></span>' +
  200. '<img/>' +
  201. '<span class="img_state"><i></i></span>' +
  202. '<span class="file_name">' + file.name + '</span>' +
  203. '</li>'
  204. ),
  205. $img = $li.find('img');
  206. // $list为容器jQuery实例
  207. $list.append($li);
  208. // 保存缩略图
  209. uploader.makeThumb(file, function(error, src) {
  210. if(error) {
  211. $img.replaceWith('<div class="noThumb"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>');
  212. return;
  213. }
  214. $img.attr('src', src);
  215. }, 109, 109); //109*109为缩略图尺寸
  216. //绑定删除
  217. $('#' + file.id).on('click', '.img_del', function() {
  218. uploader.removeFile(file);
  219. var $fileLi = $('#' + file.id);
  220. $fileLi.off().find('.img_del').off().end().remove();
  221. var itemFileName = $(this).parent().parent().find('.file_name').text();
  222. $.each(proimglist, function(i, v) {
  223. if(v && v.filename == itemFileName) {
  224. proimglist.splice(i, 1);
  225. //helper.methods.delImgs(v.filesmallurl, v.fileurl);
  226. }
  227. });
  228. $('#fileNum').text(proimglist.length);
  229. });
  230. });
  231. // 文件上传过程中保存进度条实时显示。
  232. uploader.on('uploadProgress', function(file, percentage) {
  233. var $li = $('#' + file.id),
  234. $percent = $li.find('.progress span');
  235. // 避免重复保存
  236. if(!$percent.length) {
  237. $percent = $('<div class="progress" style="">' +
  238. '<span class="text">0%</span>' +
  239. '<span class="percentage"></span>' +
  240. '</div>')
  241. .appendTo($li)
  242. .find('span');
  243. }
  244. $percent.eq(0).text(Math.round(percentage * 100) + '%');
  245. $percent.eq(1).css('width', Math.round(percentage * 100) + '%');
  246. });
  247. // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  248. uploader.on('uploadSuccess', function(file, res) {
  249. fields.push(res.data);
  250. proimglist.push(res.data.F_FileId);
  251. $('#fileNum').text(proimglist.length);
  252. $('#' + file.id).addClass('upload-state-done');
  253. });
  254. // 文件上传失败,显示上传出错。
  255. uploader.on('uploadError', function(file) {
  256. var $li = $('#' + file.id),
  257. $error = $li.find('div.error');
  258. // 避免重复创建
  259. if(!$error.length) {
  260. $error = $('<div class="error"></div>').appendTo($li);
  261. }
  262. $error.text('上传失败');
  263. });
  264. // 完成上传完了,成功或者失败,先删除进度条。
  265. uploader.on('uploadComplete', function(file) {
  266. $('#' + file.id).find('.progress').remove();
  267. });
  268. uploader.onError = function(code) {
  269. // console.log('Error:' + code);
  270. switch(code) {
  271. case "Q_EXCEED_NUM_LIMIT":
  272. layer.msg('只能上传六个文件。');
  273. break;
  274. case "Q_TYPE_DENIED":
  275. layer.msg('文件类型不正确。');
  276. break;
  277. case "F_DUPLICATE":
  278. layer.msg('该文件已上传,请选择其它文件。');
  279. break;
  280. case "F_EXCEED_SIZE":
  281. layer.msg('单文件大小不能超过5M。');
  282. break;
  283. case "Q_EXCEED_SIZE_LIMIT":
  284. layer.msg('总文件大小不能超过30M。');
  285. break;
  286. default:
  287. break;
  288. }
  289. };
  290. }
  291. //表格初始化
  292. function initTable() {
  293. //先销毁表格
  294. $('#watchTable').bootstrapTable('destroy');
  295. //初始化表格,动态从服务器加载数据
  296. $("#watchTable").bootstrapTable({
  297. method: "get", //使用get请求到服务器获取数据
  298. url: huayi.config.callcenter_url + "archives/GetListByCompany", //获取数据的Servlet地址
  299. contentType: 'application/x-www-form-urlencoded',
  300. striped: true, //表格显示条纹
  301. pagination: true, //启动分页
  302. pageSize: 10, //每页显示的记录数
  303. pageNumber: 1, //当前第几页
  304. pageList: [10, 20, 50, 100], //记录数可选列表
  305. search: false, //是否启用查询
  306. showColumns: false, //显示下拉框勾选要显示的列
  307. showRefresh: false, //显示刷新按钮
  308. sidePagination: "server", //表示服务端请求
  309. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  310. //设置为limit可以获取limit, offset, search, sort, order
  311. queryParamsType: "undefined",
  312. queryParams: function queryParams(params) { //设置查询参数
  313. var param = {
  314. PageIndex:params.pageNumber,
  315. pageSize:params.pageSize,
  316. F_CompanyName: companyname,
  317. token: $.cookie("token")
  318. };
  319. return param;
  320. },
  321. responseHandler: function(res) {
  322. return {
  323. "total": res.data.total, //总页数
  324. "rows": res.data.rows //数据
  325. };
  326. },
  327. onLoadSuccess: function() { //加载成功时执行
  328. },
  329. onLoadError: function() { //加载失败时执行
  330. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  331. }
  332. });
  333. }
  334. });