76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Vue
		
	
	
<script>
 | 
						|
/* eslint react/no-multi-comp:0, no-console:0 */
 | 
						|
import '../assets/index.less';
 | 
						|
import zhCN from '../src/locale/zh_CN';
 | 
						|
import enUS from '../src/locale/en_US';
 | 
						|
import '../../vc-time-picker/assets/index.less';
 | 
						|
import BaseMixin from '@/components/_util/BaseMixin';
 | 
						|
 | 
						|
import FullCalendar from '@/components/vc-calendar/src/FullCalendar';
 | 
						|
 | 
						|
import '@/components/vc-select/assets/index.less';
 | 
						|
import Select from '@/components/vc-select';
 | 
						|
 | 
						|
import moment from 'moment';
 | 
						|
import 'moment/locale/zh-cn';
 | 
						|
import 'moment/locale/en-gb';
 | 
						|
 | 
						|
const format = 'YYYY-MM-DD';
 | 
						|
const cn = window.location.search.indexOf('cn') !== -1;
 | 
						|
 | 
						|
const now = moment();
 | 
						|
if (cn) {
 | 
						|
  now.locale('zh-cn').utcOffset(8);
 | 
						|
} else {
 | 
						|
  now.locale('en-gb').utcOffset(0);
 | 
						|
}
 | 
						|
 | 
						|
const defaultCalendarValue = now.clone();
 | 
						|
defaultCalendarValue.add(-1, 'month');
 | 
						|
 | 
						|
function onSelect(value) {
 | 
						|
  console.log('select', value.format(format));
 | 
						|
}
 | 
						|
 | 
						|
export default {
 | 
						|
  mixins: [BaseMixin],
 | 
						|
  data() {
 | 
						|
    return {
 | 
						|
      type: 'month',
 | 
						|
    };
 | 
						|
  },
 | 
						|
  methods: {
 | 
						|
    onTypeChange(type) {
 | 
						|
      this.setState({
 | 
						|
        type,
 | 
						|
      });
 | 
						|
    },
 | 
						|
  },
 | 
						|
 | 
						|
  render() {
 | 
						|
    return (
 | 
						|
      <div style={{ zIndex: 1000, position: 'relative' }}>
 | 
						|
        <FullCalendar
 | 
						|
          style={{ margin: '10px' }}
 | 
						|
          Select={Select}
 | 
						|
          fullscreen={false}
 | 
						|
          onSelect={onSelect}
 | 
						|
          defaultValue={now}
 | 
						|
          locale={cn ? zhCN : enUS}
 | 
						|
        />
 | 
						|
        <FullCalendar
 | 
						|
          style={{ margin: '10px' }}
 | 
						|
          Select={Select}
 | 
						|
          fullscreen
 | 
						|
          defaultValue={now}
 | 
						|
          onSelect={onSelect}
 | 
						|
          type={this.type}
 | 
						|
          onTypeChange={this.onTypeChange}
 | 
						|
          locale={cn ? zhCN : enUS}
 | 
						|
        />
 | 
						|
      </div>
 | 
						|
    );
 | 
						|
  },
 | 
						|
};
 | 
						|
</script>
 |