_directLogistic.blade.php 4.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <div class="row">
  2. <label class="col-3"><b class="text-danger">* </b>价格名称</label>
  3. <label class="col-6"><input v-model="model.directLogistic.name" type="text" class="form-control form-control-sm"
  4. :class="errors.name ? 'is-invalid' : ''"></label>
  5. <span class="small text-danger mt-0 offset-3 ml-1" role="alert" v-if="errors.name">
  6. <strong>@{{ errors.name[0] }}</strong>
  7. </span>
  8. </div>
  9. <div class="row mt-3">
  10. <label class="col-3"><b class="text-danger">* </b>起步公里数</label>
  11. <label class="col-6"><input v-model="model.directLogistic.base_km" type="number" min="0" step="0.01" class="form-control form-control-sm"
  12. :class="errors.base_km ? 'is-invalid' : ''"></label>
  13. <span class="small text-danger mt-0 offset-3 ml-1" role="alert" v-if="errors.base_km">
  14. <strong>@{{ errors.base_km[0] }}</strong>
  15. </span>
  16. </div>
  17. <div class="row mt-3">
  18. <label for="tax_rate_id" class="col-3 text-muted">税率</label>
  19. <select id="tax_rate_id" class="col-3 form-control ml-3" v-model="model.directLogistic.tax_rate_id" :class="errors.tax_rate_id ? 'is-invalid' : ''">
  20. <option> </option>
  21. <option v-for="tax in pool.taxRates" :value="tax.id">@{{ tax.value }}%</option>
  22. </select>
  23. </div>
  24. <div class="row mt-3">
  25. <label class="col-3 cursor-pointer" @click="show('directLogistic-item-card')"><span @click="show('directLogistic-item-card')">详情&nbsp;
  26. <span class="fa" :class="upList['express-item'] ? 'fa-angle-double-right' : 'fa-angle-double-down'"></span></span></label>
  27. <div class="col-9">
  28. <div class="w-100 form-inline">
  29. <input id="directLogisticFile" type="file" class="d-none" accept=".csv, .xlsx, .xls" @change="importDirectLogistic($event)"/>
  30. <button type="button" class="btn btn-sm btn-outline-info w-25" @click="addDirectLogisticItem()">新增</button>
  31. <button type="button" class="btn btn-sm btn-outline-primary w-25 ml-2" @click="selectFile('directLogisticFile')" @mouseenter="hoverEffect('directLogistic',true)" @mouseleave="hoverEffect('directLogistic',false)">导入</button>
  32. <h5><span class="ml-0 fa fa-question-circle-o cursor-pointer" data-toggle="tooltip" data-placement="top" title="导入与保存时自动过滤重复数据"></span></h5>
  33. </div>
  34. <div class="w-100 mt-1 ml-1" v-if="model.directLogistic.items.length>searchBase">
  35. <label>
  36. <input placeholder=" 定位" class="form-control form-control-sm rounded-pill" @input="searchDirectLogistic($event)"/>
  37. </label>
  38. </div>
  39. <div class="w-100 text-center mb-1 mt-1" v-if="importError.length > 0">
  40. <button type="button" class="btn btn-sm btn-danger mb-1" @click="isShowError = true" v-if="!isShowError">@{{ importError.length }}条错误,点击展开</button>
  41. <button type="button" class="btn btn-sm btn-dark mb-1" @click="isShowError = false" v-else>收起错误展示</button>
  42. <div v-if="isShowError" class="container-fluid text-danger font-weight-bolder">
  43. <div class="row text-left">
  44. <div class="col-6" v-for="error in importError">@{{ error }}</div>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="row font-weight-bold" v-if="model.directLogistic.items.length>0 || hover.directLogistic"
  49. :class="hover.directLogistic ? 'text-danger font-weight-bold text-shadow-stress' : ''">
  50. <label class="col-3">车型</label>
  51. <label class="col-3">起步费</label>
  52. <label class="col-4">续费(元/KM)</label>
  53. <label class="col-2"></label>
  54. </div>
  55. <div class="row" id="directLogistic-item-card">
  56. <div class="row" v-for="(item,i) in model.directLogistic.items" v-if="!searchItem.directLogistic || (searchItem.directLogistic && searchItem.directLogistic.includes(i))">
  57. <label class="col-3">
  58. <select class="form-control form-control-sm" v-model="item.car_type_id" :class="errors['items.'+i+'.car_type_id'] ? 'is-invalid' : ''">
  59. <option v-for="car in pool.cars" :value="car.id">@{{ car.name }}</option>
  60. </select>
  61. </label>
  62. <label class="col-3">
  63. <input type="number" step="0.01" class="form-control form-control-sm" v-model="item.base_fee" :class="errors['items.'+i+'.base_fee'] ? 'is-invalid' : ''">
  64. </label>
  65. <label class="col-4">
  66. <input type="number" step="0.01" class="form-control form-control-sm" v-model="item.additional_fee" :class="errors['items.'+i+'.additional_fee'] ? 'is-invalid' : ''">
  67. </label>
  68. <label class="col-2 cursor-pointer h3 font-weight-bold text-danger" @click="delDirectLogisticItem(i)">
  69. &times;
  70. </label>
  71. </div>
  72. </div>
  73. </div>
  74. </div>