create.blade.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. @extends('layouts.app')
  2. @section('title')录入-容器@endsection
  3. @section('content')
  4. <div class="container-fluid" id="list">
  5. <div class="card col-md-8 offset-md-2">
  6. <div class="card-body">
  7. <div class="form-group">
  8. <div class="form-group">
  9. <label for="type">容器类型</label>
  10. <select class="form-control" :class="errors.type ? 'is-invalid' : ''" id="type" v-model="submitData.type" required>
  11. <option>托盘</option>
  12. <option>周转箱</option>
  13. </select>
  14. <span class="invalid-feedback offset-3" role="alert" v-if="errors.type">
  15. <strong>@{{ errors.type[0] }}</strong>
  16. </span>
  17. </div>
  18. </div>
  19. <div class="form-group">
  20. <div class="form-group">
  21. <label for="warehouse">所用仓库</label>
  22. <select class="form-control" :class="errors.warehouseId ? 'is-invalid' : ''" id="warehouse" v-model="submitData.warehouseId" required>
  23. <option v-for="(item,i) in selectData.warehouses" :value="item.id"> @{{ item.name }}
  24. </option>
  25. </select>
  26. <span class="invalid-feedback offset-3" role="alert" v-if="errors.warehouseId">
  27. <strong>@{{ errors.warehouseId[0] }}</strong>
  28. </span>
  29. </div>
  30. </div>
  31. <div class="form-group">
  32. <div class="form-group">
  33. <label for="allowMixed">是否允许混放</label>
  34. <select class="form-control" :class="errors.allowMixed ? 'is-invalid' : ''" id="allowMixed" v-model="submitData.allowMixed" required>
  35. <option>允许</option>
  36. <option>不允许</option>
  37. </select>
  38. <span class="invalid-feedback offset-3" role="alert" v-if="errors.allowMixed">
  39. <strong>@{{ errors.allowMixed[0] }}</strong>
  40. </span>
  41. </div>
  42. </div>
  43. <div class="form-group">
  44. <label for="volume">容积 (m³)</label>
  45. <input type="number" class="form-control" :class="errors.volume ? 'is-invalid' : ''" id="volume" aria-describedby="volume"
  46. v-model="submitData.volume" required>
  47. <span class="invalid-feedback offset-3" role="alert" v-if="errors.volume">
  48. <strong>@{{ errors.volume[0] }}</strong>
  49. </span>
  50. </div>
  51. <div class="form-group">
  52. <label for="loadWeight">载重 (kg)</label>
  53. <input type="number" class="form-control" :class="errors.loadWeight ? 'is-invalid' : ''" id="loadWeight" aria-describedby="loadWeight"
  54. v-model="submitData.loadWeight" required>
  55. <span class="invalid-feedback offset-3" role="alert" v-if="errors.loadWeight">
  56. <strong>@{{ errors.loadWeight[0] }}</strong>
  57. </span>
  58. </div>
  59. <div class="form-group">
  60. <label for="createAmount">生成数量</label>
  61. <input type="number" :class="errors.createAmount ? 'is-invalid' : ''" class="form-control" id="createAmount" aria-describedby="createAmount"
  62. v-model="submitData.createAmount" required>
  63. <span class="invalid-feedback offset-3" role="alert" v-if="errors.createAmount">
  64. <strong>@{{ errors.createAmount[0] }}</strong>
  65. </span>
  66. </div>
  67. <button @click="submit()" class="btn btn-primary">提交</button>
  68. </div>
  69. </div>
  70. </div>
  71. @endsection
  72. @section('lastScript')
  73. <script>
  74. let vue = new Vue({
  75. el: "#list",
  76. data: {
  77. submitData: {
  78. type: null,
  79. warehouseId: null,
  80. allowMixed: null,
  81. volume: null,
  82. loadWeight: null,
  83. createAmount: null,
  84. userId: {!! $userId !!}
  85. },
  86. selectData: {
  87. warehouses: {!! $warehouses !!}
  88. },
  89. errors:{},
  90. },
  91. created() {
  92. },
  93. mounted: function () {
  94. },
  95. methods: {
  96. check(){
  97. let error = {};
  98. if (!this.submitData.type)error.type = ["容器类型必选"];
  99. if (!this.submitData.warehouseId)error.warehouseId = ["所用厂库必选必选"];
  100. if (!this.submitData.allowMixed)error.allowMixed = ["是否混放必选"];
  101. if (!this.submitData.volume)error.volume = ["容积必填"];
  102. if (!this.submitData.loadWeight)error.loadWeight = ["载重必填"];
  103. if (!this.submitData.createAmount)error.createAmount = ["生成数量必填"];
  104. if (JSON.stringify(error)!=='{}'){this.errors = error;}
  105. },
  106. submit() {
  107. window.tempTip.show("功能关闭,移至SWMS系统进行操作");
  108. return;
  109. this.errors={};//初始errors状态
  110. this.check();
  111. if(JSON.stringify(this.errors)!=='{}')return;
  112. let url = this.getBaseUrl() + `/api/wms/containerManage/create`;
  113. axios.post(url, this.submitData).then(res => {
  114. if (res.data.code !== 200) {
  115. let errors = "";
  116. for (let i in res.data.data) {
  117. errors += i + ': ' + res.data.data[i];
  118. }
  119. tempTip.show(errors);
  120. } else {
  121. tempTip.showSuccess('提交成功!');
  122. this.submitData = {
  123. type: null,
  124. warehouseId: null,
  125. allowMixed: null,
  126. volume: null,
  127. loadWeight: null,
  128. createAmount: null,
  129. userId: {!! $userId !!}
  130. }
  131. }
  132. });
  133. },
  134. //根据环境获取不同的url
  135. getBaseUrl() {
  136. let url = null;
  137. let env = "{{ config('app.env') }}";
  138. if (env === 'local') {
  139. url = 'http://127.0.0.1:8112'
  140. } else if (env === 'production') {
  141. url = 'https://api-back.baoshi56.com'
  142. }
  143. return url;
  144. },
  145. },
  146. });
  147. </script>
  148. @endsection