StoreHouse_Admin.js 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086
  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: 'PreNum',
  223. width: 120,
  224. title: '小分仓数',
  225. sort: true
  226. }, {
  227. field: 'OutNum',
  228. width: 100,
  229. title: '出库数',
  230. sort: true
  231. }, {
  232. field: 'LimitTopUserId',
  233. width: 160,
  234. title: '限制创客特殊仓库',
  235. sort: true
  236. }, {
  237. field: 'Status',
  238. width: 110,
  239. title: '仓库状态',
  240. sort: true
  241. }, {
  242. field: 'OpIdStatus',
  243. width: 130,
  244. title: '关联运营中心',
  245. sort: true
  246. }, {
  247. field: 'StoreKind',
  248. width: 130,
  249. title: '仓库归属类型',
  250. sort: true
  251. }, {
  252. field: 'CreateMan',
  253. width: 130,
  254. title: '创建/修改人',
  255. sort: true
  256. }, {
  257. field: 'CreateDate',
  258. width: 110,
  259. title: '创建时间',
  260. sort: true
  261. }, {
  262. field: 'Deposit',
  263. width: 110,
  264. title: '押金',
  265. sort: true
  266. }, {
  267. field: 'ValidAmount',
  268. width: 110,
  269. title: '可用额度',
  270. sort: true
  271. }, {
  272. field: 'FixedAmount',
  273. width: 110,
  274. title: '固定额度',
  275. sort: true
  276. }, {
  277. field: 'TempAmount',
  278. width: 110,
  279. title: '临时额度',
  280. sort: true
  281. }, {
  282. field: 'PromissAmount',
  283. width: 110,
  284. title: '担保额度',
  285. sort: true
  286. }, {
  287. field: 'ThisMonthPreAmount',
  288. width: 150,
  289. title: '本月小分仓额度',
  290. sort: true
  291. }, {
  292. field: 'ValidPreAmount',
  293. width: 150,
  294. title: '可用小分仓额度',
  295. sort: true
  296. }, {
  297. title: '操作',
  298. width: 300,
  299. align: 'center',
  300. fixed: 'right',
  301. toolbar: '#table-list-tools'
  302. }
  303. ]
  304. ],
  305. where: {
  306. },
  307. page: true,
  308. limit: 500,
  309. height: 'full-' + String($('.layui-card-header').height() + 130),
  310. text: '对不起,加载出现异常!',
  311. done: function (res, curr, count) {
  312. $(".layui-none").text("无数据");
  313. layer.close(loadindex);
  314. }
  315. });
  316. //监听工具条
  317. table.on('tool(LAY-list-manage)', function (obj) {
  318. var data = obj.data;
  319. if (obj.event === 'del') {
  320. var index = layer.confirm('确定要删除吗?删除后不能恢复!', function (index) {
  321. $.ajax({
  322. type: "POST",
  323. url: "/Admin/StoreHouse/Delete?r=" + Math.random(1),
  324. data: "Id=" + data.Id,
  325. dataType: "text",
  326. success: function (data) {
  327. if (data == "success") {
  328. obj.del();
  329. layer.close(index);
  330. } else {
  331. parent.layer.msg(data);
  332. }
  333. }
  334. });
  335. });
  336. } else if (obj.event === 'sycn') {
  337. var index = layer.confirm('确定要同步该仓库的库存数据吗?', function (index) {
  338. layer.close(index);
  339. var loadindex = layer.load(1, {
  340. shade: [0.5, '#000']
  341. });
  342. $.ajax({
  343. type: "POST",
  344. url: "/Admin/StoreHouse/SycnData?r=" + Math.random(1),
  345. data: "Id=" + data.Id,
  346. dataType: "text",
  347. success: function (data) {
  348. layer.close(loadindex);
  349. if (data == "success") {
  350. layer.msg('同步成功');
  351. table.reload('LAY-list-manage');
  352. } else {
  353. layer.msg(data);
  354. }
  355. }
  356. });
  357. });
  358. } else if (obj.event === 'edit') {
  359. var tr = $(obj.tr);
  360. var perContent = layer.open({
  361. type: 2,
  362. title: '仓库-编辑',
  363. content: 'Edit?Id=' + data.Id + '',
  364. maxmin: true,
  365. area: ['800px', '650px'],
  366. btn: ['确定', '取消'],
  367. yes: function (index, layero) {
  368. var iframeWindow = window['layui-layer-iframe' + index],
  369. submitID = 'LAY-list-front-submit',
  370. submit = layero.find('iframe').contents().find('#' + submitID);
  371. setTimeout(function () {
  372. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  373. var errObj = $(this).find('.layui-form-danger');
  374. if (errObj.length > 0) {
  375. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  376. submit.click();
  377. }
  378. });
  379. }, 300);
  380. //监听提交
  381. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  382. var field = data.field; //获取提交的字段
  383. var userdata = "";
  384. for (var prop in field) {
  385. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  386. }
  387. //提交 Ajax 成功后,静态更新表格中的数据
  388. //$.ajax({});
  389. $.ajax({
  390. type: "POST",
  391. url: "/Admin/StoreHouse/Edit?r=" + Math.random(1),
  392. data: userdata,
  393. dataType: "text",
  394. success: function (data) {
  395. if (data == "success") {
  396. layer.close(index); //关闭弹层
  397. table.reload('LAY-list-manage'); //数据刷新
  398. } else {
  399. layer.msg(data);
  400. }
  401. }
  402. });
  403. });
  404. submit.trigger('click');
  405. },
  406. success: function (layero, index) {
  407. }
  408. });
  409. } else if (obj.event === 'edits') {
  410. var tr = $(obj.tr);
  411. var perContent = layer.open({
  412. type: 2,
  413. title: '一键新建仓库',
  414. content: 'Edits?Id=' + data.Id + '',
  415. maxmin: true,
  416. area: ['860px', '650px'],
  417. btn: ['确定', '取消'],
  418. yes: function (index, layero) {
  419. var iframeWindow = window['layui-layer-iframe' + index],
  420. submitID = 'LAY-list-front-submit',
  421. submit = layero.find('iframe').contents().find('#' + submitID);
  422. setTimeout(function () {
  423. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  424. var errObj = $(this).find('.layui-form-danger');
  425. if (errObj.length > 0) {
  426. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  427. submit.click();
  428. }
  429. });
  430. }, 300);
  431. //监听提交
  432. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  433. var field = data.field; //获取提交的字段
  434. var userdata = "";
  435. for (var prop in field) {
  436. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  437. }
  438. //提交 Ajax 成功后,静态更新表格中的数据
  439. //$.ajax({});
  440. $.ajax({
  441. type: "POST",
  442. url: "/Admin/StoreHouse/Edits?r=" + Math.random(1),
  443. data: userdata,
  444. dataType: "text",
  445. success: function (data) {
  446. if (data == "success") {
  447. layer.close(index); //关闭弹层
  448. table.reload('LAY-list-manage'); //数据刷新
  449. } else {
  450. layer.msg(data);
  451. }
  452. }
  453. });
  454. });
  455. submit.trigger('click');
  456. },
  457. success: function (layero, index) {
  458. }
  459. });
  460. }
  461. });
  462. //监听搜索
  463. form.on('submit(LAY-list-front-search)', function (data) {
  464. var field = data.field;
  465. field.ShowFlag = 1;
  466. if (field.StoreNo == "" && field.StoreName == "" && field.UserIdMakerCode == "" && field.UserIdRealName == "" && field.ManageUserIdRealName == "" && field.ManageUserIdMobile == "" && field.ManageUserIdMakerCode == "" && field.ManagerEmail == "" && field.StoreStatusSelect == "" && field.CreateDateData == "" && field.MakerCode == "" && field.YZOpCode == "" && field.OpStatusSelect == "" && field.StoreKindSelect == "") {
  467. layer.alert('请输入查询条件');
  468. }
  469. else {
  470. //执行重载
  471. table.reload('LAY-list-manage', {
  472. where: field,
  473. page: {
  474. curr: 1
  475. }
  476. });
  477. }
  478. });
  479. form.on('submit(LAY-list-front-searchall)', function (data) {
  480. var field = data.field;
  481. field.ShowFlag = 1;
  482. console.log(field.ShowFlag)
  483. field.StoreNo = "";
  484. field.StoreName = "";
  485. field.ManagerEmail = "";
  486. field.UserIdMakerCode = "";
  487. field.UserIdRealName = "";
  488. field.ManageUserIdRealName = "";
  489. field.ManageUserIdMobile = "";
  490. field.ManageUserIdMakerCode = "";
  491. field.StoreStatusSelect = "";
  492. field.CreateDateData = "";
  493. table.reload('LAY-list-manage', {
  494. where: field,
  495. page: {
  496. curr: 1
  497. }
  498. });
  499. });
  500. //事件
  501. var active = {
  502. batchdel: function () {
  503. var checkStatus = table.checkStatus('LAY-list-manage'),
  504. data = checkStatus.data; //得到选中的数据
  505. if (data.length < 1) {
  506. parent.layer.msg("请选择要删除的项");
  507. } else {
  508. var ids = "";
  509. $.each(data, function (index, value) {
  510. ids += data[index].Id + ",";
  511. });
  512. ids = ids.substring(0, ids.length - 1);
  513. var index = layer.confirm('确定要删除吗?删除后不能恢复!', function (index) {
  514. $.ajax({
  515. type: "POST",
  516. url: "/Admin/StoreHouse/Delete?r=" + Math.random(1),
  517. data: "Id=" + ids,
  518. dataType: "text",
  519. success: function (data) {
  520. layer.close(index);
  521. if (data == "success") {
  522. table.reload('LAY-list-manage');
  523. } else {
  524. layer.msg(data);
  525. }
  526. }
  527. });
  528. });
  529. }
  530. },
  531. add: function () {
  532. var perContent = layer.open({
  533. type: 2,
  534. title: '仓库-添加',
  535. content: 'Add',
  536. maxmin: true,
  537. area: ['950px', '650px'],
  538. btn: ['确定', '取消'],
  539. yes: function (index, layero) {
  540. var iframeWindow = window['layui-layer-iframe' + index],
  541. submitID = 'LAY-list-front-submit',
  542. submit = layero.find('iframe').contents().find('#' + submitID);
  543. setTimeout(function () {
  544. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  545. var errObj = $(this).find('.layui-form-danger');
  546. if (errObj.length > 0) {
  547. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  548. submit.click();
  549. }
  550. });
  551. }, 300);
  552. //监听提交
  553. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  554. var field = data.field; //获取提交的字段
  555. var userdata = "";
  556. for (var prop in field) {
  557. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  558. }
  559. //提交 Ajax 成功后,静态更新表格中的数据
  560. //$.ajax({});
  561. $.ajax({
  562. type: "POST",
  563. url: "/Admin/StoreHouse/Add?r=" + Math.random(1),
  564. data: userdata,
  565. dataType: "text",
  566. success: function (data) {
  567. if (data == "success") {
  568. layer.close(index); //关闭弹层
  569. table.reload('LAY-list-manage'); //数据刷新
  570. } else {
  571. layer.msg(data);
  572. }
  573. }
  574. });
  575. });
  576. submit.trigger('click');
  577. }
  578. });
  579. },
  580. ImportMachine: function () {
  581. var perContent = layer.open({
  582. type: 2,
  583. title: '机具入库',
  584. content: 'Import?ExcelKind=1',
  585. maxmin: true,
  586. area: ['650px', '350px'],
  587. btn: ['确定', '取消'],
  588. yes: function (index, layero) {
  589. var iframeWindow = window['layui-layer-iframe' + index],
  590. submitID = 'LAY-list-front-submit',
  591. submit = layero.find('iframe').contents().find('#' + submitID);
  592. //监听提交
  593. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  594. var field = data.field; //获取提交的字段
  595. var userdata = "";
  596. for (var prop in field) {
  597. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  598. }
  599. //提交 Ajax 成功后,静态更新表格中的数据
  600. //$.ajax({});
  601. var loadindex = layer.load(1, {
  602. shade: [0.5, '#000']
  603. });
  604. $.ajax({
  605. type: "POST",
  606. url: "/Admin/StoreHouse/ImportPost?r=" + Math.random(1),
  607. data: userdata,
  608. dataType: "text",
  609. success: function (data) {
  610. if (data.indexOf("success") == 0) {
  611. var datalist = data.split('|');
  612. var key = datalist[1];
  613. CheckImport(table, key, loadindex, index);
  614. } else {
  615. layer.msg(data);
  616. }
  617. }
  618. });
  619. });
  620. submit.trigger('click');
  621. }
  622. });
  623. },
  624. ImportChange: function () {
  625. var perContent = layer.open({
  626. type: 2,
  627. title: '仓库调拨',
  628. content: 'Import?ExcelKind=2',
  629. maxmin: true,
  630. area: ['650px', '350px'],
  631. btn: ['确定', '取消'],
  632. yes: function (index, layero) {
  633. var iframeWindow = window['layui-layer-iframe' + index],
  634. submitID = 'LAY-list-front-submit',
  635. submit = layero.find('iframe').contents().find('#' + submitID);
  636. //监听提交
  637. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  638. var field = data.field; //获取提交的字段
  639. var userdata = "";
  640. for (var prop in field) {
  641. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  642. }
  643. //提交 Ajax 成功后,静态更新表格中的数据
  644. //$.ajax({});
  645. var loadindex = layer.load(1, {
  646. shade: [0.5, '#000']
  647. });
  648. $.ajax({
  649. type: "POST",
  650. url: "/Admin/StoreHouse/ImportPost?r=" + Math.random(1),
  651. data: userdata,
  652. dataType: "text",
  653. success: function (data) {
  654. if (data.indexOf("success") == 0) {
  655. var datalist = data.split('|');
  656. var key = datalist[1];
  657. CheckImport(table, key, loadindex, index);
  658. } else {
  659. layer.msg(data);
  660. }
  661. }
  662. });
  663. });
  664. submit.trigger('click');
  665. }
  666. });
  667. },
  668. ImportSend: function () {
  669. var perContent = layer.open({
  670. type: 2,
  671. title: '仓库发货至创客',
  672. content: 'Import?ExcelKind=3',
  673. maxmin: true,
  674. area: ['650px', '350px'],
  675. btn: ['确定', '取消'],
  676. yes: function (index, layero) {
  677. var iframeWindow = window['layui-layer-iframe' + index],
  678. submitID = 'LAY-list-front-submit',
  679. submit = layero.find('iframe').contents().find('#' + submitID);
  680. //监听提交
  681. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  682. var field = data.field; //获取提交的字段
  683. var userdata = "";
  684. for (var prop in field) {
  685. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  686. }
  687. //提交 Ajax 成功后,静态更新表格中的数据
  688. //$.ajax({});
  689. var loadindex = layer.load(1, {
  690. shade: [0.5, '#000']
  691. });
  692. $.ajax({
  693. type: "POST",
  694. url: "/Admin/StoreHouse/ImportPost?r=" + Math.random(1),
  695. data: userdata,
  696. dataType: "text",
  697. success: function (data) {
  698. if (data.indexOf("success") == 0) {
  699. var datalist = data.split('|');
  700. var key = datalist[1];
  701. CheckImport(table, key, loadindex, index);
  702. } else {
  703. layer.msg(data);
  704. }
  705. }
  706. });
  707. });
  708. submit.trigger('click');
  709. }
  710. });
  711. },
  712. ImportBack: function () {
  713. var perContent = layer.open({
  714. type: 2,
  715. title: '机具回仓库',
  716. content: 'Import?ExcelKind=4',
  717. maxmin: true,
  718. area: ['650px', '350px'],
  719. btn: ['确定', '取消'],
  720. yes: function (index, layero) {
  721. var iframeWindow = window['layui-layer-iframe' + index],
  722. submitID = 'LAY-list-front-submit',
  723. submit = layero.find('iframe').contents().find('#' + submitID);
  724. //监听提交
  725. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  726. var field = data.field; //获取提交的字段
  727. var userdata = "";
  728. for (var prop in field) {
  729. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  730. }
  731. //提交 Ajax 成功后,静态更新表格中的数据
  732. //$.ajax({});
  733. var loadindex = layer.load(1, {
  734. shade: [0.5, '#000']
  735. });
  736. $.ajax({
  737. type: "POST",
  738. url: "/Admin/StoreHouse/ImportPost?r=" + Math.random(1),
  739. data: userdata,
  740. dataType: "text",
  741. success: function (data) {
  742. if (data.indexOf("success") == 0) {
  743. var datalist = data.split('|');
  744. var key = datalist[1];
  745. CheckImport(table, key, loadindex, index);
  746. } else {
  747. layer.msg(data);
  748. }
  749. }
  750. });
  751. });
  752. submit.trigger('click');
  753. }
  754. });
  755. }, ImportRejectStore: function () {
  756. ExcelKind = 1;
  757. layer.open({
  758. type: 1,
  759. title: '导入',
  760. maxmin: false,
  761. area: ['650px', '350px'],
  762. // btn: ['确定', '取消'],
  763. content: $('#excelForm'),
  764. cancel: function () {
  765. }
  766. });
  767. $("#excelTemp").html('<a href="/users/创客机具驳回仓库模版.xlsx">点击下载创客机具驳回仓库模版</a>');
  768. },
  769. ExportExcel: function () {
  770. var userdata = '';
  771. $(".layuiadmin-card-header-auto input").each(function (i) {
  772. userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
  773. });
  774. $(".layuiadmin-card-header-auto select").each(function (i) {
  775. userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
  776. });
  777. $.ajax({
  778. type: "GET",
  779. url: "/Admin/StoreHouse/ExportExcel?r=" + Math.random(1),
  780. data: userdata,
  781. dataType: "json",
  782. success: function (data) {
  783. data.Obj.unshift(data.Fields);
  784. excel.exportExcel(data.Obj, data.Info, 'xlsx');
  785. }
  786. });
  787. }, BatchSetting: function () {
  788. var checkStatus = table.checkStatus('LAY-list-manage'),
  789. data = checkStatus.data; //得到选中的数据
  790. if (data.length < 1) {
  791. parent.layer.msg("请选择要关联的分仓");
  792. } else {
  793. var ids = "";
  794. $.each(data, function (index, value) {
  795. ids += data[index].Id + ",";
  796. });
  797. ids = ids.substring(0, ids.length - 1);
  798. var perContent = layer.open({
  799. type: 2,
  800. title: '关联分仓',
  801. content: 'BatchSetting?StoreIds=' + ids,
  802. maxmin: true,
  803. area: ['550px', '350px'],
  804. btn: ['确定', '取消'],
  805. yes: function (index, layero) {
  806. loadindex = layer.load(1, {
  807. shade: [0.5, '#000']
  808. });
  809. var iframeWindow = window['layui-layer-iframe' + index],
  810. submitID = 'LAY-list-front-submit',
  811. submit = layero.find('iframe').contents().find('#' + submitID);
  812. setTimeout(function () {
  813. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  814. var errObj = $(this).find('.layui-form-danger');
  815. if (errObj.length > 0) {
  816. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  817. submit.click();
  818. }
  819. });
  820. }, 300);
  821. //监听提交
  822. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  823. if (clickflag == 0) {
  824. clickflag = 1;
  825. var field = data.field; //获取提交的字段
  826. var userdata = "";
  827. for (var prop in field) {
  828. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  829. }
  830. //提交 Ajax 成功后,静态更新表格中的数据
  831. //$.ajax({});
  832. $.ajax({
  833. type: "POST",
  834. url: "/Admin/StoreHouse/BatchSetting?r=" + Math.random(1),
  835. data: userdata + "Id=" + ids,
  836. dataType: "text",
  837. success: function (data) {
  838. clickflag = 0;
  839. layer.close(index);
  840. if (data == "success") {
  841. layer.close(loadindex);
  842. layer.msg('关联成功', {
  843. time: 1000
  844. }, function () {
  845. table.reload('LAY-list-manage'); //数据刷新
  846. });
  847. }
  848. else if (data.indexOf("Warning") == 0) {
  849. var datalist = data.split('|');
  850. layer.alert(datalist[1], { time: 20000 }, function () {
  851. window.location.reload();
  852. });
  853. }
  854. else {
  855. layer.msg(data);
  856. }
  857. }
  858. });
  859. }
  860. });
  861. submit.trigger('click');
  862. }
  863. });
  864. }
  865. },
  866. BatchCancle: function () {
  867. var checkStatus = table.checkStatus('LAY-list-manage'),
  868. data = checkStatus.data; //得到选中的数据
  869. if (data.length < 1) {
  870. parent.layer.msg("请选择要取消关联的分仓");
  871. } else {
  872. var ids = "";
  873. $.each(data, function (index, value) {
  874. ids += data[index].Id + ",";
  875. });
  876. ids = ids.substring(0, ids.length - 1);
  877. var perContent = layer.open({
  878. type: 2,
  879. title: '取消关联',
  880. content: 'BatchCancle?StoreIds=' + ids,
  881. maxmin: true,
  882. area: ['650px', '550px'],
  883. btn: ['确定', '取消'],
  884. yes: function (index, layero) {
  885. loadindex = layer.load(1, {
  886. shade: [0.5, '#000']
  887. });
  888. var iframeWindow = window['layui-layer-iframe' + index],
  889. submitID = 'LAY-list-front-submit',
  890. submit = layero.find('iframe').contents().find('#' + submitID);
  891. setTimeout(function () {
  892. layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
  893. var errObj = $(this).find('.layui-form-danger');
  894. if (errObj.length > 0) {
  895. iframeWindow.element.tabChange('mytabbar', String(i + 1));
  896. submit.click();
  897. }
  898. });
  899. }, 300);
  900. //监听提交
  901. iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
  902. if (clickflag == 0) {
  903. clickflag = 1;
  904. var field = data.field; //获取提交的字段
  905. var userdata = "";
  906. for (var prop in field) {
  907. userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
  908. }
  909. //提交 Ajax 成功后,静态更新表格中的数据
  910. //$.ajax({});
  911. $.ajax({
  912. type: "POST",
  913. url: "/Admin/StoreHouse/BatchCancle?r=" + Math.random(1),
  914. data: userdata + "Id=" + ids,
  915. dataType: "text",
  916. success: function (data) {
  917. clickflag = 0;
  918. layer.close(index);
  919. if (data == "success") {
  920. layer.close(loadindex);
  921. layer.msg('取消成功', {
  922. time: 1000
  923. }, function () {
  924. table.reload('LAY-list-manage'); //数据刷新
  925. });
  926. }
  927. else if (data.indexOf("Warning") == 0) {
  928. var datalist = data.split('|');
  929. layer.alert(datalist[1], { time: 20000 }, function () {
  930. window.location.reload();
  931. });
  932. }
  933. else {
  934. layer.msg(data);
  935. }
  936. }
  937. });
  938. }
  939. });
  940. submit.trigger('click');
  941. }
  942. });
  943. }
  944. },
  945. Open: function () {
  946. var checkStatus = table.checkStatus('LAY-list-manage'),
  947. data = checkStatus.data; //得到选中的数据
  948. if (data.length < 1) {
  949. parent.layer.msg("请选择要开启的项");
  950. } else {
  951. var ids = "";
  952. $.each(data, function (index, value) {
  953. ids += data[index].Id + ",";
  954. });
  955. ids = ids.substring(0, ids.length - 1);
  956. var index = layer.confirm('确定要开启吗?', function (index) {
  957. $.ajax({
  958. type: "POST",
  959. url: "/Admin/StoreHouse/Open?r=" + Math.random(1),
  960. data: "Id=" + ids,
  961. dataType: "text",
  962. success: function (data) {
  963. layer.close(index);
  964. if (data == "success") {
  965. table.reload('LAY-list-manage');
  966. } else {
  967. layer.msg(data);
  968. }
  969. }
  970. });
  971. });
  972. }
  973. },
  974. Close: function () {
  975. var checkStatus = table.checkStatus('LAY-list-manage'),
  976. data = checkStatus.data; //得到选中的数据
  977. if (data.length < 1) {
  978. parent.layer.msg("请选择要关闭的项");
  979. } else {
  980. var ids = "";
  981. $.each(data, function (index, value) {
  982. ids += data[index].Id + ",";
  983. });
  984. ids = ids.substring(0, ids.length - 1);
  985. var index = layer.confirm('确定要关闭吗?', function (index) {
  986. $.ajax({
  987. type: "POST",
  988. url: "/Admin/StoreHouse/Close?r=" + Math.random(1),
  989. data: "Id=" + ids,
  990. dataType: "text",
  991. success: function (data) {
  992. layer.close(index);
  993. if (data == "success") {
  994. table.reload('LAY-list-manage');
  995. } else {
  996. layer.msg(data);
  997. }
  998. }
  999. });
  1000. });
  1001. }
  1002. },
  1003. SycnData: function () {
  1004. var index = layer.confirm('确定要同步所有仓库的库存数据吗?', function (index) {
  1005. layer.close(index);
  1006. var loadindex = layer.load(1, {
  1007. shade: [0.5, '#000']
  1008. });
  1009. $.ajax({
  1010. type: "POST",
  1011. url: "/Admin/StoreHouse/SycnData?r=" + Math.random(1),
  1012. data: "Id=0",
  1013. dataType: "text",
  1014. success: function (data) {
  1015. layer.close(loadindex);
  1016. if (data == "success") {
  1017. layer.msg('同步成功');
  1018. table.reload('LAY-list-manage');
  1019. } else {
  1020. layer.msg(data);
  1021. }
  1022. }
  1023. });
  1024. });
  1025. },
  1026. };
  1027. $('.layui-btn').on('click', function () {
  1028. var type = $(this).data('type');
  1029. active[type] ? active[type].call(this) : '';
  1030. });
  1031. });