SimAnswerPermissionControl.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <el-dialog
  3. :visible="visible"
  4. :before-close="handleClose"
  5. :close-on-click-modal="false"
  6. title="模拟答题权限控制"
  7. width="650px"
  8. >
  9. <div class="permission-control">
  10. <el-checkbox v-model="permission.can_answer">可作答</el-checkbox>
  11. <el-checkbox v-model="permission.can_judge_correct">可判断对错(客观题)</el-checkbox>
  12. <el-checkbox v-model="permission.can_show_answer">可查看答案</el-checkbox>
  13. <el-checkbox v-model="permission.can_correct">可批改</el-checkbox>
  14. <el-checkbox v-model="permission.can_check_correct">可查看批改</el-checkbox>
  15. </div>
  16. <div slot="footer">
  17. <el-button @click="handleClose()">关闭</el-button>
  18. <el-button type="primary" @click="confirm()">保存</el-button>
  19. </div>
  20. </el-dialog>
  21. </template>
  22. <script>
  23. export default {
  24. name: 'SimAnswerPermissionControl',
  25. props: {
  26. visible: {
  27. type: Boolean,
  28. required: true,
  29. },
  30. permissionControl: {
  31. type: Object,
  32. required: true,
  33. },
  34. },
  35. data() {
  36. return {
  37. permission: {
  38. can_answer: true, // 可作答
  39. can_judge_correct: false, // 可判断对错
  40. can_show_answer: false, // 可查看答案
  41. can_correct: false, // 可批改
  42. can_check_correct: false, // 可查看批改
  43. },
  44. };
  45. },
  46. watch: {
  47. permissionControl: {
  48. handler(newVal) {
  49. this.permission = { ...newVal };
  50. },
  51. immediate: true,
  52. deep: true,
  53. },
  54. },
  55. methods: {
  56. handleClose() {
  57. this.$emit('update:visible', false);
  58. },
  59. confirm() {
  60. this.$emit('update:permissionControl', { ...this.permission });
  61. this.handleClose();
  62. },
  63. },
  64. };
  65. </script>
  66. <style lang="scss" scoped></style>