CustomerTask.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <Modal v-model:show="showModal" :show-ok-button="false" :show-canel-button="false" :large="true">
  3. <template #header> {{ selectedTask != null ? selectedTask.title : "" }} </template>
  4. <div>
  5. <component :is="currentComponent" @finish-task="finishTask" />
  6. </div>
  7. <template #footer />
  8. </Modal>
  9. </template>
  10. <script>
  11. import Common from '../common/Common.js';
  12. import PrivacyStatement from '../confirm/privacy-statement.vue';
  13. import StudyVideo from '../confirm/StudyVideo.vue';
  14. import ResetPassword from '../confirm/ResetPassword.vue';
  15. import KnowledgeTrain from '../confirm/KnowledgeTrain1.vue';
  16. import WorkflowResource from '../api/workflow/WorkflowResource.js';
  17. import { Notify, Uuid } from 'pc-component-v3';
  18. export default {
  19. components: {
  20. PrivacyStatement,
  21. StudyVideo,
  22. ResetPassword,
  23. KnowledgeTrain,
  24. },
  25. props: {
  26. taskId: {
  27. type: String,
  28. default: null,
  29. },
  30. },
  31. data: function () {
  32. return {
  33. selectedTask: null,
  34. currentComponent: null,
  35. showModal: false,
  36. };
  37. },
  38. watch: {
  39. taskId: {
  40. handler: function(newValue, oldValue){
  41. this.fecthTask();
  42. },
  43. immediate: false,
  44. },
  45. },
  46. methods: {
  47. show: function(){
  48. this.fecthTask();
  49. this.showModal = true;
  50. },
  51. /**
  52. * 获取任务
  53. */
  54. fecthTask:function(){
  55. let _self = this;
  56. if(this.taskId == null){
  57. _self.selectedTask = null;
  58. _self.currentComponent = null;
  59. _self.showModal = false;
  60. _self.$emit('closed');
  61. return;
  62. }
  63. WorkflowResource.uniqueTaskInfoByTaskIdUserId(this.taskId).then(successData => {
  64. if(successData != null){
  65. _self.selectedTask = successData;
  66. if(_self.selectedTask.formKey == 'ConfirmPrivacy'){
  67. _self.currentComponent = 'PrivacyStatement';
  68. }else if(_self.selectedTask.formKey == 'TrainApprove'){
  69. _self.currentComponent = 'StudyVideo';
  70. }else if(_self.selectedTask.formKey == 'ResetPassword'){
  71. _self.currentComponent = 'ResetPassword';
  72. }else if(_self.selectedTask.formKey == 'KnowledgeTrain'){
  73. _self.currentComponent = 'KnowledgeTrain';
  74. }
  75. _self.showModal = true;
  76. }else{
  77. _self.selectedTask = null;
  78. _self.currentComponent = null;
  79. _self.showModal = false;
  80. _self.$emit('closed');
  81. }
  82. }, errorData => {
  83. console.error(errorData);
  84. });
  85. },
  86. /**
  87. * 完成任务
  88. */
  89. finishTask: function(){
  90. let _self = this;
  91. if(_self.selectedTask == null){
  92. Notify.error('错误', '请先选择任务。', true);
  93. return;
  94. }
  95. WorkflowResource.finishTask(_self.selectedTask.id).then(successData => {
  96. if(successData.errorCode == 0){
  97. _self.showModal = false;
  98. _self.$emit('closed');
  99. }else{
  100. Notify.error('错误', successData.errorMessage, true);
  101. }
  102. }, errorData => {
  103. Common.processException(errorData);
  104. });
  105. },
  106. },
  107. };
  108. </script>