page-search.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <!-- 搜索表单 -->
  2. <template>
  3. <ele-card :body-style="{ paddingBottom: '8px' }">
  4. <ProSearch
  5. :items="formItems"
  6. ref="searchRef"
  7. @search="search"
  8. :initKeys="initKeys"
  9. ></ProSearch>
  10. </ele-card>
  11. </template>
  12. <script setup>
  13. import { reactive, ref, defineEmits, watch, getCurrentInstance } from "vue";
  14. import ProSearch from "@/components/CommonPage/ProSearch2.vue";
  15. const emit = defineEmits(["search"]);
  16. const props = defineProps({
  17. status: {
  18. type: String,
  19. default: ''
  20. }
  21. });
  22. const formItems = reactive([
  23. { type: "input", label: "合伙人姓名", prop: "partnerName" },
  24. {
  25. type: "select",
  26. label: "状态",
  27. prop: "status",
  28. options: [
  29. // 1-未结算 2-已结算 3-已到账 4-已作废
  30. { label: "待结算", value: 1 },
  31. { label: "已结算", value: 2 },
  32. { label: "已到账", value: 3 },
  33. { label: "已作废", value: 4 },
  34. ],
  35. },
  36. {
  37. type: "daterange",
  38. label: "时间",
  39. prop: "timeRange",
  40. props: {
  41. valueFormat: "YYYY-MM-DD",
  42. format: "YYYY-MM-DD",
  43. startPlaceholder: "开始日期",
  44. endPlaceholder: "结束日期",
  45. onChange: (value) => {
  46. initKeys.createTimeStart = value ? value[0] : "";
  47. initKeys.createTimeEnd = value ? value[1] : "";
  48. searchRef.value?.setData(initKeys);
  49. },
  50. },
  51. },
  52. ]);
  53. const initKeys = reactive({
  54. createTimeStart: "",
  55. createTimeEnd: "",
  56. partnerName: "",
  57. status: "",
  58. });
  59. const searchRef = ref(null);
  60. /** 搜索 */
  61. const search = (data) => {
  62. delete data.timeRange;
  63. emit("search", { ...data });
  64. };
  65. </script>