RelayDialog.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <template>
  2. <el-dialog title="添加依赖关系" :visible.sync="isShow" width="30%">
  3. <el-form
  4. :model="formData"
  5. ref="formDataRef"
  6. :rules="rules"
  7. label-width="80px"
  8. :inline="false"
  9. size="normal"
  10. >
  11. <el-form-item label="表格">
  12. <el-select
  13. v-model="formData.tableName"
  14. placeholder="请选择依赖表"
  15. clearable
  16. filterable
  17. @change="tableChangeHandler"
  18. >
  19. <el-option
  20. v-for="item in tableList"
  21. :key="item.tableName"
  22. :label="item.tableComment"
  23. :value="item.tableName"
  24. >
  25. <span style="float: left">{{ item.tableComment }}</span>
  26. <span style="float: right; color: #8492a6; font-size: 13px">{{
  27. item.tableName
  28. }}</span>
  29. </el-option>
  30. </el-select>
  31. </el-form-item>
  32. <el-form-item label="字段">
  33. <el-select
  34. v-model="formData.fieldName"
  35. placeholder="请选择依赖字段"
  36. clearable
  37. filterable
  38. >
  39. <el-option
  40. v-for="item in fieldList"
  41. :key="item.fieldName"
  42. :label="item.fieldDescription"
  43. :value="item.fieldName"
  44. >
  45. </el-option>
  46. </el-select>
  47. </el-form-item>
  48. </el-form>
  49. <template #footer>
  50. <span>
  51. <el-button @click="closeHandler">取消</el-button>
  52. <el-button type="primary" @click="confirmHandler">确认</el-button>
  53. </span>
  54. </template>
  55. </el-dialog>
  56. </template>
  57. <script>
  58. import { tableInfoList } from "@/api/dataEngine/index";
  59. import {
  60. getFormName,
  61. getListName,
  62. dragTablePreview,
  63. } from "@/api/dragform/form.js";
  64. export default {
  65. name: "RelayDialog",
  66. props: [],
  67. components: {},
  68. data() {
  69. return {
  70. isShow: false,
  71. formData: {
  72. tableName: "",
  73. fieldName: "",
  74. },
  75. tableList: [],
  76. fieldList: [],
  77. rules: {},
  78. queryParams: {
  79. // isEnablePaging: false,
  80. databaseType: this.$store.state.user.dataSource.databaseType,
  81. databaseName: this.$store.state.user.dataSource.databaseName,
  82. // username: this.$store.state.user.dataSource.username,
  83. },
  84. };
  85. },
  86. computed: {},
  87. methods: {
  88. async openHandlder(echoData = {}) {
  89. this.formData = {
  90. tableName: "",
  91. fieldName: "",
  92. };
  93. await this.getTableList();
  94. this.isShow = true;
  95. },
  96. closeHandler() {
  97. let res = {
  98. flag: false,
  99. };
  100. this.$emit("saveRelayRes", res);
  101. this.isShow = false;
  102. },
  103. confirmHandler() {
  104. let res = {
  105. flag: true,
  106. data: this.formData,
  107. };
  108. this.$emit("saveRelayRes", res);
  109. this.isShow = false;
  110. },
  111. async getTableList() {
  112. //请求表 列表
  113. try {
  114. let res = await getFormName(this.queryParams);
  115. console.log(res);
  116. this.tableList = res.data;
  117. } catch (error) {
  118. console.log(error);
  119. }
  120. },
  121. async tableChangeHandler(value) {
  122. //获取字段列表
  123. if (!value) return;
  124. let payLoad = { ...this.queryParams, tableName: value };
  125. try {
  126. let res = await getListName(payLoad);
  127. this.fieldList = res;
  128. } catch (error) {
  129. console.log(error);
  130. }
  131. },
  132. },
  133. };
  134. </script>
  135. <style scoped lang="scss"></style>