studentAttRules.vue 6.1 KB

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