index.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <script setup lang="ts" name="BreedingEgg">
  2. import apis from "@a"
  3. import dayjs from "dayjs"
  4. const tableRef = ref()
  5. const modalRef = ref()
  6. const opts = reactive({
  7. columns: [
  8. //{ field: "id", name: "种蛋ID", width: 100, isSort: true, visible: false, tooltip: true },
  9. {
  10. field: "coopName",
  11. name: "鸡舍",
  12. visible: true,
  13. isSort: false,
  14. width: "auto",
  15. tooltip: true
  16. },
  17. {
  18. field: "batchNum",
  19. name: "批次号",
  20. visible: true,
  21. isSort: false,
  22. width: "auto",
  23. tooltip: true
  24. },
  25. {
  26. field: "familyNum",
  27. name: "家系号",
  28. visible: true,
  29. isSort: false,
  30. width: "auto",
  31. tooltip: true
  32. },
  33. {
  34. field: "eggType",
  35. name: "蛋分类",
  36. visible: true,
  37. isSort: false,
  38. width: "auto",
  39. tooltip: true
  40. },
  41. { field: "eggCount", name: "蛋库数量", visible: true, isSort: false, width: 100 }
  42. //{ field: "layDate", name: "产蛋日期", visible: true, isSort: false, width: 185 }
  43. //{ field: "remark", name: "备注", visible: true, isSort: false, tooltip: true },
  44. //{ field: "actions", name: `操作`, width: 150 }
  45. ] as any[],
  46. queryParams: {
  47. coopId: undefined,
  48. coopNum: undefined,
  49. batchNum: undefined,
  50. familyNum: undefined,
  51. eggType: undefined
  52. },
  53. searchFormItems: [
  54. {
  55. field: "coopName",
  56. label: "鸡舍",
  57. class: "w-100",
  58. required: false,
  59. placeholder: "请输入鸡舍",
  60. component: "I"
  61. },
  62. {
  63. field: "batchNum",
  64. label: "批次号",
  65. class: "w-100",
  66. required: false,
  67. placeholder: "请输入批次号",
  68. component: "I"
  69. },
  70. {
  71. field: "familyNum",
  72. label: "家系号",
  73. class: "w-100",
  74. required: false,
  75. placeholder: "请输入家系号",
  76. component: "I"
  77. },
  78. {
  79. field: "eggType",
  80. label: "蛋分类",
  81. class: "w-100",
  82. required: false,
  83. component: "Dict",
  84. props: {
  85. placeholder: "请选择蛋分类",
  86. dictType: "breeding_egg_type",
  87. type: "select",
  88. valueIsNumber: 1,
  89. showAll: true
  90. }
  91. }
  92. ] as any,
  93. permission: "breeding:eggCurrentStore",
  94. handleBtns: [],
  95. handleFuns: {
  96. handleCreate,
  97. handleUpdate: () => {
  98. const row = tableRef.value.getSelected()
  99. handleUpdate(row)
  100. },
  101. handleDelete: () => {
  102. const rows = tableRef.value.getSelecteds()
  103. handleDelete(rows)
  104. }
  105. },
  106. customBtns: [],
  107. tableListFun: apis.breeding.eggCurrentStoreApi.list,
  108. // getEntityFun: apis.breeding.eggCurrentStoreApi.get,
  109. // deleteEntityFun: apis.breeding.eggCurrentStoreApi.del,
  110. // exportUrl: apis.breeding.eggCurrentStoreApi.exportUrl,
  111. exportName: "BreedingEgg",
  112. modalTitle: "种蛋管理",
  113. resetForm: () => {},
  114. labelWidth: "80px"
  115. })
  116. const { queryParams } = toRefs(opts)
  117. /** 搜索按钮操作 */
  118. function handleQuery(query?: any) {
  119. query = query || tableRef.value?.getQueryParams() || queryParams.value
  120. addDateRange(query, query.dateRangeLayDate, "LayDate")
  121. addDateRange(query, query.dateRangeCreateTime)
  122. addDateRange(query, query.dateRangeUpdateTime, "UpdateTime")
  123. tableRef.value?.query(query)
  124. }
  125. /** 重置按钮操作 */
  126. function resetQuery(query?: any) {
  127. query = query || tableRef.value?.getQueryParams() || queryParams.value
  128. query.dateRangeLayDate = [] as any
  129. addDateRange(query, query.dateRangeLayDate, "LayDate")
  130. query.dateRangeCreateTime = [] as any
  131. addDateRange(query, query.dateRangeCreateTime)
  132. query.dateRangeUpdateTime = [] as any
  133. addDateRange(query, query.dateRangeUpdateTime, "UpdateTime")
  134. //
  135. }
  136. function handleCreate() {
  137. //isEdit.value = false
  138. tableRef.value.defaultHandleFuns.handleCreate()
  139. }
  140. /** 修改按钮操作 */
  141. function handleUpdate(row: any) {
  142. //isEdit.value = true
  143. tableRef.value.defaultHandleFuns.handleUpdate("", row)
  144. }
  145. /** 删除按钮操作 */
  146. function handleDelete(rows: any[]) {
  147. tableRef.value.defaultHandleFuns.handleDelete("", rows)
  148. }
  149. </script>
  150. <template>
  151. <div class="app-container">
  152. <VbDataTable
  153. ref="tableRef"
  154. keyField="id"
  155. :columns="opts.columns"
  156. :handle-perm="opts.permission"
  157. :handle-btns="opts.handleBtns"
  158. :handle-funs="opts.handleFuns"
  159. :remote-fun="opts.tableListFun"
  160. :search-form-items="opts.searchFormItems"
  161. :custom-btns="opts.customBtns"
  162. :export-name="opts.exportName"
  163. :modal="modalRef"
  164. :reset-form-fun="opts.resetForm"
  165. v-model:query-params="queryParams"
  166. :check-multiple="true"
  167. :reset-search-form-fun="resetQuery"
  168. :custom-search-fun="handleQuery">
  169. <template #eggType="{ row }">
  170. <DictTag type="egg_type" :value-is-number="1" :value="row.eggType"></DictTag>
  171. </template>
  172. </VbDataTable>
  173. </div>
  174. </template>