_express.blade.php 4.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <div class="row">
  2. <label class="col-3"><b class="text-danger">* </b>价格名称</label>
  3. <label class="col-7"><input type="text" class="form-control"
  4. v-model="model.express.name" :class="errors.name ? 'is-invalid' : ''"></label>
  5. </div>
  6. <div class="row mt-3">
  7. <label class="col-3"> 承运商</label>
  8. <label class="col-5"><select class="selectpicker express" multiple data-live-search="true" title="承运商(多选)"
  9. v-model="model.express.logistics" :class="errors.logistic_id ? 'is-invalid' : ''">
  10. <option v-for="logistic in pool.logistics" :value="logistic.id" v-if="logistic.type != '物流'">@{{ logistic.name }}</option>
  11. </select></label>
  12. </div>
  13. <div class="row mt-3">
  14. <label class="col-3"><b class="text-danger">* </b>首重值(KG)</label>
  15. <label class="col-7"><input type="number" min="0" step="0.01" class="form-control"
  16. v-model="model.express.initial_weight" :class="errors.initial_weight ? 'is-invalid' : ''"></label>
  17. </div>
  18. <div class="row mt-3">
  19. <label class="col-3"><b class="text-danger">* </b>续重值(KG)</label>
  20. <label class="col-7"><input type="number" min="0" step="0.01" class="form-control"
  21. v-model="model.express.additional_weight" :class="errors.additional_weight ? 'is-invalid' : ''"></label>
  22. </div>
  23. <div class="row mt-3">
  24. <label class="col-3 cursor-pointer"><span @click="show('express-item')">详情&nbsp;
  25. <span class="fa" :class="upList['express-item'] ? 'fa-angle-double-right' : 'fa-angle-double-down'"></span></span></label>
  26. <div class="col-9">
  27. <div class="w-100 form-inline">
  28. <input id="expressFile" type="file" class="d-none" accept=".csv, .xlsx, .xls" @change="importExpress($event)"/>
  29. <button type="button" class="btn btn-sm btn-outline-info w-25" @click="addExpressItem()">新增</button>
  30. <button type="button" class="btn btn-sm btn-outline-primary w-25 ml-2" @click="selectFile('expressFile')" @mouseenter="hoverEffect('express',true)" @mouseleave="hoverEffect('express',false)">导入</button>
  31. <h5><span class="ml-0 fa fa-question-circle-o cursor-pointer" data-toggle="tooltip" data-placement="top" title="导入与保存时自动过滤重复数据"></span></h5>
  32. </div>
  33. <div class="w-100 mt-1 ml-1" v-if="model.express.items.length>searchBase">
  34. <label>
  35. <input placeholder=" 定位" class="form-control form-control-sm rounded-pill" @input="searchExpress($event)"/>
  36. </label>
  37. </div>
  38. <div class="w-100 text-center mb-1 mt-1" v-if="importError.length > 0">
  39. <button type="button" class="btn btn-sm btn-danger mb-1" @click="isShowError = true" v-if="!isShowError">@{{ importError.length }}条错误,点击展开</button>
  40. <button type="button" class="btn btn-sm btn-dark mb-1" @click="isShowError = false" v-else>收起错误展示</button>
  41. <div v-if="isShowError" class="container-fluid text-danger font-weight-bolder">
  42. <div class="row text-left">
  43. <div class="col-6" v-for="error in importError">@{{ error }}</div>
  44. </div>
  45. </div>
  46. </div>
  47. <div class="row font-weight-bold" v-if="model.express.items.length>0 || hover.express"
  48. :class="hover.express ? 'text-danger font-weight-bold text-shadow-stress' : ''">
  49. <label class="col-3">省</label>
  50. <label class="col-3">首重价格</label>
  51. <label class="col-3">续重价格</label>
  52. <label class="col-3"></label>
  53. </div>
  54. <div class="row" id="express-item">
  55. <div class="row" v-for="(item,i) in model.express.items" v-if="!searchItem.express || (searchItem.express && searchItem.express.includes(i))">
  56. <label class="col-3">
  57. <select class="form-control form-control-sm" v-model="item.province_id" :class="errors['items.'+i+'.province_id'] ? 'is-invalid' : ''">
  58. <option v-for="province in pool.provinces" :value="province.id">@{{ province.name }}</option>
  59. </select>
  60. </label>
  61. <label class="col-3">
  62. <input type="number" step="0.01" min="0" class="form-control form-control-sm" v-model="item.initial_weight_price" :class="errors['items.'+i+'.initial_weight_price'] ? 'is-invalid' : ''">
  63. </label>
  64. <label class="col-3">
  65. <input type="number" step="0.01" min="0" class="form-control form-control-sm" v-model="item.additional_weight_price" :class="errors['items.'+i+'.additional_weight_price'] ? 'is-invalid' : ''">
  66. </label>
  67. <label class="col-3 cursor-pointer h3 font-weight-bold text-danger" @click="delExpressItem(i)">
  68. &times;
  69. </label>
  70. </div>
  71. </div>
  72. </div>
  73. </div>