StoreHouse_Admin.js 44 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069
  1. var ExcelData, ExcelKind;
  2. var clickflag = 0;
  3. function ConfirmImport() {
  4. var index = layer.load(1, {
  5. shade: [0.5, '#000']
  6. });
  7. $.ajax({
  8. type: "POST",
  9. url: "/Admin/StoreHouse/Import?r=" + Math.random(1),
  10. data: "Kind=" + ExcelKind + "&ExcelData=" + encodeURIComponent(JSON.stringify(ExcelData)),
  11. dataType: "text",
  12. success: function (data) {
  13. layer.close(index);
  14. if (data.indexOf("success") == 0) {
  15. layer.msg("成功操作" + data.split('|')[1] + "部机具", {
  16. time: 2000
  17. }, function () {
  18. window.location.reload();
  19. });
  20. } else {
  21. layer.msg(data);
  22. }
  23. }
  24. });
  25. }
  26. function ConfirmRejectImport() {
  27. $.ajax({
  28. type: "POST",
  29. url: "/Admin/StoreHouse/RejectStore?r=" + Math.random(1),
  30. data: "ExcelKind=" + ExcelKind + "&ExcelData=" + encodeURIComponent(JSON.stringify(ExcelData)),
  31. dataType: "text",
  32. success: function (data) {
  33. if (data == "success") {
  34. layer.msg("导入成功", { time: 2000 }, function () {
  35. window.location.reload();
  36. });
  37. } else if (data.indexOf("warning") == 0) {
  38. var datalist = data.split('|');
  39. layer.alert(datalist[0], { time: 20000 }, function () {
  40. window.location.reload();
  41. });
  42. } else {
  43. layer.msg(data);
  44. }
  45. }
  46. });
  47. }
  48. function CheckImport(table, key, loadindex, index) {
  49. $.ajax({
  50. url: "/Admin/StoreHouse/CheckImportV2?r=" + Math.random(1),
  51. data: "key=" + key,
  52. dataType: "json",
  53. success: function (data) {
  54. if (data.status == 1) {
  55. layer.msg("成功操作" + data.data + "部机具", {
  56. time: 2000
  57. }, function () {
  58. layer.close(index); //关闭弹层
  59. layer.close(loadindex);
  60. table.reload('LAY-list-manage'); //数据刷新
  61. });
  62. } else if (data.status == 2) {
  63. layer.close(index); //关闭弹层
  64. layer.close(loadindex);
  65. var content = '';
  66. for (var i = 0; i < data.errList.length; i++) {
  67. content += data.errList[i] + '<br/>'
  68. }
  69. layer.alert(content);
  70. } else {
  71. layer.msg(data.data, {
  72. time: 1000
  73. }, function () {
  74. CheckImport(table, key, loadindex, index);
  75. });
  76. }
  77. }
  78. });
  79. }
  80. var excel;
  81. var loadindex;
  82. layui.config({
  83. base: '/layuiadmin/' //静态资源所在路径
  84. }).extend({
  85. myexcel: 'layui/lay/modules/excel',
  86. index: 'lib/index' //主入口模块
  87. }).use(['index', 'table', 'excel', 'laydate'], function () {
  88. var $ = layui.$,
  89. form = layui.form,
  90. table = layui.table;
  91. //- 筛选条件-日期
  92. var laydate = layui.laydate;
  93. var layCreateDate = laydate.render({
  94. elem: '#CreateDate',
  95. type: 'date',
  96. range: true,
  97. trigger: 'click',
  98. change: function (value, date, endDate) {
  99. var op = true;
  100. if (date.year == endDate.year && endDate.month - date.month <= 1) {
  101. if (endDate.month - date.month == 1 && endDate.date > date.date) {
  102. op = false;
  103. layCreateDate.hint('日期范围请不要超过1个月');
  104. setTimeout(function () {
  105. $(".laydate-btns-confirm").addClass("laydate-disabled");
  106. }, 1);
  107. }
  108. } else {
  109. op = false;
  110. layCreateDate.hint('日期范围请不要超过1个月');
  111. setTimeout(function () {
  112. $(".laydate-btns-confirm").addClass("laydate-disabled");
  113. }, 1);
  114. }
  115. if (op) {
  116. $('#CreateDate').val(value);
  117. }
  118. }
  119. });
  120. //excel导入
  121. excel = layui.excel;
  122. $('#ExcelFile').change(function (e) {
  123. var files = e.target.files;
  124. excel.importExcel(files, {}, function (data) {
  125. ExcelData = data[0].Sheet1;
  126. });
  127. });
  128. //监听单元格编辑
  129. table.on('edit(LAY-list-manage)', function (obj) {
  130. var value = obj.value //得到修改后的值
  131. ,
  132. data = obj.data //得到所在行所有键值
  133. ,
  134. field = obj.field; //得到字段
  135. if (field == "Sort") {
  136. $.ajax({
  137. type: "POST",
  138. url: "/Admin/StoreHouse/Sort?r=" + Math.random(1),
  139. data: "Id=" + data.Id + "&Sort=" + value,
  140. dataType: "text",
  141. success: function (data) { }
  142. });
  143. }
  144. });
  145. //列表数据
  146. table.render({
  147. elem: '#LAY-list-manage',
  148. url: '/Admin/StoreHouse/IndexData' //模拟接口
  149. ,
  150. cols: [
  151. [{
  152. type: 'checkbox',
  153. fixed: 'left'
  154. }, {
  155. field: 'StoreNo',
  156. width: 110,
  157. title: '仓库编号',
  158. sort: true
  159. }, {
  160. field: 'StoreName',
  161. width: 110,
  162. title: '仓库名称',
  163. sort: true
  164. }, {
  165. field: 'ManageUserIdMakerCode',
  166. width: 145,
  167. title: '仓库负责人编号',
  168. sort: true,
  169. templet: '#ManageTpl'
  170. }, {
  171. field: 'ManageUserIdRealName',
  172. width: 120,
  173. title: '仓库管理员',
  174. sort: true
  175. }, {
  176. field: 'UserIdMakerCode',
  177. width: 160,
  178. title: '仓库归属创客编号',
  179. sort: true,
  180. templet: '#MakerCodeTpl'
  181. }, {
  182. field: 'UserIdRealName',
  183. width: 175,
  184. title: '仓库归属人真实姓名',
  185. sort: true
  186. }, {
  187. field: 'BrandId',
  188. width: 110,
  189. title: '产品类型',
  190. sort: true
  191. }, {
  192. field: 'Address',
  193. width: 110,
  194. title: '仓库地址',
  195. sort: true
  196. }, {
  197. field: 'ManageUserIdMobile',
  198. width: 160,
  199. title: '仓库管理员手机号',
  200. sort: true
  201. }, {
  202. field: 'ManagerEmail',
  203. width: 120,
  204. title: '管理者邮箱',
  205. sort: true
  206. }, {
  207. field: 'StoreType',
  208. width: 110,
  209. title: '仓库类型',
  210. sort: true
  211. }, {
  212. field: 'TotalNum',
  213. width: 110,
  214. title: '总库存数',
  215. sort: true
  216. }, {
  217. field: 'LaveNum',
  218. width: 120,
  219. title: '剩余库存数',
  220. sort: true
  221. }, {
  222. field: 'OutNum',
  223. width: 100,
  224. title: '出库数',
  225. sort: true
  226. }, {
  227. field: 'LimitTopUserId',
  228. width: 160,
  229. title: '限制创客特殊仓库',
  230. sort: true
  231. }, {
  232. field: 'Status',
  233. width: 110,
  234. title: '仓库状态',
  235. sort: true
  236. }, {
  237. field: 'StoreKind',
  238. width: 130,
  239. title: '仓库归属类型',
  240. sort: true
  241. }, {
  242. field: 'CreateMan',
  243. width: 130,
  244. title: '创建/修改人',
  245. sort: true
  246. }, {
  247. field: 'CreateDate',
  248. width: 110,
  249. title: '创建时间',
  250. sort: true
  251. }, {
  252. field: 'Deposit',
  253. width: 110,
  254. title: '押金',
  255. sort: true
  256. }, {
  257. title: '操作',
  258. width: 500,
  259. align: 'center',
  260. fixed: 'right',
  261. toolbar: '#table-list-tools'
  262. }
  263. ]
  264. ],
  265. where: {
  266. },
  267. page: true,
  268. limit: 500,
  269. height: 'full-' + String($('.layui-card-header').height() + 130),
  270. text: '对不起,加载出现异常!',
  271. done: function (res, curr, count) {
  272. $(".layui-none").text("无数据");
  273. layer.close(loadindex);
  274. }
  275. });
  276. //监听工具条
  277. table.on('tool(LAY-list-manage)', function (obj) {
  278. var data = obj.data;
  279. if (obj.event === 'del') {
  280. var index = layer.confirm('确定要删除吗?删除后不能恢复!', function (index) {
  281. $.ajax({
  282. type: "POST",
  283. url: "/Admin/StoreHouse/Delete?r=" + Math.random(1),
  284. data: "Id=" + data.Id,
  285. dataType: "text",
  286. success: function (data) {
  287. if (data == "success") {
  288. obj.del();
  289. layer.close(index);
  290. } else {
  291. parent.layer.msg(data);
  292. }
  293. }
  294. });
  295. });
  296. } else if (obj.event === 'sycn') {
  297. var index = layer.confirm('确定要同步该仓库的库存数据吗?', function (index) {
  298. layer.close(index);
  299. var loadindex = layer.load(1, {
  300. shade: [0.5, '#000']
  301. });
  302. $.ajax({
  303. type: "POST",
  304. url: "/Admin/StoreHouse/SycnData?r=" + Math.random(1),
  305. data: "Id=" + data.Id,
  306. dataType: "text",
  307. success: function (data) {
  308. layer.close(loadindex);
  309. if (data == "success") {
  310. layer.msg('同步成功');
  311. table.reload('LAY-list-manage');
  312. } else {
  313. layer.msg(data);
  314. }
  315. }
  316. });
  317. });
  318. } else if (obj.event === 'sycnamount') {
  319. var index = layer.confirm('确定要重置该仓库额度吗?', function (index) {
  320. layer.close(index);
  321. var loadindex = layer.load(1, {
  322. shade: [0.5, '#000']
  323. });
  324. $.ajax({
  325. type: "POST",
  326. url: "/Admin/StoreHouse/SycnAmountData?r=" + Math.random(1),
  327. data: "Id=" + data.Id,
  328. dataType: "text",
  329. success: function (data) {
  330. layer.close(loadindex);
  331. if (data == "success") {
  332. layer.msg('重置成功');
  333. table.reload('LAY-list-manage');
  334. } else {
  335. layer.msg(data);
  336. }
  337. }
  338. });
  339. });
  340. } else if (obj.event === 'edit') {
  341. var tr = $(obj.tr);
  342. var perContent = layer.open({
  343. type: 2,
  344. title: '仓库-编辑',
  345. content: 'Edit?Id=' + data.Id + '',
  346. maxmin: true,
  347. area: ['800px', '650px'],
  348. btn: ['确定', '取消'],
  349. yes: function (index, layero) {
  350. var iframeWindow = window['layui-layer-iframe' + index],
  351. submitID = 'LAY-list-front-submit',
  352. submit = layero.find('iframe').contents().find('#' + submitID);
  353. setTimeout(function () {
  354. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  355. var errObj = $(this).find('.layui-form-danger');
  356. if (errObj.length > 0) {
  357. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  358. submit.click();
  359. }
  360. });
  361. }, 300);
  362. //监听提交
  363. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  364. var field = data.field; //获取提交的字段
  365. var userdata = "";
  366. for (var prop in field) {
  367. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  368. }
  369. //提交 Ajax 成功后,静态更新表格中的数据
  370. //$.ajax({});
  371. $.ajax({
  372. type: "POST",
  373. url: "/Admin/StoreHouse/Edit?r=" + Math.random(1),
  374. data: userdata,
  375. dataType: "text",
  376. success: function (data) {
  377. if (data == "success") {
  378. layer.close(index); //关闭弹层
  379. table.reload('LAY-list-manage'); //数据刷新
  380. } else {
  381. layer.msg(data);
  382. }
  383. }
  384. });
  385. });
  386. submit.trigger('click');
  387. },
  388. success: function (layero, index) {
  389. }
  390. });
  391. } else if (obj.event === 'edits') {
  392. var tr = $(obj.tr);
  393. var perContent = layer.open({
  394. type: 2,
  395. title: '一键新建仓库',
  396. content: 'Edits?Id=' + data.Id + '',
  397. maxmin: true,
  398. area: ['860px', '650px'],
  399. btn: ['确定', '取消'],
  400. yes: function (index, layero) {
  401. var iframeWindow = window['layui-layer-iframe' + index],
  402. submitID = 'LAY-list-front-submit',
  403. submit = layero.find('iframe').contents().find('#' + submitID);
  404. setTimeout(function () {
  405. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  406. var errObj = $(this).find('.layui-form-danger');
  407. if (errObj.length > 0) {
  408. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  409. submit.click();
  410. }
  411. });
  412. }, 300);
  413. //监听提交
  414. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  415. var field = data.field; //获取提交的字段
  416. var userdata = "";
  417. for (var prop in field) {
  418. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  419. }
  420. //提交 Ajax 成功后,静态更新表格中的数据
  421. //$.ajax({});
  422. $.ajax({
  423. type: "POST",
  424. url: "/Admin/StoreHouse/Edits?r=" + Math.random(1),
  425. data: userdata,
  426. dataType: "text",
  427. success: function (data) {
  428. if (data == "success") {
  429. layer.close(index); //关闭弹层
  430. table.reload('LAY-list-manage'); //数据刷新
  431. } else {
  432. layer.msg(data);
  433. }
  434. }
  435. });
  436. });
  437. submit.trigger('click');
  438. },
  439. success: function (layero, index) {
  440. }
  441. });
  442. }
  443. });
  444. //监听搜索
  445. form.on('submit(LAY-list-front-search)', function (data) {
  446. var field = data.field;
  447. field.ShowFlag = 1;
  448. if (field.StoreNo == "" && field.StoreName == "" && field.UserIdMakerCode == "" && field.BrandId == "" && field.UserIdRealName == "" && field.ManageUserIdRealName == "" && field.ManageUserIdMobile == "" && field.ManageUserIdMakerCode == "" && field.ManagerEmail == "" && field.StoreStatusSelect == "" && field.CreateDateData == "" && field.MakerCode == "" && field.YZOpCode == "" && field.OpStatusSelect == "" && field.StoreKindSelect == "") {
  449. layer.alert('请输入查询条件');
  450. }
  451. else {
  452. //执行重载
  453. table.reload('LAY-list-manage', {
  454. where: field,
  455. page: {
  456. curr: 1
  457. }
  458. });
  459. }
  460. });
  461. form.on('submit(LAY-list-front-searchall)', function (data) {
  462. var field = data.field;
  463. field.ShowFlag = 1;
  464. console.log(field.ShowFlag)
  465. field.StoreNo = "";
  466. field.StoreName = "";
  467. field.ManagerEmail = "";
  468. field.UserIdMakerCode = "";
  469. field.BrandId == "";
  470. field.UserIdRealName = "";
  471. field.ManageUserIdRealName = "";
  472. field.ManageUserIdMobile = "";
  473. field.ManageUserIdMakerCode = "";
  474. field.StoreStatusSelect = "";
  475. field.CreateDateData = "";
  476. table.reload('LAY-list-manage', {
  477. where: field,
  478. page: {
  479. curr: 1
  480. }
  481. });
  482. });
  483. //事件
  484. var active = {
  485. batchdel: function () {
  486. var checkStatus = table.checkStatus('LAY-list-manage'),
  487. data = checkStatus.data; //得到选中的数据
  488. if (data.length < 1) {
  489. parent.layer.msg("请选择要删除的项");
  490. } else {
  491. var ids = "";
  492. $.each(data, function (index, value) {
  493. ids += data[index].Id + ",";
  494. });
  495. ids = ids.substring(0, ids.length - 1);
  496. var index = layer.confirm('确定要删除吗?删除后不能恢复!', function (index) {
  497. $.ajax({
  498. type: "POST",
  499. url: "/Admin/StoreHouse/Delete?r=" + Math.random(1),
  500. data: "Id=" + ids,
  501. dataType: "text",
  502. success: function (data) {
  503. layer.close(index);
  504. if (data == "success") {
  505. table.reload('LAY-list-manage');
  506. } else {
  507. layer.msg(data);
  508. }
  509. }
  510. });
  511. });
  512. }
  513. },
  514. add: function () {
  515. var perContent = layer.open({
  516. type: 2,
  517. title: '仓库-添加',
  518. content: 'Add',
  519. maxmin: true,
  520. area: ['950px', '650px'],
  521. btn: ['确定', '取消'],
  522. yes: function (index, layero) {
  523. var iframeWindow = window['layui-layer-iframe' + index],
  524. submitID = 'LAY-list-front-submit',
  525. submit = layero.find('iframe').contents().find('#' + submitID);
  526. setTimeout(function () {
  527. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  528. var errObj = $(this).find('.layui-form-danger');
  529. if (errObj.length > 0) {
  530. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  531. submit.click();
  532. }
  533. });
  534. }, 300);
  535. //监听提交
  536. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  537. var field = data.field; //获取提交的字段
  538. var userdata = "";
  539. for (var prop in field) {
  540. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  541. }
  542. //提交 Ajax 成功后,静态更新表格中的数据
  543. //$.ajax({});
  544. $.ajax({
  545. type: "POST",
  546. url: "/Admin/StoreHouse/Add?r=" + Math.random(1),
  547. data: userdata,
  548. dataType: "text",
  549. success: function (data) {
  550. if (data == "success") {
  551. layer.close(index); //关闭弹层
  552. table.reload('LAY-list-manage'); //数据刷新
  553. } else {
  554. layer.msg(data);
  555. }
  556. }
  557. });
  558. });
  559. submit.trigger('click');
  560. }
  561. });
  562. },
  563. ImportMachine: function () {
  564. var perContent = layer.open({
  565. type: 2,
  566. title: '机具入库',
  567. content: 'Import?ExcelKind=1',
  568. maxmin: true,
  569. area: ['650px', '350px'],
  570. btn: ['确定', '取消'],
  571. yes: function (index, layero) {
  572. var iframeWindow = window['layui-layer-iframe' + index],
  573. submitID = 'LAY-list-front-submit',
  574. submit = layero.find('iframe').contents().find('#' + submitID);
  575. //监听提交
  576. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  577. var field = data.field; //获取提交的字段
  578. var userdata = "";
  579. for (var prop in field) {
  580. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  581. }
  582. //提交 Ajax 成功后,静态更新表格中的数据
  583. //$.ajax({});
  584. var loadindex = layer.load(1, {
  585. shade: [0.5, '#000']
  586. });
  587. $.ajax({
  588. type: "POST",
  589. url: "/Admin/StoreHouse/ImportPost?r=" + Math.random(1),
  590. data: userdata,
  591. dataType: "text",
  592. success: function (data) {
  593. if (data.indexOf("success") == 0) {
  594. var datalist = data.split('|');
  595. var key = datalist[1];
  596. CheckImport(table, key, loadindex, index);
  597. } else {
  598. layer.msg(data);
  599. }
  600. }
  601. });
  602. });
  603. submit.trigger('click');
  604. }
  605. });
  606. },
  607. ImportChange: function () {
  608. var perContent = layer.open({
  609. type: 2,
  610. title: '仓库调拨',
  611. content: 'Import?ExcelKind=2',
  612. maxmin: true,
  613. area: ['650px', '350px'],
  614. btn: ['确定', '取消'],
  615. yes: function (index, layero) {
  616. var iframeWindow = window['layui-layer-iframe' + index],
  617. submitID = 'LAY-list-front-submit',
  618. submit = layero.find('iframe').contents().find('#' + submitID);
  619. //监听提交
  620. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  621. var field = data.field; //获取提交的字段
  622. var userdata = "";
  623. for (var prop in field) {
  624. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  625. }
  626. //提交 Ajax 成功后,静态更新表格中的数据
  627. //$.ajax({});
  628. var loadindex = layer.load(1, {
  629. shade: [0.5, '#000']
  630. });
  631. $.ajax({
  632. type: "POST",
  633. url: "/Admin/StoreHouse/ImportPost?r=" + Math.random(1),
  634. data: userdata,
  635. dataType: "text",
  636. success: function (data) {
  637. if (data.indexOf("success") == 0) {
  638. var datalist = data.split('|');
  639. var key = datalist[1];
  640. CheckImport(table, key, loadindex, index);
  641. } else {
  642. layer.msg(data);
  643. }
  644. }
  645. });
  646. });
  647. submit.trigger('click');
  648. }
  649. });
  650. },
  651. ImportSend: function () {
  652. var perContent = layer.open({
  653. type: 2,
  654. title: '仓库发货至创客',
  655. content: 'Import?ExcelKind=3',
  656. maxmin: true,
  657. area: ['650px', '350px'],
  658. btn: ['确定', '取消'],
  659. yes: function (index, layero) {
  660. var iframeWindow = window['layui-layer-iframe' + index],
  661. submitID = 'LAY-list-front-submit',
  662. submit = layero.find('iframe').contents().find('#' + submitID);
  663. //监听提交
  664. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  665. var field = data.field; //获取提交的字段
  666. var userdata = "";
  667. for (var prop in field) {
  668. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  669. }
  670. //提交 Ajax 成功后,静态更新表格中的数据
  671. //$.ajax({});
  672. var loadindex = layer.load(1, {
  673. shade: [0.5, '#000']
  674. });
  675. $.ajax({
  676. type: "POST",
  677. url: "/Admin/StoreHouse/ImportPost?r=" + Math.random(1),
  678. data: userdata,
  679. dataType: "text",
  680. success: function (data) {
  681. if (data.indexOf("success") == 0) {
  682. var datalist = data.split('|');
  683. var key = datalist[1];
  684. CheckImport(table, key, loadindex, index);
  685. } else {
  686. layer.msg(data);
  687. }
  688. }
  689. });
  690. });
  691. submit.trigger('click');
  692. }
  693. });
  694. },
  695. ImportBack: function () {
  696. var perContent = layer.open({
  697. type: 2,
  698. title: '机具回仓库',
  699. content: 'Import?ExcelKind=4',
  700. maxmin: true,
  701. area: ['650px', '350px'],
  702. btn: ['确定', '取消'],
  703. yes: function (index, layero) {
  704. var iframeWindow = window['layui-layer-iframe' + index],
  705. submitID = 'LAY-list-front-submit',
  706. submit = layero.find('iframe').contents().find('#' + submitID);
  707. //监听提交
  708. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  709. var field = data.field; //获取提交的字段
  710. var userdata = "";
  711. for (var prop in field) {
  712. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  713. }
  714. //提交 Ajax 成功后,静态更新表格中的数据
  715. //$.ajax({});
  716. var loadindex = layer.load(1, {
  717. shade: [0.5, '#000']
  718. });
  719. $.ajax({
  720. type: "POST",
  721. url: "/Admin/StoreHouse/ImportPost?r=" + Math.random(1),
  722. data: userdata,
  723. dataType: "text",
  724. success: function (data) {
  725. if (data.indexOf("success") == 0) {
  726. var datalist = data.split('|');
  727. var key = datalist[1];
  728. CheckImport(table, key, loadindex, index);
  729. } else {
  730. layer.msg(data);
  731. }
  732. }
  733. });
  734. });
  735. submit.trigger('click');
  736. }
  737. });
  738. }, ImportRejectStore: function () {
  739. ExcelKind = 1;
  740. layer.open({
  741. type: 1,
  742. title: '导入',
  743. maxmin: false,
  744. area: ['650px', '350px'],
  745. // btn: ['确定', '取消'],
  746. content: $('#excelForm'),
  747. cancel: function () {
  748. }
  749. });
  750. $("#excelTemp").html('<a href="/users/创客机具驳回仓库模版.xlsx">点击下载创客机具驳回仓库模版</a>');
  751. },
  752. ExportExcel: function () {
  753. var userdata = '';
  754. $(".layuiadmin-card-header-auto input").each(function (i) {
  755. userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
  756. });
  757. $(".layuiadmin-card-header-auto select").each(function (i) {
  758. userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
  759. });
  760. $.ajax({
  761. type: "GET",
  762. url: "/Admin/StoreHouse/ExportExcel?r=" + Math.random(1),
  763. data: userdata,
  764. dataType: "json",
  765. success: function (data) {
  766. data.Obj.unshift(data.Fields);
  767. excel.exportExcel(data.Obj, data.Info, 'xlsx');
  768. }
  769. });
  770. }, BatchSetting: function () {
  771. var checkStatus = table.checkStatus('LAY-list-manage'),
  772. data = checkStatus.data; //得到选中的数据
  773. if (data.length < 1) {
  774. parent.layer.msg("请选择要关联的分仓");
  775. } else {
  776. var ids = "";
  777. $.each(data, function (index, value) {
  778. ids += data[index].Id + ",";
  779. });
  780. ids = ids.substring(0, ids.length - 1);
  781. var perContent = layer.open({
  782. type: 2,
  783. title: '关联分仓',
  784. content: 'BatchSetting?StoreIds=' + ids,
  785. maxmin: true,
  786. area: ['550px', '350px'],
  787. btn: ['确定', '取消'],
  788. yes: function (index, layero) {
  789. loadindex = layer.load(1, {
  790. shade: [0.5, '#000']
  791. });
  792. var iframeWindow = window['layui-layer-iframe' + index],
  793. submitID = 'LAY-list-front-submit',
  794. submit = layero.find('iframe').contents().find('#' + submitID);
  795. setTimeout(function () {
  796. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  797. var errObj = $(this).find('.layui-form-danger');
  798. if (errObj.length > 0) {
  799. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  800. submit.click();
  801. }
  802. });
  803. }, 300);
  804. //监听提交
  805. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  806. if (clickflag == 0) {
  807. clickflag = 1;
  808. var field = data.field; //获取提交的字段
  809. var userdata = "";
  810. for (var prop in field) {
  811. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  812. }
  813. //提交 Ajax 成功后,静态更新表格中的数据
  814. //$.ajax({});
  815. $.ajax({
  816. type: "POST",
  817. url: "/Admin/StoreHouse/BatchSetting?r=" + Math.random(1),
  818. data: userdata + "Id=" + ids,
  819. dataType: "text",
  820. success: function (data) {
  821. clickflag = 0;
  822. layer.close(index);
  823. if (data == "success") {
  824. layer.close(loadindex);
  825. layer.msg('关联成功', {
  826. time: 1000
  827. }, function () {
  828. table.reload('LAY-list-manage'); //数据刷新
  829. });
  830. }
  831. else if (data.indexOf("Warning") == 0) {
  832. var datalist = data.split('|');
  833. layer.alert(datalist[1], { time: 20000 }, function () {
  834. window.location.reload();
  835. });
  836. }
  837. else {
  838. layer.msg(data);
  839. }
  840. }
  841. });
  842. }
  843. });
  844. submit.trigger('click');
  845. }
  846. });
  847. }
  848. },
  849. BatchCancle: function () {
  850. var checkStatus = table.checkStatus('LAY-list-manage'),
  851. data = checkStatus.data; //得到选中的数据
  852. if (data.length < 1) {
  853. parent.layer.msg("请选择要取消关联的分仓");
  854. } else {
  855. var ids = "";
  856. $.each(data, function (index, value) {
  857. ids += data[index].Id + ",";
  858. });
  859. ids = ids.substring(0, ids.length - 1);
  860. var perContent = layer.open({
  861. type: 2,
  862. title: '取消关联',
  863. content: 'BatchCancle?StoreIds=' + ids,
  864. maxmin: true,
  865. area: ['650px', '550px'],
  866. btn: ['确定', '取消'],
  867. yes: function (index, layero) {
  868. loadindex = layer.load(1, {
  869. shade: [0.5, '#000']
  870. });
  871. var iframeWindow = window['layui-layer-iframe' + index],
  872. submitID = 'LAY-list-front-submit',
  873. submit = layero.find('iframe').contents().find('#' + submitID);
  874. setTimeout(function () {
  875. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  876. var errObj = $(this).find('.layui-form-danger');
  877. if (errObj.length > 0) {
  878. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  879. submit.click();
  880. }
  881. });
  882. }, 300);
  883. //监听提交
  884. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  885. if (clickflag == 0) {
  886. clickflag = 1;
  887. var field = data.field; //获取提交的字段
  888. var userdata = "";
  889. for (var prop in field) {
  890. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  891. }
  892. //提交 Ajax 成功后,静态更新表格中的数据
  893. //$.ajax({});
  894. $.ajax({
  895. type: "POST",
  896. url: "/Admin/StoreHouse/BatchCancle?r=" + Math.random(1),
  897. data: userdata + "Id=" + ids,
  898. dataType: "text",
  899. success: function (data) {
  900. clickflag = 0;
  901. layer.close(index);
  902. if (data == "success") {
  903. layer.close(loadindex);
  904. layer.msg('取消成功', {
  905. time: 1000
  906. }, function () {
  907. table.reload('LAY-list-manage'); //数据刷新
  908. });
  909. }
  910. else if (data.indexOf("Warning") == 0) {
  911. var datalist = data.split('|');
  912. layer.alert(datalist[1], { time: 20000 }, function () {
  913. window.location.reload();
  914. });
  915. }
  916. else {
  917. layer.msg(data);
  918. }
  919. }
  920. });
  921. }
  922. });
  923. submit.trigger('click');
  924. }
  925. });
  926. }
  927. },
  928. Open: function () {
  929. var checkStatus = table.checkStatus('LAY-list-manage'),
  930. data = checkStatus.data; //得到选中的数据
  931. if (data.length < 1) {
  932. parent.layer.msg("请选择要开启的项");
  933. } else {
  934. var ids = "";
  935. $.each(data, function (index, value) {
  936. ids += data[index].Id + ",";
  937. });
  938. ids = ids.substring(0, ids.length - 1);
  939. var index = layer.confirm('确定要开启吗?', function (index) {
  940. $.ajax({
  941. type: "POST",
  942. url: "/Admin/StoreHouse/Open?r=" + Math.random(1),
  943. data: "Id=" + ids,
  944. dataType: "text",
  945. success: function (data) {
  946. layer.close(index);
  947. if (data == "success") {
  948. table.reload('LAY-list-manage');
  949. } else {
  950. layer.msg(data);
  951. }
  952. }
  953. });
  954. });
  955. }
  956. },
  957. Close: function () {
  958. var checkStatus = table.checkStatus('LAY-list-manage'),
  959. data = checkStatus.data; //得到选中的数据
  960. if (data.length < 1) {
  961. parent.layer.msg("请选择要关闭的项");
  962. } else {
  963. var ids = "";
  964. $.each(data, function (index, value) {
  965. ids += data[index].Id + ",";
  966. });
  967. ids = ids.substring(0, ids.length - 1);
  968. var index = layer.confirm('确定要关闭吗?', function (index) {
  969. $.ajax({
  970. type: "POST",
  971. url: "/Admin/StoreHouse/Close?r=" + Math.random(1),
  972. data: "Id=" + ids,
  973. dataType: "text",
  974. success: function (data) {
  975. layer.close(index);
  976. if (data == "success") {
  977. table.reload('LAY-list-manage');
  978. } else {
  979. layer.msg(data);
  980. }
  981. }
  982. });
  983. });
  984. }
  985. },
  986. SycnData: function () {
  987. var index = layer.confirm('确定要同步所有仓库的库存数据吗?', function (index) {
  988. layer.close(index);
  989. var loadindex = layer.load(1, {
  990. shade: [0.5, '#000']
  991. });
  992. $.ajax({
  993. type: "POST",
  994. url: "/Admin/StoreHouse/SycnData?r=" + Math.random(1),
  995. data: "Id=0",
  996. dataType: "text",
  997. success: function (data) {
  998. layer.close(loadindex);
  999. if (data == "success") {
  1000. layer.msg('同步成功');
  1001. table.reload('LAY-list-manage');
  1002. } else {
  1003. layer.msg(data);
  1004. }
  1005. }
  1006. });
  1007. });
  1008. },
  1009. };
  1010. $('.layui-btn').on('click', function () {
  1011. var type = $(this).data('type');
  1012. active[type] ? active[type].call(this) : '';
  1013. });
  1014. });