KitsView.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <div class="body-kit">
  3. <el-row>
  4. <el-col :span="4"></el-col>
  5. <el-col :span="16">
  6. <el-table :data="Kits" border>
  7. <el-table-column prop="Name" label="名称" width="75"></el-table-column>
  8. <el-table-column prop="data.Price" label="价格" width="100"></el-table-column>
  9. <el-table-column prop="data.Permissions" label="权限" width="150"></el-table-column>
  10. <el-table-column prop="data.Description" label="描述"></el-table-column>
  11. <el-table-column prop="data.DefaultAmount" label="默认数量" width="100"></el-table-column>
  12. <el-table-column prop="data.Dinos" label="恐龙" width="60">
  13. <template #default="scope">
  14. <el-button type="danger" v-if="scope.row.data.Dinos"
  15. link @click="OpenDinoInfo(scope.row.data.Dinos)">恐龙
  16. </el-button>
  17. </template>
  18. </el-table-column>
  19. <el-table-column prop="data.Items" label="物品" width="60">
  20. <template #default="scope">
  21. <el-button type="success" link v-if="scope.row.data.Items"
  22. @click="OpenItemInfo(scope.row.data.Items)">物品
  23. </el-button>
  24. </template>
  25. </el-table-column>
  26. </el-table>
  27. </el-col>
  28. </el-row>
  29. <el-dialog title="恐龙" v-model="openDino" width="800">
  30. <el-row>
  31. <el-col :span="24">
  32. <el-table :data="DinoList" border>
  33. <el-table-column prop="Level" label="等级" width="75"></el-table-column>
  34. <el-table-column prop="Neutered" label="绝育" width="100"></el-table-column>
  35. <el-table-column prop="Blueprint" label="蓝图" ></el-table-column>
  36. </el-table>
  37. </el-col>
  38. </el-row>
  39. </el-dialog>
  40. <el-dialog title="恐龙" v-model="openItem" width="1000">
  41. <el-row>
  42. <el-col :span="24">
  43. <el-table :data="ItemList" border>
  44. <el-table-column prop="Amount" label="数量" width="75"></el-table-column>
  45. <el-table-column prop="Fixed" label="固定" width="100"></el-table-column>
  46. <el-table-column prop="ForceBlueprint" label="是否为蓝图" ></el-table-column>
  47. <el-table-column prop="Blueprint" label="蓝图" ></el-table-column>
  48. <el-table-column prop="Quality" label="品质" width="60"></el-table-column>
  49. </el-table>
  50. </el-col>
  51. </el-row>
  52. </el-dialog>
  53. </div>
  54. </template>
  55. <script setup lang="ts">
  56. import {BaseData, Dino, GetKits, Item, Kit} from "../../api/ConfigFile.ts";
  57. import {ref} from "vue";
  58. let Kits = ref<BaseData<Kit>[]>([])
  59. let openDino = ref(false)
  60. let DinoList = ref<Dino[]>([])
  61. function OpenDinoInfo(dino: Dino[]) {
  62. DinoList.value = []
  63. DinoList.value = dino
  64. openDino.value = true
  65. }
  66. let openItem = ref(false)
  67. let ItemList = ref<Item[]>([])
  68. function OpenItemInfo(item: Item[]) {
  69. ItemList.value = []
  70. ItemList.value = item
  71. openItem.value = true
  72. }
  73. function replay() {
  74. Kits.value = []
  75. GetKits().then(res => {
  76. if (res.code == 200) {
  77. for (let item in res.data) {
  78. Kits.value.push(new BaseData(item, res.data[item]))
  79. }
  80. }
  81. })
  82. }
  83. replay()
  84. </script>
  85. <style scoped lang="scss">
  86. .body-kit {
  87. padding: 10px;
  88. }
  89. </style>