华西海圻ELN前端工程
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.3 KiB

  1. <!-- 容器步骤表单 -->
  2. <template>
  3. <div class="flex items-center">
  4. <div>容器选择</div>
  5. <HandleFormItem class="w-auto" type="select" :item="fieldConfigs.containerType"
  6. @change="onContainerTypeChange"
  7. v-model="formData.containerType" />
  8. </div>
  9. </template>
  10. <script>
  11. import HandleFormItem from '../HandleFormItem.vue'
  12. export default {
  13. name: 'ContainerStep',
  14. components: {
  15. HandleFormItem
  16. },
  17. props: ['stepData'],
  18. data() {
  19. return {
  20. formData: {
  21. containerType: '',
  22. },
  23. // 字段配置
  24. fieldConfigs: {
  25. containerType: {
  26. label: '容器选择',
  27. placeholder: '请选择',
  28. fillType:"actFill",
  29. options: [
  30. { label: '离心管', value: 'centrifugeTube' },
  31. { label: '试管', value: 'testTube' },
  32. { label: '烧杯', value: 'beaker' },
  33. { label: '容量瓶', value: 'volumetricFlask' },
  34. { label: '培养皿', value: 'petriDish' }
  35. ]
  36. }
  37. }
  38. }
  39. },
  40. created() {
  41. this.formData = { ...this.formData, ...this.stepData }
  42. },
  43. watch: {
  44. formData: {
  45. handler(newVal) {
  46. console.log(newVal,"newVal")
  47. this.$emit('update', newVal)
  48. },
  49. deep: true
  50. }
  51. },
  52. methods: {
  53. onContainerTypeChange(val) {
  54. this.formData.containerType = val
  55. }
  56. }
  57. }
  58. </script>
  59. <style lang="scss" scoped>
  60. .flex {
  61. display: flex;
  62. }
  63. .items-center {
  64. align-items: center;
  65. }
  66. .w-auto {
  67. width: auto;
  68. }
  69. </style>