wt-chooser.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <div class="query mg-b-8">
  3. <div class="query-items">
  4. <div class="query-item">
  5. <div class="lable">风场:</div>
  6. <div class="search-input">
  7. <el-select v-model="wpId" clearable placeholder="请选择风场" popper-class="select" @change="getWtList">
  8. <el-option v-for="item in wpList" :key="item.id" :label="item.name" :value="item.id">
  9. </el-option>
  10. </el-select>
  11. </div>
  12. </div>
  13. <div class="query-item">
  14. <div class="lable">风机:</div>
  15. <div class="search-input">
  16. <el-select v-model="wtId" clearable placeholder="请选择风机" popper-class="select" @change="wtChange">
  17. <el-option v-for="item in wtList" :key="item.id" :label="item.name" :value="item.id">
  18. </el-option>
  19. </el-select>
  20. </div>
  21. </div>
  22. </div>
  23. </div>
  24. </template>
  25. <script>
  26. export default {
  27. // 传参
  28. props: {
  29. wpId: { type: String, default: "MHS_FDC" },
  30. wtId: { type: String, default: "MG01_01" },
  31. },
  32. // 事件
  33. emits: {
  34. },
  35. data() {
  36. return {
  37. wpList: [],
  38. wtList: [],
  39. };
  40. },
  41. created() {
  42. this.getWpList();
  43. this.getWtList();
  44. },
  45. methods: {
  46. async getWpList() {
  47. const { data } = await this.API.requestData({
  48. subUrl: "powercompare/windfarmAjax",
  49. });
  50. this.wpList = data.data;
  51. },
  52. async getWtList() {
  53. const { data } = await this.API.requestData({
  54. subUrl: "powercompare/windturbineAjax",
  55. data: {
  56. wpId: this.wpId,
  57. },
  58. });
  59. this.wtList = data.data;
  60. },
  61. wtChange() {
  62. this.$emit("change", { wtId: this.wtId, wpId: this.wpId });
  63. },
  64. },
  65. };
  66. </script>
  67. <style lang="less">
  68. </style>