diff --git a/package.json b/package.json index de34b31389b8ff07fa6a1c00d46a0dd5f3cb3a98..633e387031af1db0b587b76135ccd522f81eb175 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "jszip": "3.1.5", "lodash": "^4.17.5", "mockjs": "1.0.1-beta3", + "moment": "^2.21.0", "normalize.css": "7.0.0", "nprogress": "0.2.0", "screenfull": "3.3.2", diff --git a/src/views/haomo/components/calendar/HmFullCalendar.vue b/src/views/haomo/components/calendar/HmFullCalendar.vue new file mode 100644 index 0000000000000000000000000000000000000000..7035245017203a0766ef6ee841db6f233ba1cbc6 --- /dev/null +++ b/src/views/haomo/components/calendar/HmFullCalendar.vue @@ -0,0 +1,63 @@ +<template> + <div class="calender"> + <full-calendar :events="fcEvents" locale="en"></full-calendar> + </div> +</template> + +<script> + import fullCalendar from 'vue-fullcalendar' + import request from '@/utils/request' + import _ from 'lodash' + import moment from 'moment' + export default { + name: 'calender', + // 继承其他组件 + extends: {}, + // 使用其它组件 + components: { + 'full-calendar': fullCalendar + }, + props: { + schema: { + type: Object, + required: true + }, + demoEvents: { + type: Object, + required: false + } + }, + data() { + return { + fcEvents: [] + } + }, + computed: { + }, + filters: { + }, + created() { + this.getList() + }, + methods: { + getList() { + const self = this + console.log(self.schema) + request(self.schema.modelUnderscorePlural).then(resp => { + // console.log(resp.data) + _.each(resp.data, function(item, index) { + const test = _.cloneDeep(self.demoEvents) + test.title = item[self.demoEvents.title] + test.start = moment(item[self.demoEvents.start]).format('YYYY-MM-DD') + test.end = moment(item[self.demoEvents.end]).format('YYYY-MM-DD') + self.fcEvents.push(test) + }) + console.log(self.fcEvents) + }) + } + } + } +</script> +<style scoped> +</style> + diff --git a/src/views/haomo/components/calendar/index.vue b/src/views/haomo/components/calendar/index.vue index ed53665bc7d28dd191f8f79d845a483dd903d4f8..d1a8867274f9d0057b16d639efad68887d89a957 100644 --- a/src/views/haomo/components/calendar/index.vue +++ b/src/views/haomo/components/calendar/index.vue @@ -1,40 +1,36 @@ <template> - <div class="calender"> - <full-calendar :events="fcEvents" locale="en"></full-calendar> - </div> + <div class="app-container calendar-list-container"> + <hm-full-calendar :schema="schema['HmUser']" :demoEvents="demoEvents"></hm-full-calendar> + </div> </template> <script> - import fullCalendar from 'vue-fullcalendar' + import HmFullCalendar from './HmFullCalendar.vue' + import schema from '../../schemas/hm_org_schema' + export default { - name: 'calender', + name: 'HmFullCalendar', // 继承其他组件 extends: {}, // 使用其它组件 components: { - 'full-calendar': fullCalendar + 'hm-full-calendar': HmFullCalendar }, data() { - return { - fcEvents: [ - { - title: 'Sunny Out of Office', - start: '2018-03-8', - end: '2018-03-8', - cssClass: 'aaa' - } - ] - } - }, - computed: { + return {} }, filters: { + }, created() { + this.schema = schema + this.demoEvents = { + title: 'username', + start: 'createTime', + end: 'lastUpdateTime' + } }, methods: {} } </script> -<style scoped> -</style>