payMember.vue 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <template>
  2. <div class="teamCourseList">
  3. <p class="coreTitle">团练宝<span class="dot"></span></p>
  4. <el-table
  5. :data="form.eclass"
  6. style="width: 100% !important; background: #f9f9f9"
  7. :header-cell-style="{ background: '#F9F9F9', color: '#444' }"
  8. >
  9. <el-table-column
  10. width="170px"
  11. label="会员类型"
  12. prop="memberRankSettingId"
  13. key="memberRankSettingId"
  14. >
  15. <template slot-scope="scope">
  16. <el-form-item
  17. :prop="'eclass.' + scope.$index + '.memberRankSettingId'"
  18. :rules="{
  19. required: true,
  20. message: '请选择会员类型',
  21. trigger: 'change',
  22. }"
  23. >
  24. <el-select
  25. style="width: 90% !important"
  26. v-model="form.eclass[scope.$index].courseType"
  27. placeholder="会员类型"
  28. clearable
  29. @change="courseItemChange(scope.row, scope.$index)"
  30. :disabled="isDisabled"
  31. >
  32. <el-option
  33. v-for="(item, key) in courseUnitPriceSettingsByType"
  34. :key="key"
  35. :disabled="isOptionDisabled(key)"
  36. :label="courseType[key]"
  37. :value="key"
  38. ></el-option>
  39. </el-select>
  40. </el-form-item>
  41. </template>
  42. </el-table-column>
  43. <el-table-column label="是否必选" prop="optionalFlag" key="optionalFlag" width="170px">
  44. <template slot-scope="scope">
  45. <el-form-item
  46. :prop="'eclass.' + scope.$index + '.optionalFlag'"
  47. :rules="{
  48. required: true,
  49. message: '请选择是否必选',
  50. trigger: 'change',
  51. }"
  52. >
  53. <el-select
  54. style="width: 90% !important"
  55. v-model="form.eclass[scope.$index].optionalFlag"
  56. placeholder="是否必选"
  57. :disabled="isDisabled"
  58. clearable
  59. >
  60. <el-option
  61. v-for="(item, index) in boolOptionsOptions"
  62. :key="index"
  63. :label="item.label"
  64. :value="item.value"
  65. ></el-option>
  66. </el-select>
  67. </el-form-item>
  68. </template>
  69. </el-table-column>
  70. <el-table-column label="会员周期" prop="periodEnum" key="periodEnum" width="170px">
  71. <template slot-scope="scope">
  72. <el-form-item
  73. :prop="'eclass.' + scope.$index + '.periodEnum'"
  74. :rules="[
  75. {
  76. required: true,
  77. message: '请选择会员周期',
  78. trigger: 'blur',
  79. },
  80. ]"
  81. >
  82. <!-- @change="
  83. $listeners.priceChange(scope.row, scope.$index)
  84. " -->
  85. <el-input-number
  86. style="width: 90% !important"
  87. class="number-input"
  88. v-model="form.eclass[scope.$index].courseTotalMinuties"
  89. :controls="false"
  90. :precision="0"
  91. :min="0"
  92. :disabled="isDisabled"
  93. placeholder="课程时长"
  94. />
  95. </el-form-item>
  96. </template>
  97. </el-table-column>
  98. <el-table-column label="会员数量" prop="periodEnum" key="periodEnum" width="170px">
  99. <template slot-scope="scope">
  100. <el-form-item
  101. :prop="'eclass.' + scope.$index + '.periodEnum'"
  102. :rules="[
  103. {
  104. required: true,
  105. message: '请选择会员数量',
  106. trigger: 'blur',
  107. },
  108. ]"
  109. >
  110. <!-- @change="
  111. $listeners.priceChange(scope.row, scope.$index)
  112. " -->
  113. <el-input-number
  114. style="width: 90% !important"
  115. class="number-input"
  116. v-model="form.eclass[scope.$index].courseTotalMinuties"
  117. :controls="false"
  118. :precision="0"
  119. :min="0"
  120. :disabled="isDisabled"
  121. placeholder="会员数量"
  122. />
  123. </el-form-item>
  124. </template>
  125. </el-table-column>
  126. <el-table-column label="现价(元)" prop="actualAmount" key="actualAmount" width="170px">
  127. <template slot="header">
  128. <p style="position: relative">
  129. 现价(元)
  130. <el-tooltip placement="top" popper-class="mTooltip">
  131. <div slot="content">学生实际缴费金额</div>
  132. <i
  133. class="el-icon-question"
  134. style="font-size: 18px; color: #f56c6c"
  135. ></i>
  136. </el-tooltip>
  137. </p>
  138. </template>
  139. <template slot-scope="scope">
  140. <el-form-item
  141. :prop="'eclass.' + scope.$index + '.actualAmount'"
  142. :rules="{
  143. required: true,
  144. message: '请输入现价',
  145. trigger: 'blur',
  146. }"
  147. >
  148. <!-- $listeners.moneyChange -->
  149. <el-input-number
  150. style="width: 90% !important"
  151. class="number-input"
  152. v-model="form.eclass[scope.$index].actualAmount"
  153. :controls="false"
  154. :precision="0"
  155. :min="0"
  156. @change="change"
  157. placeholder="请输入现价"
  158. />
  159. </el-form-item>
  160. </template>
  161. </el-table-column>
  162. <el-table-column
  163. prop="originalAmount"
  164. key="originalAmount"
  165. label="原价(元)"
  166. width="170px"
  167. >
  168. <template slot-scope="scope">
  169. <el-form-item
  170. :prop="'eclass.' + scope.$index + '.originalAmount'"
  171. :rules="{
  172. required: true,
  173. message: '请输入原价',
  174. trigger: 'blur',
  175. }"
  176. >
  177. <el-input-number
  178. style="width: 90% !important"
  179. class="number-input"
  180. v-model="form.eclass[scope.$index].originalAmount"
  181. :controls="false"
  182. :precision="0"
  183. :min="0"
  184. placeholder="请输入原价"
  185. />
  186. </el-form-item>
  187. </template>
  188. </el-table-column>
  189. <el-table-column prop="close" key="close" >
  190. <template slot-scope="scope">
  191. <div style="color: #fa6400; cursor: pointer">
  192. <!-- v-if="form.length > 1" v-if="clearable" -->
  193. <i
  194. @click="$listeners.remove && $listeners.remove(scope.$index)"
  195. class="el-icon-error"
  196. style="margin-bottom: 24px"
  197. ></i>
  198. 删除
  199. </div>
  200. </template>
  201. </el-table-column>
  202. </el-table>
  203. <!-- v-if="!isCommon && $listeners.create" @click="$listeners.create"-->
  204. <!-- <el-button icon="el-icon-plus" plain class="addBtn">新增课程类型</el-button> -->
  205. </div>
  206. </template>
  207. <script>
  208. export default {
  209. props: ["form"],
  210. data() {
  211. return {
  212. charges: [],
  213. clearable: false,
  214. isDisabled: false,
  215. courseUnitPriceSettingsByType: [],
  216. boolOptionsOptions: [],
  217. };
  218. },
  219. methods: {
  220. courseItemChange(row, index) {},
  221. priceChange(row, index) {},
  222. isOptionDisabled(key) {},
  223. change() {},
  224. },
  225. };
  226. </script>
  227. <style lang="scss" scoped>
  228. @import "~@/views/resetTeaming/modals/pay.scss";
  229. </style>