AssignEmployees.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <template>
  2. <div class="app-container">
  3. <el-form
  4. :model="form"
  5. :rules="rules"
  6. ref="form"
  7. label-width="100px"
  8. align="center"
  9. :inline="false"
  10. size="normal"
  11. >
  12. <el-form-item prop="teamId">
  13. <el-select v-model="form.teamId">
  14. <el-option
  15. v-for="item in form.masterTeam"
  16. :key="item.value"
  17. :label="item.name"
  18. :value="item.id"
  19. >
  20. </el-option>
  21. </el-select>
  22. </el-form-item>
  23. <el-form-item>
  24. <el-button
  25. type="primary"
  26. size="small"
  27. class="btn"
  28. @click="submitHandler"
  29. icon="el-icon-success"
  30. >绑定班组</el-button
  31. >
  32. </el-form-item>
  33. </el-form>
  34. </div>
  35. </template>
  36. <script>
  37. import { submitNodeForm } from "@/api/bpmprocess/runDialogApi/index";
  38. export default {
  39. name: "AssignEmployees",
  40. props: ["formData", "row"],
  41. data() {
  42. return {
  43. isEdit: false,
  44. form: {
  45. teamId: "",
  46. },
  47. rules: {
  48. teamId: [{ required: true, trigger: "change" }],
  49. },
  50. };
  51. },
  52. computed: {
  53. myFormData() {
  54. return this.formData;
  55. },
  56. },
  57. watch: {
  58. myFormData: {
  59. handler(nval) {
  60. this.form = nval.resultMap;
  61. this.isEdit = this.form.taskProcessKey && this.form.taskNodeKey;
  62. },
  63. deep: true,
  64. immediate: true,
  65. },
  66. },
  67. mounted() {},
  68. methods: {
  69. async submitHandler() {
  70. console.log(this.row);
  71. let res = await this.$refs.form?.validate();
  72. if (res) {
  73. let payLoad = {};
  74. let { teamId } = this.form;
  75. if (this.isEdit) {
  76. let { taskProcessKey, taskNodeKey } = this.myFormData.resultMap;
  77. payLoad.updateCommonEntityList = [
  78. {
  79. basicMap: {
  80. tableName: "task_team_relevance",
  81. },
  82. conditionMap: {
  83. task_process_key: taskProcessKey,
  84. task_node_key: taskNodeKey,
  85. },
  86. commMap: {
  87. team_id: teamId,
  88. task_id: this.row.bepTaskPlanKey,
  89. },
  90. },
  91. ];
  92. } else {
  93. payLoad.insertCommonEntityList = [
  94. {
  95. basicMap: {
  96. tableName: "task_team_relevance",
  97. },
  98. addListMap: [
  99. {
  100. team_id: teamId,
  101. task_id: this.row.bepTaskPlanKey,
  102. taskProcessKey: this.row.benTaskProcessKey,
  103. taskNodeKey: this.row.benTaskNodeKey,
  104. },
  105. ],
  106. },
  107. ];
  108. }
  109. submitNodeForm(payLoad).then((response) => {
  110. if (response.code == 200) {
  111. this.$modal.msgSuccess("保存成功");
  112. } else {
  113. this.$modal.error("保存失败,请稍后再试");
  114. }
  115. });
  116. }
  117. },
  118. async getFormData() {
  119. let formData = {
  120. flag: false,
  121. msg: "",
  122. };
  123. try {
  124. let valid = await this.$refs.form.validate();
  125. if (valid) {
  126. formData.flag = true;
  127. formData.data = this.form;
  128. return formData;
  129. } else {
  130. formData.msg = "表单校验异常,请规范填写表单数据";
  131. return formData;
  132. }
  133. } catch (error) {
  134. // console.log(error);
  135. formData.msg = "表单校验异常,请规范填写表单数据";
  136. return formData;
  137. }
  138. },
  139. },
  140. };
  141. </script>
  142. <style lang="scss" scoped>
  143. .app-container {
  144. .btn {
  145. background: rgb(123, 213, 195);
  146. border: rgb(123, 213, 195);
  147. float: right;
  148. }
  149. }
  150. ::v-deep .el-select {
  151. width: 100%;
  152. }
  153. </style>