Flight.vue 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. <template>
  2. <div class="XFpdding" style="height: 470px;">
  3. <ul>
  4. <li
  5. class="item"
  6. v-for="(tab, index) in tabslist1"
  7. :key="index"
  8. :class="{ active: currentTab1 === index }"
  9. @click="selectTab1(index)"
  10. >
  11. <img :src="tab.imgSrc" style="width: 24px;margin-top: -8px;"/>
  12. {{ tab.name }}
  13. </li>
  14. </ul>
  15. <div v-show="currentTab1 == '0'" class="eldesign classtable" style="margin-top: 10px">
  16. <el-collapse v-model="activeNames">
  17. <el-collapse-item title="飞行包线" name="1">
  18. <el-table :data="fxbxtable" border style="width: 100%; ">
  19. <el-table-column type="index" width="70" label="编号" />
  20. <el-table-column prop="name" label="参数名称">
  21. <!-- <template #default="{ row }">
  22. <el-input v-model="row.name" @change="handleEdit(row)" />
  23. </template> -->
  24. </el-table-column>
  25. <el-table-column prop="value" label="参数值">
  26. <template #default="{ row }">
  27. <el-input v-model="row.value" type="number" />
  28. </template>
  29. </el-table-column>
  30. <el-table-column prop="flag" label="启用" width="100">
  31. <template v-slot="scope">
  32. <el-checkbox
  33. :false-label="0"
  34. :true-label="1"
  35. :label="false"
  36. v-model="scope.row.flag"
  37. />
  38. </template>
  39. </el-table-column>
  40. </el-table>
  41. </el-collapse-item>
  42. <el-collapse-item title="起飞着陆" name="2">
  43. <el-table :data="qfzltable" border style="width: 100%; ">
  44. <el-table-column type="index" width="70" label="编号" />
  45. <el-table-column prop="name" label="参数名称">
  46. <!-- <template #default="{ row }">
  47. <el-input v-model="row.name" @change="handleEdit(row)" />
  48. </template> -->
  49. </el-table-column>
  50. <el-table-column prop="value" label="参数值">
  51. <template #default="{ row }">
  52. <el-input v-model="row.value" type="number" />
  53. </template>
  54. </el-table-column>
  55. <el-table-column prop="flag" label="启用" width="100">
  56. <template v-slot="scope">
  57. <el-checkbox
  58. :false-label="0"
  59. :true-label="1"
  60. :label="false"
  61. v-model="scope.row.flag"
  62. />
  63. </template>
  64. </el-table-column>
  65. </el-table>
  66. </el-collapse-item>
  67. </el-collapse>
  68. </div>
  69. <div v-show="currentTab1 == '1'" class="eldesign classtable" style="margin-top: 10px">
  70. <el-collapse v-model="activeNames1">
  71. <el-collapse-item title="静稳定性" name="1">
  72. <el-form-item label="纵向静稳定导数:" :label-width="formLabelWidth1">
  73. <el-input></el-input>
  74. </el-form-item>
  75. <el-form-item label="航向静稳定导数:" :label-width="formLabelWidth1">
  76. <el-input></el-input>
  77. </el-form-item>
  78. </el-collapse-item >
  79. <el-collapse-item title="动稳定性" name="2">
  80. <!-- <el-form-item label="纵向" :label-width="formLabelWidth1">
  81. </el-form-item> -->
  82. <span style="padding-left: 20px;">纵向</span>
  83. <el-form>
  84. <el-form-item label="长周期模态" :label-width="formLabelWidth1">
  85. </el-form-item>
  86. <el-form-item label="阻尼比:" :label-width="formLabelWidth1">
  87. <el-input></el-input>
  88. </el-form-item>
  89. <el-form-item label="频率:" :label-width="formLabelWidth1">
  90. <el-input></el-input>
  91. </el-form-item>
  92. </el-form>
  93. <el-form>
  94. <el-form-item label="短周期模态" :label-width="formLabelWidth1">
  95. </el-form-item>
  96. <el-form-item label="阻尼比:" :label-width="formLabelWidth1">
  97. <el-input></el-input>
  98. </el-form-item>
  99. <el-form-item label="频率:" :label-width="formLabelWidth1">
  100. <el-input></el-input>
  101. </el-form-item>
  102. </el-form>
  103. <el-form-item label="横航向" :label-width="formLabelWidth1"></el-form-item>
  104. <el-form>
  105. <el-form-item label="螺旋模态" :label-width="formLabelWidth1"></el-form-item>
  106. <el-form-item label="时间常数:" :label-width="formLabelWidth1">
  107. <el-input></el-input>
  108. </el-form-item>
  109. <el-form-item label="运动周期:" :label-width="formLabelWidth1">
  110. <el-input></el-input>
  111. </el-form-item>
  112. <el-form-item label="滚转模态" :label-width="formLabelWidth1"></el-form-item>
  113. <el-form-item label="时间常数:" :label-width="formLabelWidth1">
  114. <el-input></el-input>
  115. </el-form-item>
  116. <el-form-item label="荷兰滚模态" :label-width="formLabelWidth1"></el-form-item>
  117. <el-form-item label="阻尼比:" :label-width="formLabelWidth1">
  118. <el-input></el-input>
  119. </el-form-item>
  120. <el-form-item label="固有频率:" :label-width="formLabelWidth1">
  121. <el-input></el-input>
  122. </el-form-item>
  123. </el-form>
  124. </el-collapse-item>
  125. </el-collapse>
  126. </div>
  127. <div v-show="currentTab1 == '2'" class="eldesign classtable" style="margin-top: 10px">
  128. <el-table :data="zltxtable" border style="width: 100%; height: 400px">
  129. <el-table-column type="index" width="70" label="编号" />
  130. <el-table-column prop="name" label="参数名称">
  131. <!-- <template #default="{ row }">
  132. <el-input v-model="row.name" @change="handleEdit(row)" />
  133. </template> -->
  134. </el-table-column>
  135. <el-table-column prop="value" label="参数值">
  136. <template #default="{ row }">
  137. <el-input v-model="row.value" type="number" />
  138. </template>
  139. </el-table-column>
  140. <el-table-column prop="flag" label="启用" width="100">
  141. <template v-slot="scope">
  142. <el-checkbox
  143. :false-label="0"
  144. :true-label="1"
  145. :label="false"
  146. v-model="scope.row.flag"
  147. />
  148. </template>
  149. </el-table-column>
  150. </el-table>
  151. </div>
  152. <div v-show="currentTab1 == '3'" class="eldesign classtable" style="margin-top: 10px">
  153. <el-table :data="tltxtable" border style="width: 100%; height: 400px">
  154. <el-table-column type="index" width="70" label="编号" />
  155. <el-table-column prop="name" label="参数名称">
  156. <!-- <template #default="{ row }">
  157. <el-input v-model="row.name" @change="handleEdit(row)" />
  158. </template> -->
  159. </el-table-column>
  160. <el-table-column prop="value" label="参数值">
  161. <template #default="{ row }">
  162. <el-input v-model="row.value" type="number" />
  163. </template>
  164. </el-table-column>
  165. <el-table-column prop="flag" label="启用" width="100">
  166. <template v-slot="scope">
  167. <el-checkbox
  168. :false-label="0"
  169. :true-label="1"
  170. :label="false"
  171. v-model="scope.row.flag"
  172. />
  173. </template>
  174. </el-table-column>
  175. </el-table>
  176. </div>
  177. </div>
  178. </template>
  179. <script setup>
  180. import { ref, onMounted, reactive, provide, nextTick } from "vue"
  181. import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus"
  182. import { request, uploadFile } from "@/utils/request"
  183. import configParams from "@/assets/img/configParams.png";
  184. import flight1 from "@/assets/img/flight1.png";
  185. import flight2 from "@/assets/img/flight2.png";
  186. import flight3 from "@/assets/img/flight3.png";
  187. import flight4 from "@/assets/img/flight4.png";
  188. let currentTab1 = ref(0)
  189. let formLabelWidth1 = ref(156)
  190. let activeNames = ref(['1','2'])
  191. let activeNames1 = ref(['1','2'])
  192. let fsi = ref({
  193. maxIter: 2,
  194. result: 1,
  195. interpolation: "MELD",
  196. aeroRegion: "wall",
  197. })
  198. let tabslist1 = ref([
  199. { id: "0", name: "飞行性能", imgSrc: flight1 },
  200. { id: "1", name: "操稳特性", imgSrc: flight2 },
  201. { id: "2", name: "重量特性", imgSrc: flight3 },
  202. { id: "3", name: "推力特性", imgSrc: flight4 },
  203. ])
  204. const selectTab1 = (index) => {
  205. console.log('dayin',index)
  206. currentTab1.value = index
  207. console.log('currentTab1',currentTab1.value)
  208. }
  209. let fxbxtable = ref([
  210. {
  211. value: 80,
  212. name: "最小平飞速度",
  213. flag: 1
  214. },
  215. {
  216. value: 270,
  217. name: "最大平飞速度",
  218. flag: 1
  219. },
  220. {
  221. value: 0,
  222. name: "升限",
  223. flag: 1
  224. },
  225. {
  226. value: 0,
  227. name: "爬升率",
  228. flag: 1
  229. }
  230. ])
  231. let qfzltable = ref([
  232. {
  233. value: 1353.5816,
  234. name: "航程",
  235. flag: 1
  236. },
  237. {
  238. value: 2.4344,
  239. name: "航时",
  240. flag: 1
  241. },
  242. {
  243. value: 2600,
  244. name: "起飞场长",
  245. flag: 1
  246. },
  247. {
  248. value: 2000,
  249. name: "着陆场长",
  250. flag: 1
  251. }
  252. ])
  253. let zltxtable = ref([
  254. {
  255. value: 16700,
  256. name: "空重",
  257. flag: 1
  258. },
  259. {
  260. value: 18600,
  261. name: "最大起飞重量",
  262. flag: 1
  263. },
  264. ])
  265. let tltxtable = ref([
  266. {
  267. value: 0.000001298,
  268. name: "耗油率",
  269. flag: 1
  270. },
  271. {
  272. value: 0.85,
  273. name: "螺旋桨效率",
  274. flag: 1
  275. },
  276. ])
  277. </script>