xm-datetimerange.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <div>
  3. <a-form-model-item label="类型">
  4. <a-select
  5. v-model="component.attrFD.formItemProps.inputProps.mode"
  6. :options="[
  7. { value: '', label: '显示年月日' },
  8. { value: 'month', label: '显示月' },
  9. { value: 'year', label: '显示年' },
  10. ]"
  11. />
  12. </a-form-model-item>
  13. <a-form-model-item label="开始时间字段名称">
  14. <a-input v-model.trim="component.attrFD.formItemProps.inputProps.starttime" />
  15. </a-form-model-item>
  16. <a-form-model-item label="开始时间字段名称">
  17. <a-input v-model.trim="component.attrFD.formItemProps.inputProps.endtime" />
  18. </a-form-model-item>
  19. </div>
  20. </template>
  21. <script>
  22. // import xmTimerangePicker from './xm-timerange-picker'
  23. import components from './_import-components/xm-datetimerange-import'
  24. export const metaInfo = {
  25. caption: '日期区间',
  26. icon: 'sd-list',
  27. component: {
  28. props: ['designerData'],
  29. render() {
  30. const defaultValue = this.designerData.attr?.defaultValue?.split(',') || []
  31. return <a-range-picker v-model={defaultValue} />
  32. },
  33. },
  34. order: 900,
  35. category: 'basic',
  36. }
  37. export const fieldProps = {
  38. dataType: 'string',
  39. contents: [],
  40. attr: {
  41. defaultValue: '',
  42. },
  43. attrFD: {
  44. formItemProps: { inputProps: { label: '', mode: '', starttime: '', endtime: '' } },
  45. },
  46. }
  47. export default {
  48. name: 'XmDatetimerange',
  49. components,
  50. computed: {
  51. defaultValue: {
  52. get() {
  53. return this.designerData.attr?.defaultValue?.split(',') || []
  54. },
  55. set(value) {
  56. const value1 =
  57. new Date(value[0]).getTime().toString() + ',' + new Date(value[1]).getTime().toString()
  58. this.$set(this.component.attr, 'defaultValue', value1)
  59. },
  60. },
  61. },
  62. methods: {},
  63. }
  64. </script>
  65. <style module lang="scss">
  66. @use '@/common/design' as *;
  67. </style>