salaryInfo.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. <template>
  2. <div>
  3. <el-alert
  4. title="课酬信息"
  5. type="info"
  6. :closable="false"
  7. class="baseMsg"
  8. ></el-alert>
  9. <div v-if="(activeType&&payForm.giveCourseType=='MEMBER')||(activeType&&!payForm.giveCourseType)">
  10. <empty desc="该活动方案未设置课程,无需设置课酬信息" />
  11. </div>
  12. <el-form
  13. v-else
  14. :model="salaryForm"
  15. label-width="150px"
  16. label-position="right"
  17. :inline="true"
  18. ref="salaryForm"
  19. >
  20. <el-row v-if="payForm.courseType == 'VIP'">
  21. <el-form-item
  22. v-if="courseTeachModeOnline"
  23. label="付费VIP线上课课酬"
  24. prop="vipOnlineSalarySettlement.salarySettlementType"
  25. :rules="[{required: true, message: '请选择付费VIP线上课课酬'}]"
  26. >
  27. <el-select
  28. style="width: 240px !important"
  29. v-model.trim="
  30. salaryForm.vipOnlineSalarySettlement.salarySettlementType
  31. "
  32. placeholder="请选择付费VIP线上课课酬"
  33. clearable
  34. :disabled="isDisabled"
  35. >
  36. <el-option label="自定义课酬" value="FIXED_SALARY"></el-option>
  37. <el-option label="标准课酬" value="TEACHER_DEFAULT"></el-option>
  38. </el-select>
  39. </el-form-item>
  40. <el-form-item
  41. v-if="
  42. salaryForm.vipOnlineSalarySettlement.salarySettlementType ==
  43. 'FIXED_SALARY'&&courseTeachModeOnline
  44. "
  45. label="自定义课时课酬"
  46. prop="vipOnlineSalarySettlement.settlementValue"
  47. :rules="[{required: true, message: '请输入自定义课时课酬'}]"
  48. >
  49. <el-input
  50. v-model.number="
  51. salaryForm.vipOnlineSalarySettlement.settlementValue
  52. "
  53. type="number"
  54. style="width: 240px"
  55. placeholder="自定义课时课酬"
  56. :disabled="isDisabled"
  57. >
  58. <template slot="append">课时/元</template>
  59. </el-input>
  60. </el-form-item>
  61. </el-row>
  62. <el-row v-if="payForm.courseType == 'VIP'">
  63. <el-form-item
  64. v-if="courseTeachModeOffline"
  65. label="付费VIP线下课课酬"
  66. prop="vipOfflineSalarySettlement.salarySettlementType"
  67. :rules="[{required: true, message: '请选择付费VIP线下课课酬'}]"
  68. >
  69. <el-select
  70. style="width: 240px !important"
  71. v-model.trim="
  72. salaryForm.vipOfflineSalarySettlement.salarySettlementType
  73. "
  74. placeholder="请选择付费VIP线下课课酬"
  75. clearable
  76. :disabled="isDisabled"
  77. >
  78. <el-option label="自定义课酬" value="FIXED_SALARY"></el-option>
  79. <el-option label="标准课酬" value="TEACHER_DEFAULT"></el-option>
  80. </el-select>
  81. </el-form-item>
  82. <el-form-item
  83. label="自定义课时课酬"
  84. :rules="[{required: true, message: '请输入自定义课时课酬'}]"
  85. prop="vipOfflineSalarySettlement.settlementValue"
  86. v-if="
  87. salaryForm.vipOfflineSalarySettlement.salarySettlementType ==
  88. 'FIXED_SALARY'&&courseTeachModeOffline
  89. "
  90. >
  91. <el-input
  92. v-model.number="
  93. salaryForm.vipOfflineSalarySettlement.settlementValue
  94. "
  95. type="number"
  96. style="width: 240px"
  97. placeholder="自定义课时课酬"
  98. :disabled="isDisabled"
  99. >
  100. <template slot="append">课时/元</template>
  101. </el-input>
  102. </el-form-item>
  103. </el-row>
  104. <el-row>
  105. <el-form-item
  106. label="付费网管课课酬"
  107. prop="practiceSalarySettlement.salarySettlementType"
  108. v-if="payForm.courseType == 'PRACTICE'"
  109. :rules="[{required: true, message: '请选择付费网管课课酬'}]"
  110. >
  111. <el-select
  112. style="width: 240px !important"
  113. v-model.trim="
  114. salaryForm.practiceSalarySettlement.salarySettlementType
  115. "
  116. placeholder="请选择付费网管课课酬"
  117. clearable
  118. :disabled="isDisabled"
  119. >
  120. <el-option label="自定义课酬" value="FIXED_SALARY"></el-option>
  121. <el-option label="标准课酬" value="TEACHER_DEFAULT"></el-option>
  122. </el-select>
  123. </el-form-item>
  124. <el-form-item
  125. :rules="[{required: true, message: '请输入自定义课时课酬'}]"
  126. label="自定义课时课酬"
  127. prop="practiceSalarySettlement.settlementValue"
  128. v-if="
  129. salaryForm.practiceSalarySettlement.salarySettlementType ==
  130. 'FIXED_SALARY'&&payForm.courseType == 'PRACTICE'
  131. "
  132. >
  133. <el-input
  134. v-model.number="salaryForm.practiceSalarySettlement.settlementValue"
  135. type="number"
  136. style="width: 240px"
  137. placeholder="自定义课时课酬"
  138. :disabled="isDisabled"
  139. >
  140. <template slot="append">课时/元</template>
  141. </el-input>
  142. </el-form-item>
  143. </el-row>
  144. <el-row>
  145. <el-form-item
  146. v-if="giveCourseTeachModeOnline"
  147. label="赠送VIP线上课课酬"
  148. prop="giveVipOnlineSalarySettlement.salarySettlementType"
  149. :rules="[{required: true, message: '请选择赠送VIP线上课课酬'}]"
  150. >
  151. <el-select
  152. style="width: 240px !important"
  153. v-model.trim="
  154. salaryForm.giveVipOnlineSalarySettlement.salarySettlementType
  155. "
  156. placeholder="请选择赠送VIP线上课课酬"
  157. clearable
  158. :disabled="isDisabled"
  159. >
  160. <el-option label="自定义课酬" value="FIXED_SALARY"></el-option>
  161. <el-option label="标准课酬" value="TEACHER_DEFAULT"></el-option>
  162. </el-select>
  163. </el-form-item>
  164. <el-form-item
  165. :rules="[{required: true, message: '请输入自定义课时课酬'}]"
  166. label="自定义课时课酬"
  167. prop="giveVipOnlineSalarySettlement.settlementValue"
  168. v-if="
  169. salaryForm.giveVipOnlineSalarySettlement.salarySettlementType ==
  170. 'FIXED_SALARY'&&giveCourseTeachModeOnline
  171. "
  172. >
  173. <el-input
  174. v-model.number="
  175. salaryForm.giveVipOnlineSalarySettlement.settlementValue
  176. "
  177. type="number"
  178. style="width: 240px"
  179. placeholder="自定义课时课酬"
  180. :disabled="isDisabled"
  181. >
  182. <template slot="append">课时/元</template>
  183. </el-input>
  184. </el-form-item>
  185. </el-row>
  186. <el-row v-if="giveCourseTeachModeOffline">
  187. <el-form-item
  188. label="赠送VIP线下课课酬"
  189. prop="giveVipOfflineSalarySettlement.salarySettlementType"
  190. :rules="[{required: true, message: '请选择赠送VIP线下课课酬'}]"
  191. >
  192. <el-select
  193. style="width: 240px !important"
  194. v-model.trim="
  195. salaryForm.giveVipOfflineSalarySettlement.salarySettlementType
  196. "
  197. placeholder="请选择赠送VIP线下课课酬"
  198. clearable
  199. :disabled="isDisabled"
  200. >
  201. <el-option label="自定义课酬" value="FIXED_SALARY"></el-option>
  202. <el-option label="标准课酬" value="TEACHER_DEFAULT"></el-option>
  203. </el-select>
  204. </el-form-item>
  205. <el-form-item
  206. label="自定义课时课酬"
  207. :rules="[{required: true, message: '请输入自定义课时课酬'}]"
  208. prop="giveVipOfflineSalarySettlement.settlementValue"
  209. v-if="
  210. salaryForm.giveVipOfflineSalarySettlement.salarySettlementType ==
  211. 'FIXED_SALARY'&&giveCourseTeachModeOffline
  212. "
  213. >
  214. <el-input
  215. v-model.number="
  216. salaryForm.giveVipOfflineSalarySettlement.settlementValue
  217. "
  218. type="number"
  219. style="width: 240px"
  220. placeholder="自定义课时课酬"
  221. :disabled="isDisabled"
  222. >
  223. <template slot="append">课时/元</template>
  224. </el-input>
  225. </el-form-item>
  226. </el-row>
  227. <el-row v-if="payForm.giveCourseType=='PRACTICE'&&payForm.giveCourseNum>0">
  228. <el-form-item
  229. label="赠送网管课课酬"
  230. prop="givePracticeSalarySettlement.salarySettlementType"
  231. :rules="[{required: true, message: '请选择赠送网管课课酬'}]"
  232. >
  233. <el-select
  234. style="width: 240px !important"
  235. v-model.trim="
  236. salaryForm.givePracticeSalarySettlement.salarySettlementType
  237. "
  238. placeholder="请选择赠送网管课课酬"
  239. clearable
  240. :disabled="isDisabled"
  241. >
  242. <el-option label="自定义课酬" value="FIXED_SALARY"></el-option>
  243. <el-option label="标准课酬" value="TEACHER_DEFAULT"></el-option>
  244. </el-select>
  245. </el-form-item>
  246. <el-form-item
  247. label="自定义课时课酬"
  248. prop="givePracticeSalarySettlement.settlementValue"
  249. v-if="
  250. salaryForm.givePracticeSalarySettlement.salarySettlementType ==
  251. 'FIXED_SALARY'&&payForm.giveCourseType=='PRACTICE'&&payForm.giveCourseNum>0
  252. "
  253. >
  254. <el-input
  255. v-model.number="
  256. salaryForm.givePracticeSalarySettlement.settlementValue
  257. "
  258. type="number"
  259. style="width: 240px"
  260. placeholder="自定义课时课酬"
  261. :disabled="isDisabled"
  262. >
  263. <template slot="append">课时/元</template>
  264. </el-input>
  265. </el-form-item>
  266. </el-row>
  267. </el-form>
  268. </div>
  269. </template>
  270. <script>
  271. export default {
  272. props: ["salaryForm", "payForm",'activeType','isDisabled'],
  273. data() {
  274. return {};
  275. },
  276. mounted() {},
  277. methods: {},
  278. computed: {
  279. courseTeachModeOnline() {
  280. return (this.payForm?.teachMode == -1 || this.payForm?.teachMode == 0)&&this.payForm?.courseType=='VIP';
  281. },
  282. courseTeachModeOffline() {
  283. return (this.payForm?.teachMode == -1 || this.payForm?.teachMode == 1)&&this.payForm?.courseType=='VIP';
  284. },
  285. giveCourseTeachModeOnline() {
  286. return (this.payForm?.giveTeachMode == -1 || this.payForm?.giveTeachMode == 0)&&this.payForm?.fullMinusCourseTimes>0&&this.payForm?.giveCourseType=='VIP'&&this.payForm?.giveCourseNum>0;
  287. },
  288. giveCourseTeachModeOffline() {
  289. return (this.payForm?.giveTeachMode == -1 || this.payForm?.giveTeachMode == 1)&&this.payForm?.fullMinusCourseTimes>0&&this.payForm?.giveCourseType=='VIP'&&this.payForm?.giveCourseNum>0;
  290. },
  291. },
  292. };
  293. </script>
  294. <style lang="scss" scoped>
  295. .baseMsg {
  296. margin: 30px 0;
  297. }
  298. </style>