add.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
  2. <link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
  3. <style>
  4. #dispatchDetail {
  5. background: #fff;
  6. border-radius: 10px 10px 0px 0px;
  7. height: calc(100vh - 66px);
  8. color: #444;
  9. font-weight: 500;
  10. }
  11. .demo-dispatchForm {
  12. height: calc(100vh - 150px);
  13. overflow-y: auto;
  14. padding-right: 5px;
  15. }
  16. /* .dispatch-bodys: */
  17. .demo-dispatchForm::-webkit-scrollbar {
  18. width: 6px;
  19. }
  20. .demo-dispatchForm::-webkit-scrollbar-thumb {
  21. width: 6px;
  22. background: #e6e6e6;
  23. height: 20px;
  24. border-radius: 3px;
  25. }
  26. .detail-table {
  27. overflow-y: auto;
  28. color: #444;
  29. margin-left: 15px;
  30. border: 1px solid #E6E6E6;
  31. border-bottom: none;
  32. }
  33. .detail-table-header {
  34. border-bottom: 1px solid #E6E6E6;
  35. display: flex;
  36. height: 32px;
  37. justify-content: space-around;
  38. align-items: center;
  39. padding-left: 18px;
  40. background: #F9F9F9;
  41. }
  42. .custom-item-with {
  43. width: 100px;
  44. }
  45. .express-table {
  46. display: flex;
  47. align-items: center;
  48. height: 59px;
  49. padding-left: 18px;
  50. border-bottom: 1px solid #E6E6E6;
  51. }
  52. .custom-item-area {
  53. flex: 1;
  54. display: flex;
  55. align-items: center;
  56. justify-content: space-between;
  57. }
  58. .express-table .el-input,
  59. .express-table .el-input .el-input__inner {
  60. width: 80px;
  61. }
  62. .del-btn {
  63. margin-right: 10px;
  64. color: #FF5959;
  65. cursor: pointer;
  66. }
  67. .add-btn {
  68. border: 1px solid #7438D5;
  69. border-radius: 4px;
  70. color: #7438D5;
  71. height: 32px;
  72. width: 88px;
  73. margin-left: 15px;
  74. }
  75. .add-btn i {
  76. margin-right: 5px;
  77. color: #7438D5;
  78. }
  79. .edit-btn {
  80. margin: 0 12px;
  81. color: #7438D5;
  82. cursor: pointer;
  83. }
  84. .el-input,
  85. .el-input .el-input__inner {
  86. height: 34px;
  87. line-height: 34px;
  88. }
  89. [v-cloak] {
  90. display: none
  91. }
  92. </style>
  93. <script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
  94. <script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
  95. <script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
  96. <script src="__CDN__/assets/addons/shopro/libs/Sortable.min.js"></script>
  97. <script src="__CDN__/assets/addons/shopro/libs/vuedraggable.js"></script>
  98. <div id="dispatchDetail" v-cloak>
  99. <el-form :model="dispatchForm" ref="dispatchForm" :rules="rules" label-width="100px" class="demo-dispatchForm">
  100. <div class="form-item-custom">
  101. <el-form-item label="模板名称:" prop="name">
  102. <el-input v-model="dispatchForm.name" placeholder="请输入模板名称"></el-input>
  103. </el-form-item>
  104. </div>
  105. <div>
  106. <el-form-item label="计价方式:" prop="type">
  107. <el-radio-group v-model="dispatchForm.type">
  108. <el-radio label="number">按件数</el-radio>
  109. <el-radio label="weight">按重量</el-radio>
  110. </el-radio-group>
  111. </el-form-item>
  112. <div class="detail-table">
  113. <div class="detail-table-header">
  114. <div style="flex: 1;">
  115. 可配送区域
  116. </div>
  117. <div class="custom-item-with">
  118. {{dispatchForm.type=='weight'?'首重':'首件'}}
  119. </div>
  120. <div class="custom-item-with">
  121. 运费(元)
  122. </div>
  123. <div class="custom-item-with">
  124. {{dispatchForm.type=='weight'?'续重':'续件'}}
  125. </div>
  126. <div class="custom-item-with">
  127. 续费(元)
  128. </div>
  129. <div style="width: 50px;"></div>
  130. </div>
  131. <div class="detail-table-body">
  132. <draggable :list="dispatchForm.express" v-bind="$attrs" class="menu-item"
  133. :options="{animation:1000}">
  134. <div v-for="(item,index) in dispatchForm.express" class="express-table">
  135. <div class="custom-item-area">
  136. <div class="add-btn display-flex-c cursor-pointer" v-if="!item.area_text" @click="editArea(index)">
  137. 选择地址
  138. </div>
  139. <div class="ellipsis-item-2 flex-1" v-if="item.area_text">
  140. {{item.area_text}}
  141. </div>
  142. <div class="edit-btn cursor-pointer" v-if="item.area_text" @click="editArea(index)">选择</div>
  143. </div>
  144. <div class="custom-item-with">
  145. <el-input type="number" v-model="item.first_num"></el-input>
  146. </div>
  147. <div class="custom-item-with">
  148. <el-input v-enter-number type="number" :step="0.1" v-model="item.first_price"></el-input>
  149. </div>
  150. <div class="custom-item-with">
  151. <el-input type="number" v-model="item.additional_num"></el-input>
  152. </div>
  153. <div class="custom-item-with">
  154. <el-input v-enter-number type="number" :step="0.1" v-model="item.additional_price"></el-input>
  155. </div>
  156. <div class="display-flex" style="width: 50px;">
  157. <div class="del-btn cursor-pointer" @click="delArea(index)">删除</div>
  158. <img src="/assets/addons/shopro/img/goods/move.png">
  159. </div>
  160. </div>
  161. </draggable>
  162. </div>
  163. </div>
  164. </div>
  165. </el-form>
  166. <div class="dispatch-items dispatch-footer">
  167. <div class="add-btn display-flex-c cursor-pointer" @click="addExpress">
  168. <i class="el-icon-plus"></i>添加
  169. </div>
  170. </div>
  171. <div class="dialog-footer display-flex">
  172. <div @click="dispatchSub" class="dialog-cancel-btn display-flex-c cursor-pointer">取消</div>
  173. <div @click="dispatchSub('yes','dispatchForm')" class="dialog-define-btn display-flex-c cursor-pointer">确定
  174. </div>
  175. </div>
  176. </div>