commodityBindModel.blade.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. @extends('layouts.app')
  2. @section('title')商品绑定型号-入库管理@endsection
  3. @section('content')
  4. <div class="container-fluid d-none" id="container">
  5. <div class="mt-3 col-8 offset-2">
  6. <div class="form-group row">
  7. <label for="barCode">商品条码</label>
  8. <input id="barCode" type="text" class="form-control" v-model="barCode"></input>
  9. </div>
  10. <div class="input-group row mt-5">
  11. <button type="submit" id="submit" class="btn btn-info offset-2 col-10" @click="searchBarCode()">检索</button>
  12. </div>
  13. </div>
  14. @include("store.inStorage._setMaximum")
  15. @include("store.inStorage._commodities")
  16. </div>
  17. @stop
  18. @section('lastScript')
  19. <script type="text/javascript">
  20. new Vue({
  21. el:"#container",
  22. data:{
  23. models:[@foreach($models as $model)@json($model),@endforeach],
  24. commodityIndex:0,
  25. commodities:[],
  26. isAndroid:false,
  27. barCode:"",
  28. },
  29. mounted(){
  30. if (navigator.userAgent.indexOf("Android")!==-1)this.isAndroid = true;
  31. this.pageInit();
  32. $("#container").removeClass("d-none");
  33. },
  34. methods:{
  35. //页面初始化
  36. pageInit(){
  37. if (!this.isAndroid)return;
  38. let element = document.getElementById("navbarSupportedContent").parentElement;
  39. element.className = "row";
  40. element.children[0].className += " col-5";
  41. element.children[0].href = "#";
  42. element.innerHTML = element.children[0].outerHTML;
  43. let e1 = document.getElementById("menu");
  44. let e2 = document.getElementById("demand-div");
  45. if (e1)e1.remove();
  46. if (e2)e2.remove();
  47. document.getElementById("container").style.height = (window.innerHeight-100)+"px";
  48. },
  49. searchBarCode(){
  50. if(!this.barCode)return;
  51. window.tempTip.postBasicRequest("{{url('store/inStorage/searchBarCode')}}",{barCode:this.barCode},res=>{
  52. this.commodities = res;
  53. if (res.length>1){
  54. $("#commodities").modal("show");
  55. return;
  56. }
  57. this.selectedCommodity(0);
  58. },true)
  59. },
  60. selectedCommodity(index){
  61. this.commodityIndex = index;
  62. window.tempTip.postBasicRequest("{{url('store/inStorage/searchModel')}}",{id:this.commodities[this.commodityIndex].id},res=>{
  63. this.models.forEach((model,i)=>{
  64. this.$set(this.models[i],"maximum",res ? (res[model.id] ? res[model.id] : null) : null);
  65. });
  66. $("#commodities").modal("hide");
  67. $("#maximumModal").modal("show");
  68. });
  69. },
  70. settingModelMaximum(){
  71. let models = [];
  72. this.models.forEach(model=>{
  73. if (model.maximum)models.push(model);
  74. });
  75. if (models.length<1){
  76. window.tempTip.setDuration(3000);
  77. window.tempTip.setIndex(1099);
  78. window.tempTip.show("请至少设定一个上限型号");
  79. return;
  80. }
  81. window.tempTip.postBasicRequest("{{url('store/inStorage/setMaximum')}}",
  82. {models:models,commodityId:this.commodities[this.commodityIndex].id},res=>{
  83. this.barCode = "";
  84. $("#maximumModal").modal("hide");
  85. return "商品型号上限设定成功";
  86. },true);
  87. }
  88. },
  89. });
  90. </script>
  91. @stop