index.blade.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. @extends('layouts.app')
  2. @section('title','打印终端')
  3. @section('content')
  4. <div class="container-fluid " id="list">
  5. <div class="card">
  6. {{-- @can('基础设置-快递打印-打印机-添加')--}}
  7. @include('maintenance.expressPrinting.setting.printer._create')
  8. {{-- @endcan--}}
  9. {{-- @can('基础设置-快递打印-打印机-编辑')--}}
  10. @include('maintenance.expressPrinting.setting.printer._edit')
  11. {{-- @endcan--}}
  12. <div class="card-body">
  13. <div class="row pull-left m-1">
  14. {{-- @can('基础设置-快递打印-打印机-添加')--}}
  15. <button class="btn btn-outline-info mb-1 mr-3" @click="showCreatedModel"><span
  16. class="fa fa-plus"></span>&nbsp;新&nbsp;&nbsp;增
  17. </button>
  18. {{-- @endcan--}}
  19. </div>
  20. @include('maintenance.expressPrinting.setting.printer._table')
  21. </div>
  22. </div>
  23. </div>
  24. @endsection
  25. @section('lastScript')
  26. <script>
  27. let list = new Vue({
  28. el: "#list",
  29. data: {
  30. printers: {!! $terminalPrinters->toJson() !!}['data'],
  31. terminals: [
  32. @foreach($terminals as $terminal)
  33. {id:'{{$terminal->id}}',name:'{{$terminal->name}}'},
  34. @endforeach
  35. ],
  36. printer: {},
  37. printerErrors: {},
  38. terminalFilter:null,
  39. index: null,
  40. selectTr: null,
  41. types: [
  42. {name: '0', value: '菜鸟'},
  43. {name: '1', value: '拼多多'},
  44. {name: '2', value: '顺丰'},
  45. {name: '3', value: '京东'},
  46. ]
  47. },
  48. mounted() {
  49. $("#list").removeClass('d-none');
  50. },
  51. computed:{
  52. filterTerminals(){
  53. let terminals = JSON.parse(JSON.stringify(this.terminals));
  54. let self = this;
  55. if(this.terminalFilter === null){
  56. return terminals;
  57. }
  58. let terminalFilter = terminals.filter(item=>{
  59. return item.name.indexOf(self.terminalFilter) >= 0;
  60. });
  61. if (terminalFilter.length < this.terminals.length && terminalFilter.length>0)
  62. this.printer.terminal_id = terminalFilter[0]['id'];
  63. return terminalFilter;
  64. }
  65. },
  66. methods: {
  67. showCreatedModel() {
  68. this.printer = {};
  69. this.printerErrors = {};
  70. $('#create-printer').modal('show');
  71. },
  72. showEditModel(printer, index) {
  73. this.printer = JSON.parse(JSON.stringify(printer));
  74. this.index = index;
  75. this.printerErrors = {};
  76. $('#edit-printer').modal('show');
  77. },
  78. createPrinter() {
  79. let url = '{{url('apiLocal/maintenance/expressPrinting/setting/printer')}}';
  80. let data = this.printer;
  81. window.tempTip.setIndex(1999)
  82. window.axios.post(url, data).then(res => {
  83. if (res.data['success']) {
  84. this.printers.unshift(res.data['data']);
  85. this.$forceUpdate();
  86. $('#create-printer').modal('hide');
  87. window.tempTip.showSuccess('添加成功!');
  88. return;
  89. } else if (res.data['errors']) {
  90. this.printerErrors = res.data['errors'];
  91. return;
  92. }
  93. window.tempTip.show(res.data['message']);
  94. }).catch(err => {
  95. window.tempTip.show('网络异常!' + err);
  96. })
  97. },
  98. editPrinter() {
  99. let url = '{{url('apiLocal/maintenance/expressPrinting/setting/printer')}}';
  100. let data = this.printer;
  101. window.tempTip.setIndex(1999)
  102. window.axios.put(url, data).then(res => {
  103. if (res.data['success']) {
  104. this.$set(this.printers, this.index, res.data['data']);
  105. window.tempTip.showSuccess('编辑成功!');
  106. $('#edit-printer').modal('hide');
  107. return;
  108. } else if (res.data['errors']) {
  109. this.printerErrors = res.data['errors'];
  110. return;
  111. }
  112. window.tempTip.show(res.data['message'])
  113. }).catch(err => {
  114. window.tempTip.show('网络异常!' + err)
  115. });
  116. },
  117. destroyPrinter(printer, index) {
  118. let url = '{{url('apiLocal/maintenance/expressPrinting/setting/printer')}}' + '/' + printer['id'];
  119. if (!confirm('是否删除当前终端')) return;
  120. window.axios.delete(url).then(res => {
  121. if (res.data['success']) {
  122. this.$delete(this.printers, index);
  123. window.tempTip.showSuccess('删除成功!');
  124. return;
  125. } else if (res.data['errors']) {
  126. this.printerErrors = res.data['errors'];
  127. return;
  128. }
  129. window.tempTip.show(res.data['message'])
  130. }).catch(err => {
  131. window.tempTip.show('网络异常!' + err)
  132. });
  133. }
  134. }
  135. })
  136. </script>
  137. @endsection