GetLayerParameters.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div class="field is-horizontal layer">
  3. <div class="field-label is-normal">
  4. <label class="label lnorm">
  5. <div v-if="particle==='bulk'"> bulk </div>
  6. <div v-else-if="particle==='core-shell'">
  7. <div v-if="index == 0"> core </div>
  8. <div v-else> shell </div>
  9. </div>
  10. <div v-else>
  11. layer {{index+1}}
  12. </div>
  13. </label>
  14. </div>
  15. <div class="field-body">
  16. <div class="field is-grouped is-grouped-multiline">
  17. <div v-if="index == 0" class="rh-input">
  18. <input-with-units title="R" v-bind:units="units"
  19. v-bind:value="layer.R"
  20. @newdata="layer.R=$event"/>
  21. </div>
  22. <div v-else class="rh-input">
  23. <input-with-units title="h" v-bind:units="units"
  24. v-bind:value="layer.R"
  25. @newdata="layer.R=$event"/>
  26. </div>
  27. <input-with-units title="Re(n)" units=""
  28. v-bind:value="layer.reN"
  29. @newdata="layer.reN=$event"/>
  30. <input-with-units title="Im(n)" units=""
  31. v-bind:value="layer.imN"
  32. @newdata="layer.imN=$event"/>
  33. </div>
  34. </div>
  35. </div>
  36. </template>
  37. <script>
  38. import InputWithUnits from "./InputWithUnits.vue";
  39. export default {
  40. name: "GetLayerParameters",
  41. components: {
  42. InputWithUnits
  43. },
  44. props: ['layer', 'particle', 'index', 'units']
  45. }
  46. </script>
  47. <style scoped>
  48. .binput {
  49. display:flex;
  50. align-items:center;
  51. margin-left: 1rem;
  52. width:5rem;
  53. }
  54. .layer {
  55. margin: 0.5rem;
  56. }
  57. .lnorm {
  58. font-weight: normal;
  59. }
  60. .rh-input {
  61. margin-right: 12px;
  62. }
  63. </style>