_operation.blade.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <div class="row mt-3">
  2. <label for="operation_type" class="col-2">操作类型</label>
  3. <select id="operation_type" :class="errors.operation_type ? 'is-invalid' : ''" v-model="model.operation.operation_type" class="col-3 form-control">
  4. <option value="入库">入库</option>
  5. <option value="出库">出库</option>
  6. </select>
  7. <span class="invalid-feedback mt-0 offset-2" role="alert" v-if="errors.operation_type">
  8. <strong>@{{ errors.operation_type[0] }}</strong>
  9. </span>
  10. </div>
  11. <div class="row mt-3">
  12. <label for="strategy" class="col-2">计费策略</label>
  13. <select id="strategy" :class="errors.strategy ? 'is-invalid' : ''" class="col-3 form-control" v-model="model.operation.strategy">
  14. <option value="默认">默认</option>
  15. <option value="特征">特征</option>
  16. </select>
  17. <span class="invalid-feedback mt-0 offset-2" role="alert" v-if="errors.strategy">
  18. <strong>@{{ errors.strategy[0] }}</strong>
  19. </span>
  20. </div>
  21. <div class="row mt-3">
  22. <label class="col-2">名称</label>
  23. <input type="text" :class="errors.name ? 'is-invalid' : ''" class="col-6 form-control" v-model="model.operation.name">
  24. <span class="invalid-feedback mt-0 offset-2" role="alert" v-if="errors.name">
  25. <strong>@{{ errors.name[0] }}</strong>
  26. </span>
  27. </div>
  28. <div class="row mt-3">
  29. <label class="col-2">特征:</label>
  30. <label class="col-8">
  31. <label v-if="model.operation.feature">@{{ model.operation.featureFormat }}</label><br>
  32. <button type="button" class="btn btn-dark col-2 ml-2" @click="showAddFeatureModal(-1,model.operation.feature)">调整特征</button>
  33. </label>
  34. </div>
  35. <div class="row mt-3">
  36. {{--起步--}}
  37. <div class="card row text-white offset-1 col-9 bg-dark" v-if="model.operation.operation_type === '出库'">
  38. <div class="card-body">
  39. <div class="row">
  40. <label class="col-3">子策略:</label>
  41. <label class="col-5"><select disabled v-model="model.operation.items[0].strategy" class="form-control">
  42. <option value="起步">起步</option>
  43. </select></label>
  44. </div>
  45. <div class="row mt-2">
  46. <label class="col-3">起步数</label>
  47. <label class="col-5 mb-0"><input id="amount" type="number" :class="errors['items.0.amount'] ? 'is-invalid' : ''"
  48. v-model="model.operation.items[0].amount" class="form-control" step="1"></label>
  49. </div>
  50. <div class="row mt-0" v-if="errors['items.0.amount']">
  51. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">起步数为必填项</small></div>
  52. </div>
  53. <div class="row mt-2">
  54. <label class="col-3">单位</label>
  55. <label class="col-5 mb-0"><select v-model="model.operation.items[0].unit_id" class="form-control" :class="errors['items.0.unit_id'] ? 'is-invalid' : ''">
  56. <option v-for="unit in pool.units" :value="unit.id">@{{ unit.name }}</option>
  57. </select></label>
  58. </div>
  59. <div class="row mt-0" v-if="errors['items.0.unit_id']">
  60. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">单位为必选项</small></div>
  61. </div>
  62. <div class="row mt-2">
  63. <label class="col-3">单价</label>
  64. <label class="col-5 mb-0"><input type="number" min="0" step="0.001" class="form-control" v-model="model.operation.items[0].unit_price"
  65. :class="errors['items.0.unit_price'] ? 'is-invalid' : ''"></label>
  66. </div>
  67. <div class="row mt-0" v-if="errors['items.0.unit_price']">
  68. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">单价为必填项</small></div>
  69. </div>
  70. </div>
  71. </div>
  72. {{--默认--}}
  73. <div class="card row text-white offset-1 col-9 bg-info">
  74. <div class="card-header">
  75. <div class="pull-left cursor-pointer text-white" @click="addOperationItem()"><small>新增</small>&nbsp;<span class="fa fa-plus-square-o"></span></div>
  76. </div>
  77. <div class="card-body">
  78. <div class="row">
  79. <label class="col-3">子策略:</label>
  80. <label class="col-5"><select disabled v-model="model.operation.items[1].strategy" class=" form-control">
  81. <option value="默认">默认</option>
  82. </select></label>
  83. </div>
  84. <div class="row mt-2">
  85. <label class="col-3">数量</label>
  86. <label class="col-5 mb-0"><input id="amount" type="number" :class="errors['items.1.amount'] ? 'is-invalid' : ''"
  87. v-model="model.operation.items[1].amount" class="form-control" step="1">
  88. </label>
  89. <div class="col-4"></div>
  90. </div>
  91. <div class="row mt-0" v-if="errors['items.1.amount']">
  92. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">数量为必填项</small></div>
  93. </div>
  94. <div class="row mt-2">
  95. <label class="col-3">单位</label>
  96. <label class="col-5 mb-0"><select v-model="model.operation.items[1].unit_id" class="form-control" :class="errors['items.1.unit_id'] ? 'is-invalid' : ''">
  97. <option v-for="unit in pool.units" :value="unit.id">@{{ unit.name }}</option>
  98. </select></label>
  99. </div>
  100. <div class="row mt-0" v-if="errors['items.1.unit_id']">
  101. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">单位为必填项</small></div>
  102. </div>
  103. <div class="row mt-2">
  104. <label class="col-3">单价</label>
  105. <label class="col-5 mb-0"><input type="number" min="0" step="0.001" class="form-control" v-model="model.operation.items[1].unit_price"
  106. :class="errors['items.1.unit_price'] ? 'is-invalid' : ''"></label>
  107. </div>
  108. <div class="row mt-0" v-if="errors['items.1.unit_price']">
  109. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">单价为必填项</small></div>
  110. </div>
  111. </div>
  112. </div>
  113. {{--特征--}}
  114. <div v-for="(item,i) in model.operation.items" class="card row text-white offset-1 col-9 bg-secondary" v-if="i>1">
  115. <div class="card-header">
  116. <div class="pull-left cursor-pointer text-white" @click="addOperationItem()"><small>新增</small>&nbsp;<span class="fa fa-plus-square-o"></span></div>
  117. <div class="pull-right cursor-pointer text-white" @click="delOperationItem(i)"><small>删除</small>&nbsp;<span class="fa fa-window-close-o"></span></div>
  118. </div>
  119. <div class="card-body">
  120. <div class="row">
  121. <label class="col-3">子策略</label>
  122. <label class="col-5"><select disabled v-model="item.strategy" class="form-control">
  123. <option value="特征">特征</option>
  124. </select></label>
  125. </div>
  126. <div class="row mt-2">
  127. <label class="col-3">数量</label>
  128. <label class="col-5 mb-0"><input type="number" step="1" min="0" :class="errors['items.'+i+'.amount'] ? 'is-invalid' : ''" v-model="item.amount" class="form-control"></label>
  129. </div>
  130. <div class="row mt-0" v-if="errors['items.'+i+'.amount']">
  131. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">数量为必填项</small></div>
  132. </div>
  133. <div class="row mt-2">
  134. <label class="col-3">单位</label>
  135. <label class="col-5 mb-0"><select v-model="item.unit_id" class="form-control" :class="errors['items.'+i+'.unit_id'] ? 'is-invalid' : ''">
  136. <option v-for="unit in pool.units" :value="unit.id">@{{ unit.name }}</option>
  137. </select></label>
  138. </div>
  139. <div class="row mt-0" v-if="errors['items.'+i+'.unit_id']">
  140. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">单位为必选项</small></div>
  141. </div>
  142. <div class="row mt-2">
  143. <label class="col-3">单价</label>
  144. <label class="col-5 mb-0"><input type="number" min="0" step="0.001" class="form-control" v-model="item.unit_price"
  145. :class="errors['items.'+i+'.unit_price'] ? 'is-invalid' : ''"></label>
  146. </div>
  147. <div class="row mt-0" v-if="errors['items.'+i+'.unit_price']">
  148. <div class="offset-3"><small class="text-danger font-weight-bold ml-3">单价为必填项</small></div>
  149. </div>
  150. <div class="row mt-2">
  151. <label class="col-3">特征:</label>
  152. <label class="col-5">
  153. <label v-if="item.feature">@{{ item.featureFormat }}</label><br>
  154. <button type="button" class="btn btn-dark ml-2" @click="showAddFeatureModal(i)">调整特征</button>
  155. </label>
  156. </div>
  157. </div>
  158. </div>
  159. </div>
  160. <div class="row mt-3">
  161. <label for="remark" class="col-2">备注</label>
  162. <textarea id="remark" class="col-6 form-control" v-model="model.operation.remark"></textarea>
  163. </div>