KnowledgeTrainAnswer.vue 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <template>
  2. <div>
  3. <h1 style="text-align: center;">Fixed Assets Related Guideline</h1>
  4. <h1 style="text-align: center;">固定资产知识培训</h1>
  5. <a-divider />
  6. <h2>
  7. {{ $t("lang.KnowledgeTrainAnswer.describe1") }}
  8. </h2>
  9. <a-divider />
  10. <div v-if="answerList != null && answerList.length > 0">
  11. <div v-for="item in answerList" :key="item.id" style="margin-bottom: 1rem; font-size: 1.2rem;">
  12. <p>{{ item.subject }}</p>
  13. <div style="margin-left: 2rem; ">
  14. <a-radio-group v-model:value="item.selectItem" name="radioGroup" style="font-size: 1.5rem;">
  15. <a-radio v-if="item.optionA != null" value="A">{{ item.optionA }}</a-radio>
  16. <a-radio v-if="item.optionB != null" value="B">{{ item.optionB }}</a-radio>
  17. <a-radio v-if="item.optionC != null" value="C">{{ item.optionC }}</a-radio>
  18. <a-radio v-if="item.optionD != null" value="D">{{ item.optionD }}</a-radio>
  19. </a-radio-group>
  20. </div>
  21. <div style="margin-left: 20px;">
  22. <a-button v-if="item.isSelectItem == false" type="link" danger>{{ $t("lang.KnowledgeTrainAnswer.notSelectAnswer") }}</a-button>
  23. <a-button v-if="item.isAnswerCorrect == true" type="link" success>{{ $t("lang.KnowledgeTrainAnswer.correctAnswer") }}</a-button>
  24. <a-button v-if="item.isAnswerCorrect == false" type="link" danger>
  25. {{ $t("lang.KnowledgeTrainAnswer.describe2") }} ({{ item.correctOption }})
  26. </a-button>
  27. </div>
  28. </div>
  29. </div>
  30. <a-divider />
  31. <a-button type="primary" @click="answerCheck">
  32. {{ $t("lang.KnowledgeTrainAnswer.submit") }}
  33. </a-button>
  34. </div>
  35. </template>
  36. <script>
  37. import { SqlApi } from 'pc-component-v3';
  38. import { Notify, Uuid } from 'pc-component-v3';
  39. import Common from '../common/Common.js';
  40. import AnswerResource from '../api/base/AnswerResource.js';
  41. export default {
  42. emits: ['finishTask'],
  43. data: function () {
  44. return {
  45. answerList: [],
  46. };
  47. },
  48. mounted: function () {
  49. let _self = this;
  50. _self.queryAnswer();
  51. },
  52. methods: {
  53. queryAnswer: function () {
  54. let _self = this;
  55. let locale = this.$i18n.locale;
  56. let data = {
  57. 'languageStatus': locale,
  58. };
  59. SqlApi.execute('20220803_102140', data).then(
  60. successData => {
  61. if (successData.errorCode == 0) {
  62. successData.dataList.forEach(item => {
  63. item.selectItem = null;
  64. item.isSelectItem = null;
  65. item.isAnswerCorrect = null;
  66. });
  67. _self.answerList = successData.dataList;
  68. } else {
  69. Notify.error(_self.$t('lang.KnowledgeTrainAnswer.describe4'), successData.errorMessage, true);
  70. }
  71. },
  72. errorData => {
  73. Common.processException(errorData);
  74. },
  75. );
  76. },
  77. answerCheck: function () {
  78. let _self = this;
  79. let isSelectItemCount = 0;
  80. _self.answerList.forEach(answer => {
  81. if (answer.selectItem == null) {
  82. answer.isSelectItem = false;
  83. isSelectItemCount++;
  84. } else {
  85. answer.isSelectItem = true;
  86. }
  87. });
  88. if (isSelectItemCount > 0) {
  89. Notify.error(this.$t('lang.KnowledgeTrainAnswer.title'), this.$t('lang.KnowledgeTrainAnswer.describe3'), true);
  90. return;
  91. }
  92. AnswerResource.answerCheck(
  93. _self.answerList,
  94. ).then(
  95. baseListResponse => {
  96. if (baseListResponse.errorCode === 0) {
  97. let isAnswerCorrectCount = 0;
  98. baseListResponse.datas.forEach(data => {
  99. _self.answerList.forEach(answer => {
  100. if(data.id === answer.id){
  101. if(data.isAnswerCorrect === false){
  102. isAnswerCorrectCount ++;
  103. }
  104. answer.isAnswerCorrect = data.isAnswerCorrect;
  105. }
  106. });
  107. });
  108. if(isAnswerCorrectCount === 0){
  109. _self.$emit('finishTask');
  110. }
  111. console.log(baseListResponse);
  112. }
  113. },
  114. errorData => {
  115. Common.processException(errorData);
  116. },
  117. );
  118. },
  119. },
  120. };
  121. </script>
  122. <style>
  123. body {
  124. overflow-x: hidden;
  125. overflow-y: hidden;
  126. }
  127. </style>