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> |