studentAttRules.vue 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <template>
  2. <div class="m-container">
  3. <div>
  4. <el-form :inline="true" :model="form" ref="form">
  5. <el-alert
  6. style="margin: 20px 0 40px"
  7. title="学员请假规则设置"
  8. :closable="false"
  9. type="info"
  10. >
  11. </el-alert>
  12. <el-row>
  13. <el-form-item
  14. prop="7"
  15. :rules="[
  16. {
  17. required: false,
  18. pattern: /^[1-9][0-9]*$/,
  19. message: '请输入正确的时间'
  20. }
  21. ]"
  22. >
  23. 课程开始前
  24. <el-input v-model="form['7']" placeholder="请输入时间">
  25. <template slot="append">
  26. <!-- class="chiose" <el-select class="append" v-model.trim="form.organId">
  27. <el-option label="天" value="yuan"> </el-option>
  28. <el-option label="小时" value="bi"> </el-option>
  29. <el-option label="分钟" value="bi"> </el-option>
  30. </el-select> -->
  31. 小时
  32. </template>
  33. </el-input>
  34. 前可提交请假申请。
  35. </el-form-item>
  36. <!-- <el-button type="primary">保存</el-button> -->
  37. </el-row>
  38. <el-alert
  39. style="margin: 40px 0"
  40. title="课程调整规则"
  41. :closable="false"
  42. type="info"
  43. >
  44. </el-alert>
  45. <el-row>
  46. <el-form-item
  47. prop="41"
  48. :rules="[
  49. {
  50. required: false,
  51. pattern: /^[1-9][0-9]*$/,
  52. message: '请输入正确的时间'
  53. }
  54. ]"
  55. >
  56. 老师可在开课
  57. <el-input v-model="form['41']" placeholder="请输入时间">
  58. <template slot="append"
  59. >小时</template
  60. >
  61. </el-input>
  62. 前调整VIP、网管课程。
  63. </el-form-item>
  64. </el-row>
  65. <el-alert
  66. style="margin: 40px 0"
  67. title="学员练习参数"
  68. :closable="false"
  69. type="info"
  70. >
  71. </el-alert>
  72. <el-row>
  73. <el-form-item
  74. prop="106"
  75. :rules="[
  76. {
  77. required: false,
  78. pattern: /^[1-9][0-9]*$/,
  79. message: '请输入正确的分钟数'
  80. }
  81. ]"
  82. >
  83. 学员每周使用学练宝时长小于
  84. <el-input v-model="form['106']" placeholder="请输入分钟数">
  85. <template slot="append"
  86. >分钟</template
  87. > </el-input
  88. >时需要回访。
  89. </el-form-item>
  90. </el-row>
  91. <el-row>
  92. <el-form-item
  93. prop="107"
  94. :rules="[
  95. {
  96. required: false,
  97. pattern: /^[1-9][0-9]*$/,
  98. message: '请输入正确的次数'
  99. }
  100. ]"
  101. >
  102. 学员每周使用学练宝练习次数小于
  103. <el-input v-model="form['107']" placeholder="请输入次数">
  104. <template slot="append"
  105. >次</template
  106. > </el-input
  107. >时需要回访。
  108. </el-form-item>
  109. </el-row>
  110. </el-form>
  111. </div>
  112. <el-button
  113. type="primary"
  114. @click="save"
  115. class="saveBtn"
  116. v-if="!isPlatform"
  117. v-permission="'sysTenantConfig/batchUpSet_studentAttRules'"
  118. >保存</el-button
  119. >
  120. <el-button
  121. type="primary"
  122. @click="save"
  123. class="saveBtn"
  124. v-else
  125. v-permission="'sysConfig/batchUpdate_studentAttRules'"
  126. >保存</el-button
  127. >
  128. </div>
  129. </template>
  130. <script>
  131. import { getSysTenantConfig, setSysTenantConfig } from "../api";
  132. import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
  133. export default {
  134. props: ["isPlatform"],
  135. data() {
  136. return {
  137. form: {},
  138. questionList: [],
  139. rulesVisiable: false
  140. };
  141. },
  142. async mounted() {
  143. this.getRules();
  144. },
  145. methods: {
  146. getRules() {
  147. if (this.isPlatform) {
  148. this.getPlatformRules();
  149. } else {
  150. this.getInstitutionRules();
  151. }
  152. },
  153. async getPlatformRules() {
  154. try {
  155. const res = await sysConfigList({ group: "COURSE" });
  156. res.data.forEach(item => {
  157. // this.form[item.paramName] = item.paranValue
  158. this.$set(this.form, item.id, item.paranValue);
  159. });
  160. // this.$forceUpdate()
  161. // console.log(this.form);
  162. } catch (e) {
  163. console.log(e);
  164. }
  165. },
  166. async getInstitutionRules() {
  167. try {
  168. const res = await getSysTenantConfig({ group: "COURSE" });
  169. res.data.forEach(item => {
  170. // this.form[item.paramName] = item.paranValue
  171. this.$set(this.form, item.id, item.paranValue);
  172. });
  173. // this.$forceUpdate()
  174. // console.log(this.form);
  175. } catch (e) {
  176. console.log(e);
  177. }
  178. },
  179. savePlatform() {
  180. this.$refs.form.validate(async valid => {
  181. if (valid) {
  182. let param = [];
  183. for (let i in this.form) {
  184. param.push({
  185. id: i,
  186. paranValue: this.form[i]
  187. });
  188. }
  189. try {
  190. const res = await sysConfigUpdate(param);
  191. this.$message.success("保存成功");
  192. this.getRules();
  193. } catch (e) {
  194. console.log(e);
  195. }
  196. }
  197. });
  198. },
  199. saveInstitution() {
  200. this.$refs.form.validate(async valid => {
  201. if (valid) {
  202. let param = [];
  203. for (let i in this.form) {
  204. param.push({
  205. id: i,
  206. paranValue: this.form[i]
  207. });
  208. }
  209. try {
  210. const res = await setSysTenantConfig(param);
  211. this.$message.success("保存成功");
  212. this.getRules();
  213. } catch (e) {
  214. console.log(e);
  215. }
  216. }
  217. });
  218. },
  219. save() {
  220. if (this.isPlatform) {
  221. this.savePlatform();
  222. } else {
  223. this.saveInstitution();
  224. }
  225. }
  226. }
  227. };
  228. </script>
  229. <style lang="scss" scoped>
  230. @import "../index.scss";
  231. </style>