salaryInfo.vue 11 KB

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