xm-week-picker.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <template>
  2. <a-form-item label="默认值">
  3. <a-week-picker
  4. :value="component.attr.defaultValue ? moment(component.attr.defaultValue, 'YYYY-ww周') : null"
  5. @change="onChange"
  6. />
  7. </a-form-item>
  8. </template>
  9. <script>
  10. import moment from 'moment'
  11. import { DatePicker } from 'ant-design-vue'
  12. import components from './_import-components/xm-week-picker-import'
  13. export const metaInfo = {
  14. caption: '周选择器',
  15. component: {
  16. props: ['designerData'],
  17. render() {
  18. const value = this.designerData.attr.defaultValue
  19. ? moment(this.designerData.attr.defaultValue, 'YYYY-ww周')
  20. : null
  21. return <DatePicker.WeekPicker vModel={value} />
  22. },
  23. },
  24. icon: 'schedule',
  25. order: 700,
  26. }
  27. export const fieldProps = {
  28. dataType: 'string',
  29. attr: {
  30. defaultValue: null,
  31. },
  32. }
  33. export default {
  34. name: 'XmWeekPicker',
  35. components,
  36. data() {
  37. return {}
  38. },
  39. methods: {
  40. moment,
  41. onChange(value, str) {
  42. this.component.attr.defaultValue = str
  43. },
  44. },
  45. }
  46. </script>
  47. <style module lang="scss">
  48. @use '@/common/design' as *;
  49. </style>