index.vue 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <template>
  2. <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" @query="query" safe-area-inset-bottom>
  3. <template #top>
  4. <ut-navbar title="创建种养殖任务" :fixed="false"></ut-navbar>
  5. </template>
  6. <view class="pt-26">
  7. <up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules" labelWidth="auto" ref="upFormRef">
  8. <view class="startline-title pl-24 ml-26 mb-16">基地信息</view>
  9. <view class="bg-#fff pd-26">
  10. <view class="b-radius bg-#EBF6EE c-primary f-s-24 pd-26"> 注意:关联时请确保已添加到地块;关联时必须选到地块/圈 舍/组培架。</view>
  11. </view>
  12. <view class="bg-#fff pd-26 mb-20">
  13. <up-form-item :borderBottom="false" label="种养殖所在基地" required prop="plantBase">
  14. <view class="w-100% d-flex a-c j-c pd-26 b-radius bg-#FBFDFB border-#AFDDBB" @click="openDrawer">
  15. <view class=""></view>
  16. <view class="f-s-34 c-primary">请选择种养殖所在的基地</view>
  17. </view>
  18. </up-form-item>
  19. </view>
  20. <view class="startline-title pl-24 ml-26 mb-16">种养殖信息</view>
  21. <view class="bg-#fff pd-26 mb-20">
  22. <ut-action-sheet v-model="form.queryType" :tabs="pt_task_type" title="选择任务类型">
  23. <up-form-item borderBottom label="任务类型" required prop="baseType">
  24. <view v-if="form.queryType1" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_org_type, form.queryType1) }}</view>
  25. <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择任务类型</view>
  26. <template #right>
  27. <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
  28. </template>
  29. </up-form-item>
  30. </ut-action-sheet>
  31. <ut-action-sheet v-model="form.queryType1" :tabs="pt_org_type" title="选择溯源级别">
  32. <up-form-item borderBottom label="溯源级别" required prop="orgType">
  33. <view v-if="form.queryType1" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_org_type, form.queryType1) }}</view>
  34. <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择溯源级别</view>
  35. <template #right>
  36. <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
  37. </template>
  38. </up-form-item>
  39. </ut-action-sheet>
  40. <up-form-item borderBottom label="符合要求" required prop="gapFlag">
  41. <view v-if="form.queryType2" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_org_type, form.queryType1) }}</view>
  42. <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择符合要求</view>
  43. <template #right>
  44. <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
  45. </template>
  46. </up-form-item>
  47. <up-form-item borderBottom label="动物名称" required prop="plantBase">
  48. <view class="w-100% d-flex a-c j-c pd-26 b-radius bg-#FBFDFB border-#AFDDBB">
  49. <view class=""></view>
  50. <view class="f-s-34 c-primary">请选择养植的动物名称</view>
  51. </view>
  52. </up-form-item>
  53. <up-form-item borderBottom label="养殖批号" required prop="plantBase">
  54. <view class="d-flex a-c j-sb w-100%">
  55. <up-input v-model="form.queryType3" placeholder="请输入养殖批号" border="none"></up-input>
  56. <up-button class="c-#fff" type="primary" style="height: 50rpx; width: 130rpx">随机生成</up-button>
  57. </view>
  58. </up-form-item>
  59. <up-form-item label="请选择养殖技术规程文件" prop="environmentInfo.report" borderBottom>
  60. <ut-upload v-model="form.queryType4" :max-count="9" valueType="array" accept="file"></ut-upload>
  61. </up-form-item>
  62. <ut-action-sheet v-model="form.queryType5" :tabs="pt_task_type" title="选择任务类型">
  63. <up-form-item borderBottom label="任务类型" required prop="baseType">
  64. <view v-if="form.queryType1" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_org_type, form.queryType1) }}</view>
  65. <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择养殖方式</view>
  66. <template #right>
  67. <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
  68. </template>
  69. </up-form-item>
  70. </ut-action-sheet>
  71. </view>
  72. </up-form>
  73. </view>
  74. </z-paging>
  75. <!-- 添加drawer组件 -->
  76. <Drawer v-if="drawerVisible" v-model="drawerVisible" @open="onDrawerOpen" @close="onDrawerClose" />
  77. </template>
  78. <script setup lang="ts">
  79. import { ref } from 'vue';
  80. import Drawer from './models/drawer.vue';
  81. const { proxy } = getCurrentInstance() as ComponentInternalInstance;
  82. const { pt_task_type, pt_org_type, yes_no } = toRefs<any>(proxy?.useDict('pt_task_type', 'pt_org_type', 'yes_no'));
  83. const form = ref({
  84. queryType: '',
  85. queryType1: '',
  86. queryType2: '',
  87. queryType3: '',
  88. queryType4: '',
  89. queryType5: '',
  90. });
  91. const paging = ref<unknown>('paging');
  92. const list = ref<unknown>([]);
  93. // 控制抽屉显示状态
  94. const drawerVisible = ref(false);
  95. // 打开抽屉
  96. function openDrawer() {
  97. drawerVisible.value = true;
  98. }
  99. // 关闭抽屉
  100. function closeDrawer() {
  101. drawerVisible.value = false;
  102. }
  103. // 处理抽屉打开事件
  104. function onDrawerOpen() {
  105. console.log('抽屉打开了');
  106. }
  107. // 处理抽屉关闭事件
  108. function onDrawerClose() {
  109. console.log('抽屉关闭了');
  110. }
  111. onLoad((options) => {
  112. console.log(options);
  113. });
  114. </script>